rom.sh: Support SeaUBoot for 64-bit x86 U-Boot
Same concept as SeaGRUB, but for U-Boot. SeaBIOS starts, but has a bootorder file loading U-Boot first, from flash. You can interrupt it with the ESC menu, to boot something else in SeaBIOS, including GRUB. With this, we can effectively provide extremely user-friendly UEFI-first setups in Libreboot. Take that, edk2! Signed-off-by: Leah Rowe <leah@libreboot.org>master
parent
02e66ae01a
commit
7d1fd1cc6a
|
@ -0,0 +1 @@
|
||||||
|
/rom@img/u-boot
|
Binary file not shown.
|
@ -154,7 +154,9 @@ add_seabios()
|
||||||
|
|
||||||
[ "$payload_grub" = "y" ] && add_grub
|
[ "$payload_grub" = "y" ] && add_grub
|
||||||
|
|
||||||
cprom && [ "$payload_grub" = "y" ] && pname="seagrub" && mkseagrub; :
|
cprom
|
||||||
|
[ "$payload_uboot_amd64" = "y" ] && pname="seauboot" && cprom "seauboot"
|
||||||
|
[ "$payload_grub" = "y" ] && pname="seagrub" && mkseagrub; :
|
||||||
}
|
}
|
||||||
|
|
||||||
add_grub()
|
add_grub()
|
||||||
|
@ -210,11 +212,14 @@ add_uboot()
|
||||||
cprom()
|
cprom()
|
||||||
{
|
{
|
||||||
newrom="bin/$target/${pname}_${target}_$initmode$displaymode.rom"
|
newrom="bin/$target/${pname}_${target}_$initmode$displaymode.rom"
|
||||||
[ $# -gt 0 ] && newrom="${newrom%.rom}_${1%.gkb}.rom"
|
[ $# -gt 0 ] && [ "$1" != "seauboot" ] && \
|
||||||
|
newrom="${newrom%.rom}_${1%.gkb}.rom"
|
||||||
|
|
||||||
x_ mkdir -p "bin/$target"
|
x_ mkdir -p "bin/$target"
|
||||||
x_ cp "$tmprom" "$newrom" && [ $# -gt 0 ] && \
|
x_ cp "$tmprom" "$newrom" && [ $# -gt 0 ] && [ "$1" != "seauboot" ] && \
|
||||||
cbfs "$newrom" "config/data/grub/keymap/$1" keymap.gkb raw
|
cbfs "$newrom" "config/data/grub/keymap/$1" keymap.gkb raw
|
||||||
|
[ $# -gt 0 ] && [ "$1" = "seauboot" ] && \
|
||||||
|
cbfs "$newrom" "config/data/grub/bootorder_uboot" "bootorder" raw
|
||||||
|
|
||||||
[ "$XBMK_RELEASE" = "y" ] || return 0
|
[ "$XBMK_RELEASE" = "y" ] || return 0
|
||||||
$dry mksha512sum "$newrom" "vendorhashes"; $dry ./vendor inject \
|
$dry mksha512sum "$newrom" "vendorhashes"; $dry ./vendor inject \
|
||||||
|
|
Loading…
Reference in New Issue