diff options
author | Jonathan Bauer | 2020-05-29 18:20:09 +0200 |
---|---|---|
committer | Jonathan Bauer | 2020-05-29 18:20:09 +0200 |
commit | eadece568d4a33d6ef257b51108358c2aba1b25c (patch) | |
tree | 92c6b3dcd5f2f679fb1c103995e142ffac1eba6f | |
parent | xloop (diff) | |
download | systemd-init-eadece568d4a33d6ef257b51108358c2aba1b25c.tar.gz systemd-init-eadece568d4a33d6ef257b51108358c2aba1b25c.tar.xz systemd-init-eadece568d4a33d6ef257b51108358c2aba1b25c.zip |
more work for xloop support
-rwxr-xr-x | build-initramfs.sh | 6 | ||||
-rw-r--r-- | modules.d/dnbd3-rootfs/helper/build.inc | 22 | ||||
-rwxr-xr-x | modules.d/dnbd3-rootfs/module-setup.sh | 13 |
3 files changed, 19 insertions, 22 deletions
diff --git a/build-initramfs.sh b/build-initramfs.sh index 806bbc66..e22dadc5 100755 --- a/build-initramfs.sh +++ b/build-initramfs.sh @@ -43,7 +43,7 @@ declare -A core_repo=( [handler]="git" [path]="$_repo_dir" [url]="git://git.openslx.org/openslx-ng/systemd-init.git" - [branch]="downloader" + [branch]="downloader-xloop" ) declare -A core_dracut=( @@ -78,8 +78,8 @@ declare -A module_xmount=( declare -A module_kernel_qcow2_linux=( [handler]="git" - [url]="git://git.openslx.org/openslx/kernel-qcow2-linux.git" - [path]="${_repo_dir}/modules.d/dnbd3-rootfs/binaries/kernel-qcow2-linux" + [url]="git://git.openslx.org/openslx-ng/xloop.git" + [path]="${_repo_dir}/modules.d/dnbd3-rootfs/binaries/xloop" [branch]="kernel-qcow2-linux-4.19.y" ) diff --git a/modules.d/dnbd3-rootfs/helper/build.inc b/modules.d/dnbd3-rootfs/helper/build.inc index c36bce16..68b99a8e 100644 --- a/modules.d/dnbd3-rootfs/helper/build.inc +++ b/modules.d/dnbd3-rootfs/helper/build.inc @@ -45,18 +45,18 @@ build_initialize_components() { fi fi if [ "$qcow_handler" = "kernel" ]; then - if [ ! -f "${_deps_base_dir}/xloop/loop.ko" ] \ + if [ ! -f "${_deps_base_dir}/xloop/xloop.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}/xloop"; then + if ! build_compile_xloop "${_deps_base_dir}/xloop"; then echo "Failed to build qcow loop kernel modules." return 1 fi fi if [ ! -f "${_deps_base_dir}/kernel-qcow2-util-linux/losetup" ]; then echo "Could not find losetup with qcow2 support, building it..." - if ! build_compile_losetup_qcow "${_deps_base_dir}/kernel-qcow2-util-linux"; then + if ! build_compile_xlosetup "${_deps_base_dir}/kernel-qcow2-util-linux"; then echo "Failed to build losetup with qcow support." return 1 fi @@ -89,8 +89,8 @@ clean_components() { build_clean_xmount "${_submoddir}/xmount/" build_clean_qemu_xmount "${_submoddir}/qemu-xmount/" build_clean_dnbd3 "${_submoddir}/dnbd3/" - build_clean_losetup_qcow "${_submoddir}/kernel-qcow2-util-linux" - build_clean_dnbd3 "${_submoddir}/dnbd3/" + build_clean_xloop "${_submoddir}/xloop" + build_clean_xlosetup "${_submoddir}/kernel-qcow2-util-linux" build_clean_systemd_preserve_process_marker \ "${_submoddir}/systemd-preserve-process-marker/" return 0 @@ -204,7 +204,7 @@ build_clean_dnbd3() { rm --recursive --force "$1/build" return $? } -build_compile_kernel_qcow() { +build_compile_xloop() { pushd "$1" # https://lab.ks.uni-freiburg.de/projects/kernel-qcow2/wiki if [ -z "$kernel_headers" ]; then @@ -219,13 +219,9 @@ build_compile_kernel_qcow() { popd return $ret } -build_clean_kernel_qcow() { - if [ -z "$kernel_headers" ]; then - echo "Kernel header directory not set, ignoring." - return 1 - fi - pushd "$kernel_headers" - make -C "$kernel_headers" M=$(pwd)/drivers/block/loop clean +build_clean_xloop() { + pushd "$1" + make clean local ret=$? popd return $ret diff --git a/modules.d/dnbd3-rootfs/module-setup.sh b/modules.d/dnbd3-rootfs/module-setup.sh index 01d3c736..a57a3aeb 100755 --- a/modules.d/dnbd3-rootfs/module-setup.sh +++ b/modules.d/dnbd3-rootfs/module-setup.sh @@ -97,13 +97,13 @@ installkernel() { inst "${moddir}/binaries/dnbd3/build/dnbd3.ko" "${block_kmod_dir}/dnbd3.ko" # kqcow2 kernel - local kqcow_loop_kmod_dir="${moddir}/binaries/kernel-qcow2-linux/drivers/block/loop" - if [ -e "${kqcow_loop_kmod_dir}/loop.ko" ] && \ + local kqcow_loop_kmod_dir="${moddir}/binaries/xloop" + if [ -e "${kqcow_loop_kmod_dir}/xloop.ko" ] && \ [ -e "${kqcow_loop_kmod_dir}/loop_file_fmt_raw.ko" ] && \ [ -e "${kqcow_loop_kmod_dir}/loop_file_fmt_qcow.ko" ]; then - mkdir -p "${initdir}/${block_kmod_dir}/loop" + mkdir -p "${initdir}/${block_kmod_dir}/xloop" for kmod in "${kqcow_loop_kmod_dir}/"*.ko ; do - inst "$kmod" "${block_kmod_dir}/loop/$(basename $kmod)" + inst "$kmod" "${block_kmod_dir}/xloop/$(basename $kmod)" done fi } @@ -130,9 +130,10 @@ install() { # kqcow2 losetup local losetup_qcow2_dir="$moddir/binaries/kernel-qcow2-util-linux" if [[ -f "${losetup_qcow2_dir}/.libs/losetup" ]]; then - inst "${losetup_qcow2_dir}/.libs/losetup" /usr/local/bin/losetup + inst "${losetup_qcow2_dir}/.libs/losetup" /usr/local/bin/xlosetup mkdir -p "${initdir}/usr/local/lib" - cp -a "${losetup_qcow2_dir}/.libs/"*.so* "${initdir}/usr/local/lib" + # no longer needed since we compile those libs statically into losetup + #cp -a "${losetup_qcow2_dir}/.libs/"*.so* "${initdir}/usr/local/lib" fi # endregion # region hooks |