SeaBIOS doesn't load on eve/fizz |
||
Issue descriptionWhat steps will reproduce the problem? (1) Boot eve or fizz in developer mode (2) Press Ctrl+L on the devmode screen What is the expected result? Device boots to SeaBIOS What happens instead? Device freezes or resets Attached is the serial log from fizz.
,
Jan 5 2018
thanks for the update, duncan. should i give up on fizz as a development target? it's a pretty useful device for upstream kernel development.
,
Jan 5 2018
,
Jan 8 2018
Fizz should be able to be a useful development target, but we probably need the tianocore switch since NVMe is common on that platform.
,
Jan 8 2018
great! i'm happy to test anything y'all come up with. is there a tianocore bug that i can follow along with?
,
Jan 8 2018
There isn't really one particular bug. b:70802728 might be a good entrypoint though.
,
Jan 10 2018
I just received my Eve chromebook (Pixelbook i7) yesterday, and SeaBIOS is not detecting the NVME hard drive. Do I need to switch to a different channel to get the latest BIOS?
,
Jan 10 2018
As noted in comment#1 the version of SeaBIOS on Eve does not support NVMe. The upstream SeaBIOS NVMe patches do not backport to our version cleanly, and updating our SeaBIOS version broke a lot of build assumptions. Since we want to transition to Tianocore instead we decided to prioritize that effort over updating SeaBIOS. That said, you can do it manually if you want to have something working before we push an update that enables Tianocore for legacy boot. # Prereq: build cbfstool from coreboot repository # This part is unnecessary if you have a coreboot checkout already. git clone https://review.coreboot.org/coreboot.git pushd coreboot git submodule update --init pushd util/cbfstool make all export CBFSTOOL=$(pwd)/cbfstool popd popd # Check out seabios from git git clone git://git.seabios.org/seabios.git pushd seabios # configure it, setting at least the following options: make nconfig > CONFIG_COREBOOT=y (General Features -> Build Target -> Build for coreboot) > CONFIG_BOOTSPLASH=n (General Features -> Graphical Boot Splash Screen -> DISABLE unless you supply an image...) > CONFIG_COREBOOT_FLASH=y (General Features -> coreboot CBFS support) > CONFIG_CBFS_LOCATION=0xffc00000 (General Features -> CBFS memory end location) > CONFIG_NVME=y (Hardware Support -> NVMe Controllers) > CONFIG_VGA_COREBOOT=y (VGA ROM -> VGA Hardware Type -> coreboot linear framebuffer) # I also attached a working seabios.config which you can copy to .config and run "make oldconfig" to use # Build it make # Create a 2MB CBFS partition for it and add the seabios payload and option rom $CBFSTOOL seabios.cbfs create -s $(( 2 * 1024 * 1024 )) -m x86 $CBFSTOOL seabios.cbfs add-payload -f out/bios.bin.elf -n payload -c lzma $CBFSTOOL seabios.cbfs add -f vgabios.bin -n vgaroms/seavgabios.bin -t optionrom # Finally, copy seabios.cbfs to the device and update just the RW_LEGACY region in firmware. # This region is unused by chromeos so it is safe to touch flashrom -r /tmp/bios.bin dd if=/tmp/seabios.cbfs of=/tmp/bios.bin bs=1M seek=10 conv=notrunc flashrom -i RW_LEGACY -w /tmp/bios.bin |
||
►
Sign in to add a comment |
||
Comment 1 by dlaurie@chromium.org
, Jan 4 2018