summaryrefslogtreecommitdiffstats
path: root/builder
diff options
context:
space:
mode:
Diffstat (limited to 'builder')
-rwxr-xr-xbuilder/build-initramfs.sh14
m---------builder/dnbd3-rootfs/binaries/dnbd30
-rwxr-xr-xbuilder/dnbd3-rootfs/binaries/nbd/Makefile8
-rwxr-xr-xbuilder/dnbd3-rootfs/module-setup.sh13
4 files changed, 29 insertions, 6 deletions
diff --git a/builder/build-initramfs.sh b/builder/build-initramfs.sh
index acc3ed85..8ba7e4a5 100755
--- a/builder/build-initramfs.sh
+++ b/builder/build-initramfs.sh
@@ -67,7 +67,10 @@ build_initramfs_verbose='no'
build_initramfs_debug='no'
build_initramfs_create_system_image='no'
build_initramfs_dependencies=(bash cpio git test shift echo mktemp cat rm sed \
- gzip curl tar grep make)
+ gzip curl tar grep make gcc cmake)
+# TODO Check for:
+# /usr/lib/x86_64-linux-gnu/libz.so ldconfig -p |grep libz.so
+# for dnbd3
# endregion
@@ -202,6 +205,12 @@ function build_initramfs_create_qcow2_system() {
# region controller
+# TODO link dracut module if present in same folder or download if not present
+# already.
+# TODO write clean procedure (also clean dracut module).
+# TODO check for existing kernel headers:
+ # ubuntu: sudo apt-get install linux-headers-$(uname -r)
+
utils.dependency_check "${build_initramfs_dependencies[*]}"
if ! build_initramfs_parse_command_line "$@"; then
build_initramfs_print_help_message "$0"
@@ -218,7 +227,8 @@ if [[ ! -L "$build_initramfs__dracut_modules_target" || "$(readlink \
"$build_initramfs__dracut_modules_target")" != \
"$build_initramfs__dracut_modules_source" ]]
then
- logging.info 'Link dnbd3 plugin into dracut modules folder.'
+ logging.info \
+ "Link dnbd3 plugin into dracut modules folder ($build_initramfs__dracut_modules_source -> $build_initramfs__dracut_modules_target)."
ln --symbolic "$build_initramfs__dracut_modules_source" \
"$build_initramfs__dracut_modules_target"
# NOTE: If you copy we would have to recompile each binaries every time:
diff --git a/builder/dnbd3-rootfs/binaries/dnbd3 b/builder/dnbd3-rootfs/binaries/dnbd3
-Subproject c3c050851dc866f2311d33a262ed81af8c57ce2
+Subproject 7e0668d1e4f78a0c7ff8689b197e2c104ce569e
diff --git a/builder/dnbd3-rootfs/binaries/nbd/Makefile b/builder/dnbd3-rootfs/binaries/nbd/Makefile
index 4dd501c3..2bd08b8e 100755
--- a/builder/dnbd3-rootfs/binaries/nbd/Makefile
+++ b/builder/dnbd3-rootfs/binaries/nbd/Makefile
@@ -3,13 +3,13 @@ obj-m += nbd.o
all: build
build: update
- make --directory /lib/modules/$(shell uname -r)/build M=$(PWD) modules
+ make --directory /lib/modules/$(shell uname --kernel-release)/build M=$(PWD) modules
install:
- make --directory /lib/modules/$(shell uname -r)/build M=$(PWD) modules_install
+ make --directory /lib/modules/$(shell uname --kernel-release)/build M=$(PWD) modules_install
clean:
- make --directory /lib/modules/$(shell uname -r)/build M=$(PWD) clean
+ make --directory /lib/modules/$(shell uname --kernel-release)/build M=$(PWD) clean
update:
- curl --location --remote-name "https://raw.githubusercontent.com/torvalds/linux/v$(uname --kernel-release | cut --delimiter='.' --fields=1-2)/drivers/block/nbd.c"
+ curl --location --remote-name "https://raw.githubusercontent.com/torvalds/linux/v$(shell uname --kernel-release | cut --delimiter='.' --fields=1-2)/drivers/block/nbd.c"
diff --git a/builder/dnbd3-rootfs/module-setup.sh b/builder/dnbd3-rootfs/module-setup.sh
index 9275863d..386266bb 100755
--- a/builder/dnbd3-rootfs/module-setup.sh
+++ b/builder/dnbd3-rootfs/module-setup.sh
@@ -15,6 +15,19 @@ check() {
utils_compile_systemd_preserve_process_marker \
"$moddir/binaries/systemd-preserve-process-marker/"
fi
+
+ # NOTE: This are workarounds for:
+ # - distributions where "systemd-udevd" doesn't lives in "/usr/lib" but in
+ # "/lib".
+ if [[ ! -f "${systemdutildir}/systemd-udevd" ]] && [[ -f /lib/systemd/systemd-udevd ]]; then
+ mkdir --parents "${initdir}${systemdutildir}"
+ ln --symbolic --force /lib/systemd/systemd-udevd \
+ "${initdir}${systemdutildir}/systemd-udevd"
+ fi
+ # - "/usr/bin/sh" isn't available.
+ if [[ ! -f /usr/bin/sh ]] && [[ -f /bin/sh ]]; then
+ ln --symbolic --force /bin/sh /usr/bin/sh
+ fi
return 0
}