summaryrefslogtreecommitdiffstats
path: root/modules.d/dnbd3-rootfs/module-setup.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules.d/dnbd3-rootfs/module-setup.sh')
-rwxr-xr-xmodules.d/dnbd3-rootfs/module-setup.sh55
1 files changed, 32 insertions, 23 deletions
diff --git a/modules.d/dnbd3-rootfs/module-setup.sh b/modules.d/dnbd3-rootfs/module-setup.sh
index 955fd9b9..bc1daf0c 100755
--- a/modules.d/dnbd3-rootfs/module-setup.sh
+++ b/modules.d/dnbd3-rootfs/module-setup.sh
@@ -57,12 +57,13 @@ check() {
# non-critical if failed
$xmount_is_built || echo "Compiling 'xmount'/'libxmount_input_qemu' failed."
- if [[ ! -f "$moddir/binaries/dnbd3/build/dnbd3.ko" ]] || \
- [[ ! -f "$moddir/binaries/dnbd3/build/dnbd3-client" ]]; then
- CMAKE_FLAGS="-DKERNEL_VERSION=${kernel}" \
+ if [[ ! -f "$moddir/binaries/dnbd3/build/src/kernel/dnbd3/dnbd3.ko" ]] || \
+ [[ ! -f "$moddir/binaries/dnbd3/build/src/client/dnbd3-client" ]]; then
+ CMAKE_FLAGS="-DKERNEL_BUILD_DIR=${kernel}" \
build_compile_dnbd3 "$moddir/binaries/dnbd3/"
[[ $? != 0 ]] && return 1
fi
+ # TODO xloop checks & remove them from installkernel
if [[ ! -f "$moddir/binaries/systemd-preserve-process-marker/systemd-preserve-process-marker" ]]; then
build_compile_systemd_preserve_process_marker \
"$moddir/binaries/systemd-preserve-process-marker/"
@@ -90,31 +91,39 @@ depends() {
echo base bash kernel-modules shutdown slx-dmsetup slx-network
}
installkernel() {
- local block_kmod_dir="/lib/modules/${kernel}/kernel/drivers/block"
+ local extra_kmod_dir="/lib/modules/${kernel}/extra"
# dnbd3
- mkdir -p "${initdir}/${block_kmod_dir}"
- inst "${moddir}/binaries/dnbd3/build/dnbd3.ko" "${block_kmod_dir}/dnbd3.ko"
+ mkdir -p "${initdir}/${extra_kmod_dir}"
+ inst "${moddir}/binaries/dnbd3/build/src/kernel/dnbd3/dnbd3.ko" "${extra_kmod_dir}/dnbd3.ko"
# kqcow2 kernel
- 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}/xloop"
- for kmod in "${kqcow_loop_kmod_dir}/"*.ko ; do
- inst "$kmod" "${block_kmod_dir}/xloop/$(basename $kmod)"
- done
- fi
+ local xloop_kmod_build_dir="${moddir}/binaries/xloop/build/src/kernel"
+
+ for mod in xloop xloop_file_fmt_raw xloop_file_fmt_qcow; do
+ if [ ! -e "${xloop_kmod_build_dir}/${mod}/${mod}.ko" ]; then
+ derror "Failed to find '$mod' in '$xloop_kmod_build_dir'."
+ continue
+ # TODO fatal fail once we move completely to xloop
+ fi
+ inst "${xloop_kmod_build_dir}/${mod}/${mod}.ko" "${extra_kmod_dir}"
+ done
+# if [ -e "${xloop_build_dir}/xloop.ko" ] && \
+# [ -e "${xloop_build_dir}/loop_file_fmt_raw.ko" ] && \
+# [ -e "${xloop_build_dir}/loop_file_fmt_qcow.ko" ]; then
+# for kmod in "${kqcow_loop_kmod_dir}/"*.ko ; do
+# inst "$kmod" "${block_kmod_dir}/xloop/$(basename $kmod)"
+# done
+# fi
}
install() {
# region binaries
- inst "$moddir/binaries/dnbd3/build/dnbd3-client" /usr/local/bin/dnbd3-client
- inst "$moddir/binaries/systemd-preserve-process-marker/systemd-preserve-process-marker" \
+ inst "${moddir}/binaries/dnbd3/build/src/client/dnbd3-client" /usr/local/bin/dnbd3-client
+ inst "${moddir}/binaries/systemd-preserve-process-marker/systemd-preserve-process-marker" \
/usr/local/bin/systemd-preserve-process-marker
# xmount
local \
- xmount_installation="$moddir/binaries/xmount/trunk/build/release_build"
+ xmount_installation="${moddir}/binaries/xmount/trunk/build/release_build"
if [ -f "${xmount_installation}/usr/bin/xmount" ]; then
inst "${xmount_installation}/usr/bin/xmount" /usr/bin/xmount
for file in ${xmount_installation}/usr/lib/xmount/*; do
@@ -127,12 +136,12 @@ install() {
inst_libdir_file 'libafflib.so*'
inst_libdir_file 'libewf.so*'
fi
- # 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/xlosetup
+ # xlosetup
+ local xlosetup_build_path="${moddir}/binaries/xloop/build/src/utils/sys-utils/xlosetup"
+ if [ -f "$xlosetup_build_path" ]; then
+ inst "$xlosetup_build_path}" /usr/local/bin/xlosetup
fi
- local xloop_udev_rule="${moddir}/binaries/xloop/udev/50-xloop.rules"
+ local xloop_udev_rule="${moddir}/binaries/xloop/src/kernel/udev/50-xloop.rules"
if [ -f "$xloop_udev_rule" ]; then
inst "$xloop_udev_rule" "/etc/udev/rules.d/${xloop_udev_rule##*/}"
fi