diff --git a/config/grub/default/config/payload b/config/grub/default/config/payload index c2036c72..05e64bbd 100644 --- a/config/grub/default/config/payload +++ b/config/grub/default/config/payload @@ -216,24 +216,38 @@ menuentry 'Load test configuration (grubtest.cfg) inside of CBFS [t]' --hotkey= fi } fi -if [ -f (cbfsdisk)/img/u-boot ]; then -menuentry 'Experimental U-Boot UEFI payload (try from SeaBIOS ESC menu if GRUB fails) [u]' --hotkey='u' { +if [ -f (cbfsdisk)/u-boot ]; then +menuentry 'U-Boot i386 payload (experimental) [u]' --hotkey='u' { set root='cbfsdisk' - chainloader /img/u-boot + chainloader /u-boot } fi if [ -f (cbfsdisk)/seabios.elf ]; then -menuentry 'Load SeaBIOS (payload) [b]' --hotkey='b' { +if [ -f (cbfsdisk)/img/u-boot ]; then +menuentry 'Load SeaBIOS (U-Boot UEFI available in the ESC menu) [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /seabios.elf +} +else +menuentry 'Load SeaBIOS [b]' --hotkey='b' { set root='cbfsdisk' chainloader /seabios.elf } fi +fi if [ -f (cbfsdisk)/img/grub2 ]; then +if [ -f (cbfsdisk)/img/u-boot ]; then +menuentry 'Return to SeaBIOS (U-Boot UEFI available in the ESC menu) [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /fallback/payload +} +else menuentry 'Return to SeaBIOS [b]' --hotkey='b' { set root='cbfsdisk' chainloader /fallback/payload } fi +fi menuentry 'Poweroff [p]' --hotkey='p' { halt } diff --git a/config/grub/nvme/config/payload b/config/grub/nvme/config/payload index 1d7c06d4..52b8dfd9 100644 --- a/config/grub/nvme/config/payload +++ b/config/grub/nvme/config/payload @@ -234,24 +234,38 @@ menuentry 'Load test configuration (grubtest.cfg) inside of CBFS [t]' --hotkey= fi } fi -if [ -f (cbfsdisk)/img/u-boot ]; then -menuentry 'Experimental U-Boot UEFI payload (try from SeaBIOS ESC menu if GRUB fails) [u]' --hotkey='u' { +if [ -f (cbfsdisk)/u-boot ]; then +menuentry 'U-Boot i386 payload (experimental) [u]' --hotkey='u' { set root='cbfsdisk' - chainloader /img/u-boot + chainloader /u-boot } fi if [ -f (cbfsdisk)/seabios.elf ]; then -menuentry 'Load SeaBIOS (payload) [b]' --hotkey='b' { +if [ -f (cbfsdisk)/img/u-boot ]; then +menuentry 'Load SeaBIOS (U-Boot UEFI available in the ESC menu) [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /seabios.elf +} +else +menuentry 'Load SeaBIOS [b]' --hotkey='b' { set root='cbfsdisk' chainloader /seabios.elf } fi +fi if [ -f (cbfsdisk)/img/grub2 ]; then +if [ -f (cbfsdisk)/img/u-boot ]; then +menuentry 'Return to SeaBIOS (U-Boot UEFI available in the ESC menu) [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /fallback/payload +} +else menuentry 'Return to SeaBIOS [b]' --hotkey='b' { set root='cbfsdisk' chainloader /fallback/payload } fi +fi menuentry 'Poweroff [p]' --hotkey='p' { halt } diff --git a/config/grub/xhci/config/payload b/config/grub/xhci/config/payload index dea4cdce..6a0fc250 100644 --- a/config/grub/xhci/config/payload +++ b/config/grub/xhci/config/payload @@ -235,24 +235,38 @@ menuentry 'Load test configuration (grubtest.cfg) in CBFS [t]' --hotkey='t' { fi } fi -if [ -f (cbfsdisk)/img/u-boot ]; then -menuentry 'Experimental U-Boot UEFI payload (try from SeaBIOS ESC menu if GRUB fails) [u]' --hotkey='u' { +if [ -f (cbfsdisk)/u-boot ]; then +menuentry 'U-Boot i386 payload (experimental) [u]' --hotkey='u' { set root='cbfsdisk' - chainloader /img/u-boot + chainloader /u-boot } fi if [ -f (cbfsdisk)/seabios.elf ]; then -menuentry 'Load SeaBIOS (payload) [b]' --hotkey='b' { +if [ -f (cbfsdisk)/img/u-boot ]; then +menuentry 'Load SeaBIOS (U-Boot UEFI available in the ESC menu) [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /seabios.elf +} +else +menuentry 'Load SeaBIOS [b]' --hotkey='b' { set root='cbfsdisk' chainloader /seabios.elf } fi +fi if [ -f (cbfsdisk)/img/grub2 ]; then +if [ -f (cbfsdisk)/img/u-boot ]; then +menuentry 'Return to SeaBIOS (U-Boot UEFI available in the ESC menu) [b]' --hotkey='b' { + set root='cbfsdisk' + chainloader /fallback/payload +} +else menuentry 'Return to SeaBIOS [b]' --hotkey='b' { set root='cbfsdisk' chainloader /fallback/payload } fi +fi menuentry 'Poweroff [p]' --hotkey='p' { halt } diff --git a/include/rom.sh b/include/rom.sh index 808f83a4..96c7081a 100644 --- a/include/rom.sh +++ b/include/rom.sh @@ -187,8 +187,9 @@ add_uboot() [ "$payload_uboot_amd64" = "y" ]; then ubcbfsargs="-l 0x1110000 -e 0x1110000" # 64-bit and 32-bit # on 64-bit, 0x1120000 is the SPL, and stub before that - ubpath="img/u-boot" + ubpath="img/u-boot" # 64-bit ubtarget="amd64coreboot" + [ "$payload_uboot_i386" = "y" ] && ubpath="u-boot" # 32-bit [ "$payload_uboot_i386" = "y" ] && ubtarget="i386coreboot"; : fi