summaryrefslogtreecommitdiffstats
path: root/builder
diff options
context:
space:
mode:
Diffstat (limited to 'builder')
-rwxr-xr-xbuilder/build-initramfs.sh4
m---------builder/modules.d/dnbd3-rootfs/binaries/dnbd30
m---------builder/modules.d/dnbd3-rootfs/binaries/kernel-qcow2-linux0
-rw-r--r--builder/modules.d/dnbd3-rootfs/helper/build.inc1
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh4
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/mount-root-device.sh2
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh4
-rw-r--r--builder/patches/dnbd3/01-fix.patch34
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>
+