diff options
| author | Jonathan Bauer | 2019-07-24 11:36:06 +0200 |
|---|---|---|
| committer | Jonathan Bauer | 2019-07-24 11:36:06 +0200 |
| commit | c5a23e73611369957e67208bfc935ce86c968388 (patch) | |
| tree | 603140c6cfb8bfc984a7a6d841b6660619f5d11d | |
| parent | [slx-partitioner] don't return on module load fail (diff) | |
| download | systemd-init-c5a23e73611369957e67208bfc935ce86c968388.tar.gz systemd-init-c5a23e73611369957e67208bfc935ce86c968388.tar.xz systemd-init-c5a23e73611369957e67208bfc935ce86c968388.zip | |
[builder] introduce --kernel-headers|-h
to specify the path to kernel headers to build dnbd3 against. Also
remove hacky patch and just directly use dnbd3's KERNEL_DIR CMAKE flag.
| -rwxr-xr-x | builder/build-initramfs.sh | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/builder/build-initramfs.sh b/builder/build-initramfs.sh index 2fe5b267..3cab9e1a 100755 --- a/builder/build-initramfs.sh +++ b/builder/build-initramfs.sh @@ -351,6 +351,17 @@ parse_command_line() { fi shift ;; + -h|--kernel-headers) + local given_argument="$1" + shift + kernel_headers="$1" + if [ -z "$kernel_headers" ]; then + logging.critical \ + "Error with given option \"$given_argument\": This option needs the path to the kernel headers." + return 1 + fi + shift + ;; -) shift while [[ "$1" =~ ^.+$ ]]; do @@ -495,9 +506,7 @@ initialize_dnbd3_rootfs_module() { if [[ ! -f "${_deps_base_dir}/dnbd3/build/dnbd3.ko" ]] || \ [[ ! -f "${_deps_base_dir}/dnbd3/build/dnbd3-client" ]]; then logging.info "Could not find dnbd3, building it..." - # fallback to running kernel if the kernel version was not - # specified as the dracut argument '--kver' - if ! CMAKE_FLAGS="-DKERNEL_VERSION=${kernel_version}" \ + if ! CMAKE_FLAGS="-DKERNEL_DIR=${kernel_headers}" \ build_compile_dnbd3 "${_deps_base_dir}/dnbd3/"; then logging.error "Failed to build dnbd3." return 1 @@ -552,13 +561,17 @@ main() { if [ -z "$kernel_version" ]; then kernel_version="$(uname -r)" fi + # similar for kernel headers needed to compile dnbd3 against. + if [ -z "$kernel_headers" ]; then + kernel_headers="/lib/modules/${kernel_version}/build" + fi + if [ ! -f "${kernel_headers}/Makefile" ]; then + logging.critical 'Missing core dependency "linux-headers" for version to compile against given or current kernel.' + fi + logging.info "Building for kernel version: ${kernel_version}." # endregion # region dependency checks and command line parsing - logging.info "Building for kernel version: ${kernel_version}." result=0 - if ! [ -f "/lib/modules/${kernel_version}/build/Makefile" ]; then - logging.critical 'Missing core dependency "linux-headers" for version to compile against given or current kernel.' - fi dependency_check core dependencies utils_dependency_check program || \ result=$? dependency_check core shared_library_pattern_dependencies \ |
