diff options
Diffstat (limited to 'test/TEST-16-DMSQUASH')
-rwxr-xr-x | test/TEST-16-DMSQUASH/create-root.sh | 14 | ||||
-rwxr-xr-x | test/TEST-16-DMSQUASH/test-init.sh | 25 | ||||
-rwxr-xr-x | test/TEST-16-DMSQUASH/test.sh | 55 |
3 files changed, 32 insertions, 62 deletions
diff --git a/test/TEST-16-DMSQUASH/create-root.sh b/test/TEST-16-DMSQUASH/create-root.sh index f17b22f..b424a1a 100755 --- a/test/TEST-16-DMSQUASH/create-root.sh +++ b/test/TEST-16-DMSQUASH/create-root.sh @@ -13,29 +13,29 @@ set -e udevadm settle # create a single partition using 50% of the capacity of the image file created by test_setup() in test.sh -sfdisk /dev/disk/by-id/ata-disk_root << EOF +sfdisk /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_root << EOF 2048,161792 EOF udevadm settle -mkfs.ext4 -q -L dracut /dev/disk/by-id/ata-disk_root-part1 +mkfs.ext4 -q -L dracut /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_root-part1 mkdir -p /root -mount -t ext4 /dev/disk/by-id/ata-disk_root-part1 /root +mount -t ext4 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_root-part1 /root mkdir -p /root/run /root/testdir cp -a -t /root /source/* echo "Creating squashfs" mksquashfs /source /root/testdir/rootfs.img -quiet # Copy rootfs.img to the NTFS drive if exists -if [ -e "/dev/disk/by-id/ata-disk_root_ntfs" ]; then - mkfs.ntfs -F -L dracut_ntfs /dev/disk/by-id/ata-disk_root_ntfs +if [ -e "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_root_ntfs" ]; then + mkfs.ntfs -q -F -L dracut_ntfs /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_root_ntfs mkdir -p /root_ntfs - mount -t ntfs3 /dev/disk/by-id/ata-disk_root_ntfs /root_ntfs + mount -t ntfs3 /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_root_ntfs /root_ntfs mkdir -p /root_ntfs/run /root_ntfs/testdir cp /root/testdir/rootfs.img /root_ntfs/testdir/rootfs.img fi umount /root -echo "dracut-root-block-created" | dd oflag=direct,dsync of=/dev/disk/by-id/ata-disk_marker +echo "dracut-root-block-created" | dd oflag=direct,dsync of=/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_marker status=none poweroff -f diff --git a/test/TEST-16-DMSQUASH/test-init.sh b/test/TEST-16-DMSQUASH/test-init.sh index 959fa25..2d16b6b 100755 --- a/test/TEST-16-DMSQUASH/test-init.sh +++ b/test/TEST-16-DMSQUASH/test-init.sh @@ -1,13 +1,4 @@ #!/bin/sh -: > /dev/watchdog - -. /lib/dracut-lib.sh - -export PATH=/usr/sbin:/usr/bin:/sbin:/bin -command -v plymouth > /dev/null 2>&1 && plymouth --quit -exec > /dev/console 2>&1 - -echo "dracut-root-block-success" | dd oflag=direct,dsync of=/dev/disk/by-id/ata-disk_marker if grep -qF ' rd.live.overlay=LABEL=persist ' /proc/cmdline; then # Writing to a file in the root filesystem lets test_run() verify that the autooverlay module successfully created @@ -15,17 +6,5 @@ if grep -qF ' rd.live.overlay=LABEL=persist ' /proc/cmdline; then echo "dracut-autooverlay-success" > /overlay-marker fi -export TERM=linux -export PS1='initramfs-test:\w\$ ' -[ -f /etc/mtab ] || ln -sfn /proc/mounts /etc/mtab -[ -f /etc/fstab ] || ln -sfn /proc/mounts /etc/fstab -stty sane -echo "made it to the rootfs!" -if getargbool 0 rd.shell; then - strstr "$(setsid --help)" "control" && CTTY="-c" - setsid $CTTY sh -i -fi -echo "Powering down." -mount -n -o remount,ro / - -poweroff -f +# call the rest of the init +. /sbin/init diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh index 3fecc92..6087ccd 100755 --- a/test/TEST-16-DMSQUASH/test.sh +++ b/test/TEST-16-DMSQUASH/test.sh @@ -9,19 +9,19 @@ TEST_DESCRIPTION="live root on a squash filesystem" test_run() { declare -a disk_args=() declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root + qemu_add_drive disk_index disk_args "$TESTDIR"/marker.img marker + qemu_add_drive disk_index disk_args "$TESTDIR"/root.img root # NTFS drive if modprobe --dry-run ntfs3 &> /dev/null && command -v mkfs.ntfs &> /dev/null; then - qemu_add_drive_args disk_index disk_args "$TESTDIR"/root_ntfs.img root_ntfs + qemu_add_drive disk_index disk_args "$TESTDIR"/root_ntfs.img root_ntfs fi test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -boot order=d \ - -append "rd.live.overlay.overlayfs=1 root=live:/dev/disk/by-label/dracut console=ttyS0,115200n81 quiet selinux=0 rd.info rd.shell=0 panic=1 oops=panic softlockup_panic=1 $DEBUGFAIL" \ + -append "rd.live.overlay.overlayfs=1 root=live:/dev/disk/by-label/dracut" \ -initrd "$TESTDIR"/initramfs.testing test_marker_check || return 1 @@ -30,7 +30,7 @@ test_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ -boot order=d \ - -append "rd.live.image rd.live.overlay.overlayfs=1 root=LABEL=dracut console=ttyS0,115200n81 quiet selinux=0 rd.info rd.shell=0 panic=1 oops=panic softlockup_panic=1 $DEBUGFAIL" \ + -append "rd.live.image rd.live.overlay.overlayfs=1 root=LABEL=dracut" \ -initrd "$TESTDIR"/initramfs.testing test_marker_check || return 1 @@ -39,18 +39,18 @@ test_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ -boot order=d \ - -append "rd.live.image rd.live.overlay.overlayfs=1 rd.live.dir=testdir root=LABEL=dracut console=ttyS0,115200n81 quiet selinux=0 rd.info rd.shell=0 panic=1 oops=panic softlockup_panic=1 $DEBUGFAIL" \ + -append "rd.live.image rd.live.overlay.overlayfs=1 rd.live.dir=testdir root=LABEL=dracut" \ -initrd "$TESTDIR"/initramfs.testing test_marker_check || return 1 # Run the NTFS test only if mkfs.ntfs is available if modprobe --dry-run ntfs3 &> /dev/null && command -v mkfs.ntfs &> /dev/null; then - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 + dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 status=none "$testdir"/run-qemu \ "${disk_args[@]}" \ -boot order=d \ - -append "rd.live.image rd.live.overlay.overlayfs=1 rd.live.dir=testdir root=LABEL=dracut_ntfs console=ttyS0,115200n81 quiet selinux=0 rd.info rd.shell=0 panic=1 oops=panic softlockup_panic=1 $DEBUGFAIL" \ + -append "rd.live.image rd.live.overlay.overlayfs=1 rd.live.dir=testdir root=LABEL=dracut_ntfs quiet rd.info rd.shell=0" \ -initrd "$TESTDIR"/initramfs.testing test_marker_check || return 1 @@ -63,7 +63,7 @@ test_run() { "$testdir"/run-qemu \ "${disk_args[@]}" \ -boot order=d \ - -append "rd.live.image rd.live.overlay.overlayfs=1 rd.live.overlay=LABEL=persist rd.live.dir=testdir root=LABEL=dracut console=ttyS0,115200n81 quiet selinux=0 rd.info rd.shell=0 panic=1 oops=panic softlockup_panic=1 $DEBUGFAIL" \ + -append "init=/sbin/init-persist rd.live.image rd.live.overlay.overlayfs=1 rd.live.overlay=LABEL=persist rd.live.dir=testdir root=LABEL=dracut console=ttyS0,115200n81 quiet selinux=0 rd.info rd.shell=0 panic=1 oops=panic softlockup_panic=1 $DEBUGFAIL" \ -initrd "$TESTDIR"/initramfs.testing-autooverlay rootPartitions=$(sfdisk -d "$TESTDIR"/root.img | grep -c 'root\.img[0-9]') @@ -81,12 +81,9 @@ test_run() { test_setup() { # Create what will eventually be our root filesystem onto an overlay - "$DRACUT" -l --keep --tmpdir "$TESTDIR" \ + "$DRACUT" -N -l --keep --tmpdir "$TESTDIR" \ -m "test-root" \ - -i ./test-init.sh /sbin/init \ - -i "${PKGLIBDIR}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" \ - -i "${PKGLIBDIR}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" \ - --no-hostonly --no-hostonly-cmdline --nomdadmconf --nohardlink \ + -i ./test-init.sh /sbin/init-persist \ -f "$TESTDIR"/initramfs.root "$KVERSION" || return 1 mkdir -p "$TESTDIR"/overlay/source && mv "$TESTDIR"/dracut.*/initramfs/* "$TESTDIR"/overlay/source && rm -rf "$TESTDIR"/dracut.* @@ -94,25 +91,24 @@ test_setup() { # create an initramfs that will create the target root filesystem. # We do it this way so that we do not risk trashing the host mdraid # devices, volume groups, encrypted partitions, etc. - "$DRACUT" -l -i "$TESTDIR"/overlay / \ + "$DRACUT" -N -l -i "$TESTDIR"/overlay / \ --modules "test-makeroot" \ - --install "sfdisk mkfs.ext4 mkfs.ntfs mksquashfs" \ + --install "sfdisk mkfs.ntfs mksquashfs" \ --drivers "ntfs3" \ --include ./create-root.sh /lib/dracut/hooks/initqueue/01-create-root.sh \ - --no-hostonly --no-hostonly-cmdline --no-early-microcode --nofscks --nomdadmconf --nohardlink --nostrip \ --force "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 rm -rf -- "$TESTDIR"/overlay # Create the blank file to use as a root filesystem declare -a disk_args=() declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root 160 + qemu_add_drive disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive disk_index disk_args "$TESTDIR"/root.img root 160 # NTFS drive if modprobe --dry-run ntfs3 &> /dev/null && command -v mkfs.ntfs &> /dev/null; then dd if=/dev/zero of="$TESTDIR"/root_ntfs.img bs=1MiB count=160 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/root_ntfs.img root_ntfs + qemu_add_drive disk_index disk_args "$TESTDIR"/root_ntfs.img root_ntfs fi # Invoke KVM and/or QEMU to actually create the target filesystem. @@ -131,22 +127,17 @@ test_setup() { SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="ntfs", ENV{ID_FS_TYPE}="ntfs3" EOF - "$DRACUT" -l -i "$TESTDIR"/overlay / \ - --modules "test dash dmsquash-live qemu" \ - --omit "rngd" \ - --drivers "ext4 ntfs3 sd_mod" \ + test_dracut \ + --modules "dash dmsquash-live qemu" \ + --drivers "ntfs3" \ --install "mkfs.ext4" \ --include /tmp/ntfs3.rules /lib/udev/rules.d/ntfs3.rules \ - --no-hostonly --no-hostonly-cmdline \ - --force "$TESTDIR"/initramfs.testing "$KVERSION" || return 1 + "$TESTDIR"/initramfs.testing - "$DRACUT" -l -i "$TESTDIR"/overlay / \ - --modules "test dmsquash-live-autooverlay qemu" \ - --omit "rngd" \ - --drivers "ext4 sd_mod" \ + test_dracut \ + --modules "dmsquash-live-autooverlay qemu" \ --install "mkfs.ext4" \ - --no-hostonly --no-hostonly-cmdline \ - --force "$TESTDIR"/initramfs.testing-autooverlay "$KVERSION" || return 1 + "$TESTDIR"/initramfs.testing-autooverlay rm -rf -- "$TESTDIR"/overlay } |