diff options
author | Paul Menzel <pmenzel@molgen.mpg.de> | 2021-07-08 19:16:17 +0200 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2021-07-19 09:20:52 +0000 |
commit | f72568cad31092df5c3bc7a87536b84ab178cfa7 (patch) | |
tree | 8c97e7579a7fcdd717708fbf42fdf6c328d44a80 /payloads/external | |
parent | 750200020ab82f3be2bfda959bd3280a46b7a1cc (diff) |
payloads: FILO: Hook up autoboot options
FILO allows to configure a line to autoboot. Hook this up into
coreboot’s build system.
TEST=Configure coreboot for QEMU i440fx with FILO as payload and
configure:
CONFIG_FILO_MASTER=y
CONFIG_FILO_USE_AUTOBOOT=y
CONFIG_FILO_AUTOBOOT_FILE="hda1:/vmlinuz root=/dev/sda1 console=tty0 console=ttyS0,115200 initrd=hda1:/initrd.img"
CONFIG_FILO_AUTOBOOT_DELAY=5
Boot Debian image with:
qemu-system-x86_64 -bios /dev/shm/coreboot/build/coreboot.rom -L /dev/shm -enable-kvm -smp cpus=2 -m 1G -hda /dev/shm/debian-32.img -serial stdio -net nic -net user,hostfwd=tcp::22222-:22
Change-Id: Id167e9a144bf466da87469108002672b299b702a
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/56213
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'payloads/external')
-rw-r--r-- | payloads/external/FILO/Kconfig | 28 | ||||
-rw-r--r-- | payloads/external/FILO/Makefile | 7 | ||||
-rw-r--r-- | payloads/external/Makefile.inc | 5 |
3 files changed, 39 insertions, 1 deletions
diff --git a/payloads/external/FILO/Kconfig b/payloads/external/FILO/Kconfig index 1cf171d2cf..7dc14edb9b 100644 --- a/payloads/external/FILO/Kconfig +++ b/payloads/external/FILO/Kconfig @@ -16,6 +16,34 @@ config FILO_MASTER endchoice +config FILO_USE_AUTOBOOT + prompt "Use FILO's autoboot" + default n + bool + help + Select this option to make FILO autoboot a command line after + timeout. This disables the GRUB legacy like interface. + +config FILO_AUTOBOOT_FILE + string "Configure FILO's autoboot kernel filename and parameters" + depends on FILO_USE_AUTOBOOT + default "hda1:/vmlinuz root=/dev/hda1 console=tty0 console=ttyS0,115200" + help + Examples: + + #AUTOBOOT_FILE = "hda1:/vmlinuz root=/dev/sda1 console=tty0 console=ttyS0,115200" + #AUTOBOOT_FILE = "mem@0xfff80000" + #AUTOBOOT_FILE = "hde1@0" + #AUTOBOOT_FILE = "uda1:/vmlinuz.elf" + #AUTOBOOT_FILE = "flashb@0x00400000,0x154a00 console=tty0 console=ttyS0,115200" + +config FILO_AUTOBOOT_DELAY + int "Time in seconds before booting" + depends on FILO_USE_AUTOBOOT + default 2 + help + Time in seconds before booting AUTOBOOT_FILE. + config PAYLOAD_FILE default "payloads/external/FILO/filo/build/filo.elf" diff --git a/payloads/external/FILO/Makefile b/payloads/external/FILO/Makefile index 90895572a9..e2fec369e8 100644 --- a/payloads/external/FILO/Makefile +++ b/payloads/external/FILO/Makefile @@ -33,6 +33,13 @@ config: libpayload #echo "CONFIG_VGAHOOKS=y" >> filo/.config # This shows how to force a previously set .config option *off* #echo "# CONFIG_SMBIOS is not set" >> filo/.config +ifeq ($(CONFIG_FILO_USE_AUTOBOOT),y) + echo "# CONFIG_USE_GRUB is not set" >> filo/.config + echo "CONFIG_USE_AUTOBOOT=y" >> filo/.config + echo 'CONFIG_AUTOBOOT_FILE="$(CONFIG_FILO_AUTOBOOT_FILE)"' >> filo/.config + echo "CONFIG_AUTOBOOT_DELAY=$(CONFIG_FILO_AUTOBOOT_DELAY)" >> filo/.config +endif + $(MAKE) -C filo oldconfig LIBCONFIG_PATH=../../../libpayload filo: config diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc index 3d465537a1..f977079907 100644 --- a/payloads/external/Makefile.inc +++ b/payloads/external/Makefile.inc @@ -167,7 +167,10 @@ filo: CC="$(CC_x86_32)" LD="$(LD_x86_32)" OBJDUMP="$(OBJDUMP_x86_32)" \ OBJCOPY="$(OBJCOPY_x86_32)" STRIP="$(STRIP_x86_32)" \ CONFIG_FILO_MASTER=$(CONFIG_FILO_MASTER) \ - CONFIG_FILO_STABLE=$(CONFIG_FILO_STABLE) + CONFIG_FILO_STABLE=$(CONFIG_FILO_STABLE) \ + CONFIG_FILO_USE_AUTOBOOT=$(CONFIG_FILO_USE_AUTOBOOT) \ + CONFIG_FILO_AUTOBOOT_FILE=$(CONFIG_FILO_AUTOBOOT_FILE) \ + CONFIG_FILO_AUTOBOOT_DELAY=$(CONFIG_FILO_AUTOBOOT_DELAY) payloads/external/FILO/filo/build/filo.elf: filo payloads/external/FILO/filo/.config: filo |