|
|
|
@ -329,7 +329,26 @@ PATH="/sbin:$PATH" dracut --nomdadmconf --nolvmconf \
|
|
|
|
|
--modules "kernel-modules qubes-vm-simple" \
|
|
|
|
|
--conf /dev/null --confdir /var/empty \
|
|
|
|
|
-d "xenblk xen-blkfront cdrom ext4 jbd2 crc16 dm_snapshot" \
|
|
|
|
|
%buildroot/%vm_install_dir/initramfs %kernelrelease
|
|
|
|
|
%buildroot/%vm_install_dir/initramfs %kernelrelease || exit 1
|
|
|
|
|
|
|
|
|
|
# workaround for buggy dracut-044 in Fedora 25
|
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1431317
|
|
|
|
|
# https://github.com/dracutdevs/dracut/issues/194
|
|
|
|
|
modules_dep=$(lsinitrd "%buildroot/%vm_install_dir/initramfs" \
|
|
|
|
|
"usr/lib/modules/%kernelrelease/modules.dep")
|
|
|
|
|
if [ -z "$modules_dep" ]; then
|
|
|
|
|
tmpdir=$(mktemp -d)
|
|
|
|
|
zcat "%buildroot/%vm_install_dir/initramfs" | cpio -imd -D "$tmpdir" || exit 1
|
|
|
|
|
mv "$tmpdir"/%buildroot/lib/modules/%kernelrelease/kernel \
|
|
|
|
|
"$tmpdir"/lib/modules/%kernelrelease/ || exit 1
|
|
|
|
|
depmod -F %buildroot/boot/System.map-%kernelrelease \
|
|
|
|
|
-b "$tmpdir" -a %kernelrelease || exit 1
|
|
|
|
|
pushd "$tmpdir"
|
|
|
|
|
find . -print0 | sort -z \
|
|
|
|
|
| cpio --null -R 0:0 -H newc -o --quiet \
|
|
|
|
|
| gzip > %buildroot/%vm_install_dir/initramfs || exit 1
|
|
|
|
|
popd
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
cp -p arch/x86/boot/bzImage %buildroot/%vm_install_dir/vmlinuz
|
|
|
|
|
|
|
|
|
@ -339,6 +358,11 @@ cp -a %buildroot/lib/modules/%kernelrelease %buildroot%vm_install_dir/modules/
|
|
|
|
|
mkdir -p %buildroot%vm_install_dir/modules/firmware
|
|
|
|
|
cp -a %buildroot/lib/firmware/%kernelrelease %buildroot%vm_install_dir/modules/firmware/
|
|
|
|
|
|
|
|
|
|
# Include kernel headers for Qubes VM in "/lib/modules" - so kernel-devel
|
|
|
|
|
# package will be unnecessary there, regardless of distribution
|
|
|
|
|
rm -f %buildroot%vm_install_dir/modules/%kernelrelease/build
|
|
|
|
|
cp -a %buildroot/%src_install_dir %buildroot%vm_install_dir/modules/%kernelrelease/build
|
|
|
|
|
|
|
|
|
|
# remove files that will be auto generated by depmod at rpm -i time
|
|
|
|
|
for i in alias alias.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap
|
|
|
|
|
do
|
|
|
|
@ -431,12 +455,14 @@ Qubes domU kernel.
|
|
|
|
|
%post qubes-vm
|
|
|
|
|
|
|
|
|
|
mkdir /tmp/qubes-modules-%kernelrelease
|
|
|
|
|
truncate -s 400M /tmp/qubes-modules-%kernelrelease.img
|
|
|
|
|
truncate -s 500M /tmp/qubes-modules-%kernelrelease.img
|
|
|
|
|
mkfs -t ext3 -F /tmp/qubes-modules-%kernelrelease.img > /dev/null
|
|
|
|
|
mount /tmp/qubes-modules-%kernelrelease.img /tmp/qubes-modules-%kernelrelease -o loop
|
|
|
|
|
cp -a -t /tmp/qubes-modules-%kernelrelease %vm_install_dir/modules/%kernelrelease
|
|
|
|
|
mkdir /tmp/qubes-modules-%kernelrelease/firmware
|
|
|
|
|
cp -a -t /tmp/qubes-modules-%kernelrelease/firmware %vm_install_dir/modules/firmware/%kernelrelease
|
|
|
|
|
cp %vm_install_dir/vmlinuz /tmp/qubes-modules-%kernelrelease/
|
|
|
|
|
cp %vm_install_dir/initramfs /tmp/qubes-modules-%kernelrelease/
|
|
|
|
|
umount /tmp/qubes-modules-%kernelrelease
|
|
|
|
|
rmdir /tmp/qubes-modules-%kernelrelease
|
|
|
|
|
mv /tmp/qubes-modules-%kernelrelease.img %vm_install_dir/modules.img
|
|
|
|
|