From e9615899ff7fa225f75ef8fb96de9484d579a131 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Mon, 16 Oct 2017 23:43:03 +0200 Subject: [PATCH] qubes-prepare-vm-kernel: Include kernel and initramfs inside modules.img This will allow to boot the HVM using provided kernel directly (loaded by qemu in stubdomain), without need for additional bootloader. Fixes QubesOS/qubes-issues#2822 --- kernel-modules/qubes-prepare-vm-kernel | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/kernel-modules/qubes-prepare-vm-kernel b/kernel-modules/qubes-prepare-vm-kernel index 62c71f4..2f11e49 100644 --- a/kernel-modules/qubes-prepare-vm-kernel +++ b/kernel-modules/qubes-prepare-vm-kernel @@ -35,13 +35,16 @@ function recompile_u2mfn() { function build_modules_img() { kver=$1 - output_file=$2 + initramfs=$2 + output_file=$3 mkdir /tmp/qubes-modules-$kver truncate -s 400M /tmp/qubes-modules-$kver.img mkfs -t ext3 -F /tmp/qubes-modules-$kver.img > /dev/null mount /tmp/qubes-modules-$kver.img /tmp/qubes-modules-$kver -o loop cp -a -t /tmp/qubes-modules-$kver /lib/modules/$kver + cp "/boot/vmlinuz-$kver" "/tmp/qubes-modules-$kver/vmlinuz" + cp "$initramfs" "/tmp/qubes-modules-$kver/initramfs" umount /tmp/qubes-modules-$kver rmdir /tmp/qubes-modules-$kver mv /tmp/qubes-modules-$kver.img $output_file @@ -82,9 +85,10 @@ echo "---> Recompiling kernel module (u2mfn)" recompile_u2mfn "$kernel_version" mkdir -p "$output_dir" cp "/boot/vmlinuz-$kernel_version" "$output_dir/vmlinuz" -echo "---> Generating modules.img" -build_modules_img "$kernel_version" "$output_dir/modules.img" echo "---> Generating initramfs" build_initramfs "$kernel_version" "$output_dir/initramfs" +echo "---> Generating modules.img" +build_modules_img "$kernel_version" "$output_dir/initramfs" \ + "$output_dir/modules.img" echo "--> Done."