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>
This commit is contained in:
		
							parent
							
								
									8692aa2979
								
							
						
					
					
						commit
						4e04ab6a63
					
				
							
								
								
									
										3
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										3
									
								
								Makefile
								
								
								
								
							| 
						 | 
					@ -408,7 +408,8 @@ common  de-ch  es     fo  fr-ca  hu     ja  mk  nl-be      pt  sl     tr \
 | 
				
			||||||
bepo    cz
 | 
					bepo    cz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ifdef INSTALL_BLOBS
 | 
					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 \
 | 
					vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin vgabios-virtio.bin \
 | 
				
			||||||
acpi-dsdt.aml \
 | 
					acpi-dsdt.aml \
 | 
				
			||||||
ppc_rom.bin openbios-sparc32 openbios-sparc64 openbios-ppc QEMU,tcx.bin QEMU,cgthree.bin \
 | 
					ppc_rom.bin openbios-sparc32 openbios-sparc64 openbios-ppc QEMU,tcx.bin QEMU,cgthree.bin \
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -61,9 +61,11 @@ default:
 | 
				
			||||||
	@echo "  slof           -- update slof.bin"
 | 
						@echo "  slof           -- update slof.bin"
 | 
				
			||||||
	@echo "  u-boot.e500    -- update u-boot.e500"
 | 
						@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-128k/bios.bin ../pc-bios/bios.bin
 | 
				
			||||||
	cp seabios/builds/seabios-256k/bios.bin ../pc-bios/bios-256k.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))
 | 
					seavgabios: $(patsubst %,seavgabios-%,$(vgabios_variants))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
		Loading…
	
		Reference in New Issue