@@ -7,182 +7,34 @@ apuX platform users and developers to customize firmware to their needs.
7
7
Binary releases
8
8
---------------
9
9
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/
11
13
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.
46
15
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 )
50
16
51
- ### apu5
17
+ Also please take a look at changelogs:
52
18
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 )
111
22
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
- ` ` `
124
23
125
- Building memtest86+
126
- -------------------
127
24
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
- ` ` `
134
25
135
- cbfstool and adding/removing ROMs or payloads
136
- ---------------------------------------------
26
+ Building firmware using PC Engines firmware builder
27
+ ---------------------------------------------------
137
28
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
140
34
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 )
144
37
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)
186
38
187
39
Other resources
188
40
----------------
0 commit comments