diff options
Diffstat (limited to 'builder')
8 files changed, 43 insertions, 6 deletions
diff --git a/builder/build-initramfs.sh b/builder/build-initramfs.sh index b8599e43..01d08059 100755 --- a/builder/build-initramfs.sh +++ b/builder/build-initramfs.sh @@ -15,7 +15,7 @@ declare -rg _root_dir="$(readlink -f $(dirname ${BASH_SOURCE[0]}))" declare -rg _repo_dir="${_root_dir}/systemd-init.git" declare -rg _git_source="git://git.openslx.org/openslx-ng/systemd-init.git" -declare -rg _git_branch="nobash" +declare -rg _git_branch="centos8" ## region ensure presence of needed dependencies set -o errexit @@ -38,7 +38,7 @@ if [ ! -e "$_repo_dir" ]; then branch="$(git config -f .gitmodules --get submodule.${mod}.branch)" commit="$(git submodule status $path | grep -oE '[0-9a-f]{40}')" depth_arg=("--shallow-since") - [ "$mod" = "dnbd3" ] && depth_arg+=("2019-02-12") + [ "$mod" = "dnbd3" ] && depth_arg+=("2019-02-12") && url="git://git.openslx.org/dnbd3-ng.git" && commit="a6ddfe1212a2df72cacb0f44cc872b1bd0363c38" [ "$mod" = "rebash" ] && depth_arg+=("2016-11-30") [ "$mod" = "qemu-xmount" ] && depth_arg+=("2016-01-01") [ "$mod" = "xmount" ] && depth_arg+=("2015-11-05") diff --git a/builder/modules.d/dnbd3-rootfs/binaries/dnbd3 b/builder/modules.d/dnbd3-rootfs/binaries/dnbd3 -Subproject c881c79f31efb0ec401549494fc13a91136cf43 +Subproject a6ddfe1212a2df72cacb0f44cc872b1bd0363c3 diff --git a/builder/modules.d/dnbd3-rootfs/binaries/kernel-qcow2-linux b/builder/modules.d/dnbd3-rootfs/binaries/kernel-qcow2-linux -Subproject f9b4646c47caf5c123a32d24cf3d84bb2928771 +Subproject 0761b3e9e03ed63b4adfd8b4a82f334352729a4 diff --git a/builder/modules.d/dnbd3-rootfs/helper/build.inc b/builder/modules.d/dnbd3-rootfs/helper/build.inc index 13ab9159..b3f9561c 100644 --- a/builder/modules.d/dnbd3-rootfs/helper/build.inc +++ b/builder/modules.d/dnbd3-rootfs/helper/build.inc @@ -247,6 +247,7 @@ build_compile_losetup_qcow() { ./autogen.sh ./configure make -j losetup + gcc -I./libsmartcols/src -O2 -o .libs/losetup sys-utils/losetup-losetup.o .libs/libcommon.a .libs/libsmartcols.a ) local ret=$? popd diff --git a/builder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh b/builder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh index 7eb77e87..b3d3eb75 100755 --- a/builder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh +++ b/builder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh @@ -2,10 +2,10 @@ # -*- coding: utf-8 -*- type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh for kmod in dnbd3 \ - loop \ + "loop max_loop=8" \ loop_file_fmt_qcow \ loop_file_fmt_raw; do - if ! modprobe "${kmod}"; then + if ! modprobe ${kmod}; then warn "Failed to load kernel module: $kmod" ! : fi diff --git a/builder/modules.d/dnbd3-rootfs/hooks/mount-root-device.sh b/builder/modules.d/dnbd3-rootfs/hooks/mount-root-device.sh index 702b6331..6f31bbac 100755 --- a/builder/modules.d/dnbd3-rootfs/hooks/mount-root-device.sh +++ b/builder/modules.d/dnbd3-rootfs/hooks/mount-root-device.sh @@ -1,5 +1,3 @@ -#!/usr/bin/env bash -# -*- coding: utf-8 -*- type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh source "/etc/openslx" diff --git a/builder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh b/builder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh index 6a6b64f2..aa782184 100755 --- a/builder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh +++ b/builder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh @@ -2,6 +2,10 @@ type emergency_shell > /dev/null 2>&1 || source /lib/dracut-lib.sh source /etc/openslx +export PATH="/usr/local/bin:$PATH" +export LD_LIBRARY_PATH="/usr/local/lib" + + # hardcode dnbd device path declare -rg _dnbd3_dev="/dev/dnbd0" diff --git a/builder/patches/dnbd3/01-fix.patch b/builder/patches/dnbd3/01-fix.patch new file mode 100644 index 00000000..ee4b190b --- /dev/null +++ b/builder/patches/dnbd3/01-fix.patch @@ -0,0 +1,34 @@ +diff --git a/src/kernel/mq.c b/src/kernel/mq.c +index 5fa34d5..d83f7e4 100644 +--- a/src/kernel/mq.c ++++ b/src/kernel/mq.c +@@ -49,7 +49,7 @@ unsigned long dnbd3_is_mq_busy(struct dnbd3_device *dev) + struct blk_mq_tag_set *set = &dev->tag_set; + unsigned long busy = 0; + +- blk_mq_tagset_busy_iter(set, dnbd3_busy_iter, &busy); ++ blk_mq_tagset_busy_iter(set, (busy_tag_iter_fn *)dnbd3_busy_iter, &busy); + + /* + * just for demonstration +@@ -86,7 +86,7 @@ static void dnbd3_busy_iter_requeue(struct request *req, void *priv, bool arg) + void dndb3_reque_busy_requests(struct dnbd3_sock *sock) + { + struct blk_mq_tag_set *set = &sock->device->tag_set; +- blk_mq_tagset_busy_iter(set, dnbd3_busy_iter_requeue, sock); ++ blk_mq_tagset_busy_iter(set,(busy_tag_iter_fn *) dnbd3_busy_iter_requeue, sock); + } + + +diff --git a/src/kernel/net-txrx.c b/src/kernel/net-txrx.c +index 3d2cc7c..a0d75bb 100644 +--- a/src/kernel/net-txrx.c ++++ b/src/kernel/net-txrx.c +@@ -23,6 +23,7 @@ + #include "utils.h" + #include "clientconfig.h" + #include "mq.h" ++#include <linux/signal.h> + + #include <net/sock.h> + |