Get coreboot #1

Open
opened 2020-10-15 02:46:28 +02:00 by kreyren · 0 comments
Owner

This is a stub issue with tracking for coreboot implementation for leonid


Abstract: Automate this so that it can be processed by zernit and paludis during regular system update


  1. clone coreboot
  2. read util/autoport/readme.md
  3. cd util/ectool0 && make
  4. cd util/superiotool && make
  5. cd util/autoport && make

Note: you might need to boot up in iomem=relaxed mode to read real registers in /dev/mem

requires:

  • gcc
  • golang
  • lspci
  • dmidecode
  • acpidump (part of acpica on some distros)
  1. sudo ./autoport --input_log=logs --make_logs --coreboot_dir=../..

  2. Expecting to generate files alike: src/mainboard/lenovo/lenovo_g770

you may need to rename lenovo_g770 on g770

  1. cd coreboot && make crosstools-i386

You need ada compiler (GNAT) installed do not continue without it, because reasons(?)

  1. cd coreboot && make menuconfig and select from menu lenovo -> g770, save and exit -> build/coreboot.rom should spit out at the end

This is auto-generated config so you may need to fix the build target

To get the rom file on the bios chip you need SPI like raspberry pi

layout has descriptor + gbe + ME fw + bios

  • gbe is 8192 bytes describing the NIC metadata (has MAC address and led mappings etc)
  • ME is ~5MB of crap for management engine, but you cant delete all of it or x86 refuses to boot(?)

Read the pinouts for your bios chip and wire it to external SPI

CLK CE MISO MOSI VCC GND

It needs 3.3 Volts DC, amperage unknown

on raspberry pi use flashroom

make at least two backups of your current bios and ensure that the checksums are matching if not continue until you are confident that you have a solid copy of your factory bios

and use the dumps of the factory bios to work out the layoutso you can flash just the bios region
so you can flash just the bios region

This is a stub issue with tracking for coreboot implementation for leonid --- Abstract: Automate this so that it can be processed by zernit and paludis during regular system update --- 1. clone coreboot 2. read util/autoport/readme.md 3. cd util/ectool0 && make 4. cd util/superiotool && make 5. cd util/autoport && make Note: you might need to boot up in iomem=relaxed mode to read real registers in /dev/mem requires: * `gcc` * `golang` * `lspci` * `dmidecode` * `acpidump` (part of `acpica` on some distros) 6. sudo ./autoport --input_log=logs --make_logs --coreboot_dir=../.. 7. Expecting to generate files alike: src/mainboard/lenovo/lenovo_g770 you may need to rename `lenovo_g770` on `g770` 8. cd coreboot && make crosstools-i386 You need ada compiler (GNAT) installed do not continue without it, because reasons(?) 9. `cd coreboot && make menuconfig` and select from menu lenovo -> g770, save and exit -> build/coreboot.rom should spit out at the end This is auto-generated config so you may need to fix the build target To get the rom file on the bios chip you need SPI like raspberry pi layout has descriptor + gbe + ME fw + bios - gbe is 8192 bytes describing the NIC metadata (has MAC address and led mappings etc) - ME is ~5MB of crap for management engine, but you cant delete all of it or x86 refuses to boot(?) Read the pinouts for your bios chip and wire it to external SPI CLK CE MISO MOSI VCC GND It needs 3.3 Volts DC, amperage unknown on raspberry pi use flashroom make at least two backups of your current bios and ensure that the checksums are matching if not continue until you are confident that you have a solid copy of your factory bios > and use the dumps of the factory bios to work out the layoutso you can flash just the bios region > so you can flash just the bios region
kreyren added spent time 2020-10-15 02:48:20 +02:00
54min
Sign in to join this conversation.
No Label
No Milestone
No Assignees
1 Participants
Notifications
Total Time Spent: 54 minutes
kreyren
54 minutes
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: kreyren/paludis-config#1
No description provided.