diff options
-rw-r--r-- | modules.d/dnbd3-rootfs/helper/build.inc | 30 |
1 files changed, 8 insertions, 22 deletions
diff --git a/modules.d/dnbd3-rootfs/helper/build.inc b/modules.d/dnbd3-rootfs/helper/build.inc index 4da6338e..c36bce16 100644 --- a/modules.d/dnbd3-rootfs/helper/build.inc +++ b/modules.d/dnbd3-rootfs/helper/build.inc @@ -45,11 +45,11 @@ build_initialize_components() { fi fi if [ "$qcow_handler" = "kernel" ]; then - if [ ! -f "${_deps_base_dir}/kernel-qcow2-linux/drivers/block/loop/loop.ko" ] \ - || [ ! -f "${_deps_base_dir}/kernel-qcow2-linux/drivers/block/loop/loop_file_fmt_qcow.ko" ] \ - || [ ! -f "${_deps_base_dir}/kernel-qcow2-linux/drivers/block/loop/loop_file_fmt_raw.ko" ]; then + if [ ! -f "${_deps_base_dir}/xloop/loop.ko" ] \ + || [ ! -f "${_deps_base_dir}/xloop/loop_file_fmt_qcow.ko" ] \ + || [ ! -f "${_deps_base_dir}/xloop/loop_file_fmt_raw.ko" ]; then echo "Could not find loop kernel modules, building them..." - if ! build_compile_kernel_qcow "${_deps_base_dir}/kernel-qcow2-linux"; then + if ! build_compile_kernel_qcow "${_deps_base_dir}/xloop"; then echo "Failed to build qcow loop kernel modules." return 1 fi @@ -211,24 +211,10 @@ build_compile_kernel_qcow() { echo "Kernel header directory not set, ignoring." return 1 fi - mkdir -p "${kernel_headers}/drivers/block/loop" - for _file in \ - include/uapi/linux/loop.h \ - drivers/block/Kconfig \ - drivers/block/loop/loop_main.h \ - drivers/block/loop/loop_file_fmt.h \ - drivers/block/loop/Kconfig; do - cp -f "${_file}" "${kernel_headers}/${_file}" - done - ( - set -o errexit - make -C "$kernel_headers" CONFIG_BLK_DEV_LOOP=m \ - M=$(pwd)/drivers/block/loop loop.ko - make -C "$kernel_headers" CONFIG_BLK_DEV_LOOP_FILE_FMT_RAW=m \ - M=$(pwd)/drivers/block/loop loop_file_fmt_raw.ko - make -C "$kernel_headers" CONFIG_BLK_DEV_LOOP_FILE_FMT_QCOW=m \ - M=$(pwd)/drivers/block/loop loop_file_fmt_qcow.ko - ) + make \ + KDIR="$kernel_headers" \ + CONFIG_BLK_DEV_LOOP_FILE_FMT_RAW=m \ + CONFIG_BLK_DEV_LOOP_FILE_FMT_QCOW=m local ret=$? popd return $ret |