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>
This commit is contained in:
Paul Menzel 2021-07-08 19:16:17 +02:00 committed by Nico Huber
parent 750200020a
commit f72568cad3
3 changed files with 39 additions and 1 deletions

View File

@ -16,6 +16,34 @@ config FILO_MASTER
endchoice 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 config PAYLOAD_FILE
default "payloads/external/FILO/filo/build/filo.elf" default "payloads/external/FILO/filo/build/filo.elf"

View File

@ -33,6 +33,13 @@ config: libpayload
#echo "CONFIG_VGAHOOKS=y" >> filo/.config #echo "CONFIG_VGAHOOKS=y" >> filo/.config
# This shows how to force a previously set .config option *off* # This shows how to force a previously set .config option *off*
#echo "# CONFIG_SMBIOS is not set" >> filo/.config #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 $(MAKE) -C filo oldconfig LIBCONFIG_PATH=../../../libpayload
filo: config filo: config

View File

@ -167,7 +167,10 @@ filo:
CC="$(CC_x86_32)" LD="$(LD_x86_32)" OBJDUMP="$(OBJDUMP_x86_32)" \ CC="$(CC_x86_32)" LD="$(LD_x86_32)" OBJDUMP="$(OBJDUMP_x86_32)" \
OBJCOPY="$(OBJCOPY_x86_32)" STRIP="$(STRIP_x86_32)" \ OBJCOPY="$(OBJCOPY_x86_32)" STRIP="$(STRIP_x86_32)" \
CONFIG_FILO_MASTER=$(CONFIG_FILO_MASTER) \ 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/build/filo.elf: filo
payloads/external/FILO/filo/.config: filo payloads/external/FILO/filo/.config: filo