Only boot 32-bit u-boot from grub, 64 from seabios
For some reason, 32-bit U-Boot only works when executed from GRUB, but not SeaBIOS; 64-bit U-Boot only works from SeaBIOS! This will have to be investigated. Standalone U-Boot, where U-Boot is the primary payload, has not yet been tested in Libreboot, and will not be provided for some time due to stability concerns. More testing is needed! Signed-off-by: Leah Rowe <leah@libreboot.org>master
parent
279e69172f
commit
eb14a176bc
|
@ -216,24 +216,38 @@ menuentry 'Load test configuration (grubtest.cfg) inside of CBFS [t]' --hotkey=
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
if [ -f (cbfsdisk)/img/u-boot ]; then
|
if [ -f (cbfsdisk)/u-boot ]; then
|
||||||
menuentry 'Experimental U-Boot UEFI payload (try from SeaBIOS ESC menu if GRUB fails) [u]' --hotkey='u' {
|
menuentry 'U-Boot i386 payload (experimental) [u]' --hotkey='u' {
|
||||||
set root='cbfsdisk'
|
set root='cbfsdisk'
|
||||||
chainloader /img/u-boot
|
chainloader /u-boot
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
if [ -f (cbfsdisk)/seabios.elf ]; then
|
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'
|
set root='cbfsdisk'
|
||||||
chainloader /seabios.elf
|
chainloader /seabios.elf
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
if [ -f (cbfsdisk)/img/grub2 ]; then
|
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' {
|
menuentry 'Return to SeaBIOS [b]' --hotkey='b' {
|
||||||
set root='cbfsdisk'
|
set root='cbfsdisk'
|
||||||
chainloader /fallback/payload
|
chainloader /fallback/payload
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
menuentry 'Poweroff [p]' --hotkey='p' {
|
menuentry 'Poweroff [p]' --hotkey='p' {
|
||||||
halt
|
halt
|
||||||
}
|
}
|
||||||
|
|
|
@ -234,24 +234,38 @@ menuentry 'Load test configuration (grubtest.cfg) inside of CBFS [t]' --hotkey=
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
if [ -f (cbfsdisk)/img/u-boot ]; then
|
if [ -f (cbfsdisk)/u-boot ]; then
|
||||||
menuentry 'Experimental U-Boot UEFI payload (try from SeaBIOS ESC menu if GRUB fails) [u]' --hotkey='u' {
|
menuentry 'U-Boot i386 payload (experimental) [u]' --hotkey='u' {
|
||||||
set root='cbfsdisk'
|
set root='cbfsdisk'
|
||||||
chainloader /img/u-boot
|
chainloader /u-boot
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
if [ -f (cbfsdisk)/seabios.elf ]; then
|
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'
|
set root='cbfsdisk'
|
||||||
chainloader /seabios.elf
|
chainloader /seabios.elf
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
if [ -f (cbfsdisk)/img/grub2 ]; then
|
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' {
|
menuentry 'Return to SeaBIOS [b]' --hotkey='b' {
|
||||||
set root='cbfsdisk'
|
set root='cbfsdisk'
|
||||||
chainloader /fallback/payload
|
chainloader /fallback/payload
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
menuentry 'Poweroff [p]' --hotkey='p' {
|
menuentry 'Poweroff [p]' --hotkey='p' {
|
||||||
halt
|
halt
|
||||||
}
|
}
|
||||||
|
|
|
@ -235,24 +235,38 @@ menuentry 'Load test configuration (grubtest.cfg) in CBFS [t]' --hotkey='t' {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
if [ -f (cbfsdisk)/img/u-boot ]; then
|
if [ -f (cbfsdisk)/u-boot ]; then
|
||||||
menuentry 'Experimental U-Boot UEFI payload (try from SeaBIOS ESC menu if GRUB fails) [u]' --hotkey='u' {
|
menuentry 'U-Boot i386 payload (experimental) [u]' --hotkey='u' {
|
||||||
set root='cbfsdisk'
|
set root='cbfsdisk'
|
||||||
chainloader /img/u-boot
|
chainloader /u-boot
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
if [ -f (cbfsdisk)/seabios.elf ]; then
|
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'
|
set root='cbfsdisk'
|
||||||
chainloader /seabios.elf
|
chainloader /seabios.elf
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
if [ -f (cbfsdisk)/img/grub2 ]; then
|
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' {
|
menuentry 'Return to SeaBIOS [b]' --hotkey='b' {
|
||||||
set root='cbfsdisk'
|
set root='cbfsdisk'
|
||||||
chainloader /fallback/payload
|
chainloader /fallback/payload
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
menuentry 'Poweroff [p]' --hotkey='p' {
|
menuentry 'Poweroff [p]' --hotkey='p' {
|
||||||
halt
|
halt
|
||||||
}
|
}
|
||||||
|
|
|
@ -187,8 +187,9 @@ add_uboot()
|
||||||
[ "$payload_uboot_amd64" = "y" ]; then
|
[ "$payload_uboot_amd64" = "y" ]; then
|
||||||
ubcbfsargs="-l 0x1110000 -e 0x1110000" # 64-bit and 32-bit
|
ubcbfsargs="-l 0x1110000 -e 0x1110000" # 64-bit and 32-bit
|
||||||
# on 64-bit, 0x1120000 is the SPL, and stub before that
|
# on 64-bit, 0x1120000 is the SPL, and stub before that
|
||||||
ubpath="img/u-boot"
|
ubpath="img/u-boot" # 64-bit
|
||||||
ubtarget="amd64coreboot"
|
ubtarget="amd64coreboot"
|
||||||
|
[ "$payload_uboot_i386" = "y" ] && ubpath="u-boot" # 32-bit
|
||||||
[ "$payload_uboot_i386" = "y" ] && ubtarget="i386coreboot"; :
|
[ "$payload_uboot_i386" = "y" ] && ubtarget="i386coreboot"; :
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue