diff --git a/dracut/Makefile b/dracut/Makefile index f3b6897..b46c7a2 100644 --- a/dracut/Makefile +++ b/dracut/Makefile @@ -1,3 +1,4 @@ install: $(MAKE) -C simple - $(MAKE) -C full + $(MAKE) -C full-dmroot + $(MAKE) -C full-modules diff --git a/dracut/full/Makefile b/dracut/full-dmroot/Makefile similarity index 65% rename from dracut/full/Makefile rename to dracut/full-dmroot/Makefile index 272669f..4dc2e80 100644 --- a/dracut/full/Makefile +++ b/dracut/full-dmroot/Makefile @@ -1,4 +1,4 @@ install: install -d $(DESTDIR)/usr/lib/dracut/modules.d/90qubes-vm - install module-setup.sh mount_modules.sh qubes_cow_setup.sh \ + install module-setup.sh qubes_cow_setup.sh \ $(DESTDIR)/usr/lib/dracut/modules.d/90qubes-vm/ diff --git a/dracut/full/module-setup.sh b/dracut/full-dmroot/module-setup.sh similarity index 65% rename from dracut/full/module-setup.sh rename to dracut/full-dmroot/module-setup.sh index 652fe8a..ecb316e 100644 --- a/dracut/full/module-setup.sh +++ b/dracut/full-dmroot/module-setup.sh @@ -1,7 +1,7 @@ #!/bin/bash check() { - if xenstore-read qubes-vm-type &>/dev/null; then + if xenstore-read qubes-vm-type &>/dev/null || qubesdb-read qubes-vm-type &>/dev/null; then return 0 else return 255 @@ -10,7 +10,6 @@ check() { install() { inst_hook pre-udev 90 $moddir/qubes_cow_setup.sh - inst_hook pre-pivot 50 $moddir/mount_modules.sh inst_multiple \ sfdisk \ mkswap diff --git a/dracut/full/qubes_cow_setup.sh b/dracut/full-dmroot/qubes_cow_setup.sh similarity index 100% rename from dracut/full/qubes_cow_setup.sh rename to dracut/full-dmroot/qubes_cow_setup.sh index 2e7e8d5..9d859f1 100644 --- a/dracut/full/qubes_cow_setup.sh +++ b/dracut/full-dmroot/qubes_cow_setup.sh @@ -1,8 +1,8 @@ +#!/bin/sh # # This file should be places in pre-mount directory in dracut's initramfs # -#!/bin/sh echo "Qubes initramfs script here:" if [ -e /dev/mapper/dmroot ] ; then diff --git a/dracut/full-modules/Makefile b/dracut/full-modules/Makefile new file mode 100644 index 0000000..fd38368 --- /dev/null +++ b/dracut/full-modules/Makefile @@ -0,0 +1,4 @@ +install: + install -d $(DESTDIR)/usr/lib/dracut/modules.d/90qubes-vm-modules + install module-setup.sh mount_modules.sh \ + $(DESTDIR)/usr/lib/dracut/modules.d/90qubes-vm-modules/ diff --git a/dracut/full-modules/module-setup.sh b/dracut/full-modules/module-setup.sh new file mode 100644 index 0000000..614ecd2 --- /dev/null +++ b/dracut/full-modules/module-setup.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +check() { + return 255 +} + +install() { + inst_hook pre-pivot 50 $moddir/mount_modules.sh +} diff --git a/dracut/full/mount_modules.sh b/dracut/full-modules/mount_modules.sh similarity index 100% rename from dracut/full/mount_modules.sh rename to dracut/full-modules/mount_modules.sh index 3bc795e..129de59 100644 --- a/dracut/full/mount_modules.sh +++ b/dracut/full-modules/mount_modules.sh @@ -1,8 +1,8 @@ +#!/bin/sh # # This file should be places in pre-pivot directory in dracut's initramfs # -#!/bin/sh if ! [ -d $NEWROOT/lib/modules/`uname -r` ]; then echo "Waiting for /dev/xvdd device..." diff --git a/rpm_spec/qubes-kernel-vm-support.spec b/rpm_spec/qubes-kernel-vm-support.spec index a1e468c..925bbe9 100644 --- a/rpm_spec/qubes-kernel-vm-support.spec +++ b/rpm_spec/qubes-kernel-vm-support.spec @@ -61,6 +61,7 @@ make install-kernel-support DESTDIR=%{buildroot} %files /usr/lib/dracut/modules.d/90qubes-vm +/usr/lib/dracut/modules.d/90qubes-vm-modules /usr/lib/dracut/modules.d/90qubes-vm-simple /usr/src/u2mfn-%{version}/ /usr/sbin/qubes-prepare-vm-kernel