StarLabsLtd / firmware

71 stars 5 forks source link

coreboot update via EFI shell [a.k.a. without LVFS/etc daemons] #49

Closed jpluscplusm closed 2 years ago

jpluscplusm commented 2 years ago

The support page at https://support.starlabs.systems/kb/updates/installing-updates-with-the-efi-shell doesn't seem to reflect the contents of the */coreboot/* directories: .cab files and .rom files.

How/can coreboot be updated from the EFI shell, with some set of files having been copied to USB storage? [I'm interested in this as I'm not running an OS that runs LVFS-related daemons/etc]

If coreboot can't be upgraded from the EFI shell, please could you document how a specific .rom/.cab file can be used to upgrade on systems where root is available, and arbitrary binaries can be dowloaded+run, but no system daemons can be instantiated. In other words, how/can something like sudo some-flashrom-binary /path/to/coreboot.rom be run?

Sean-StarLabs commented 2 years ago

How/can coreboot be updated from the EFI shell, with some set of files having been copied to USB storage? [I'm interested in this as I'm not running an OS that runs LVFS-related daemons/etc]

It can't.

If coreboot can't be upgraded from the EFI shell, please could you document how a specific .rom/.cab file can be used to upgrade on systems where root is available, and arbitrary binaries can be dowloaded+run, but no system daemons can be instantiated. In other words, how/can something like sudo some-flashrom-binary /path/to/coreboot.rom be run?

How to do that can be found in flashrom's man page, it's not something we'll ever recommend as it doesn't have safeguards so if anything goes wrong, the laptop won't boot (i.e. typo, battery running out, wrong ROM).

Using a Live USB with something that does support the LVFS is your best bet, like Ubuntu or Manjaro, but for flashrom, the command would be:

sudo flashrom -p internal -w coreboot.rom -i bios --ifd -N