--add-confdir test-root \
"$TESTDIR"/tmp-initramfs.root "$KVERSION"
+ KVERSION=$(determine_kernel_version "$TESTDIR"/tmp-initramfs.root)
+
mksquashfs "$TESTDIR"/dracut.*/initramfs/ "$TESTDIR"/squashfs.img -quiet -no-progress
mkdir -p "$TESTDIR"/ESP/EFI/BOOT "$TESTDIR"/dracut.conf.d
test_dracut \
--kernel-cmdline "$TEST_KERNEL_CMDLINE root=/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_root" \
--add-drivers 'squashfs' \
+ --kver "$KVERSION" \
--uefi \
"$TESTDIR"/ESP/EFI/BOOT/BOOTX64.efi
}
-a "$dracut_modules" \
-f "$TESTDIR"/initramfs.root "$KVERSION"
+ KVERSION=$(determine_kernel_version "$TESTDIR"/initramfs.root)
+
mkdir -p "$TESTDIR"/overlay/source && cp -a "$TESTDIR"/dracut.*/initramfs/* "$TESTDIR"/overlay/source && rm -rf "$TESTDIR"/dracut.*
# second, install the files needed to make the root filesystem
--add-confdir test-root \
-f "$TESTDIR"/initramfs.root "$KVERSION"
+ KVERSION=$(determine_kernel_version "$TESTDIR"/initramfs.root)
+
dd if=/dev/zero of="$TESTDIR"/root.img bs=200MiB count=1 status=none && sync "$TESTDIR"/root.img
mkfs.ext4 -q -L dracut -d "$TESTDIR"/dracut.*/initramfs/ "$TESTDIR"/root.img && sync "$TESTDIR"/root.img
test_setup() {
DRACUT_PATH=${DRACUT_PATH:-/sbin /bin /usr/sbin /usr/bin}
- export kernel=$KVERSION
export no_kernel=
- export srcmods="/lib/modules/$kernel/"
# Detect lib paths
+ "$DRACUT" -N --keep --tmpdir "$TESTDIR" \
+ --add-confdir test-root \
+ -a "url-lib nfs" \
+ -I "ip grep setsid" \
+ -f "$TESTDIR"/initramfs.root "$KVERSION" || return 1
+
+ KVERSION=$(determine_kernel_version "$TESTDIR"/initramfs.root)
+ export kernel=$KVERSION
+ export srcmods="/lib/modules/$kernel/"
+
rm -rf -- "$TESTDIR"/overlay
+
(
mkdir -p "$TESTDIR"/server/overlay/source
# shellcheck disable=SC2030
# Make client root inside server root
# shellcheck disable=SC2031
export initdir=$TESTDIR/server/overlay/source/nfs/client
-
- "$DRACUT" -N --keep --tmpdir "$TESTDIR" \
- --add-confdir test-root \
- -a "url-lib nfs" \
- -I "ip grep setsid" \
- -f "$TESTDIR"/initramfs.root "$KVERSION" || return 1
-
mkdir -p "$initdir" && mv "$TESTDIR"/dracut.*/initramfs/* "$initdir" && rm -rf "$TESTDIR"/dracut.*
echo "TEST FETCH FILE" > "$initdir"/root/fetchfile
cp ./client-init.sh "$initdir"/sbin/init
:
}
+determine_kernel_version() {
+ lsinitrd "$1" | grep modules.dep | head -1 | rev | cut -d'/' -f2 | rev
+}
+
# terminal sequence to set color to a 'success' color (currently: green)
function SETCOLOR_SUCCESS() { echo -en '\033[0;32m'; }
# terminal sequence to set color to a 'failure' color (currently: red)