@@ -7,182 +7,34 @@ apuX platform users and developers to customize firmware to their needs.
77Binary releases
88---------------
99
10- Please take a look at changelog form more information:
10+ All information about firmware releases (including changes, fixes and known
11+ issues) are available on the PC Engines Github site:
12+ https://pcengines.github.io/
1113
12- * [ v4.6.x changelog] ( https://github.com/pcengines/release_manifests/blob/coreboot-4.6.x/CHANGELOG.md )
13- * [ v4.5.x changelog] ( https://github.com/pcengines/release_manifests/blob/coreboot-4.5.x/CHANGELOG.md )
14- * [ v4.0.x changelog] ( https://github.com/pcengines/release_manifests/blob/coreboot-4.0.x/CHANGELOG.md )
15-
16-
17- ## Mainline
18-
19- ### apu2
20-
21- * 2017-02-24 - [ apu2 v4.5.5] ( http://pcengines.ch/file/apu2_v4.5.5.rom.tar.gz )
22- * 2017-08-31 - [ apu2 v4.6.1] ( http://pcengines.ch/file/apu2_v4.6.1.rom.tar.gz )
23-
24- ### apu3
25-
26- * 2017-02-24 - [ apu3 v4.5.5] ( http://pcengines.ch/file/apu3_v4.5.5.rom.tar.gz )
27- * 2017-08-31 - [ apu3 v4.6.1] ( http://pcengines.ch/file/apu3_v4.6.1.rom.tar.gz )
28-
29- ### apu4
30-
31- * 2018-03-01 - [ apu4 v4.6.7] ( https://cloud.3mdeb.com/index.php/s/IsWijTyWw8MFY2Y )
32-
33- ### apu5
34-
35- * 2017-08-31 - [ apu5 v4.6.1] ( http://pcengines.ch/file/apu5_v4.6.1.rom.tar.gz )
36-
37- ## Legacy
38-
39- ### apu2
40-
41- * 2017-08-31 - [ apu2 v4.0.12] ( http://pcengines.ch/file/apu2_v4.0.12.rom.tar.gz )
42- * 2017-07-21 - [ apu2 v4.0.11] ( http://pcengines.ch/file/apu2_v4.0.11.rom.tar.gz )
43- * 2018-03-01 - [ apu2 v4.0.15] ( http://pcengines.ch/file/apu2_v4.0.15.rom.tar.gz )
44-
45- ### apu3
14+ All the newest binaries can be found there.
4615
47- * 2017-08-31 - [ apu3 v4.0.12] ( http://pcengines.ch/file/apu3_v4.0.12.rom.tar.gz )
48- * 2017-07-21 - [ apu3 v4.0.11] ( http://pcengines.ch/file/apu3_v4.0.11.rom.tar.gz )
49- * 2018-03-01 - [ apu3 v4.0.15] ( http://pcengines.ch/file/apu3_v4.0.15.rom.tar.gz )
5016
51- ### apu5
17+ Also please take a look at changelogs:
5218
53- * 2017-08-31 - [ apu5 v4.0.12] ( http://pcengines.ch/file/apu5_v4.0.12.rom.tar.gz )
54- * 2018-03-01 - [ apu5 v4.0.15] ( http://pcengines.ch/file/apu5_v4.0.15.rom.tar.gz )
55-
56- Building firmware using APU2 image builder
57- ------------------------------------------
58-
59- Please note this procedure covers building ` v4.0.x ` firmware, which is based on
60- legacy code. Mainline firmware development is in progress more information can be found [ here] ( http://pcengines.info/forums/?page=post&id=CAA8403D-7135-4EA1-8C7E-41C8B15C6246 ) .
61-
62- Get APU2 image builder from [ here] ( http://pcengines.ch/file/apu2_image_builder_v0.1.img.xz ) (MD5 sum after decompression: a40ea9caff93c0218a745e0625e1292a).
63-
64- ```
65- User/pass: root/voyage
66- ```
67-
68- 1 . Unpack image:
69-
70- ``` sh
71- tar xf apu2_image_builder_v0.1.img.xz
72- ```
73-
74- 2. write image to SD/mSATA/USB
75- 3. boot the APU2 board with this image
76- 4. run below commands
77-
78- ` ` ` sh
79- cd
80- remountrw
81- export BR_NAME=coreboot-4.0.x
82- wget https://github.com/pcengines/coreboot/archive/${BR_NAME} .zip
83- unzip ${BR_NAME} .zip
84- cd coreboot-${BR_NAME} /
85- cp /xgcc/.xcompile . # this command setup toolchain
86- cp configs/pcengines_apu2.config .config
87- make -j$(nproc)
88- ` ` `
89-
90- 5. once done find the new firmware in the build folder (` build/coreboot.rom` )
91- 6. see [here](http://pcengines.ch/howto.htm#bios) for instructions on how to
92- flash the firmware
93-
94- Building iPXE
95- -------------
96-
97- ` ` ` sh
98- cd && cd coreboot-${BR_NAME}
99- IPXE_PATH=payloads/external/ipxe
100- git clone https://github.com/pcengines/ipxe $IPXE_PATH
101- wget https://raw.githubusercontent.com/pcengines/apu2-documentation/master/ipxe/general.h -O $IPXE_PATH /src/config/local/general.h
102- wget https://raw.githubusercontent.com/pcengines/apu2-documentation/master/ipxe/menu.ipxe -O $IPXE_PATH /src/menu.ipxe
103- cd $IPXE_PATH /src
104- make -j$( nproc) bin/8086157b.rom EMBED=./menu.ipxe
105- ` ` `
106-
107- Feel free to customize ` menu.pxe` and ` local/general.h` to match your needs.
108-
109- Building sortbootorder
110- ----------------------
19+ * [ v4.6.x changelog] ( https://github.com/pcengines/release_manifests/blob/coreboot-4.6.x/CHANGELOG.md )
20+ * [ v4.5.x changelog] ( https://github.com/pcengines/release_manifests/blob/coreboot-4.5.x/CHANGELOG.md )
21+ * [ v4.0.x changelog] ( https://github.com/pcengines/release_manifests/blob/coreboot-4.0.x/CHANGELOG.md )
11122
112- > coreboot is in ` ./coreboot-${BR_NAME} ` directory
113- >
114- ` ` ` sh
115- git clone https://github.com/pcengines/sortbootorder.git sortbootorder
116- cd sortbootorder
117- # for mainline coreboot (4.5.x)
118- COREBOOT_ROOT=../coreboot-${BR_NAME} make distclean
119- COREBOOT_ROOT=../coreboot-${BR_NAME} make
120- # for legacy coreboot (4.0.x)
121- COREBOOT_ROOT=../coreboot-${BR_NAME} make distclean
122- COREBOOT_ROOT=../coreboot-${BR_NAME} COREBOOT_REL=legacy make
123- ` ` `
12423
125- Building memtest86+
126- -------------------
12724
128- ` ` ` sh
129- cd && cd coreboot-${BR_NAME}
130- git clone https://github.com/pcengines/memtest86plus.git payloads/external/memtest86plus
131- cd payloads/external/memtest86plus
132- make -j$( nproc)
133- ` ` `
13425
135- cbfstool and adding/removing ROMs or payloads
136- ---------------------------------------------
26+ Building firmware using PC Engines firmware builder
27+ ---------------------------------------------------
13728
138- ` cbfstool` is result of ` coreboot` build it gives ability to manipulate CBFS
139- which filesystem for coreboot ROM.
29+ Since releases v4.6.9 and v4.0.17 build process has been simplified.
30+ PC Engines firmware builder is a dedicated tool to build fully featured apu
31+ firmware binaries using separated docker environment. It provides users-friendly
32+ scripts that allow to build release and custom binaries. For more information
33+ and usage details please visit: https://github.com/pcengines/pce-fw-builder
14034
141- Usage examples:
142-
143- # ## Add iPXE ROM
35+ For releases older than v4.0.17 and v4.6.9 use the procedure described in this
36+ [ document] ( docs/release_process.md )
14437
145- ` ` ` sh
146- cd && cd coreboot-${BR_NAME}
147- ./build/cbfstool ./build/coreboot.rom add -f payloads/external/ipxe/src/bin/8086157b.rom -n genroms/pxe.rom -t raw
148- ` ` `
149-
150- Above command add raw image (` 8086157b.rom` , result of iPXE build) to
151- ` coreboot.rom` under the name ` genroms/pxe.rom` . This makes SeaBIOS to auto
152- detect iPXE ROM and execute it before entering menu.
153-
154- # ## Add sortbootorder
155-
156- ```
157- # add sortbootorder
158- cd && cd coreboot-${BR_NAME}
159- ./build/cbfstool ./build/coreboot.rom remove -n img/setup
160- ./build/cbfstool ./build/coreboot.rom add-payload -f payloads/pcengines/sortbootorder/sortbootorder.elf -n img/setup -t payload
161- ```
162-
163- Above commands first remove already existing `img/setup` from CBFS and then add
164- `sortbootorder.elf` as payload under the name `img/setup` to `coreboot.rom`.
165-
166-
167- ### Add memtest86+
168-
169- ```
170- # add memtest86+
171- cd && cd coreboot-${BR_NAME}
172- ./build/cbfstool ./build/coreboot.rom remove -n img/memtest
173- ./build/cbfstool ./build/coreboot.rom add-payload -f payloads/external/memtest86plus/memtest -n img/memtest - payload
174- ```
175-
176- Cross compilation in Docker container
177- ---------------------------------------
178-
179- For advanced users and developers there maybe need to have development
180- environment that is separated for working environment. Because of that you can
181- use Docker containers as descried below.
182-
183- 1. [Build container](docs/building_env.md)
184- 2. [Building firmware](docs/building_firmware.md)
185- 3. [Firmware flashing](docs/firmware_flashing.md)
18638
18739Other resources
18840----------------
0 commit comments