File site/docs/build/index.md changed (mode: 100644) (index 6d35277..9508b8e) |
... |
... |
libreboot from the available source code. |
22 |
22 |
The following document describes how `lbmk` works, and how you can make changes |
The following document describes how `lbmk` works, and how you can make changes |
23 |
23 |
to it: [libreboot maintenance manual](../maintain/) |
to it: [libreboot maintenance manual](../maintain/) |
24 |
24 |
|
|
25 |
|
Debian Trixie/Sid |
|
26 |
|
================= |
|
27 |
|
|
|
28 |
|
Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, |
|
29 |
|
provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and |
|
30 |
|
installs `gcc-13` as a dependency, while `gcc` resolves to `gcc-14` and other |
|
31 |
|
toolchain components correspond to this version. |
|
32 |
|
|
|
33 |
|
The GCC/GNAT versions need to match during build time, so Libreboot's build |
|
34 |
|
system hacks the `PATH` environmental variable, setting up symlinks, matching |
|
35 |
|
GNAT to GCC or GNAT to GCC. When you run `./mk dependencies debian`, you get |
|
36 |
|
GNAT 13 and GCC 14. This seems to make most boards compile; in our testing, the |
|
37 |
|
KGPE-D16 board failed to compile in this configuration. This PATH hack is only |
|
38 |
|
done for compiling the coreboot crossgcc toolchain, and nothing else; after that, |
|
39 |
|
coreboot's toolchain is used. |
|
40 |
|
|
|
41 |
|
For better reliability, you should, after running the dependencies script, |
|
42 |
|
remove `gnat` and install `gnat-14` instead, which is available on this day |
|
43 |
|
of 3 December 2025, but currently marked experimental. When you install |
|
44 |
|
GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to |
|
45 |
|
anything. Libreboot *still* accomodates this, detecting and matching the GCC |
|
46 |
|
and GNAT versions, which would in this instance match version 14 between them, |
|
47 |
|
so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. |
|
48 |
|
When we tested with this configuration, the KGPE-D16 images also compiled. |
|
49 |
|
|
|
50 |
|
GNAT is used by coreboot, because some of the Intel graphics devices are |
|
51 |
|
initialised natively, with code written in Ada spark (called `libgfxinit`). |
|
52 |
|
|
|
53 |
|
When updating from Debian stable to Debian Trixie(testing) or Sid, you should |
|
54 |
|
also check for orphaned packages, using `aptitude search '~o'`. Do this, |
|
55 |
|
removing what was leftover from the old release, and make sure to re-run the |
|
56 |
|
Debian dependencies script, but do it like this: |
|
57 |
|
|
|
58 |
|
./mk dependencies debian --reinstall |
|
59 |
|
|
|
60 |
|
NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may |
|
61 |
|
also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. |
|
62 |
|
|
|
63 |
|
MIPS cross compiler |
|
64 |
|
=================== |
|
65 |
|
|
|
66 |
|
Libreboot has support for the Sony PlayStation (PS1/PSX), based on |
|
67 |
|
the PCSX-Redux Open BIOS. If you're doing a full release build, and/or |
|
68 |
|
specifically building the PSX BIOS, you need a MIPS cross compiler. |
|
69 |
|
|
|
70 |
|
Arch-based systems have a mipsel cross compiler available from AUR, and most |
|
71 |
|
Debian-based systems have a mipsel cross compiler in apt; for these, the normal |
|
72 |
|
dependencies installation command will provide them. We know Void Linux and |
|
73 |
|
Fedora don't have a MIPS compiler, for instance. |
|
74 |
|
|
|
75 |
|
If your distro doesn't have the MIPS compiler available, |
|
76 |
|
the [PlayStation](../install/playstation.md) page provides instructions for |
|
77 |
|
manual installation; please do this in addition to the normal dependencies. |
|
78 |
|
|
|
79 |
25 |
Multi-threaded builds |
Multi-threaded builds |
80 |
26 |
===================== |
===================== |
81 |
27 |
|
|
|
... |
... |
Technically, any Linux distribution can be used to build libreboot. |
215 |
161 |
However, you will have to write your own script for installing build |
However, you will have to write your own script for installing build |
216 |
162 |
dependencies. |
dependencies. |
217 |
163 |
|
|
|
164 |
|
Debian Trixie/Sid |
|
165 |
|
----------------- |
|
166 |
|
|
|
167 |
|
Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, |
|
168 |
|
provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and |
|
169 |
|
installs `gcc-13` as a dependency, while `gcc` resolves to `gcc-14` and other |
|
170 |
|
toolchain components correspond to this version. |
|
171 |
|
|
|
172 |
|
The GCC/GNAT versions need to match during build time, so Libreboot's build |
|
173 |
|
system hacks the `PATH` environmental variable, setting up symlinks, matching |
|
174 |
|
GNAT to GCC or GNAT to GCC. When you run `./mk dependencies debian`, you get |
|
175 |
|
GNAT 13 and GCC 14. This seems to make most boards compile; in our testing, the |
|
176 |
|
KGPE-D16 board failed to compile in this configuration. This PATH hack is only |
|
177 |
|
done for compiling the coreboot crossgcc toolchain, and nothing else; after that, |
|
178 |
|
coreboot's toolchain is used. |
|
179 |
|
|
|
180 |
|
GNAT is used by coreboot, because some of the Intel graphics devices are |
|
181 |
|
initialised natively, with code written in Ada spark (called `libgfxinit`). |
|
182 |
|
|
|
183 |
|
When updating from Debian stable to Debian Trixie(testing) or Sid, you should |
|
184 |
|
also check for orphaned packages, using `aptitude search '~o'`. Do this, |
|
185 |
|
removing what was leftover from the old release, and make sure to re-run the |
|
186 |
|
Debian dependencies script, but do it like this: |
|
187 |
|
|
|
188 |
|
./mk dependencies debian --reinstall |
|
189 |
|
|
|
190 |
|
For better reliability, you should, after running the dependencies script, |
|
191 |
|
remove `gnat` and install `gnat-14` instead, which is available on this day |
|
192 |
|
of 3 December 2025, but currently marked experimental. When you install |
|
193 |
|
GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to |
|
194 |
|
anything. Libreboot *still* accomodates this, detecting and matching the GCC |
|
195 |
|
and GNAT versions, which would in this instance match version 14 between them, |
|
196 |
|
so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. |
|
197 |
|
When we tested with this configuration, the KGPE-D16 images also compiled. |
|
198 |
|
|
|
199 |
|
NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may |
|
200 |
|
also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. |
|
201 |
|
|
|
202 |
|
MIPS cross compiler |
|
203 |
|
------------------- |
|
204 |
|
|
|
205 |
|
Libreboot has support for the Sony PlayStation (PS1/PSX), based on |
|
206 |
|
the PCSX-Redux Open BIOS. If you're doing a full release build, and/or |
|
207 |
|
specifically building the PSX BIOS, you need a MIPS cross compiler. |
|
208 |
|
|
|
209 |
|
Arch-based systems have a mipsel cross compiler available from AUR, and most |
|
210 |
|
Debian-based systems have a mipsel cross compiler in apt; for these, the normal |
|
211 |
|
dependencies installation command will provide them. We know Void Linux and |
|
212 |
|
Fedora don't have a MIPS compiler, for instance. |
|
213 |
|
|
|
214 |
|
If your distro doesn't have the MIPS compiler available, |
|
215 |
|
the [PlayStation](../install/playstation.md) page provides instructions for |
|
216 |
|
manual installation; please do this in addition to the normal dependencies. |
|
217 |
|
|
218 |
218 |
Next, build ROM images |
Next, build ROM images |
219 |
219 |
---------------------- |
---------------------- |
220 |
220 |
|
|
File site/docs/build/index.uk.md changed (mode: 100644) (index 1af1295..8e8f3e7) |
... |
... |
libreboot з доступного джерельного коду. |
30 |
30 |
Наступний документ описує те, як працює `lbmk`, і як ви можете робити зміни |
Наступний документ описує те, як працює `lbmk`, і як ви можете робити зміни |
31 |
31 |
до нього: [керівництво обслуговування libreboot](../maintain/) |
до нього: [керівництво обслуговування libreboot](../maintain/) |
32 |
32 |
|
|
33 |
|
Debian Trixie/Sid |
|
34 |
|
================= |
|
35 |
|
|
|
36 |
|
Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, |
|
37 |
|
provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and |
|
38 |
|
installs `gcc-13` as a dependency, while `gcc` resolves to `gcc-14` and other |
|
39 |
|
toolchain components correspond to this version. |
|
40 |
|
|
|
41 |
|
The GCC/GNAT versions need to match during build time, so Libreboot's build |
|
42 |
|
system hacks the `PATH` environmental variable, setting up symlinks, matching |
|
43 |
|
GNAT to GCC or GNAT to GCC. When you run `./mk dependencies debian`, you get |
|
44 |
|
GNAT 13 and GCC 14. This seems to make most boards compile; in our testing, the |
|
45 |
|
KGPE-D16 board failed to compile in this configuration. This PATH hack is only |
|
46 |
|
done for compiling the coreboot crossgcc toolchain, and nothing else; after that, |
|
47 |
|
coreboot's toolchain is used. |
|
48 |
|
|
|
49 |
|
For better reliability, you should, after running the dependencies script, |
|
50 |
|
remove `gnat` and install `gnat-14` instead, which is available on this day |
|
51 |
|
of 3 December 2025, but currently marked experimental. When you install |
|
52 |
|
GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to |
|
53 |
|
anything. Libreboot *still* accomodates this, detecting and matching the GCC |
|
54 |
|
and GNAT versions, which would in this instance match version 14 between them, |
|
55 |
|
so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. |
|
56 |
|
When we tested with this configuration, the KGPE-D16 images also compiled. |
|
57 |
|
|
|
58 |
|
GNAT is used by coreboot, because some of the Intel graphics devices are |
|
59 |
|
initialised natively, with code written in Ada spark (called `libgfxinit`). |
|
60 |
|
|
|
61 |
|
When updating from Debian stable to Debian Trixie(testing) or Sid, you should |
|
62 |
|
also check for orphaned packages, using `aptitude search '~o'`. Do this, |
|
63 |
|
removing what was leftover from the old release, and make sure to re-run the |
|
64 |
|
Debian dependencies script, but do it like this: |
|
65 |
|
|
|
66 |
|
./mk dependencies debian --reinstall |
|
67 |
|
|
|
68 |
|
NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may |
|
69 |
|
also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. |
|
70 |
|
|
|
71 |
|
MIPS cross compiler |
|
72 |
|
=================== |
|
73 |
|
|
|
74 |
|
Libreboot has support for the Sony PlayStation (PS1/PSX), based on |
|
75 |
|
the PCSX-Redux Open BIOS. If you're doing a full release build, and/or |
|
76 |
|
specifically building the PSX BIOS, you need a MIPS cross compiler. |
|
77 |
|
|
|
78 |
|
Arch-based systems have a mipsel cross compiler available from AUR, and most |
|
79 |
|
Debian-based systems have a mipsel cross compiler in apt; for these, the normal |
|
80 |
|
dependencies installation command will provide them. We know Void Linux and |
|
81 |
|
Fedora don't have a MIPS compiler, for instance. |
|
82 |
|
|
|
83 |
|
If your distro doesn't have the MIPS compiler available, |
|
84 |
|
the [PlayStation](../install/playstation.md) page provides instructions for |
|
85 |
|
manual installation; please do this in addition to the normal dependencies. |
|
86 |
|
|
|
87 |
33 |
Multi-threaded builds |
Multi-threaded builds |
88 |
34 |
===================== |
===================== |
89 |
35 |
|
|
|
... |
... |
Check: `config/dependencies/` for list of supported distros. |
169 |
115 |
Однак, вам потрібно буде написано свій власний сценарій для встановлення залежностей |
Однак, вам потрібно буде написано свій власний сценарій для встановлення залежностей |
170 |
116 |
побудови. |
побудови. |
171 |
117 |
|
|
|
118 |
|
Debian Trixie/Sid |
|
119 |
|
----------------- |
|
120 |
|
|
|
121 |
|
Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, |
|
122 |
|
provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and |
|
123 |
|
installs `gcc-13` as a dependency, while `gcc` resolves to `gcc-14` and other |
|
124 |
|
toolchain components correspond to this version. |
|
125 |
|
|
|
126 |
|
The GCC/GNAT versions need to match during build time, so Libreboot's build |
|
127 |
|
system hacks the `PATH` environmental variable, setting up symlinks, matching |
|
128 |
|
GNAT to GCC or GNAT to GCC. When you run `./mk dependencies debian`, you get |
|
129 |
|
GNAT 13 and GCC 14. This seems to make most boards compile; in our testing, the |
|
130 |
|
KGPE-D16 board failed to compile in this configuration. This PATH hack is only |
|
131 |
|
done for compiling the coreboot crossgcc toolchain, and nothing else; after that, |
|
132 |
|
coreboot's toolchain is used. |
|
133 |
|
|
|
134 |
|
GNAT is used by coreboot, because some of the Intel graphics devices are |
|
135 |
|
initialised natively, with code written in Ada spark (called `libgfxinit`). |
|
136 |
|
|
|
137 |
|
When updating from Debian stable to Debian Trixie(testing) or Sid, you should |
|
138 |
|
also check for orphaned packages, using `aptitude search '~o'`. Do this, |
|
139 |
|
removing what was leftover from the old release, and make sure to re-run the |
|
140 |
|
Debian dependencies script, but do it like this: |
|
141 |
|
|
|
142 |
|
./mk dependencies debian --reinstall |
|
143 |
|
|
|
144 |
|
For better reliability, you should, after running the dependencies script, |
|
145 |
|
remove `gnat` and install `gnat-14` instead, which is available on this day |
|
146 |
|
of 3 December 2025, but currently marked experimental. When you install |
|
147 |
|
GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to |
|
148 |
|
anything. Libreboot *still* accomodates this, detecting and matching the GCC |
|
149 |
|
and GNAT versions, which would in this instance match version 14 between them, |
|
150 |
|
so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. |
|
151 |
|
When we tested with this configuration, the KGPE-D16 images also compiled. |
|
152 |
|
|
|
153 |
|
NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may |
|
154 |
|
also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. |
|
155 |
|
|
|
156 |
|
MIPS cross compiler |
|
157 |
|
------------------- |
|
158 |
|
|
|
159 |
|
Libreboot has support for the Sony PlayStation (PS1/PSX), based on |
|
160 |
|
the PCSX-Redux Open BIOS. If you're doing a full release build, and/or |
|
161 |
|
specifically building the PSX BIOS, you need a MIPS cross compiler. |
|
162 |
|
|
|
163 |
|
Arch-based systems have a mipsel cross compiler available from AUR, and most |
|
164 |
|
Debian-based systems have a mipsel cross compiler in apt; for these, the normal |
|
165 |
|
dependencies installation command will provide them. We know Void Linux and |
|
166 |
|
Fedora don't have a MIPS compiler, for instance. |
|
167 |
|
|
|
168 |
|
If your distro doesn't have the MIPS compiler available, |
|
169 |
|
the [PlayStation](../install/playstation.md) page provides instructions for |
|
170 |
|
manual installation; please do this in addition to the normal dependencies. |
|
171 |
|
|
|
172 |
|
Next, build ROM images |
|
173 |
|
---------------------- |
|
174 |
|
|
172 |
175 |
В якості результату, ви тепер можете (після встановлення правильних залежностей побудови) виконати |
В якості результату, ви тепер можете (після встановлення правильних залежностей побудови) виконати |
173 |
176 |
лише одну команду, з свіжого Git clone, для побудови образів ROM: |
лише одну команду, з свіжого Git clone, для побудови образів ROM: |
174 |
177 |
|
|