This repository contains manifests for repo tool used for tracking the releases of mainline (4.6.x) and legacy (4.0.x) versions of firmware bundle.
There are two branches:
coreboot-4.0.x
- for legacy releasescoreboot-4.6.x
- for mainline releases
mkdir apu2_fw_rel
cd apu2_fw_rel
repo init -u git@github.com:pcengines/release_manifests.git -b refs/tags/<tag_release>
# or
repo init -u git@github.com:pcengines/release_manifests.git -b <branch_name>
repo sync --force-sync
where:
<tag_release>
- is the release version number (e.g.v4.5.3.1
)<branch_name>
- is the release branch (i.e.coreboot-4.0.x
for legacy, andcoreboot-4.6.x
for mainline
This is to avoid impact of system on build results:
docker build -t pcengines/apu2 apu2/apu2-documentation
This step could be omitted, if there was build done before (container already exists).
Assuming you initialized the repo with mainline release:
./apu2/apu2-documentation/scripts/apu2_fw_rel.sh build-ml menuconfig
Please choose:
Mainboard -> Mainboard vendor -> PC Engines
Mainboard -> Mainboard model -> APU2
#or
Mainboard -> Mainboard model -> APU3
All other pieces will be set according to recent release configuration. coreboot image will start to build after exiting menu.
For legacy release you can use this command. You don't need to run
menuconfig
first, because legacy release get's initialized by custom
.config
file:
./apu2/apu2-documentation/scripts/apu2_fw_rel.sh build
There are also additional commands like:
# distclean && menuconfig
./apu2/apu2-documentation/scripts/apu2_fw_rel.sh build-ml distclean
#rm -rf .config* && menuconfig
./apu2/apu2-documentation/scripts/apu2_fw_rel.sh build-ml cfgclean
#custom make parameters
./apu2/apu2-documentation/scripts/apu2_fw_rel.sh build-ml custom <param>
After successful build, you can flash target device.
Note that below script assume that you have ssh enabled connection with target
device and destination OS APU2 image builder
or other distro that have working flashrom
available in PATH
. Without keys
added you will see question about password couple times during flashing.
./apu2/apu2-documentation/scripts/apu2_fw_rel.sh flash <user>@<ip_address>
For mainline:
./apu2/apu2-documentation/scripts/apu2_fw_rel.sh flash-ml <user>@<ip_address>
Best way is to use root
as <user>
because it can have no problem with low
level access.
Please do not hesitate with providing feedback or contributing fixes.
fatal: Not a git repository (or any parent up to mount point /coreboot)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Since it use git
commands to create build timestamp.
[21:51:53] pietrushnic:apu2_fw_rel $ ../apu2-documentation/scripts/apu2_fw_rel.sh flash-ml pcengines@192.168.0.103
flash-ml pcengines@192.168.0.103
The authenticity of host '192.168.0.103 (192.168.0.103)' can't be established.
(...)
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.103' (ECDSA) to the list of known hosts.
bash: remountrw: command not found
coreboot.rom 100% 8192KB 8.0MB/s 00:00
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
If you see something like this:
dirname: missing operand
Try 'dirname --help' for more information.
dirname: missing operand
Try 'dirname --help' for more information.
docker: Error response from daemon: Invalid volume spec ":": Invalid volume specification: ':'.
See 'docker run --help'.
Try to run:
eval $(ssh-agent)
ssh-add