File site/docs/install/dell3050.md changed (mode: 100644) (index d7d82e0..f8fc99d) |
... |
... |
MAC address |
139 |
139 |
This has a Realtek NIC inside, instead of Intel, so the MAC address will not |
This has a Realtek NIC inside, instead of Intel, so the MAC address will not |
140 |
140 |
change. This means: there is no GbE region in the flash. |
change. This means: there is no GbE region in the flash. |
141 |
141 |
|
|
142 |
|
You can still use something like GNU MAC Changer to change your MAC address |
|
|
142 |
|
You can still use something like `macchanger` to change your MAC address |
143 |
143 |
from Linux if you want to. |
from Linux if you want to. |
144 |
144 |
|
|
145 |
145 |
This is great, because that's one less complexity to deal with during |
This is great, because that's one less complexity to deal with during |
File site/docs/install/index.md changed (mode: 100644) (index 2db7059..3484e8b) |
... |
... |
build system can be found in the [lbmk maintenance manual](../maintain/), |
58 |
58 |
and information about porting new systems in |
and information about porting new systems in |
59 |
59 |
the [porting manual](../maintain/porting.md). |
the [porting manual](../maintain/porting.md). |
60 |
60 |
|
|
61 |
|
With x86 machines, you can use the SeaBIOS or GNU GRUB payloads. On ARM |
|
|
61 |
|
With x86 machines, you can use the SeaBIOS or GRUB bootloader payloads. On ARM |
62 |
62 |
systems, you can use the U-Boot payload (coreboot still initialises hardware). |
systems, you can use the U-Boot payload (coreboot still initialises hardware). |
63 |
63 |
|
|
64 |
64 |
Libreboot currently supports the following systems: |
Libreboot currently supports the following systems: |
File site/docs/linux/grub_hardening.md changed (mode: 100644) (index c28afd6..c8d57d5) |
... |
... |
linked above tells you how to apply your modifications for flashing.** |
44 |
44 |
Flash write protection |
Flash write protection |
45 |
45 |
====================== |
====================== |
46 |
46 |
|
|
47 |
|
Although not strictly related to GNU GRUB, flash protection will prevent anyone |
|
|
47 |
|
Although not strictly related to GRUB, flash protection will prevent anyone |
48 |
48 |
except you from overwriting the flash without permission. This is important, |
except you from overwriting the flash without permission. This is important, |
49 |
49 |
because you don't want some malicious software running as root from overwriting |
because you don't want some malicious software running as root from overwriting |
50 |
50 |
your flash, thus removing any of the above protections. |
your flash, thus removing any of the above protections. |
File site/docs/maintain/index.md changed (mode: 100644) (index 659b55e..bbe4e00) |
... |
... |
src/grub/TREE |
453 |
453 |
|
|
454 |
454 |
Please also visit: <https://www.gnu.org/software/grub/> |
Please also visit: <https://www.gnu.org/software/grub/> |
455 |
455 |
|
|
456 |
|
The GNU GRUB bootloader, a reference multiboot implementation with its own |
|
|
456 |
|
The GRUB bootloader, a reference multiboot implementation with its own |
457 |
457 |
small kernel/OS and drivers (e.g. file systems, cryptography). This is the |
small kernel/OS and drivers (e.g. file systems, cryptography). This is the |
458 |
458 |
default recommended [coreboot payload](https://doc.coreboot.org/payloads.html) |
default recommended [coreboot payload](https://doc.coreboot.org/payloads.html) |
459 |
459 |
on x86-based Libreboot systems. GRUB will load and execute your Linux kernel, |
on x86-based Libreboot systems. GRUB will load and execute your Linux kernel, |
|
... |
... |
directly into `lbmk.git`, and thoroughly cleaned. The lbmk version has been |
681 |
681 |
more or less re-written, using the original logic as a base; variables are |
more or less re-written, using the original logic as a base; variables are |
682 |
682 |
more clearly named. A top-down, OpenBSD-inspired coding style is used, |
more clearly named. A top-down, OpenBSD-inspired coding style is used, |
683 |
683 |
replacing the GNU coding style implemented in the original code. The [OpenBSD |
replacing the GNU coding style implemented in the original code. The [OpenBSD |
684 |
|
coding style][https://man.openbsd.org/style.9] is much easier to read. |
|
|
684 |
|
coding style](https://man.openbsd.org/style.9) is much easier to read. |
685 |
685 |
|
|
686 |
686 |
This code has been modified to make use of the `pledge()` system call, when used |
This code has been modified to make use of the `pledge()` system call, when used |
687 |
687 |
on [OpenBSD](https://www.openbsd.org/); the original version from GRUB did not |
on [OpenBSD](https://www.openbsd.org/); the original version from GRUB did not |
File site/docs/maintain/style.md changed (mode: 100644) (index 5dc773c..702ef76) |
... |
... |
In addition to not using bashisms, commands that lbmk uses must also |
307 |
307 |
be portable; where possible, third party projects should be tweaked. |
be portable; where possible, third party projects should be tweaked. |
308 |
308 |
|
|
309 |
309 |
This is actually something that is currently lacking or otherwise untested |
This is actually something that is currently lacking or otherwise untested |
310 |
|
in Libreboot; it's currently assumed that only Linux (specifically GNU+Linux) |
|
|
310 |
|
in Libreboot; it's currently assumed that only common Linux distributions |
311 |
311 |
will work, because many of the projects that Libreboot makes use of will use |
will work, because many of the projects that Libreboot makes use of will use |
312 |
|
bashisms, or other GNUisms (e.g. GNU-specific C extensions or GNU Make specific |
|
313 |
|
behaviour in Makefiles). |
|
|
312 |
|
bashisms, and/or rely on idiosyncrasies of glibc. |
314 |
313 |
|
|
315 |
314 |
Work+testing is sorely needed, in this area. It would be nice if Libreboot |
Work+testing is sorely needed, in this area. It would be nice if Libreboot |
316 |
315 |
could be built on BSD systems, for example. |
could be built on BSD systems, for example. |
File site/docs/uboot/uboot-archlinux.md changed (mode: 100644) (index e633802..45b8d94) |
... |
... |
Background |
8 |
8 |
|
|
9 |
9 |
ArchLinuxARM Latest (as of May 1st 2023) boots and can be installed successfully using libreboot 20230319 on a gru_bob chromebook. |
ArchLinuxARM Latest (as of May 1st 2023) boots and can be installed successfully using libreboot 20230319 on a gru_bob chromebook. |
10 |
10 |
|
|
11 |
|
The following process should theoretically be applicable to other U-Boot devices and GNU/Linux distributions, but the focus here is specifically on ArchLinuxARM. |
|
|
11 |
|
The following process should theoretically be applicable to other U-Boot devices and Linux distributions, but the focus here is specifically on ArchLinuxARM. |
12 |
12 |
|
|
13 |
13 |
Sources used for this guide include the [following guide to install ArchLinuxARM on a RockPro64,](https://jforberg.se/blog/posts/2023-02-19-rockpro64/rockpro64.html) |
Sources used for this guide include the [following guide to install ArchLinuxARM on a RockPro64,](https://jforberg.se/blog/posts/2023-02-19-rockpro64/rockpro64.html) |
14 |
14 |
|
|
|
... |
... |
In the fdisk tui, create two partitions on a Master Boot Record: |
85 |
85 |
- set type to fat32 (ext2 is also supported by extlinux I believe, but I used fat32) |
- set type to fat32 (ext2 is also supported by extlinux I believe, but I used fat32) |
86 |
86 |
- create a second partition of up to 15.8GB |
- create a second partition of up to 15.8GB |
87 |
87 |
|
|
88 |
|
You will find the appropriate options by typing `m` when using the fdisk tui on GNU/Linux distros. |
|
|
88 |
|
You will find the appropriate options by typing `m` when using the fdisk tui on Linux distros. |
89 |
89 |
|
|
90 |
90 |
Now make the filesystems: |
Now make the filesystems: |
91 |
91 |
``` |
``` |
File site/git.md changed (mode: 100644) (index 5237d95..a2c3667) |
... |
... |
proprietary, subject to all of the same restrictions. |
189 |
189 |
|
|
190 |
190 |
The MIT license is a good one to start with, and it is the preferred license |
The MIT license is a good one to start with, and it is the preferred license |
191 |
191 |
for all new works in Libreboot, but we're not picky. Libreboot has historically |
for all new works in Libreboot, but we're not picky. Libreboot has historically |
192 |
|
used GNU licensing such as GPL; much of that remains, and is likely to remain. |
|
|
192 |
|
used mostly GPL licensing; much of that remains, and is likely to remain. |
193 |
193 |
It's your work; obviously, if you're deriving from an existing work, |
It's your work; obviously, if you're deriving from an existing work, |
194 |
194 |
it may make sense to use the same license on your contribution, for license |
it may make sense to use the same license on your contribution, for license |
195 |
195 |
compatibility. |
compatibility. |
File site/index.md changed (mode: 100644) (index 0409e56..c647d1b) |
... |
... |
Libreboot provides [coreboot](https://coreboot.org/) for [machine |
46 |
46 |
initialisation](https://doc.coreboot.org/getting_started/architecture.html), |
initialisation](https://doc.coreboot.org/getting_started/architecture.html), |
47 |
47 |
which then jumps to a [payload](https://doc.coreboot.org/payloads.html) in |
which then jumps to a [payload](https://doc.coreboot.org/payloads.html) in |
48 |
48 |
the boot flash; coreboot works with many payloads, but Libreboot specifically |
the boot flash; coreboot works with many payloads, but Libreboot specifically |
49 |
|
provides SeaBIOS, GNU GRUB and U-Boot as options. Memtest86+ is also provided |
|
|
49 |
|
provides SeaBIOS, GRUB and U-Boot as options. Memtest86+ is also provided |
50 |
50 |
in flash, on some mainboards. The payload is the program in flash that provides |
in flash, on some mainboards. The payload is the program in flash that provides |
51 |
51 |
the early user interface, for booting an operating system. This *payload* |
the early user interface, for booting an operating system. This *payload* |
52 |
52 |
infrastructure means you can run whatever you want (even Linux!) from the |
infrastructure means you can run whatever you want (even Linux!) from the |
File site/index.ru.md changed (mode: 100644) (index a37e0da..baaa3aa) |
... |
... |
x-toc-enable: true |
18 |
18 |
|
|
19 |
19 |
<img tabindex=1 class="l" src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /><span class="f"><img src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /></span> |
<img tabindex=1 class="l" src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /><span class="f"><img src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /></span> |
20 |
20 |
|
|
21 |
|
Libreboot предоставляет [coreboot](https://coreboot.org/) для [инициализации машины](https://doc.coreboot.org/getting_started/architecture.html), которая затем переходит к [полезной нагрузке](https://doc.coreboot.org/payloads.html) в загрузочной флэш-памяти; coreboot работает со многими программами, но Libreboot предоставляет только SeaBIOS, GNU GRUB и U-Boot. Memtest86+ также предоставляется, но только на некоторых материнских платах. Полезная нагрузка - программа во флэш-памяти, которая предоставляет "ранний" пользовательский интерфейс для загрузки операционной системы. Это значит, что вы можете запустить все что угодно из загрузочной флэш-памяти (даже Linux!). |
|
|
21 |
|
Libreboot предоставляет [coreboot](https://coreboot.org/) для [инициализации машины](https://doc.coreboot.org/getting_started/architecture.html), которая затем переходит к [полезной нагрузке](https://doc.coreboot.org/payloads.html) в загрузочной флэш-памяти; coreboot работает со многими программами, но Libreboot предоставляет только SeaBIOS, GRUB и U-Boot. Memtest86+ также предоставляется, но только на некоторых материнских платах. Полезная нагрузка - программа во флэш-памяти, которая предоставляет "ранний" пользовательский интерфейс для загрузки операционной системы. Это значит, что вы можете запустить все что угодно из загрузочной флэш-памяти (даже Linux!). |
22 |
22 |
|
|
23 |
23 |
Libreboot - это *дистрибутив coreboot* также, как и Debian - *диструбутив Linux*. Libreboot делает coreboot простым к использованию для обычных пользователей, предоставляя [полностью автоматизированную систему сборки](docs/build/) и [дружелюбные к пользователю инструкции к установке](docs/install/), в дополении к регулярному бинарному релизу, дающему скомпилированные ROM образы для установки на поддерживаемом оборудовании. Без автоматизации, предоставляемой Libreboot, coreboot был бы недоступен для большинства пользователей; однако вы также можете [сконфигурировать](docs/mantain) Libreboot как вы желаете. |
Libreboot - это *дистрибутив coreboot* также, как и Debian - *диструбутив Linux*. Libreboot делает coreboot простым к использованию для обычных пользователей, предоставляя [полностью автоматизированную систему сборки](docs/build/) и [дружелюбные к пользователю инструкции к установке](docs/install/), в дополении к регулярному бинарному релизу, дающему скомпилированные ROM образы для установки на поддерживаемом оборудовании. Без автоматизации, предоставляемой Libreboot, coreboot был бы недоступен для большинства пользователей; однако вы также можете [сконфигурировать](docs/mantain) Libreboot как вы желаете. |
24 |
24 |
|
|
File site/news/10.md changed (mode: 100644) (index 55cc695..70bc7c9) |
... |
... |
so you can think of it like a *[coreboot distribution](../docs/maintain/)*; |
141 |
141 |
Libreboot's build |
Libreboot's build |
142 |
142 |
system is essentially a source-based package manager, for coreboot components. |
system is essentially a source-based package manager, for coreboot components. |
143 |
143 |
|
|
144 |
|
The very first Libreboot releases only provided a *GNU GRUB* payload. The |
|
|
144 |
|
The very first Libreboot releases only provided a *GRUB* bootloader payload. The |
145 |
145 |
GRUB bootloader had been adapted for coreboot many years before then, but there |
GRUB bootloader had been adapted for coreboot many years before then, but there |
146 |
146 |
weren't any ready-made coreboot images available that used it, and it wasn't |
weren't any ready-made coreboot images available that used it, and it wasn't |
147 |
147 |
very well-developed for end users. GRUB is a lot more complex than many people |
very well-developed for end users. GRUB is a lot more complex than many people |
|
... |
... |
use today. |
162 |
162 |
Libreboot logo |
Libreboot logo |
163 |
163 |
-------------- |
-------------- |
164 |
164 |
|
|
165 |
|
Of note, though it doesn't fit anywhere else in the article, so I'll just say |
|
166 |
|
it now: |
|
167 |
|
|
|
168 |
|
I went on the GNU mailing lists during 2014, asking people to make a logo for |
|
169 |
|
the project. Several people then emailed me their submissions. I finally picked |
|
170 |
|
the logo design that Libreboot now uses, and has used since then. That design |
|
171 |
|
was created by a person named Marcus Moeller, for use in the Libreboot project. |
|
|
165 |
|
Marcus Moeller designed the Libreboot logo in 2014, after I publicly requested |
|
166 |
|
that samples be prepared for my review. Marcus's logo was the one I chose. |
172 |
167 |
|
|
173 |
168 |
Why GRUB? |
Why GRUB? |
174 |
169 |
--------- |
--------- |
|
... |
... |
Several other desktop boards were also added during this period, such as |
429 |
424 |
the Gigabyte GA-G41M-ES2L board that was ported to coreboot by Damien Zammit. |
the Gigabyte GA-G41M-ES2L board that was ported to coreboot by Damien Zammit. |
430 |
425 |
He was compensated for his work; I paid him 4000 AUD for the trouble. Arthur |
He was compensated for his work; I paid him 4000 AUD for the trouble. Arthur |
431 |
426 |
Heymans contributed several ports aswell, and today still does extensive work |
Heymans contributed several ports aswell, and today still does extensive work |
432 |
|
on coreboot - both Damien and Arthur left the Libreboot project, after its |
|
433 |
|
departure from GNU (more on this next). |
|
|
427 |
|
on coreboot - both Damien and Arthur left the Libreboot project, after Libreboot |
|
428 |
|
became independent again. |
434 |
429 |
|
|
435 |
430 |
This period was a watershed moment in general, for the Libreboot project. Many |
This period was a watershed moment in general, for the Libreboot project. Many |
436 |
431 |
people contributed to the project, during this period. You can check |
people contributed to the project, during this period. You can check |
File site/news/audit.md changed (mode: 100644) (index e3b5176..05fc1e4) |
... |
... |
spkmodem-recv |
106 |
106 |
------------- |
------------- |
107 |
107 |
|
|
108 |
108 |
This utility was *added* after the last release. It was imported from coreboot, |
This utility was *added* after the last release. It was imported from coreboot, |
109 |
|
which in turn previously forked it from GNU GRUB. It is a receiving client for |
|
|
109 |
|
which in turn previously forked it from GRUB. It is a receiving client for |
110 |
110 |
spkmodem, to provide a serial console via pulses on the standard *PC speaker*. |
spkmodem, to provide a serial console via pulses on the standard *PC speaker*. |
111 |
111 |
|
|
112 |
|
Libreboot's version is *heavily* re-factored, doing away with the GNU coding |
|
|
112 |
|
Libreboot's version is *heavily* re-factored, doing away with the messy GNU coding |
113 |
113 |
style and replacing it with a BSD coding style (the licensing is unchanged). |
style and replacing it with a BSD coding style (the licensing is unchanged). |
114 |
114 |
|
|
115 |
115 |
For reference, here is the original version from GRUB: |
For reference, here is the original version from GRUB: |
File site/news/libreboot20230625.md changed (mode: 100644) (index 3acdca6..3a8f82d) |
... |
... |
Newest changes first, oldest changes last: |
187 |
187 |
namely `-d`, which can be passed to the program. The code for debug is now |
namely `-d`, which can be passed to the program. The code for debug is now |
188 |
188 |
present in any build. Usage: `spkmodem-recv -d` |
present in any build. Usage: `spkmodem-recv -d` |
189 |
189 |
* New util: `util/spkmodem_recv` - imported from coreboot, which in turn forked |
* New util: `util/spkmodem_recv` - imported from coreboot, which in turn forked |
190 |
|
it originally from GNU GRUB. This is a receiving client for *spkmodem*, a type |
|
|
190 |
|
it originally from GRUB. This is a receiving client for *spkmodem*, a type |
191 |
191 |
of serial console provided via pulses over PC speaker. Libreboot's version |
of serial console provided via pulses over PC speaker. Libreboot's version |
192 |
192 |
greatly improves the error handling, and it has been re-factored for OpenBSD |
greatly improves the error handling, and it has been re-factored for OpenBSD |
193 |
|
coding style, to replace the (very horrible) GNU coding style. |
|
|
193 |
|
coding style, to replace the (very horrible, very messy) GNU coding style. |
194 |
194 |
It is also [pledged](https://man.openbsd.org/pledge.2) in |
It is also [pledged](https://man.openbsd.org/pledge.2) in |
195 |
195 |
Libreboot's version. For reference, |
Libreboot's version. For reference, |
196 |
196 |
[here](https://git.savannah.gnu.org/cgit/grub.git/plain/util/spkmodem-recv.c?id=822b726b33b8dc07dd01b257a2dfcc7b07d12e2f) |
[here](https://git.savannah.gnu.org/cgit/grub.git/plain/util/spkmodem-recv.c?id=822b726b33b8dc07dd01b257a2dfcc7b07d12e2f) |
197 |
|
is the GNU version, and |
|
|
197 |
|
is the GRUB version, and |
198 |
198 |
[here](https://raw.githubusercontent.com/coreboot/coreboot/8febc91b3041a1d027bf0d36d30ccb119496524f/util/spkmodem_recv/spkmodem-recv.c) is coreboot's version of it. And now to blow your mind, |
[here](https://raw.githubusercontent.com/coreboot/coreboot/8febc91b3041a1d027bf0d36d30ccb119496524f/util/spkmodem_recv/spkmodem-recv.c) is coreboot's version of it. And now to blow your mind, |
199 |
199 |
[here](https://browse.libreboot.org/lbmk.git/tree/util/spkmodem_recv/spkmodem-recv.c?id=b508245451b71b3443fa3202f3863a6de731e9c8) |
[here](https://browse.libreboot.org/lbmk.git/tree/util/spkmodem_recv/spkmodem-recv.c?id=b508245451b71b3443fa3202f3863a6de731e9c8) |
200 |
200 |
is the Libreboot version present in release 20230625. A very much GNU program, |
is the Libreboot version present in release 20230625. A very much GNU program, |
File site/news/libreboot20240225.md changed (mode: 100644) (index 60f36ba..62f650c) |
... |
... |
operating system (e.g. Linux/BSD). It is specifically |
11 |
11 |
a *[coreboot distribution](../docs/maintain/)*, |
a *[coreboot distribution](../docs/maintain/)*, |
12 |
12 |
in the same way that Debian is a Linux distribution. It provides an automated |
in the same way that Debian is a Linux distribution. It provides an automated |
13 |
13 |
build system to produce coreboot ROM images with a variety of payloads such as |
build system to produce coreboot ROM images with a variety of payloads such as |
14 |
|
GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy |
|
|
14 |
|
GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy |
15 |
15 |
to use as possible for non-technical users. |
to use as possible for non-technical users. |
16 |
16 |
|
|
17 |
17 |
Libreboot provides many additional benefits such as fast boot speeds, greater |
Libreboot provides many additional benefits such as fast boot speeds, greater |
File site/news/libreboot20240504.md changed (mode: 100644) (index ea0d07f..3b519f6) |
... |
... |
operating system (e.g. Linux/BSD). It is specifically |
15 |
15 |
a *[coreboot distribution](../docs/maintain/)*, |
a *[coreboot distribution](../docs/maintain/)*, |
16 |
16 |
in the same way that Debian is a Linux distribution. It provides an automated |
in the same way that Debian is a Linux distribution. It provides an automated |
17 |
17 |
build system to produce coreboot ROM images with a variety of payloads such as |
build system to produce coreboot ROM images with a variety of payloads such as |
18 |
|
GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy |
|
|
18 |
|
GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy |
19 |
19 |
to use as possible for non-technical users. From a project management perspective, |
to use as possible for non-technical users. From a project management perspective, |
20 |
20 |
this works in *exactly* the same way as a Linux distro, providing the same type |
this works in *exactly* the same way as a Linux distro, providing the same type |
21 |
21 |
of infrastructure, but for your boot firmware instead of your operating system. |
of infrastructure, but for your boot firmware instead of your operating system. |
22 |
22 |
It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, |
It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, |
23 |
23 |
and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) |
and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) |
24 |
|
or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating |
|
|
24 |
|
or [GRUB](https://www.gnu.org/software/grub/) to boot your operating |
25 |
25 |
system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). |
system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). |
26 |
26 |
|
|
27 |
27 |
Libreboot provides many additional benefits such as fast boot speeds, greater |
Libreboot provides many additional benefits such as fast boot speeds, greater |
File site/news/libreboot20240612.md changed (mode: 100644) (index 5ef3cf5..6020bde) |
... |
... |
operating system (e.g. Linux/BSD). It is specifically |
16 |
16 |
a *[coreboot distribution](../docs/maintain/)*, |
a *[coreboot distribution](../docs/maintain/)*, |
17 |
17 |
in the same way that Debian is a Linux distribution. It provides an automated |
in the same way that Debian is a Linux distribution. It provides an automated |
18 |
18 |
build system to produce coreboot ROM images with a variety of payloads such as |
build system to produce coreboot ROM images with a variety of payloads such as |
19 |
|
GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy |
|
|
19 |
|
GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy |
20 |
20 |
to use as possible for non-technical users. From a project management perspective, |
to use as possible for non-technical users. From a project management perspective, |
21 |
21 |
this works in *exactly* the same way as a Linux distro, providing the same type |
this works in *exactly* the same way as a Linux distro, providing the same type |
22 |
22 |
of infrastructure, but for your boot firmware instead of your operating system. |
of infrastructure, but for your boot firmware instead of your operating system. |
File site/news/libreboot20241008.md changed (mode: 100644) (index 9426b55..c513862) |
... |
... |
operating system (e.g. Linux/BSD). It is specifically |
19 |
19 |
a *[coreboot distribution](../docs/maintain/)*, |
a *[coreboot distribution](../docs/maintain/)*, |
20 |
20 |
in the same way that Debian is a Linux distribution. It provides an automated |
in the same way that Debian is a Linux distribution. It provides an automated |
21 |
21 |
build system to produce coreboot ROM images with a variety of payloads such as |
build system to produce coreboot ROM images with a variety of payloads such as |
22 |
|
GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy |
|
|
22 |
|
GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy |
23 |
23 |
to use as possible for non-technical users. From a project management perspective, |
to use as possible for non-technical users. From a project management perspective, |
24 |
24 |
this works in *exactly* the same way as a Linux distro, providing a source-based |
this works in *exactly* the same way as a Linux distro, providing a source-based |
25 |
25 |
package manager (called lbmk) which patches sources and compiles coreboot images. |
package manager (called lbmk) which patches sources and compiles coreboot images. |
26 |
26 |
It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, |
It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, |
27 |
27 |
and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) |
and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) |
28 |
|
or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating |
|
|
28 |
|
or [GRUB](https://www.gnu.org/software/grub/) to boot your operating |
29 |
29 |
system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). |
system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). |
30 |
30 |
|
|
31 |
31 |
The changes of the recent [6th build system audit](audit6.md) are included, in |
The changes of the recent [6th build system audit](audit6.md) are included, in |
|
... |
... |
The changes are as follows: |
450 |
450 |
where the BIOS region ends at 4MB; you would then flash the full image |
where the BIOS region ends at 4MB; you would then flash the full image |
451 |
451 |
internally, after the fact. |
internally, after the fact. |
452 |
452 |
* Relative to audit6: Patch uefitool for musl libc. The code was making use |
* Relative to audit6: Patch uefitool for musl libc. The code was making use |
453 |
|
of `ACCESSPERMS`, which is a define in BSD libc (also available in the GNU |
|
454 |
|
C Library) for use with chmod when setting 777 permission on files. The musl |
|
|
453 |
|
of `ACCESSPERMS`, which is a define in BSD libc (also available in glibc) |
|
454 |
|
for use with chmod when setting 777 permission on files. The musl |
455 |
455 |
libc doesn't have this, so the code was modified to explicitly define it in |
libc doesn't have this, so the code was modified to explicitly define it in |
456 |
456 |
the same way, but only if not already defined. Useful for Alpine Linux users. |
the same way, but only if not already defined. Useful for Alpine Linux users. |
457 |
457 |
* Relative to audit6: Don't dry-run `mkcorebootbin` when using the `-d` switch |
* Relative to audit6: Don't dry-run `mkcorebootbin` when using the `-d` switch |
File site/news/libreboot20241206.md changed (mode: 100644) (index 864c60e..a76d37c) |
... |
... |
operating system (e.g. Linux/BSD). It is specifically |
30 |
30 |
a *[coreboot distribution](../docs/maintain/)*, |
a *[coreboot distribution](../docs/maintain/)*, |
31 |
31 |
in the same way that Debian is a Linux distribution. It provides an automated |
in the same way that Debian is a Linux distribution. It provides an automated |
32 |
32 |
build system to produce coreboot ROM images with a variety of payloads such as |
build system to produce coreboot ROM images with a variety of payloads such as |
33 |
|
GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy |
|
|
33 |
|
GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy |
34 |
34 |
to use as possible for non-technical users. From a project management perspective, |
to use as possible for non-technical users. From a project management perspective, |
35 |
35 |
this works in *exactly* the same way as a Linux distro, providing a source-based |
this works in *exactly* the same way as a Linux distro, providing a source-based |
36 |
36 |
package manager (called lbmk) which patches sources and compiles coreboot images. |
package manager (called lbmk) which patches sources and compiles coreboot images. |
37 |
37 |
It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, |
It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, |
38 |
38 |
and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) |
and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) |
39 |
|
or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating |
|
|
39 |
|
or [GRUB](https://www.gnu.org/software/grub/) to boot your operating |
40 |
40 |
system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). |
system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). |
41 |
41 |
|
|
42 |
42 |
U-Boot UEFI payload on x86\_64 |
U-Boot UEFI payload on x86\_64 |
File site/news/libreboot20241206rev8.md changed (mode: 100644) (index 8958a3b..5ee4c6e) |
... |
... |
operating system (e.g. Linux/BSD). It is specifically |
18 |
18 |
a *[coreboot distribution](../docs/maintain/)*, |
a *[coreboot distribution](../docs/maintain/)*, |
19 |
19 |
in the same way that Debian is a Linux distribution. It provides an automated |
in the same way that Debian is a Linux distribution. It provides an automated |
20 |
20 |
build system to produce coreboot ROM images with a variety of payloads such as |
build system to produce coreboot ROM images with a variety of payloads such as |
21 |
|
GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy |
|
|
21 |
|
GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy |
22 |
22 |
to use as possible for non-technical users. From a project management perspective, |
to use as possible for non-technical users. From a project management perspective, |
23 |
23 |
this works in *exactly* the same way as a Linux distro, providing a source-based |
this works in *exactly* the same way as a Linux distro, providing a source-based |
24 |
24 |
package manager (called lbmk) which patches sources and compiles coreboot images. |
package manager (called lbmk) which patches sources and compiles coreboot images. |
25 |
25 |
It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, |
It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation, |
26 |
26 |
and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) |
and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS) |
27 |
|
or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating |
|
|
27 |
|
or [GRUB](https://www.gnu.org/software/grub/) to boot your operating |
28 |
28 |
system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). |
system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload). |
29 |
29 |
|
|
30 |
30 |
We also provide an experimental U-Boot setup on x86, as a coreboot payload for |
We also provide an experimental U-Boot setup on x86, as a coreboot payload for |
File site/news/policy.de.md changed (mode: 100644) (index 87d6ac6..e7d553b) |
... |
... |
have more - for now. |
385 |
385 |
|
|
386 |
386 |
Let's take an extreme example: what if coreboot was entirely binary blobs |
Let's take an extreme example: what if coreboot was entirely binary blobs |
387 |
387 |
for a given mainboard? Coreboot itself only initialises the hardware, and |
for a given mainboard? Coreboot itself only initialises the hardware, and |
388 |
|
jumps to a payload in the flash; in this case, the payload (e.g. GNU GRUB) |
|
|
388 |
|
jumps to a payload in the flash; in this case, the payload (e.g. GRUB) |
389 |
389 |
would still be free software. Surely, all free firmware would be better, |
would still be free software. Surely, all free firmware would be better, |
390 |
390 |
but this is still an improvement over the original vendor firmware. The |
but this is still an improvement over the original vendor firmware. The |
391 |
391 |
original vendor firmware will have non-free boot firmware *and* its analog |
original vendor firmware will have non-free boot firmware *and* its analog |
File site/news/policy.md changed (mode: 100644) (index 59f9afb..07fc728) |
... |
... |
have more - for now. |
447 |
447 |
|
|
448 |
448 |
Let's take an extreme example: what if coreboot was entirely binary blobs |
Let's take an extreme example: what if coreboot was entirely binary blobs |
449 |
449 |
for a given mainboard? Coreboot itself only initialises the hardware, and |
for a given mainboard? Coreboot itself only initialises the hardware, and |
450 |
|
jumps to a payload in the flash; in this case, the payload (e.g. GNU GRUB) |
|
|
450 |
|
jumps to a payload in the flash; in this case, the payload (e.g. GRUB) |
451 |
451 |
would still be free software. Surely, all free firmware would be better, |
would still be free software. Surely, all free firmware would be better, |
452 |
452 |
but this is still an improvement over the original vendor firmware. The |
but this is still an improvement over the original vendor firmware. The |
453 |
453 |
original vendor firmware will have non-free boot firmware *and* its analog |
original vendor firmware will have non-free boot firmware *and* its analog |
File site/news/policy.uk.md changed (mode: 100644) (index 8832709..79893a3) |
... |
... |
have more - for now. |
376 |
376 |
|
|
377 |
377 |
Let's take an extreme example: what if coreboot was entirely binary blobs |
Let's take an extreme example: what if coreboot was entirely binary blobs |
378 |
378 |
for a given mainboard? Coreboot itself only initialises the hardware, and |
for a given mainboard? Coreboot itself only initialises the hardware, and |
379 |
|
jumps to a payload in the flash; in this case, the payload (e.g. GNU GRUB) |
|
|
379 |
|
jumps to a payload in the flash; in this case, the payload (e.g. GRUB) |
380 |
380 |
would still be free software. Surely, all free firmware would be better, |
would still be free software. Surely, all free firmware would be better, |
381 |
381 |
but this is still an improvement over the original vendor firmware. The |
but this is still an improvement over the original vendor firmware. The |
382 |
382 |
original vendor firmware will have non-free boot firmware *and* its analog |
original vendor firmware will have non-free boot firmware *and* its analog |
File site/tasks/index.md changed (mode: 100644) (index f728b0e..2431691) |
... |
... |
the [u-root](https://github.com/u-root/u-root) project. |
405 |
405 |
Libreboot's current choice of coreboot payloads are: |
Libreboot's current choice of coreboot payloads are: |
406 |
406 |
|
|
407 |
407 |
* SeaBIOS (x86 only), provides a traditional PC BIOS implementation |
* SeaBIOS (x86 only), provides a traditional PC BIOS implementation |
408 |
|
* GNU GRUB (x86 only), provides a multiboot implementation, can boot Linux and |
|
|
408 |
|
* GRUB (x86 only), provides a multiboot implementation, can boot Linux and |
409 |
409 |
BSD. This is the preferred default payload on x86, especially for Linux |
BSD. This is the preferred default payload on x86, especially for Linux |
410 |
410 |
distros, because it provides many security features like GPG signature |
distros, because it provides many security features like GPG signature |
411 |
411 |
checking on Linux kernels, and password protection. |
checking on Linux kernels, and password protection. |
|
... |
... |
Libreboot's current choice of coreboot payloads are: |
418 |
418 |
|
|
419 |
419 |
U-Root in particular (not to be confused with U-boot has parsers in it for |
U-Root in particular (not to be confused with U-boot has parsers in it for |
420 |
420 |
GRUB and Syslinux config files. GRUB also has a parser for syslinux configs. |
GRUB and Syslinux config files. GRUB also has a parser for syslinux configs. |
421 |
|
This makes it a useful drop-in replacement for the GNU GRUB payload that |
|
|
421 |
|
This makes it a useful drop-in replacement for the GRUB bootloader payload that |
422 |
422 |
Libreboot currently uses. Linux has much better drivers than GRUB, especially |
Libreboot currently uses. Linux has much better drivers than GRUB, especially |
423 |
423 |
for things like LUKS2 and networking. |
for things like LUKS2 and networking. |
424 |
424 |
|
|
|
... |
... |
Sanity checks |
1211 |
1211 |
------------- |
------------- |
1212 |
1212 |
|
|
1213 |
1213 |
We basically should have startup sanity checks in general, such as checking |
We basically should have startup sanity checks in general, such as checking |
1214 |
|
whether all the right dependencies are installed on the host system - similar |
|
1215 |
|
to autoconf setups used by many GNU projects, though we don't want to use |
|
1216 |
|
autoconf, it's bloat. |
|
|
1214 |
|
whether all the right dependencies are installed on the host system. |
1217 |
1215 |
|
|
1218 |
1216 |
If a sanity check is passed, a configuration file can then be provided, which |
If a sanity check is passed, a configuration file can then be provided, which |
1219 |
1217 |
can be used to control how lbmk runs. For example, if a certain version of a |
can be used to control how lbmk runs. For example, if a certain version of a |