diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2016-05-14 19:50:51 +0100 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2016-07-04 11:28:58 +0200 |
commit | 4e04ab6a63ebe9fb4305e7e8e49cc8b0095db8fb (patch) | |
tree | 6fcaea70111ca3916c712b8fca9b0b69e5473785 | |
parent | 8692aa29798e0f2cb5069f2460bbe19ff538fc71 (diff) |
bios: Add fast variant of SeaBIOS for use with -kernel on x86.
This commit adds a fast variant of SeaBIOS called 'bios-fast.bin'.
It's designed to be the fastest (also the smallest, but that's not the
main aim) SeaBIOS that is just enough to boot a Linux kernel using the
-kernel option on i686 and x86_64.
This commit does not modify the -kernel option to use this. You have
to specify it by doing something like this:
-kernel vmlinuz -bios bios-fast.bin
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | roms/Makefile | 4 | ||||
-rw-r--r-- | roms/config.seabios-fast | 27 |
3 files changed, 32 insertions, 2 deletions
@@ -408,7 +408,8 @@ common de-ch es fo fr-ca hu ja mk nl-be pt sl tr \ bepo cz ifdef INSTALL_BLOBS -BLOBS=bios.bin bios-256k.bin sgabios.bin vgabios.bin vgabios-cirrus.bin \ +BLOBS=bios.bin bios-256k.bin bios-fast.bin \ +sgabios.bin vgabios.bin vgabios-cirrus.bin \ vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin vgabios-virtio.bin \ acpi-dsdt.aml \ ppc_rom.bin openbios-sparc32 openbios-sparc64 openbios-ppc QEMU,tcx.bin QEMU,cgthree.bin \ diff --git a/roms/Makefile b/roms/Makefile index 7bd1252737..26b058659a 100644 --- a/roms/Makefile +++ b/roms/Makefile @@ -61,9 +61,11 @@ default: @echo " slof -- update slof.bin" @echo " u-boot.e500 -- update u-boot.e500" -bios: build-seabios-config-seabios-128k build-seabios-config-seabios-256k +bios: build-seabios-config-seabios-128k build-seabios-config-seabios-256k \ + build-seabios-config-seabios-fast cp seabios/builds/seabios-128k/bios.bin ../pc-bios/bios.bin cp seabios/builds/seabios-256k/bios.bin ../pc-bios/bios-256k.bin + cp seabios/builds/seabios-fast/bios.bin ../pc-bios/bios-fast.bin seavgabios: $(patsubst %,seavgabios-%,$(vgabios_variants)) diff --git a/roms/config.seabios-fast b/roms/config.seabios-fast new file mode 100644 index 0000000000..045693ea59 --- /dev/null +++ b/roms/config.seabios-fast @@ -0,0 +1,27 @@ +# The fastest SeaBIOS that can boot Linux using -kernel. +# NB: Since we are using -kernel, we don't need SeaBIOS itself +# to do any boot drive detection, boot ordering, etc. + +# general stuff +CONFIG_QEMU=y +CONFIG_ROM_SIZE=0 +CONFIG_WRITABLE_UPPERMEMORY=y +CONFIG_RELOCATE_INIT=n + +# no input, no boot menu +CONFIG_MOUSE=n +CONFIG_KEYBOARD=n +CONFIG_BOOTMENU=n +CONFIG_BOOTSPLASH=n +CONFIG_BOOTORDER=n + +# hardware support we don't need +CONFIG_LPT=n +CONFIG_SERIAL=n +CONFIG_USB=n +CONFIG_DRIVES=n +CONFIG_TCGBIOS=n +CONFIG_VGAHOOKS=n + +# no logging +CONFIG_DEBUG_LEVEL=0 |