mirror of
https://github.com/linuxboot/heads.git
synced 2024-12-18 20:47:55 +00:00
Build and bundle the patched xen 4.6.3 kernel
This commit is contained in:
parent
24fc2bbc9a
commit
a81a002abb
4
Makefile
4
Makefile
@ -37,6 +37,9 @@ define define_module =
|
||||
# that the files are all present
|
||||
$(build)/$($1_dir)/.canary: $(packages)/.$1_verify
|
||||
tar -xf "$(packages)/$($1_tar)" -C "$(build)"
|
||||
if [ -r patches/$1-$($1_version).patch ]; then \
|
||||
( cd $(build)/$($1_dir) ; patch -p1 ) < patches/$1-$($1_version).patch; \
|
||||
fi
|
||||
touch "$$@"
|
||||
|
||||
# Copy our stored config file into the unpacked directory
|
||||
@ -78,6 +81,7 @@ endef
|
||||
|
||||
$(foreach _, $(call outputs,kexec), $(eval $(call initrd_bin,$_)))
|
||||
$(foreach _, $(call outputs,tpmtotp), $(eval $(call initrd_bin,$_)))
|
||||
$(foreach _, $(call outputs,xen), $(eval $(call initrd_bin,$_)))
|
||||
|
||||
# hack to install busybox into the initrd
|
||||
initrd_bins += initrd/bin/busybox
|
||||
|
@ -38,4 +38,5 @@ Notes:
|
||||
* Building coreboot's cross compilers can take a while.
|
||||
* Currently only tested in Qemu and on a Thinkpad x230
|
||||
* Booting Qubes requires patching Xen's real mode startup code;
|
||||
see `patches/xen-4.6.3.patch`
|
||||
see `patches/xen-4.6.3.patch` and add `no-real-mode` to start
|
||||
of the Xen command line.
|
||||
|
1
config/xen.config
Normal file
1
config/xen.config
Normal file
@ -0,0 +1 @@
|
||||
# Nothing
|
12
modules/xen
Normal file
12
modules/xen
Normal file
@ -0,0 +1,12 @@
|
||||
modules += xen
|
||||
|
||||
# We extract the entire Xen tree, but only use the xen/xen hypervisor
|
||||
# portion since Qubes provides the rest of it.
|
||||
xen_version := 4.6.3
|
||||
xen_dir := xen-$(xen_version)/xen
|
||||
xen_tar := xen-$(xen_version).tar.gz
|
||||
xen_url := ineed-to-find-xen/$(xen_tar)
|
||||
xen_hash := 02badfce9a037bd1bd4a94210c1f6b85467746216c71795805102b514bcf1fc4
|
||||
|
||||
xen_output := xen.gz
|
||||
xen_configure :=
|
@ -1,6 +1,6 @@
|
||||
diff -u --recursive clean/xen-4.6.3/xen/arch/x86/boot/head.S xen-4.6.3/xen/arch/x86/boot/head.S
|
||||
--- clean/xen-4.6.3/xen/arch/x86/boot/head.S 2016-06-20 08:08:22.000000000 -0400
|
||||
+++ xen-4.6.3/xen/arch/x86/boot/head.S 2016-07-26 13:10:55.407297163 -0400
|
||||
+++ xen/arch/x86/boot/head.S 2016-07-26 13:10:55.407297163 -0400
|
||||
@@ -86,6 +86,8 @@
|
||||
cmp $MULTIBOOT_BOOTLOADER_MAGIC,%eax
|
||||
jne not_multiboot
|
||||
@ -23,20 +23,9 @@ diff -u --recursive clean/xen-4.6.3/xen/arch/x86/boot/head.S xen-4.6.3/xen/arch/
|
||||
|
||||
2: /* Reserve 64kb for the trampoline */
|
||||
sub $0x1000,%eax
|
||||
diff -u --recursive clean/xen-4.6.3/xen/arch/x86/boot/trampoline.S xen-4.6.3/xen/arch/x86/boot/trampoline.S
|
||||
--- clean/xen-4.6.3/xen/arch/x86/boot/trampoline.S 2016-06-20 08:08:22.000000000 -0400
|
||||
+++ xen-4.6.3/xen/arch/x86/boot/trampoline.S 2016-07-26 11:40:55.938940922 -0400
|
||||
@@ -114,6 +114,7 @@
|
||||
|
||||
.code32
|
||||
trampoline_boot_cpu_entry:
|
||||
+ jmp .Lskip_realmode // always!
|
||||
cmpb $0,bootsym_rel(skip_realmode,5)
|
||||
jnz .Lskip_realmode
|
||||
|
||||
diff -u --recursive clean/xen-4.6.3/xen/drivers/video/vga.c xen-4.6.3/xen/drivers/video/vga.c
|
||||
--- clean/xen-4.6.3/xen/drivers/video/vga.c 2016-06-20 08:08:22.000000000 -0400
|
||||
+++ xen-4.6.3/xen/drivers/video/vga.c 2016-07-26 13:34:03.756108517 -0400
|
||||
+++ xen/drivers/video/vga.c 2016-07-26 13:34:03.756108517 -0400
|
||||
@@ -5,177 +5,691 @@
|
||||
*/
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user