Commit 59f2e3f2 authored by Matt Devillier's avatar Matt Devillier

Update README

Signed-off-by: Matt Devillier's avatarMatt DeVillier <matt.devillier@puri.sm>
parent b7bebb63
Pipeline #5768 canceled with stages
# utility
# coreboot Utility and Updater Script
coreboot utility and updater script. will consolidate functions from existing binary updater and build from source scripts
\ No newline at end of file
This coreboot utility and updater script consolidates functions from previous binary updater and build-from-source scripts.
It provides the following functions:
* Downloads a precompiled firmware update for a given device, with the choice between the standard (factory-shipped) legacy BIOS (SeaBIOS) firmware and our new Pureboot (coreboot + Heads) firmware
* Downloads and compiles a standard coreboot/SeaBIOS firmware image for a given device
* The option to flash a downloaded/compiled update, if running the standard/SeaBIOS firmware (users running Pureboot should copy the firmware file to USB and update via the Heads menu option)
* The option to adjust the default boot order, if running the standard/SeaBIOS firmware.
* The option to update/set the device serial number (not available for older 13v1/15v2 devices)
## usage
from a terminal, run:
wget https://source.puri.sm/coreboot/utility/raw/master/coreboot_util.sh
sudo bash coreboot_util.sh
### 1) Update firmware using precompiled image
This function will:
* Prompt for device selection, attempting to detect and set the correct default option
* Prompt for firmware type selection (standard or Pureboot), for devices which have both options
* Prompt to confirm/enter the device serial number, defauting to current device serial
* Prompt to set the default bootorder, if standard firmware selected. The script will attempt to
detect which drive types are present/installed on the current system, as well as offer an option
for externally-connected USB/SD devices.
* Download the appropriate firmware image based on user selection
* Inject the device serial and bootorder into the image (as needed)
* Provide the option to flash the firmware update, if currently running the standard firmware.
If running the PureBoot firmware, the user will be informed to copy the firmware update file to
USB and update via the Heads menu option
### 2) Build firmware update from source
This function will:
* Prompt for device selection, attempting to detect and set the correct default option
* Prompt to confirm/enter the device serial number, defauting to current device serial
* Prompt to set the default bootorder
* Verify/download the required binary blobs, extracting from a precompiled coreboot image if needed
* Download the latest coreboot source from Purism's repo
* Verify/build the coreboot toolchain
* Build coreboot, SeaBIOS, and other secondary payloads from source
* Verify BIOS region of compiled firmware agianst known good hash
* Inject the device serial and bootorder into the image
* Provide the option to flash the firmware update, if currently running the standard firmware.
If running the PureBoot firmware, the user will be informed to copy the firmware update file to
USB and update via the Heads menu option
### 3) Modify default boot order
This function will:
* Verify the current device firmware is the standard/SeabIOS firmware
* Prompt to set the default bootorder
* Download and/or build any required tools (cbfstool, flashrom)
* Read the current firmware from flash
* Remove old bootorder / inject new bootorder
* Provide the option to update the firmware with the new bootorder
### 4) Set device serial number
This function will:
* Verify the current device firmware is the standard/SeabIOS firmware
* Prompt to confirm/enter the device serial number, defauting to current device serial
* Download and/or build any required tools (cbfstool, flashrom)
* Read the current firmware from flash
* Remove old serial number / inject new serial number
* Provide the option to update the firmware with the new serial number
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment