libreboot / lbwww (public) (License: Unspecified) (since 2023-04-11) (hash sha1)
libreboot website (markdown files). https://libreboot.org/
List of commits:
Subject Hash Author Date (UTC)
snip3 e4b30750d15ab0e33c465b31d5e6175cf4b82b76 Leah Rowe 2025-01-18 04:55:26
grammar 77198f7f5dc5a972ef5181751db26d5c69773db7 Leah Rowe 2025-01-18 02:35:37
fix language 6f9ec4cc4d7eb4017af4768842ac6861b1e81aa5 Leah Rowe 2025-01-18 02:33:48
snip2 4c12433a6ab185d4092fab7400f09d3ef203b355 Leah Rowe 2025-01-18 02:12:20
snip 7c63e81b3212e22324bb300e30cba3f109a8ddcf Leah Rowe 2025-01-18 02:07:42
grammar 927a06cdc65281ceff6efdca058cf1cd4725e096 Leah Rowe 2025-01-17 13:24:59
snip 62b5b1950e8d862924b6c92fc2d8c1ae91c75f1c Leah Rowe 2025-01-17 10:41:44
further calamity 5662b578d8c97c024161bd9dd3d3f5c1fedb66f3 Leah Rowe 2025-01-17 10:15:39
clarification 0d6d90bf1eabd0d75c8b902fca8123af4f8c6617 Leah Rowe 2025-01-17 10:13:29
Libreboot 2025 release schedule 55722b56431b61b204efe00127cb9db089965342 Leah Rowe 2025-01-17 10:03:06
t480 notes: mention rollback protection 6cfd22e1f6e2104b99850546bf9f7743cc82f285 Leah Rowe 2025-01-17 01:42:41
other.md: merge chrultrabook with mrchromebox ee096776a97410398581e125397ee9b5a3bbd03c Leah Rowe 2025-01-14 17:59:28
snip e64e6a065d55c680b21948e833234f019c32b2c6 Leah Rowe 2025-01-14 13:30:29
correction 3f51720e2aaa51ddc5de19757b06d4715526d67e Leah Rowe 2025-01-14 12:57:06
snip a5a8a8daea53761ebceb53bf09c2acddadb49d04 Leah Rowe 2025-01-13 15:47:37
priority 5d516331cb506a2b1d929add03227b20860cab37 Leah Rowe 2025-01-13 15:38:13
fix oversight ceaaeb98d924d89fd91bda78300423348f48bf79 Leah Rowe 2025-01-13 14:50:27
expand other.md but shorten the intro e5d30675db4119269259b3c4539278639da28522 Leah Rowe 2025-01-13 13:37:18
simplify the skulls section in other.md 4702e167673363af0e63c0de51fbd220d7f45a55 Leah Rowe 2025-01-12 12:36:05
payloads, not "programs" 97b0fa3c600b3a2dc0446029c38a7d538078ab7c Leah Rowe 2025-01-12 04:20:27
Commit e4b30750d15ab0e33c465b31d5e6175cf4b82b76 - snip3
Signed-off-by: Leah Rowe <leah@libreboot.org>
Author: Leah Rowe
Author date (UTC): 2025-01-18 04:55
Committer name: Leah Rowe
Committer date (UTC): 2025-01-18 04:55
Parent(s): 77198f7f5dc5a972ef5181751db26d5c69773db7
Signer:
Signing key:
Signing status: N
Tree: 7c1752d50e8b0cce2a964ae3041ca640ba7be4e1
File Lines added Lines deleted
site/contrib.md 1 1
site/docs/install/dell3050.md 1 1
site/docs/install/index.md 1 1
site/docs/linux/grub_hardening.md 1 1
site/docs/maintain/index.md 2 2
site/docs/maintain/style.md 2 3
site/docs/uboot/uboot-archlinux.md 2 2
site/git.md 1 1
site/index.md 1 1
site/index.ru.md 1 1
site/news/10.md 5 10
site/news/audit.md 2 2
site/news/libreboot20230625.md 3 3
site/news/libreboot20240225.md 1 1
site/news/libreboot20240504.md 2 2
site/news/libreboot20240612.md 1 1
site/news/libreboot20241008.md 4 4
site/news/libreboot20241206.md 2 2
site/news/libreboot20241206rev8.md 2 2
site/news/policy.de.md 1 1
site/news/policy.md 1 1
site/news/policy.uk.md 1 1
site/tasks/index.md 3 5
File site/contrib.md changed (mode: 100644) (index a4a5bad..1aaf97d)
... ... Mate Kukri
429 429
430 430 Mate Kukri is a *major* contributor to Libreboot, and several of the upstreams Mate Kukri is a *major* contributor to Libreboot, and several of the upstreams
431 431 that it uses; he is a coreboot developer, and also contributes heavily to the that it uses; he is a coreboot developer, and also contributes heavily to the
432 GNU GRUB project.
432 GRUB bootloader project.
433 433
434 434 Off the top of my head, here are just a few of the contributions that he has Off the top of my head, here are just a few of the contributions that he has
435 435 made: made:
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
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/libreboot/lbwww

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/libreboot/lbwww

Clone this repository using git:
git clone git://git.rocketgit.com/user/libreboot/lbwww

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main