docs: Use generate.sh for board bringup
This commit is contained in:
committed by
Jeremy Soller
parent
bc1a6ca25b
commit
9ee2150d43
@ -29,53 +29,21 @@ sudo bash -c 'echo 1 > /sys/bus/pci/rescan'
|
|||||||
|
|
||||||
## Generating required output
|
## Generating required output
|
||||||
|
|
||||||
- Create a directory under `model/`
|
The `generate.sh` script will perform most steps for collecting the required
|
||||||
- Create `README.md.in` with basic info about the board
|
data for coreboot and EC firmware development. If regenerating for an existing
|
||||||
- Title should be "\<manufacturer\> \<product\> (\<version\>)"
|
model, it will automatically overwrite the data.
|
||||||
- Generate `coreboot-collector.txt` using [coreboot-collector]
|
|
||||||
|
If planning to use System76 EC firmware, perform the following before running:
|
||||||
|
- Set keyboard backlight to full brightness and white light
|
||||||
|
- Set display backlight to full brightness
|
||||||
|
- Set CPU fan to full speed
|
||||||
|
|
||||||
```
|
```
|
||||||
cargo build --release --manifest-path=tools/coreboot-collector/Cargo.toml
|
./scripts/generate.sh <model> <firmware.rom> [ec.rom]
|
||||||
sudo ./tools/coreboot-collector/target/release/coreboot-collector > models/<model>/coreboot-collector.txt
|
|
||||||
```
|
```
|
||||||
|
|
||||||
- Generate `gpio.h` and `hda.h`
|
You will additionally need to generate the correct `microcode.rom` for the CPU
|
||||||
|
family from the private [intel-microcode] repo.
|
||||||
```
|
|
||||||
./scripts/coreboot-gpio.sh models/<model>/coreboot-collector.txt > models/<model>/gpio.h
|
|
||||||
./scripts/coreboot-hda.sh models/<model>/coreboot-collector.txt > models/<model>/hda.h
|
|
||||||
```
|
|
||||||
|
|
||||||
- Extract the flash descriptor and Intel ME
|
|
||||||
|
|
||||||
```
|
|
||||||
make -C coreboot/util/ifdtool
|
|
||||||
coreboot/util/ifdtool/ifdtool -x <bios_image>
|
|
||||||
mv flashregion_0_flashdescriptor.bin models/<model>/fd.rom
|
|
||||||
mv flashregion_2_intel_me.bin models/<model>/me.rom
|
|
||||||
rm -f flashregion_*.bin
|
|
||||||
```
|
|
||||||
|
|
||||||
- If using the proprietary EC firmware, add it as `ec.rom`
|
|
||||||
- Otherwise, generate `ecspy.txt`
|
|
||||||
- Set keyboard backlight to full brightness, white color
|
|
||||||
- Set display backlight to full brightness
|
|
||||||
- Set fans to full speed
|
|
||||||
|
|
||||||
```
|
|
||||||
cargo build --release --manifest-path=ec/ecspy/Cargo.toml
|
|
||||||
sudo ./ec/ecspy/target/release/ecspy > models/<model>/ecspy.txt
|
|
||||||
# Strip EC RAM entries
|
|
||||||
sed -i '/^0x/d' models/<model>/ecspy.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
- Generate `microcode.rom` from the private [intel-microcode] repo
|
|
||||||
|
|
||||||
- Generate the READMEs
|
|
||||||
|
|
||||||
```
|
|
||||||
./scripts/readmes.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
## Porting coreboot
|
## Porting coreboot
|
||||||
|
|
||||||
@ -103,5 +71,4 @@ firmware-open (e.g., `galp3-c` used for `galp4`).
|
|||||||
If the proprietary EC was previously used, remove `ec.rom` and regenerate the
|
If the proprietary EC was previously used, remove `ec.rom` and regenerate the
|
||||||
READMEs.
|
READMEs.
|
||||||
|
|
||||||
[coreboot-collector]: https://github.com/system76/coreboot-collector
|
|
||||||
[intel-microcode]: https://github.com/system76/intel-microcode
|
[intel-microcode]: https://github.com/system76/intel-microcode
|
||||||
|
Reference in New Issue
Block a user