Compare commits
225 Commits
Author | SHA1 | Date |
---|---|---|
Leah Rowe | 5d5ed3b930 | |
Leah Rowe | cb8dbd0f38 | |
Leah Rowe | 96e51ca06e | |
Leah Rowe | 83de07b603 | |
Leah Rowe | 4f992eedaa | |
Leah Rowe | ef774e2587 | |
Leah Rowe | 32b14145b3 | |
Leah Rowe | 27283a84d3 | |
Leah Rowe | 511d24b9ff | |
Leah Rowe | eb209ce899 | |
Leah Rowe | feb43add4d | |
Leah Rowe | 20fd775c85 | |
Leah Rowe | b7a4d7b121 | |
Leah Rowe | 71fc7a1981 | |
Leah Rowe | e62d443e81 | |
Leah Rowe | e647adc841 | |
Leah Rowe | 67770346e2 | |
Leah Rowe | dc7d5cef90 | |
Leah Rowe | b716e3fedd | |
Leah Rowe | 87a56ba001 | |
Riku Viitanen | 128d9e6094 | |
Leah Rowe | e0400031b9 | |
Leah Rowe | 20e2f572fb | |
Leah Rowe | b47f09e497 | |
Leah Rowe | 14f649771f | |
Leah Rowe | 240bfc950e | |
Leah Rowe | 2080975e95 | |
Leah Rowe | b1f3b1b4a6 | |
Leah Rowe | 0f56d4ce91 | |
Leah Rowe | e921e7536b | |
Integral | 67fb1bb6a6 | |
Leah Rowe | 51c06dcae2 | |
Integral | 64584fd7d3 | |
Integral | 0b02df943c | |
Leah Rowe | 3a23e0c350 | |
Riku Viitanen | 5e1ca595cd | |
Leah Rowe | 01c11b27d9 | |
Leah Rowe | ef8c2a7e59 | |
Leah Rowe | ad4e593dbf | |
Leah Rowe | 0a9bf4aa84 | |
Leah Rowe | d4886e608d | |
Leah Rowe | e2ce9110fb | |
Leah Rowe | a12f3efde7 | |
Leah Rowe | 8cc24220ec | |
Integral | a3be07f16d | |
Integral | 4aa7859146 | |
Leah Rowe | 7efde76782 | |
Leah Rowe | 9b4e436214 | |
Leah Rowe | 0081c6057a | |
Leah Rowe | c619e583b9 | |
Leah Rowe | 05036a5171 | |
Leah Rowe | b9bfa323b9 | |
Leah Rowe | 035468136a | |
Leah Rowe | cbac0dd6ea | |
Leah Rowe | 4847e31bfa | |
Leah Rowe | a9c4cfb2f6 | |
Leah Rowe | 94eff325ad | |
Leah Rowe | 62b45c4eb6 | |
Leah Rowe | 197ed1bab4 | |
Leah Rowe | a66c42170e | |
Leah Rowe | 2451bbcd0f | |
Leah Rowe | 7c200e1757 | |
Leah Rowe | 4fe298b3f3 | |
Leah Rowe | 6f4e9fd028 | |
Leah Rowe | 04a8bd8f7b | |
Leah Rowe | 4b580c489d | |
Leah Rowe | 01175b9f04 | |
Leah Rowe | eb6e09199b | |
Leah Rowe | 230e710292 | |
Leah Rowe | 93a742734e | |
Leah Rowe | 860909e3b7 | |
Leah Rowe | e0da53e540 | |
Leah Rowe | f4a5220ab2 | |
Riku Viitanen | 484e03812e | |
Leah Rowe | 04247d5016 | |
Leah Rowe | bedc002098 | |
Leah Rowe | a7e620e9a4 | |
Riku Viitanen | 2e4cff4335 | |
Riku Viitanen | c438c650aa | |
Riku Viitanen | b8bec5077c | |
Leah Rowe | 1476d8f9ef | |
Leah Rowe | 4c4fe77213 | |
Leah Rowe | 6c00c96374 | |
Leah Rowe | 9cf86a1c7f | |
Leah Rowe | a2de3ef6c2 | |
Leah Rowe | bc7e48dd94 | |
Leah Rowe | 237f6347ef | |
Leah Rowe | 092041ecee | |
Leah Rowe | d707c2ae31 | |
Leah Rowe | 3c1b13c2a3 | |
Leah Rowe | a84ab5fe7a | |
Leah Rowe | f2d4c76be9 | |
Leah Rowe | bf87a748e9 | |
Riku Viitanen | 7c73c4503d | |
Leah Rowe | 57cf037e17 | |
Leah Rowe | 2397c4c07c | |
Leah Rowe | 1d567f132b | |
Leah Rowe | 80274d293a | |
Leah Rowe | 6ba3133615 | |
Leah Rowe | ad148e0de9 | |
Leah Rowe | 4c62f7e4e1 | |
Leah Rowe | 7e5a1514d4 | |
Leah Rowe | 5de3d00672 | |
Riku Viitanen | 7ee4ad9f0a | |
Leah Rowe | f0deab660b | |
Leah Rowe | cc2aff727e | |
Leah Rowe | 1ad11d5512 | |
Leah Rowe | 4542dbad5e | |
Leah Rowe | de2ddf6d51 | |
Leah Rowe | 28f7d2a7e2 | |
Leah Rowe | 3171dc4ed8 | |
Leah Rowe | a61286298d | |
Leah Rowe | 6b521b1883 | |
Leah Rowe | 14c49868b6 | |
Leah Rowe | 660d9d87c7 | |
Leah Rowe | 1db5a7b31d | |
Leah Rowe | f0164c068a | |
Leah Rowe | e5ac0dc722 | |
Nicholas Chin | cd6c98c007 | |
Leah Rowe | e36c187728 | |
Leah Rowe | c4ede31c15 | |
Leah Rowe | 1eab9f9361 | |
Leah Rowe | b357ce21cc | |
Leah Rowe | b91e8d794d | |
Leah Rowe | c4d4e5c8f4 | |
Leah Rowe | fb428da88a | |
Leah Rowe | 3cd584af0d | |
Leah Rowe | 2dda91146d | |
Leah Rowe | c471157949 | |
Leah Rowe | d8cdbd744d | |
Lorenzo Aloe | e4b7dae859 | |
Leah Rowe | 9795f8d3c9 | |
Leah Rowe | e751bf37d6 | |
Leah Rowe | 22749922b6 | |
Leah Rowe | 551714f209 | |
Leah Rowe | e6151430c2 | |
Leah Rowe | b1790c0653 | |
Leah Rowe | 34a7f7c351 | |
Leah Rowe | c2a16bd33f | |
Leah Rowe | 1122c128c8 | |
Leah Rowe | 29d07bdbd9 | |
Leah Rowe | 95c0c089a7 | |
Leah Rowe | af4842b784 | |
Leah Rowe | b896e299d4 | |
Leah Rowe | 5c2fed17de | |
Leah Rowe | 4fb82aba55 | |
Leah Rowe | 03f2157108 | |
Leah Rowe | 6507b4741f | |
Leah Rowe | 365f8eb2c9 | |
Leah Rowe | 16ae385b84 | |
Leah Rowe | 2b2761eb47 | |
Leah Rowe | c617137f31 | |
Leah Rowe | 0c0be37eb9 | |
Leah Rowe | 464270371e | |
Riku Viitanen | 1b3fc7af6f | |
Leah Rowe | 3c5204487c | |
Leah Rowe | d54f193f64 | |
Leah Rowe | 6a6b7cbee0 | |
Leah Rowe | a41e4b0de1 | |
Leah Rowe | b0e43ae2ce | |
Leah Rowe | 98cfe4b37d | |
Leah Rowe | 31600fc44e | |
Leah Rowe | e32cbd0dfd | |
Leah Rowe | de7254b03d | |
Leah Rowe | a1f31c8932 | |
livio | ee168a0069 | |
Leah Rowe | 172e989463 | |
Leah Rowe | 06b57643a2 | |
Leah Rowe | 7d2813ee1b | |
Leah Rowe | 6e009f3818 | |
Leah Rowe | ce62a34fcb | |
Leah Rowe | 26bf88b05d | |
Leah Rowe | a5ab3969e0 | |
Leah Rowe | 1682d2731d | |
Leah Rowe | 11ca7793ee | |
Leah Rowe | 869342fd50 | |
Leah Rowe | 62faae9acd | |
Leah Rowe | 81f5521bfd | |
Leah Rowe | d75c3bb9dd | |
Leah Rowe | af1a9ac585 | |
Leah Rowe | 8f1ec9378e | |
Leah Rowe | 95306c9a8f | |
Leah Rowe | ed8f8969cd | |
Leah Rowe | 3e4e66b312 | |
Leah Rowe | fcdeb7114f | |
Leah Rowe | e0192ef6c9 | |
Leah Rowe | 1e31ca120c | |
Leah Rowe | 70c1ff6a55 | |
Riku Viitanen | 5d50d05f49 | |
Riku Viitanen | 506b6a2290 | |
Leah Rowe | 555bf879d1 | |
Leah Rowe | 40f5af0a45 | |
Leah Rowe | 8afcf59684 | |
Nicholas Chin | f0bc8ca6e0 | |
Nicholas Chin | 8f21d0625a | |
Nicholas Chin | 5291ce8c39 | |
Leah Rowe | 20c3d75020 | |
Leah Rowe | 972a412517 | |
Leah Rowe | 463bcbeeed | |
Leah Rowe | 7eec07383e | |
Leah Rowe | c9fb0a28ed | |
Leah Rowe | de6d67ce76 | |
Leah Rowe | f2da6c382c | |
Leah Rowe | fce013cc44 | |
Leah Rowe | 5b7cc0e859 | |
Leah Rowe | 71aecb2d90 | |
Leah Rowe | 3ae238c74c | |
Leah Rowe | 401c811b95 | |
Leah Rowe | 22d6aea226 | |
Leah Rowe | a5d383f503 | |
Leah Rowe | 44471f81a3 | |
Leah Rowe | 55ddbad186 | |
Leah Rowe | 0899e07e8c | |
Leah Rowe | 779b25d337 | |
Leah Rowe | 49fdc28d09 | |
Leah Rowe | 57915c2cfb | |
Leah Rowe | d2bc3ec116 | |
Leah Rowe | c37201b91b | |
Leah Rowe | 374f1c096b | |
Leah Rowe | 87ab083fb0 | |
Leah Rowe | 9684d47d23 | |
Leah Rowe | 4c78d74742 | |
Leah Rowe | 127d3c3262 | |
Leah Rowe | 34d442d651 | |
Leah Rowe | 87f9e850b8 |
4
site.cfg
4
site.cfg
|
@ -1,5 +1,5 @@
|
|||
TITLE="-T Libreboot"
|
||||
TITLE="Libreboot"
|
||||
DOMAIN="https://libreboot.org/"
|
||||
BLOGDIR="news/" # leave as empty string if you want the blog to be the homepage
|
||||
CSS="--css /global.css"
|
||||
CSS="/global.css"
|
||||
LAZY="y"
|
||||
|
|
|
@ -3,7 +3,19 @@ title: Kontakt
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**TODO: mailing lists, mastodon server and peertube account.**
|
||||
Buy Libreboot pre-installed
|
||||
==========
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
If you're installing Libreboot yourself, support for that is also available.
|
||||
Contact information (IRC, mailing list etc) is below:
|
||||
|
||||
User support
|
||||
============
|
||||
|
@ -11,10 +23,18 @@ User support
|
|||
IRC oder Reddit werden bevorzugt, sofern Du eine Support Anfrage hast (IRC empfohlen).
|
||||
Für Informationen bzgl. IRC and Reddit siehe unten.
|
||||
|
||||
Mailing list
|
||||
============
|
||||
|
||||
Libreboot has this mailing list:
|
||||
<https://lists.sr.ht/~libreboot/libreboot>
|
||||
|
||||
The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht)
|
||||
|
||||
Entwicklungs Diskussion
|
||||
======================
|
||||
|
||||
Eine Mailing Liste ist für die Zukunft in Planung. Bis dahin, siehe unter
|
||||
Siehe unter
|
||||
[der Git Seite](git.md) für Informationen wie Du dich an der Entwicklung beteiligen kannst.
|
||||
|
||||
Hier finden sich ebenso Anleitungen zum Senden von Patches (via Pull-Requests).
|
||||
|
|
|
@ -0,0 +1,98 @@
|
|||
---
|
||||
title: Contatti
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
Buy Libreboot pre-installed
|
||||
==========
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
If you're installing Libreboot yourself, support for that is also available.
|
||||
Contact information (IRC, mailing list etc) is below:
|
||||
|
||||
Supporto utenti
|
||||
===============
|
||||
|
||||
IRC o Reddit sono consigliati, sebbene preferiamo che usi il canale IRC
|
||||
per avere o per offrire supporto tecnico. Continua a leggere per avere
|
||||
ulteriori informazioni.
|
||||
|
||||
Mailing list
|
||||
============
|
||||
|
||||
Libreboot has this mailing list:
|
||||
<https://lists.sr.ht/~libreboot/libreboot>
|
||||
|
||||
The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht)
|
||||
|
||||
Discussione sullo sviluppo
|
||||
==========================
|
||||
|
||||
Per ora dai un occhiata sulla
|
||||
[pagina Git](git.md) per avere maggiori informazioni su come puoi
|
||||
assistere con lo sviluppo.
|
||||
|
||||
Su quella stessa pagina puoi trovare informazioni su come inviare
|
||||
correzioni (patches) tramite pull requests.
|
||||
|
||||
Canale IRC
|
||||
==========
|
||||
|
||||
IRC e' il modo principale per contattare chi collabora con il progetto libreboot.
|
||||
Il canale ufficiale e' `#libreboot` su Libera IRC.
|
||||
|
||||
Webchat:
|
||||
<https://web.libera.chat/#libreboot>
|
||||
|
||||
Libera e' una tra le piu' grandi reti IRC usate per i progetti di software libero.
|
||||
Maggiori informazioni le trovi qui: <https://libera.chat/>
|
||||
|
||||
Puoi usare il client IRC che preferisci (come weechat or irssi) usando le seguenti informazioni:
|
||||
|
||||
* Server: `irc.libera.chat`
|
||||
* Canale: `#libreboot`
|
||||
* Porta (TLS): `6697`
|
||||
* Porta (non-TLS): `6667`
|
||||
|
||||
Ti suggeriamo di usare la porta `6697` e ablitare la cifratura TLS...
|
||||
|
||||
Inoltre ti suggeriamo di abilitare l'autenticazione SASL. Le pagine web
|
||||
di Libera spiegano come:
|
||||
|
||||
* Guida per WeeChat: <https://libera.chat/guides/weechat>
|
||||
* Guida per Irssi: <https://libera.chat/guides/irssi>
|
||||
* Guida per HexChat: <https://libera.chat/guides/hexchat>
|
||||
|
||||
Comunque dovresti sempre controllare la documentazione del tuo client IRC preferito.
|
||||
|
||||
Reti sociali online
|
||||
===================
|
||||
|
||||
Libreboot esiste ufficialmente in molte piattaforme.
|
||||
|
||||
Mastodon
|
||||
--------
|
||||
|
||||
Il fondatore e sviluppatore principale, Leah Rowe, e' su Mastodon:
|
||||
|
||||
* <https://mas.to/@libreleah>
|
||||
|
||||
Posta elettronica
|
||||
-----------------
|
||||
|
||||
Leah puo' essere contattata anche via email a questo indirizzo:
|
||||
[leah@libreboot.org](mailto:leah@libreboot.org)
|
||||
|
||||
Reddit
|
||||
------
|
||||
|
||||
Usato principalmente come canale di supporto e per annunciare notizie:
|
||||
<https://www.reddit.com/r/libreboot/>
|
||||
|
|
@ -3,7 +3,19 @@ title: Contact
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**TODO: mailing lists, mastodon server and peertube account.**
|
||||
Buy Libreboot pre-installed
|
||||
==========
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
If you're installing Libreboot yourself, support for that is also available.
|
||||
Contact information (IRC, mailing list etc) is below:
|
||||
|
||||
User support
|
||||
============
|
||||
|
@ -11,10 +23,18 @@ User support
|
|||
IRC or Reddit are recommended, if you wish to ask for support (IRC recommended).
|
||||
See below for information about IRC and Reddit.
|
||||
|
||||
Mailing list
|
||||
============
|
||||
|
||||
Libreboot has this mailing list:
|
||||
<https://lists.sr.ht/~libreboot/libreboot>
|
||||
|
||||
The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht)
|
||||
|
||||
Development discussion
|
||||
======================
|
||||
|
||||
Mailing lists are planned for the future. For now, see notes
|
||||
See notes
|
||||
on [the Git page](git.md) for information about how to assist with development.
|
||||
|
||||
Instructions are also on that page for sending patches (via pull requests).
|
||||
|
|
|
@ -3,7 +3,19 @@ title: Зв'язок
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**TODO: списки розсилки, сервер mastodon та обліковий запис peertube.**
|
||||
Buy Libreboot pre-installed
|
||||
==========
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
If you're installing Libreboot yourself, support for that is also available.
|
||||
Contact information (IRC, mailing list etc) is below:
|
||||
|
||||
Підтримка користувачів
|
||||
============
|
||||
|
@ -11,10 +23,18 @@ x-toc-enable: true
|
|||
IRC або Reddit рекомендовані, якщо ви бажаєте попросити про допомогу (найкраще IRC).
|
||||
Дивіться інформацію нижче щодо IRC та Reddit.
|
||||
|
||||
Mailing list
|
||||
============
|
||||
|
||||
Libreboot has this mailing list:
|
||||
<https://lists.sr.ht/~libreboot/libreboot>
|
||||
|
||||
The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht)
|
||||
|
||||
Обговорення розробки
|
||||
======================
|
||||
|
||||
Списки розсилки плануються на майбутнє. Зараз, подивіться нотатки
|
||||
Зараз, подивіться нотатки
|
||||
на [сторінці Git](git.md) для інформації щодо допомоги з розробкою.
|
||||
|
||||
На цій сторінці також знаходяться інструкції по відправці патчів (через pull request'и).
|
||||
|
|
101
site/contrib.md
101
site/contrib.md
|
@ -196,33 +196,13 @@ systems.
|
|||
Joshua Gay
|
||||
----------
|
||||
|
||||
Joshua is former FSF staff.
|
||||
Joshua was in a position during 2014-2016 to help promote Libreboot in the
|
||||
media, in his capacity working for the employer he worked for at the time;
|
||||
I credit him specifically. Joshua was one of Libreboot's earliest supporters.
|
||||
|
||||
Joshua helped with the early founding of the Libreboot project, in his capacity
|
||||
(at that time) as the FSF's licensing and compliance manager. It was his job to
|
||||
review products sent into to the FSF for review; the FSF has a certification
|
||||
program called *Respects Your Freedom* (RYF) where the FSF will promote your
|
||||
company's products if it comes with all Free Software.
|
||||
|
||||
I, Leah Rowe, was initially just selling ThinkPad X60 laptops with regular
|
||||
coreboot on them, and this included CPU microcode updates. At the time, I didn't
|
||||
think much of that. Joshua contacted me, in his capacity at the FSF, and asked
|
||||
if I would be interested in the FSF's RYF program; I was very surprised that the
|
||||
FSF would take me seriously, and I said yes. This is what started the early
|
||||
work on Libreboot. Joshua showed me all the problems my products had, and from
|
||||
that, the solution was clear:
|
||||
|
||||
Joshua used his media connections at the FSF to heavily promote my work, and
|
||||
on December 13th, 2013, the Libreboot project was born (but not called that).
|
||||
Joshua made sure that everyone knew what I was doing!
|
||||
|
||||
A few months later, the name *Libreboot* was coined, and the domain name
|
||||
*libreboot.org* was registered. At that point, the Libreboot project (in early
|
||||
2014) was officially born. Once again, Joshua provided every bit of help he
|
||||
could, heavily promoting the project and he even wrote this article on the FSF
|
||||
website, announcing it:
|
||||
|
||||
<https://web.archive.org/web/20171222063358/https://www.fsf.org/blogs/licensing/replace-your-proprietary-bios-with-libreboot>
|
||||
He made sure everyone knew what I was doing, and he taught me a *lot* about
|
||||
licensing; many of Libreboot's practises today are still based on his lessons,
|
||||
such as the pitfalls of GPL compliance and how to really audit everything.
|
||||
|
||||
Klemens Nanni
|
||||
-------------
|
||||
|
@ -233,55 +213,28 @@ libreboot, and several tweaks to the build system.
|
|||
Lisa Marie Maginnis
|
||||
-------------------
|
||||
|
||||
Lisa is a former sysadmin at the Free Software Foundation. In the early days of
|
||||
the project, she provided Leah with a lot of technical advice. She initially
|
||||
created Libreboot IRC channel, when Leah did not know how to
|
||||
use IRC, and also handed +F founder status to Leah for the channel. As an FSF
|
||||
sysadmin, it was Lisa's job to maintain a lot of the infrastructure used by
|
||||
Libreboot; at the time, mailing lists on the Savannah website were used by
|
||||
the Libreboot project. When Paul Kocialkowski was a member of the project in
|
||||
2016, she helped him get help from the FSF; he was the leader of the Replicant
|
||||
project at the time, which had funding from the FSF, and the FSF authorized him
|
||||
to use some of that funding for his work on Libreboot, thanks to Lisa's
|
||||
encouragement while she worked at the FSF.
|
||||
Lisa was one of Libreboot's early contributors to Libreboot. She personally
|
||||
helped me set up a lot of the early infrastructure, including things like IRC,
|
||||
mailing list and so on. She provided a lot of technical guidance, while working
|
||||
in a sysadmin job for a certain free software organisation; she was both a
|
||||
mentor and a friend.
|
||||
|
||||
Lisa also stepped in when Leah Rowe missed her LibrePlanet 2016 talk. Leah was
|
||||
scheduled to do a talk about Libreboot, but didn't show up in time. Lisa, along
|
||||
with Patrick McDermott (former Libreboot developer, who was present at that
|
||||
conference) did the talk in Leah's place. The talk was never recorded, but the
|
||||
Free Software Foundation has these photos of that talk on their LibrePlanet
|
||||
website (the woman with the blue hair is Lisa, and the long-haired dude with the
|
||||
moustache is Patrick):
|
||||
She got me in touch with a lot of people, and at one point was instrumental in
|
||||
helping Paul Kocialkowski secure funding to work on the Veyron Speedy boards
|
||||
in Libreboot, e.g. ASUS Chromebook C201PA - at the time, this was using
|
||||
Google's own Depthcharge payload, which you can find in 2016 Libreboot
|
||||
releases.
|
||||
|
||||
<http://web.archive.org/web/20170319043913/https://media.libreplanet.org/u/libreplanet/m/session-02-c-mws-png-libreplanet-2016-sessions/>
|
||||
Lorenzo Aloe
|
||||
------------
|
||||
|
||||
<http://web.archive.org/web/20170319043915/https://media.libreplanet.org/u/libreplanet/m/session-02-c-wide-png-libreplanet-2016-sessions/>
|
||||
Provided hardware testing for the [Dell OptiPlex 9020](docs/hardware/dell9020.md),
|
||||
also provided testing for proxmox with GPU passthrough on Dell Precision T1650,
|
||||
confirming near-native performance; with this, you can boot operating systems
|
||||
virtually natively, performance-wise, on a Libreboot system in cases where
|
||||
that OS is not natively supported.
|
||||
|
||||
Fun fact: Patrick is also the lead developer of ProteanOS, an FSF-endorsed
|
||||
embedded OS project: <http://proteanos.com/> (uses BusyBox and Linux-libre)
|
||||
|
||||
Leah Rowe ran *2* LibrePlanet workshops; one in 2015 and another in 2016, while
|
||||
visiting Boston, MA, USA on both occasions to attend these conferences. These
|
||||
workshops were for Libreboot installations. People came to both workshops, to
|
||||
have Libreboot installed onto their computers. As FSF sysadmin, at that time,
|
||||
Lisa provided all of the infrastructure and equipment used at those workshops.
|
||||
Without her help, those workshops would have not been possible.
|
||||
|
||||
When the ASUS KGPE-D16 mainboard (high-end server board) was ported to Libreboot,
|
||||
Leah, working with Timothy Pearson (the one who ported it), shared patches back
|
||||
and forth with Lisa around mid 2016, mostly raminit patches, to get the board
|
||||
running at the FSF offices. This work ultimately lead to a most wonderful
|
||||
achievement:
|
||||
|
||||
The FSF and GNU websites now run on
|
||||
Librebooted ASUS KGPE-D16 based servers, on a fully free GNU+Linux distro. This
|
||||
means that the FSF now has full software freedom for their hosting infrastructure.
|
||||
|
||||
The FSF also provides access to this infrastructure for many other projects
|
||||
(besides GNU projects).
|
||||
|
||||
Lisa was a strong supporter of Libreboot in the very early days of the project,
|
||||
and her contributions were invaluable. I, Leah Rowe, owe her a debt of gratitude.
|
||||
All round good guy, an honest and loyal fan.
|
||||
|
||||
Marcus Moeller
|
||||
--------------
|
||||
|
@ -305,10 +258,6 @@ relating to the [Intel Management Engine](../faq.md#intelme), in addition
|
|||
to making several improvements to the build system in libreboot. **Former
|
||||
libreboot project maintainer.**
|
||||
|
||||
In 2016, Leah Rowe ran a Libreboot installation workshop at the FSF's
|
||||
LibrePlanet conference. Working alongside Leah, Patrick helped run the workshop
|
||||
and assisted with installing Libreboot onto people's machines.
|
||||
|
||||
Paul Kocialkowski
|
||||
-----------------
|
||||
|
||||
|
@ -337,6 +286,8 @@ Helped write the [FAQ section about DMA](../faq.md#hddssd-firmware), and provide
|
|||
general advice in the early days of the project. Peter was a coreboot developer
|
||||
in those days, and a major developer in the *libusb* project (which flashrom
|
||||
makes heavy use of).
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024.
|
||||
|
||||
Peter also wrote the *bucts* utility used to set Backup Control (BUC) Top Swap
|
||||
(TS) bit on i945 laptops such as ThinkPad X60/T60, which is useful for a
|
||||
|
|
|
@ -1,454 +0,0 @@
|
|||
---
|
||||
title: Учасники проекту
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
У цьому списку не обов'язково вказується, хто зараз працює над проектом,
|
||||
але в ньому вказано людей, які зробили значний внесок у проект.
|
||||
|
||||
Якщо ми забули вас тут згадати, повідомте нам, і ми вас додамо. (або якщо
|
||||
ви не хочете, щоб вас згадували, повідомте нас, і ми видалимо ваш
|
||||
запис)
|
||||
|
||||
Інформацію про те, хто працює над libreboot і як працює проект, можна
|
||||
знайти на цій сторінці: [who.md](who.md)
|
||||
|
||||
Ви можете дізнатися історію проекту libreboot, просто прочитавши цю сторінку.
|
||||
Тут докладно розповідається про всі основні внески в проект і
|
||||
загалом про те, як створювався проект (і хто допоміг його створити).
|
||||
|
||||
Лія Роу
|
||||
---------
|
||||
|
||||
**Засновник проекту Libreboot, а зараз провідний розробник** Лія
|
||||
працює над усіма аспектами libreboot, такими як:
|
||||
|
||||
* Загальне керівництво. Лія обробляє всі зовнішні внески до libreboot,
|
||||
переглядає пул реквести, має справу із звітами про помилки, делегує завдання, коли це необхідно
|
||||
або бажано. Лія контролює серверну інфраструктуру libreboot.org, розміщену
|
||||
в її лабораторії.
|
||||
* Лія має останнє слово щодо всіх рішень, беручи внесок через обговорення з
|
||||
представниками громадськості, переважно на IRC. Лія контролює випуски libreboot
|
||||
і загалом підтримує проект. Без Лії не було би Libreboot!
|
||||
* Система збірки (lbmk, скорочення від libreboot Make). Це автоматизована
|
||||
система збирання, яка лежить в серці libreboot; він завантажує, патчить, налаштовує
|
||||
та компілює відповідні компоненти, такі як coreboot, GRUB, і генерує образи ROM
|
||||
libreboot, які ви можете знайти в архівах випусків.
|
||||
* Апстрім робота над coreboot, коли необхідно (та іншими проектами, які libreboot
|
||||
використовує). Це також означає роботу з людьми поза межами проекту libreboot,
|
||||
щоб об'єднати виправлення (між іншим) в апстрім проектах,
|
||||
які libreboot використовує
|
||||
* Надання підтримки користувачів на IRC
|
||||
|
||||
Калеб Ла Гранж
|
||||
---------------
|
||||
|
||||
**Вторинний розробник, номер два для Лії.** Калеб - розробник libreboot на повний робочий день
|
||||
з вузьким фокусом. Калеб зосереджується на кількох напрямках розвитку:
|
||||
|
||||
* Система побудови. Калеб відповідає за вдосконалення та виправлення системи побудови libreboot Make.
|
||||
Зокрема, управління бінарними блобами, автоматизація та відтворюваність.
|
||||
* Апаратна модифікація. Калеб має пристрасть до переробки апаратного забезпечення; паяння,
|
||||
розпаювання, та тестування libreboot на отриманому обладнанні.
|
||||
* Перенесення плати. Все, що підтримується в Coreboot, можна перенести на libreboot, Калеб
|
||||
перевірить і перенесе будь-яку плату, до якої зможе потрапити. Крім того, будь-хто може
|
||||
зв'язатись з Калебом, щоб створити образи libreboot для тестування на своїй платі.
|
||||
* Документація. Калеб активно веде документацію щодо зазначених вище сфер
|
||||
інтересу. Додатково, Калеб відповідає за посібники з розбирання з власними
|
||||
малюнками та діаграмами для кількох плат.
|
||||
* Підтримка користувачів. Калеб активний в irc і готовий допомогти будь-якому користувачеві, який зацікавлений в
|
||||
використанні libreboot або потребує допомоги.
|
||||
* Цілі проекту. Калеб співпрацює з Лією над визначенням цілей проекту.
|
||||
Лія має останнє слово в кожному рішенні.
|
||||
|
||||
Зовнішні проекти
|
||||
================
|
||||
|
||||
Проект Coreboot
|
||||
----------------
|
||||
|
||||
Без coreboot проект libreboot був би просто неможливий.
|
||||
|
||||
Людей і компаній, які працюють над coreboot, багато, і вони роблять
|
||||
проект libreboot таким, яким він є. Проект libreboot активно використовує coreboot
|
||||
для ініціалізації обладнання.
|
||||
|
||||
GRUB
|
||||
--------
|
||||
|
||||
GRUB - це завантажувач, який використовується libreboot. Само собою зрозуміло, що
|
||||
розробники GRUB стимулюють libreboot своєю роботою.
|
||||
|
||||
SeaBIOS
|
||||
-------
|
||||
|
||||
Прошивка libreboot надає SeaBIOS як опцію корисного навантаження. SeaBIOS забезпечує
|
||||
застарілу реалізацію BIOS x86.
|
||||
|
||||
U-Boot
|
||||
------
|
||||
|
||||
Libreboot використовує U-Boot як корисне навантаження coreboot на ноутбуках
|
||||
ARM Chromebook з підтримкою coreboot.
|
||||
|
||||
Внески в алфавітному порядку
|
||||
============================
|
||||
|
||||
Алісса Розенцвейг
|
||||
-----------------
|
||||
|
||||
Переключила веб-сайт на використання розмітки замість рукописного HTML та користувацького
|
||||
PHP. **Колишній супроводжувач проекту libreboot (системний адміністратор libreboot.org).**
|
||||
|
||||
Алісса написала оригінальний генератор статичних сайтів (скрипти `sh`, що перетворюють
|
||||
markdown в html, через pandoc) для libreboot.org. Цей генератор статичних сайтів
|
||||
був значно змінений і відгалужений Лією Роу у формальний проект:
|
||||
|
||||
<https://untitled.vimuser.org/> (untitled - це робота Лії, а не Алісси, але вона базується на
|
||||
оригінальній роботі Аліси над генератором статичних сайтів, який раніше використовував Libreboot;
|
||||
веб-сайт Libreboot тепер створено за допомогою Untitled)
|
||||
|
||||
Альпер Небі Ясак
|
||||
----------------
|
||||
|
||||
Надав інтеграцію системи збірки та документацію для використання
|
||||
U-Boot в якості корисного навантаження, та початкові порти Libreboot деяких ARM Chromebook
|
||||
виходячи з того.
|
||||
|
||||
Альпер також займається розробкою на U-Boot, напр. продовжив майже завершений
|
||||
порт плати `gru-kevin` і об'єднав його з апстрімом.
|
||||
|
||||
Артур Хейманс
|
||||
--------------
|
||||
|
||||
Об'єднав патч із coreboot у libreboot, дозволяючи режимам живлення C3 та C4
|
||||
правильно працювати на ноутбуках GM45. Це була давня проблема до внеску
|
||||
Артура. Артур також виправив розмір відеопам'яті на i945 на системах
|
||||
GM45, що дозволило максимально розподілити VRAM для вбудованих графічних процесорів
|
||||
у цих системах, ще одна давня проблема в libreboot.
|
||||
|
||||
Артур також працював над системою збірки Libreboot, коли він був учасником
|
||||
проекту. Він досі працює над coreboot, і Libreboot отримує велику
|
||||
користь від його роботи. Його внесок у проект coreboot і Libreboot
|
||||
неоціненний.
|
||||
|
||||
Володимир Сербіненко
|
||||
-------------------
|
||||
|
||||
Перенес багато thinkpad, які підтримуються в libreboot, на coreboot, а
|
||||
також зробив багато виправлень у coreboot, які принесли користь проекту libreboot.
|
||||
|
||||
Володимир написав багато вихідного коду ініціалізації відео, який використовується різними
|
||||
платформами Intel у Libreboot, під час прошивки (зараз переписаний
|
||||
іншими в Ada, для libgfxinit в coreboot, але спочатку він був написаний на
|
||||
C і включений безпосередньо в coreboot; libgfxinit є субмодуль третьої сторони).
|
||||
|
||||
Демієн Замміт
|
||||
-------------
|
||||
|
||||
Підтримує порт coreboot Gigabyte GA-G41M-ES2L, інтегрований у
|
||||
libreboot. Також працює над іншим апаратним забезпеченням на користь
|
||||
проекту libreboot.
|
||||
|
||||
Демієн не працював безпосередньо над самим Libreboot, але він багато працював з
|
||||
Лією Роу, інтегруючи патчі та нові порти плати в Libreboot на основі
|
||||
попередньої роботи Демієна над coreboot.
|
||||
|
||||
Денис Каріклі
|
||||
-------------
|
||||
|
||||
На основі роботи, виконаної Пітером Стюджем, Володимиром Сербіненко та іншими
|
||||
в проекті coreboot, вдалось налагодити нативну ініціалізацію графіки для роботи
|
||||
на ThinkPad X60, що дозволяє підтримувати її в libreboot. Денис дав
|
||||
багато порад і допоміг створити проект libreboot.
|
||||
|
||||
Денис був наставником Лії Роу в ранні дні, коли вона заснувала проект
|
||||
Libreboot. Багато прийнятих рішень, особливо щодо системи збірки
|
||||
Libreboot (lbmk), були натхненні розмовами з Денисом.
|
||||
|
||||
Денис навчив Лію про регістри, які використовуються графічним процесором Intel для керування підсвічуванням.
|
||||
В ранні дні, ноутбуки ThinkPad X60 та T60 в Libreboot не мали працюючого
|
||||
контроля підсвічуванням, тому яскравість завжди була 100%. За допомогою Дениса,
|
||||
Лія змогла налаштувати керування підсвічуванням шляхом зворотньої розробки
|
||||
правильних значень для запису в ці регістри. На основі цього в coreboot
|
||||
було написано просте виправлення; однак виправлення перезаписувало безпосередньо регістр
|
||||
і не працювало з елементами керування яскравістю на основі ACPI. Інші в coreboot
|
||||
пізніше вдосконалили його, змусивши елементи керування підсвічуванням на основі ACPI працювати належним чином, на основі цієї
|
||||
попередньої роботи.
|
||||
|
||||
Джерун Квінт
|
||||
------------
|
||||
|
||||
Додав кілька виправлень до документації libreboot, пов'язаної зі
|
||||
встановленням Arch з повним дисковим шифруванням у системах libreboot.
|
||||
|
||||
Джошуа Гей
|
||||
----------
|
||||
|
||||
Джошуа колишній співробітник FSF.
|
||||
|
||||
Джошуа допоміг із раннім заснуванням проекту Libreboot, будучи
|
||||
(на той час) менеджером з ліцензування та відповідності FSF. Його роботою було
|
||||
переглядати продукти, надіслані до FSF для перевірки; FSF має програму
|
||||
сертифікації, під назвою *Поважає Вашу Свободу* (Respects Your Freedom), за якою FSF рекламуватиме
|
||||
продукти вашої компанії, якщо вони постачаються з усім вільним програмним
|
||||
забезпеченням.
|
||||
|
||||
Я, Лія Роу, спочатку просто продавала ноутбуки ThinkPad X60 із звичайним
|
||||
coreboot, і це включало оновлення мікрокоду ЦП. У той час
|
||||
я не дуже про це думала. Джошуа зв'язався зі мною, в своїх повноваженнях FSF, і спитав,
|
||||
чи зацікавить мене програма RYF FSF; Я була дуже здивована, що FSF
|
||||
сприйме мене серйозно, і я сказала так. Саме з цього почалася рання робота
|
||||
над Libreboot. Джошуа показав мені всі проблеми з моїми продуктами, і з
|
||||
цього, рішення було очевидним:
|
||||
|
||||
Необхідно, щоб існував проект із повністю вільною версією coreboot без будь-яких
|
||||
бінарних блобів. У той час (і це актуально й сьогодні) coreboot не був
|
||||
повністю вільним програмним забезпеченням і за замовчуванням постачався з двійковими блобами. Зокрема,
|
||||
оновлення мікрокоду ЦП включено за замовчуванням на всіх машинах x86. Працюючи
|
||||
з Джошуа, я створила повністю вільну версію coreboot.
|
||||
Спочатку він не називався Libreboot, і робота була призначена виключно для моєї
|
||||
компанії (на той час вона називалася Gluglug), яку просувала FSF.
|
||||
|
||||
Джошуа використовував свої медійні зв'язки в FSF, щоб активно рекламувати мою роботу, і
|
||||
13 грудня 2013 року народився проект Libreboot (але не названий так).
|
||||
Джошуа переконався, щоб всі знали, що я роблю!
|
||||
|
||||
Через кілька місяців було створено назву *Libreboot* і зареєстровано доменне ім'я
|
||||
*libreboot.org*. У цей момент офіційно народився проект Libreboot (на початку
|
||||
2014 року). Знову Джошуа надав всю можливу допомогу,
|
||||
активно просуваючи проект, і навіть написав цю статтю на веб-сайті FSF
|
||||
оголосивши про це:
|
||||
|
||||
<https://web.archive.org/web/20171222063358/https://www.fsf.org/blogs/licensing/replace-your-proprietary-bios-with-libreboot>
|
||||
|
||||
Ендрю Роббінс
|
||||
--------------
|
||||
|
||||
Працював над великими частинами старої системи збірки Libreboot і пов'язаною документацією.
|
||||
Ендрю приєднався до проекту Libreboot як штатний розробник у червні 2017,
|
||||
до моменту свого відходу в березні 2021 року.
|
||||
|
||||
Я, Лія Роу, дуже вдячна Ендрю Роббінсу за його численні внески
|
||||
протягом багатьох років.
|
||||
|
||||
Клеменс Нанні
|
||||
-------------
|
||||
|
||||
Внесено багато виправлень і покращень у конфігурацію GRUB, яка використовується в
|
||||
libreboot, а також кілька змін у системі збірки.
|
||||
|
||||
Ліза Марі Магінніс
|
||||
-------------------
|
||||
|
||||
Ліза - колишній системний адміністратор Free Software Foundation. На перших днях
|
||||
проекту вона давала Лії багато технічних порад. Спочатку вона створила
|
||||
IRC-канал Libreboot, коли Лія не знала, як користуватися
|
||||
IRC, а також передала +F статус засновника для каналу. Як системний
|
||||
адміністратор FSF, роботою Лізи було підтримувати велику частину інфраструктури,
|
||||
яку використовує Libreboot; на той час списки розсилки на веб-сайті Savannah
|
||||
використовувалися проектом Libreboot. Коли Пол Коціалковскі був
|
||||
учасником проекту в 2016 році, вона допомогла йому отримати допомогу від FSF; на той час він був
|
||||
керівником проекту Replicant, який фінансував FSF, і FSF дозволив
|
||||
йому використати частину цього фінансування для його роботи над Libreboot, завдяки Лізи
|
||||
підтримці, коли вона працювала у FSF.
|
||||
|
||||
Ліза також втрутилася, коли Лія Роу пропустила виступ на LibrePlanet 2016. Лія мала
|
||||
виступити з доповіддю про Libreboot, але не з'явилася вчасно. Ліза разом
|
||||
із Патріком Макдермоттом (колишнім розробником Libreboot, який був присутній
|
||||
на тій конференції) виступили замість Лії. Розмова ніколи не була записана, але
|
||||
Фонд вільного програмного забезпечення має ці фотографії цієї розмови на веб-сайті LibrePlanet
|
||||
(жінка з блакитним волоссям - Ліза, а довговолосий хлопець із вусами -
|
||||
Патрік):
|
||||
|
||||
<http://web.archive.org/web/20170319043913/https://media.libreplanet.org/u/libreplanet/m/session-02-c-mws-png-libreplanet-2016-sessions/>
|
||||
|
||||
<http://web.archive.org/web/20170319043915/https://media.libreplanet.org/u/libreplanet/m/session-02-c-wide-png-libreplanet-2016-sessions/>
|
||||
|
||||
Цікавий факт: Патрік також є провідним розробником ProteanOS, проекту вбудованої
|
||||
ОС, схваленого FSF: <http://proteanos.com/> (використовує BusyBox і Linux-libre)
|
||||
|
||||
Лія Роу провела *2* семінари LibrePlanet; один у 2015 році та інший у 2016 році,
|
||||
відвідуючи Бостон, Массачусетс, США в обох випадках для участі в цих конференціях. Ці
|
||||
семінари стосувалися встановлення Libreboot. Люди приходили на обидва семінари, щоб
|
||||
встановити Libreboot на свої комп'ютери. Як системний адміністратор FSF, на той час,
|
||||
Ліза забезпечила всю інфраструктуру та обладнання, яке використовувалося на цих семінарах.
|
||||
Без її допомоги ці майстер-класи були б неможливими.
|
||||
|
||||
Коли материнська плата ASUS KGPE-D16 (серверна плата високого класу) була перенесена на Libreboot,
|
||||
Лія, працюючи з Тімоті Пірсоном (той, хто її переніс),
|
||||
приблизно в середині 2016 року поділилася з Лізою виправленнями, в основному виправленнями raminit, щоб отримати плату, яка працює в офісах FSF. Ця робота
|
||||
зрештою призвела до чудового досягнення:
|
||||
|
||||
Веб-сайти FSF і GNU тепер працюють на, з встановленим Libreboot,
|
||||
заснованих на ASUS KGPE-D16 серверах, на повністю вільному GNU+Linux дистрибутиві. Це
|
||||
означає, що FSF тепер має повну свободу програмного забезпечення для своєї
|
||||
інфраструктури хостингу.
|
||||
|
||||
FSF також надає доступ до цієї інфраструктури для багатьох інших проектів
|
||||
(крім проектів GNU).
|
||||
|
||||
Ліза була сильною прихильницею Libreboot на перших днях проекту,
|
||||
і її внесок був неоціненним. Я, Лія Роу, у боргу перед нею.
|
||||
|
||||
Маркус Мьоллер
|
||||
--------------
|
||||
|
||||
Зробив логотип libreboot.
|
||||
|
||||
Nicholas Chin
|
||||
-------------
|
||||
|
||||
[Ported Dell Latitude E6400 to Libreboot](news/e6400.md).
|
||||
|
||||
Патрік "П. Дж." Макдермотт
|
||||
---------------------------
|
||||
|
||||
Патрік також провів багато досліджень і написав розділ поширених запитань libreboot,
|
||||
пов'язаний із [Intel Management Engine](../faq.md#intelme), а також зробив кілька покращень у
|
||||
системі збірки libreboot. **Колишній супроводжувач проекту
|
||||
libreboot.**
|
||||
|
||||
У 2016 році Лія Роу провела семінар зі встановлення Libreboot на конференції FSF
|
||||
LibrePlanet. Працюючи разом з Лією, Патрік допомагав вести семінар
|
||||
та допомагав установлювати Libreboot на комп'ютери людей.
|
||||
|
||||
Пітер Стюдж
|
||||
-----------
|
||||
|
||||
Допоміг написати [розділ поширених запитань про DMA](../faq.md#hddssd-firmware), та надав
|
||||
загальні поради на перших днях проекту. У той час Пітер був розробником coreboot
|
||||
і головним розробником проекту *libusb* (який flashrom
|
||||
активно використовує).
|
||||
|
||||
Пітер також написав утиліту *bucts*, яка використовується для встановлення біта Top Swap
|
||||
(TS) для керування резервним копіюванням (BUC) на ноутбуках i945, таких як ThinkPad X60/T60, яка є корисною для
|
||||
обхідного шляху для прошивки Libreboot без використання зовнішнього обладнання; на цій машині,
|
||||
з Lenovo BIOS, можна перепрошити все, крім головного завантажувального
|
||||
блоку, але платформи Intel мають 2 завантажувальні блоки, і ви вказуєте, який із них
|
||||
використовувати, встановленням біта TS. Потім ви завантажуєтеся лише з одним прошитим завантажувальним блоком
|
||||
(завантажувальним блоком проекту coreboot на цій машині), а потім скидаєте
|
||||
bucts перед повторною прошивкою ROM, щоб прошити основний завантажувальний блок. Libreboot
|
||||
розміщує копію його роботи, оскільки його веб-сайт, на якому розміщено bucts,
|
||||
більше не відповідає.
|
||||
|
||||
Пол Коціалковський
|
||||
-----------------
|
||||
|
||||
Переніс ноутбуки Chromebook на основі ARM (Rockchip RK3288 SoC) до
|
||||
libreboot. Також один із головних розробників [Replicant](http://www.replicant.us/).
|
||||
|
||||
Пол Менцель
|
||||
-----------
|
||||
|
||||
Дослідив та виправив помилку в coreboot на ThinkPad X60/T60, яку виявляло
|
||||
ядро Linux 3.12 і новіших версій, через яку прискорення 3D не
|
||||
працювало, а відео загалом ставало нестабільним. Проблема полягала в тому, що
|
||||
coreboot під час ініціалізації відеочіпсета Intel, відображав *GTT Stolen Memory* в
|
||||
не тому місці, оскільки код базувався на коді ядра, а в ядрі Linux
|
||||
була така сама помилка. Коли Linux це виправив, він виявив ту саму помилку в coreboot.
|
||||
|
||||
Пол працював над цим із Libreboot,
|
||||
періодично надсилаючи патчі для тестування, доки помилку не було виправлено
|
||||
в coreboot, а потім допоміг ій інтегрувати виправлення в libreboot.
|
||||
|
||||
Riku Viitanen
|
||||
-------------
|
||||
|
||||
Added support for HP Elite 8200 SFF desktop PC to Libreboot. You can read
|
||||
about this in the hardware page:
|
||||
|
||||
[HP Elite 8200 SFF](docs/hardware/hp8200sff.md)
|
||||
|
||||
Стів Шентон
|
||||
-------------
|
||||
|
||||
Стів виконав першу роботу зі зворотньої розробки Intel Flash Descriptor, який використовується
|
||||
на машинах ICH9M, таких як ThinkPad X200. Він створив структуру C, що визначає (використовуючи
|
||||
бітові поля в C) цю область дескриптора. За допомогою деяких хитрих трюків він зміг
|
||||
виявити існування біта в дескрипторі для *вимкнення* Intel ME
|
||||
(management engine) на цих платформах.
|
||||
|
||||
Його початкове підтвердження концепції визначило лише дескриптор, і зробило би це:
|
||||
|
||||
* Читання дескриптора за замовчуванням і регіонів GbE з ROM Lenovo X200 (прошивка
|
||||
за замовчуванням, не coreboot)
|
||||
* Вимкнення ME, встановивши 2 біти в дескрипторі
|
||||
* Вимкнення регіона ME
|
||||
* Переміщення дескриптора+GbE (загалом 12КБ) поруч
|
||||
* Виділення решти флеш-пам'яті для регіону BIOS
|
||||
* На основі цього створено 12КБ регіон дескриптор+область GBE для вставки
|
||||
в образ ROM coreboot.
|
||||
|
||||
У перші дні, до того, як Libreboot підтримував платформи GM45+ICH9M, такі як
|
||||
ThinkPad X200/T400, ви могли використовувати ці машини, але щоб уникнути
|
||||
Intel ME, вам доводилося виконувати прошивку без області дескриптора. У ті часи це працювало нормально,
|
||||
тому що ME обробляв лише TPM та AMT на цих машинах, і система
|
||||
працювала нормально, але Intel Flash Descriptor також обробляє область Intel GbE NVM
|
||||
у флеш-пам'яті, яка використовується для інтерфейсу Intel Gigabit Ethernet.
|
||||
|
||||
Отже, ви або мали Intel ME, або не підтримували ethernet. Стів зрозумів, як
|
||||
вимкнути Intel ME за допомогою 2 бітів перемикання в дескрипторі, а також як видалити область
|
||||
Intel ME з флеш-пам'яті.
|
||||
|
||||
Ґрунтуючись на його дослідженні, я, Лія Роу, працюючи разом зі Стівом, також виконала зворотню розробку
|
||||
області Intel GbE NVM (енергонезалежна пам'ять) у
|
||||
завантажувальній флеш-пам'яті. Цей регіон визначає параметри конфігурації для вбудованої мережевої карти Intel
|
||||
GbE, якщо присутня.
|
||||
|
||||
На основі цього я змогла взяти початкове підтвердження концепції та написати
|
||||
утиліту `ich9gen`, яка генерує Intel Flash Descriptor та регіон GbE NVM,
|
||||
з нуля, без визначення регіону Intel ME. Саме цей інструмент,
|
||||
інструмент `ich9gen`, використовує Libreboot для надання образів ROM для GM45+ICH9M
|
||||
платформ (таких як ThinkPad X200/T400/T500/W500), із повнофункціональним
|
||||
дескриптором та функціональним Gigabit Ethernet, але *без* необхідності мікропрограми Intel
|
||||
Management Engine (ME), що робить ці машини *вільними* (ME
|
||||
повністю вимкнено, коли ви використовуєте образ дескриптора+gbe, створене `ich9gen`).
|
||||
|
||||
З *моїм* інструментом `ich9gen` (інструмент Стіва називався `ich9deblob`), вам більше
|
||||
не потрібен був дамп оригінальної мікропрограми Lenovo BIOS! Я не могла би написати цей інструмент
|
||||
без первинного підтвердження концепції Стіва. Я працювала з ним
|
||||
протягом багатьох місяців. Вся GM45+ICH9M підтримка (X200, T400 і так далі) в
|
||||
Libreboot стала можливою завдяки його роботі у 2014 році.
|
||||
|
||||
Тімоті Пірсон
|
||||
---------------
|
||||
|
||||
Перенес плату ASUS KGPE-D16 до coreboot для компанії Raptor
|
||||
Engineering, генеральним директором якої є Тімоті.
|
||||
Тімоті підтримує цей код у coreboot, допомогаючи проекту,
|
||||
з його інтеграцією з libreboot. Контактні
|
||||
дані цієї людини є на сайті raptor.
|
||||
|
||||
**Підтримку D16 було припинено 19 листопада 2022 року. Ви все ще можете використовувати
|
||||
старіші версії Libreboot, і старіші випуски.**
|
||||
|
||||
Swift Geek
|
||||
----------
|
||||
|
||||
Додав патч для ich9gen для створення дескрипторів розміром 16MiB.
|
||||
|
||||
Після цього Swift Geek повільно почав долучатися, поки не став розробником на повний
|
||||
робочий день. Внески Swift Geek насправді ніколи не були у формі *коду*,
|
||||
але те, що йому не вистачало в коді, він компенсував чудовою підтримкою як для користувачів,
|
||||
так і для інших розробників, допомагаючи іншим дізнатися більше про технології на
|
||||
низькому рівні.
|
||||
|
||||
Коли Swift Geek був учасником проекту, його роль здебільшого полягала в
|
||||
наданні підтримки користувачам (на каналі IRC) і проведенні досліджень. Swift Geek знає
|
||||
багато про апаратне забезпечення. Swift Geek також зробив деяку апстрім розробку GRUB.
|
||||
|
||||
Swift Geek неодноразово надавав технічні поради Лії Роу
|
||||
та допоміг їй покращити її навички паяння, а також навчив її
|
||||
деяким навичкам ремонту, до того моменту, коли вона тепер може виправляти більшість несправностей
|
||||
на материнських платах ThinkPad (під час перегляду схем та бордв'ю).
|
||||
|
||||
Swiftgeek залишив проект у березні 2021 року. Я, Лія Роу, бажаю його всього найкращого в його
|
||||
починаннях і дуже вдячна за його численні внески протягом багатьох
|
||||
років.
|
||||
|
||||
vitali64
|
||||
--------
|
||||
|
||||
Додав підтримку cstate 3 на macbook21, що забезпечує тривалий термін служби батареї
|
||||
та нижчу температуру процесора під час простою. vitali64 на irc
|
|
@ -25,6 +25,45 @@ libreboot from the available source code.
|
|||
The following document describes how `lbmk` works, and how you can make changes
|
||||
to it: [libreboot maintenance manual](../maintain/)
|
||||
|
||||
Release status
|
||||
==============
|
||||
|
||||
Information about status will be reported during builds; if a board is
|
||||
marked as stable, the build proceeds without further input. If the board is
|
||||
marked anything other, a warning appears asking if you wish to proceed; to
|
||||
disable these warnings, do this before building (not recommended):
|
||||
|
||||
export LBMK_STATUS=n
|
||||
|
||||
In Libreboot, we specify: `stable`, `unstable`, `broken` or `untested`.
|
||||
The "unstable" marking means that the board boots mostly/entirely reliably
|
||||
annd should be safe to use, but may have a few issues, but nothing which would,
|
||||
for example, cause safety issues e.g. thermal, data reliability etc.
|
||||
|
||||
The `broken` setting means that a given board will likely brick if flashed.
|
||||
The `untested` setting means untested.
|
||||
|
||||
Release status is always set with regards to the current lbmk revision, on
|
||||
the theory that the current revision is being used to generate a full release.
|
||||
|
||||
Multi-threaded builds
|
||||
=====================
|
||||
|
||||
Libreboot's build system defaults to a single build thread, but you can change
|
||||
it by doing e.g.
|
||||
|
||||
export LBMK_THREADS=4
|
||||
|
||||
This would make lbmk run on 4 threads.
|
||||
|
||||
Environmental variables
|
||||
=======================
|
||||
|
||||
Please read about environmental variables in [the build
|
||||
instructions](../maintain/), before running lbmk. You should set
|
||||
your variables accordingly, though you do not technically need to; some
|
||||
of them may be useful, e.g. `LBMK_THREADS` (sets the number of build threads).
|
||||
|
||||
Sources
|
||||
=======
|
||||
|
||||
|
@ -93,6 +132,13 @@ Actual development/testing is always done using lbmk directly, and this
|
|||
includes when building from source. Here are some instructions to get you
|
||||
started:
|
||||
|
||||
Zero..st, check time/date
|
||||
-------------------------
|
||||
|
||||
Make sure date/hwclock report the correct time and date on your system,
|
||||
because parts of the build process download from HTTPS servers and wrong
|
||||
time or date can cause connections to be dropped during negotiation.
|
||||
|
||||
First, install build dependencies
|
||||
---------------------------------
|
||||
|
||||
|
@ -174,118 +220,3 @@ example want to modify a config, e.g.:
|
|||
|
||||
Or perhaps add a new board! The maintenance manual will teach you how the
|
||||
Libreboot build system (lbmk) works!
|
||||
|
||||
Post-compilation steps
|
||||
======================
|
||||
|
||||
So you compiled your Libreboot image? Congratulations!
|
||||
|
||||
Before you flash, please make sure that you *dumped* two copies of the original
|
||||
firmware just in case (verifying the hashes of each dump, to ensure that they
|
||||
match), using the `-r` option in flashrom.
|
||||
|
||||
There are some additional considerations:
|
||||
|
||||
Regarding binary blobs
|
||||
----------------------
|
||||
|
||||
Firstly, you should read the Libreboot *Binary Blob Reduction Policy*:
|
||||
<https://libreboot.org/news/policy.html>
|
||||
|
||||
A lot of mainboards in Libreboot will boot entirely with free software,
|
||||
but there are certain newer mainboards supported in Libreboot
|
||||
that need binary blobs added to them, mostly for minor initialisation tasks.
|
||||
|
||||
They are *automatically* inserted during the build process, but then deleted
|
||||
during the *release* process; images built directly from lbmk can be flashed
|
||||
without further modification, but release images need to have these files
|
||||
re-inserted (e.g. KBC1126 EC firmware on HP EliteBooks). Please read this page
|
||||
for context:
|
||||
<https://libreboot.org/docs/install/ivy_has_common.html>
|
||||
|
||||
The scripts under directory `script/vendor/` are the ones that do this.
|
||||
Specifically, `script/vendor/download`. The benefit of this is that you
|
||||
do not need to extract anything from the original vendor image (e.g. Lenovo
|
||||
UEFI image).
|
||||
|
||||
To know if this was performed on your board, you can read the Freedom Status
|
||||
page which documents which files are used (if any), on which boards:
|
||||
<https://libreboot.org/freedom-status.html>
|
||||
|
||||
There are specific files that you must know about, so they will be covered
|
||||
next:
|
||||
|
||||
### Regarding CPU microcode
|
||||
|
||||
Libreboot release archives provide ROMs with or without CPU microcode updates,
|
||||
but the newest revisions of lbmk (from `lbmk.git`) *only* build ROM images that
|
||||
contain microcode updates, by default. Libreboot's build system contains a script
|
||||
that will generate release archives, and this is used to provide Libreboot
|
||||
releases; this script is what provides the images with microcode removed,
|
||||
alongside the default ones generated by lbmk during the build.
|
||||
|
||||
Please read:
|
||||
<https://libreboot.org/freedom-status.html#cpu-microcode>
|
||||
|
||||
The linked page has info, and includes instructions about how to manually remove
|
||||
them, if you wish to do so. Removal of CPU microcode updates (on Intel/AMD
|
||||
processors) will result in unpredictable security/stability issues, so beware.
|
||||
|
||||
Further context is provided in the Libreboot *Binary Blob Reduction Policy*:
|
||||
<https://libreboot.org/news/policy.html>
|
||||
|
||||
We *recommend* that you do not delete these updates, but you have the freedom
|
||||
to choose. Additionally: we have only tested certain mainboards under this
|
||||
configuration. To know which ones they are, do this in `lbmk.git`:
|
||||
|
||||
cd config/coreboot/
|
||||
git grep microcode_required
|
||||
|
||||
Example entry:
|
||||
|
||||
e6400_4mb/target.cfg:microcode_required="n"
|
||||
|
||||
If it says `="n"`, that means it has been tested. That *does not* mean it will
|
||||
be stable, it's just that we're reasonably sure it will at least *boot* most
|
||||
of the time, but you should expect random instability e.g. kernel panics.
|
||||
|
||||
If a given mainboard *excludes* `microcode_required` in `target.cfg`, or if
|
||||
it says `microcode_required="y"`, then the release ROMs will only contain
|
||||
microcode updates. Manual removal (as above) is still possible, but it has
|
||||
not been tested and is not recommended.
|
||||
|
||||
NOTE: ARM-based chromebooks (that Libreboot supports) don't use microcode at
|
||||
all. This section is only revelant for x86 (Intel/AMD).
|
||||
|
||||
### Regarding Nvidia GPU ROM (Dell Latitude E6400)
|
||||
|
||||
Dell Latitude E6400 comes in two variants: Nvidia graphics, or Intel graphics.
|
||||
More information is available on the page:
|
||||
<https://libreboot.org/docs/hardware/e6400.html>
|
||||
|
||||
The intel graphics model can boot with coreboot's native video initialisation,
|
||||
which is free software. The *Nvidia* model (comes with Nvidia GPU) requires
|
||||
proprietary code called a *VGA Option ROM* to initialise the video display in
|
||||
early boot.
|
||||
|
||||
Libreboot automatically fetches this during the build process, inserting it into
|
||||
the very same ROM image that can be flashed on either model, but the VGA ROM
|
||||
will only be *executed* if you actually have the Nvidia *GPU* on your board.
|
||||
|
||||
**ALSO: Libreboot 20230625 did not support Nvidia models at all (only Intel).
|
||||
In releases, only Libreboot 20231021 and newer will support it.**
|
||||
|
||||
Pre-built ROM images from release archives since 20231021 will *not* contain
|
||||
this file by default, but it will be present if you compiled directly from lbmk.
|
||||
To remove it, do this:
|
||||
|
||||
./cbutils/default/cbfstool libreboot.rom remove -n pci10de,06eb.rom
|
||||
|
||||
The cbfstool binary was compiled when your image (target `e6400_4mb`) was
|
||||
compiled, which can alter the file system within your coreboot image.
|
||||
|
||||
Obviously, removing this VGA ROM will mean that the ROM image will only work
|
||||
correctly on Intel GPU variants of E6400, but you probably knew that already!
|
||||
|
||||
(If you're using a release archive instead, you can re-insert the VGA ROM by
|
||||
following [these instructions](../install/ivy_has_common.md))
|
||||
|
|
|
@ -35,6 +35,55 @@ libreboot з доступного джерельного коду.
|
|||
Наступний документ описує те, як працює `lbmk`, і як ви можете робити зміни
|
||||
до нього: [керівництво обслуговування libreboot](../maintain/)
|
||||
|
||||
Release status
|
||||
==============
|
||||
|
||||
Information about status will be reported during builds; if a board is
|
||||
marked as stable, the build proceeds without further input. If the board is
|
||||
marked anything other, a warning appears asking if you wish to proceed; to
|
||||
disable these warnings, do this before building (not recommended):
|
||||
|
||||
export LBMK_STATUS=n
|
||||
|
||||
In Libreboot, we specify: `stable`, `unstable`, `broken` or `untested`.
|
||||
The "unstable" marking means that the board boots mostly/entirely reliably
|
||||
annd should be safe to use, but may have a few issues, but nothing which would,
|
||||
for example, cause safety issues e.g. thermal, data reliability etc.
|
||||
|
||||
The `broken` setting means that a given board will likely brick if flashed.
|
||||
The `untested` setting means untested.
|
||||
|
||||
Release status is always set with regards to the current lbmk revision, on
|
||||
the theory that the current revision is being used to generate a full release.
|
||||
The setting is decided on a board-by-board basis, taking its various quirks
|
||||
and idiosynrasies into account.
|
||||
|
||||
Multi-threaded builds
|
||||
=====================
|
||||
|
||||
Libreboot's build system defaults to a single build thread, but you can change
|
||||
it by doing e.g.
|
||||
|
||||
export LBMK_THREADS=4
|
||||
|
||||
This would make lbmk run on 4 threads.
|
||||
|
||||
Environmental variables
|
||||
=======================
|
||||
|
||||
Please read about environmental variables in [the build
|
||||
instructions](../maintain/), before running lbmk. You should set
|
||||
your variables accordingly, though you do not technically need to; some
|
||||
of them may be useful, e.g. `LBMK_THREADS` (sets the number of build threads).
|
||||
|
||||
Environmental variables
|
||||
=======================
|
||||
|
||||
Please read about environmental variables in [the build
|
||||
instructions](../maintain/), before running lbmk. You should set
|
||||
your variables accordingly, though you do not technically need to; some
|
||||
of them may be useful, e.g. `LBMK_THREADS` (sets the number of build threads).
|
||||
|
||||
Git
|
||||
===
|
||||
|
||||
|
@ -61,6 +110,13 @@ Python
|
|||
Python2 не використовується lbmk або будь-чим, що завантажується в якості модулів. Ви
|
||||
маєте переконатись, що команда `python` виконує python 3 на вашій системі.
|
||||
|
||||
Zero..st, check time/date
|
||||
-------------------------
|
||||
|
||||
Make sure date/hwclock report the correct time and date on your system,
|
||||
because parts of the build process download from HTTPS servers and wrong
|
||||
time or date can cause connections to be dropped during negotiation.
|
||||
|
||||
Побудова з джерельного коду
|
||||
============================
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ title: Intel D510MO and D410PT desktop boards
|
|||
|
||||
<div class="specs">
|
||||
<center>
|
||||
![Intel D510MO]()
|
||||
Intel D510MO
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|
|
|
@ -0,0 +1,231 @@
|
|||
---
|
||||
title: Dell OptiPlex 9020 SFF/MT (and 7020), and XE2 MT/SFF
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**NOTE: Dell XE2 MT/SFF are also known to work, using the 9020 images. Same
|
||||
motherboards as the 9020 and 7020.**
|
||||
|
||||
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
|
||||
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
|
||||
|
||||
<div class="specs">
|
||||
<center>
|
||||
<img tabindex=1 alt="Dell OptiPlex 9020" class="p" src="https://av.libreboot.org/9020/9020sff.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020sff.jpg" /></span>
|
||||
<img tabindex=1 alt="Dell OptiPlex 9020" class="p" src="https://av.libreboot.org/9020/9020sff_ports.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020sff_ports.jpg" /></span>
|
||||
<br/>
|
||||
<img tabindex=1 alt="Dell OptiPlex 9020" class="p" src="https://av.libreboot.org/9020/9020sff_inside.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020sff_inside.jpg" /></span>
|
||||
<img tabindex=1 alt="Dell OptiPlex 9020" class="p" src="https://av.libreboot.org/9020/9020mt.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020mt.jpg" /></span>
|
||||
<br/>
|
||||
<img tabindex=1 alt="Dell OptiPlex 9020" class="p" src="https://av.libreboot.org/9020/9020mt_ports.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020mt_ports.jpg" /></span>
|
||||
<img tabindex=1 alt="Dell OptiPlex 9020" class="p" src="https://av.libreboot.org/9020/9020mt_inside.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020mt_inside.jpg" /></span>
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|----------------------------|------------------------------------------------|
|
||||
| **Manufacturer** | Dell |
|
||||
| **Name** | OptiPlex 9020 SFF/MT |
|
||||
| **Variants** | OptiPlex 9020 SFF/MT |
|
||||
| **Chipset** | Intel Q87 Express |
|
||||
| **CPU** | Intel Haswell |
|
||||
| **Graphics** | Intel HD Graphics |
|
||||
| **Memory** | DDR3 DIMMs (max 32GB, 4x8GB) |
|
||||
| **Architecture** | x86_64 |
|
||||
| **Original boot firmware** | Dell UEFI firmware |
|
||||
| **Intel ME/AMD PSP** | Present. Can be disabled with me_cleaner. |
|
||||
| **Flash chip** | 2x SOIC-8, 12MiB (8+4) (96Mbit) |
|
||||
|
||||
|
||||
```
|
||||
W+: Works without blobs;
|
||||
N: Doesn't work;
|
||||
W*: Works with blobs;
|
||||
U: Untested;
|
||||
P+: Partially works;
|
||||
P*: Partially works with blobs
|
||||
?: UNKNOWN AT THIS TIME
|
||||
```
|
||||
|
||||
| ***Features*** | |
|
||||
|---------------------------------------------------|----|
|
||||
| **Internal flashing with original boot firmware** | ? |
|
||||
| **Display (if Intel GPU)** | W+ |
|
||||
| **Display (discrete CPU, SeaBIOS payload only)** | W* |
|
||||
| **Audio** | W+ |
|
||||
| **RAM Init** | W+ |
|
||||
|
||||
| ***Payloads supported*** | |
|
||||
|----------------------------|-----------|
|
||||
| **GRUB (libgfxinit only)** | Works |
|
||||
| **SeaBIOS** | Works |
|
||||
| **SeaBIOS with GRUB** | Works |
|
||||
</div>
|
||||
Introduction
|
||||
============
|
||||
|
||||
**Unavailable in Libreboot 20240126 or earlier. You must [compile from
|
||||
source](../build/), or use a version newer than Libreboot 20240126**
|
||||
|
||||
Official information about the laptop can be found here:
|
||||
<https://i.dell.com/sites/doccontent/shared-content/data-sheets/en/Documents/optiplex-9020-micro-technical-spec-sheet.pdf>
|
||||
|
||||
Buy Libreboot preinstalled
|
||||
======================
|
||||
|
||||
You can buy this machine professionally serviced, with Libreboot preinstalled
|
||||
and your choice of Linux/BSD system. Many upgrades are also available. See:
|
||||
|
||||
<https://minifree.org/product/libreboot-9020/>
|
||||
|
||||
Sales are conducted to provide funding for the Libreboot project. Leah Rowe
|
||||
who runs Minifree, is also Libreboot's founder and lead developer.
|
||||
|
||||
Patch
|
||||
=====
|
||||
|
||||
Mate Kukri is the author of the original coreboot port. Thanks go to Kukri.
|
||||
Kukri's patch is here:
|
||||
|
||||
<https://review.coreboot.org/c/coreboot/+/55232/31>
|
||||
|
||||
This patch, at this revision (patchset 31), is what Libreboot uses for this
|
||||
port.
|
||||
|
||||
QUBES: how to get it working
|
||||
-------------------
|
||||
|
||||
Qubes requires IOMMU to be turned on. Please now read the next section.
|
||||
Qubes *WILL* work, if you configure Libreboot as directed below, but otherwise
|
||||
it will fail by default. This is because Libreboot *disables the IOMMU by
|
||||
default*, on this board.
|
||||
|
||||
Graphics cards and IOMMU
|
||||
--------------
|
||||
|
||||
IOMMU is buggy for some reason (we don't know why yet), when you plug in
|
||||
a graphics card. The graphics card simply won't work. On some of them,
|
||||
you can use the console but as soon as you start xorg, it will just b0rk.
|
||||
|
||||
Current Libreboot revisions *disable IOMMU by default*, on this board. The
|
||||
coreboot code for initialising IOMMU was modified by the Libreboot project, to
|
||||
make it a toggle. IOMMU works fine if you use only Intel graphics.
|
||||
|
||||
The way coreboot works is this: if vt-d is present on the CPU, it enables an
|
||||
IOMMU, and only if vt-d is present. This is still the behaviour in Libreboot,
|
||||
but Libreboot adds an additional check: if `iommu` is not set in nvram, it
|
||||
defaults to on, but if it's set to disabled, then IOMMU is not initialised.
|
||||
|
||||
On all other Haswell boards, LIbreboot enables IOMMU by default. To enable
|
||||
it on the 9020, do this on your ROM:
|
||||
|
||||
nvramtool -C libreboot.rom -w iommu=Enable
|
||||
|
||||
Then flash the ROM image. You can find nvram
|
||||
under `src/coreboot/default/util/nvramtool`. Do this in lbmk if you don't
|
||||
already havse `src/coreboot/default/`:
|
||||
|
||||
./update trees -f coreboot default
|
||||
|
||||
Then do this:
|
||||
|
||||
make -C src/coreboot/default/util/nvramtool
|
||||
|
||||
The binary `nvramtool` will then live in that directory. More information
|
||||
available in [Libreboot build instructions](../build/). Information about
|
||||
dumping/flashing the ROM can be found
|
||||
in [Libreboot flashing instructions](../install/)
|
||||
and [Libreboot external flashing instructions](../install/spi.md).
|
||||
|
||||
NOTE: If IOMMU is enabled, you can still use a graphics card, but you must
|
||||
pass this on the Linux cmdline paramaters: `iommu=off`
|
||||
|
||||
NOTE2: Libreboot uses a *static option table* on all boards that have nvram,
|
||||
which is why you must use the `-C` option on your ROM, to change the static
|
||||
table that is baked into it.
|
||||
|
||||
On current lbmk master, graphics cards *do* work. The option to hide PEG
|
||||
devices from MRC was disabled. Now when you insert a graphics card, the
|
||||
onboard Intel GPU is disabled and the graphics card is used instead.
|
||||
|
||||
Here is an example of the type of errors we got when testing graphics cards
|
||||
with IOMMU enabled:
|
||||
|
||||
<https://av.vimuser.org/error.jpg>
|
||||
|
||||
We believe the native MRC replacement may work better on graphics card with
|
||||
IOMMU turned on. This will be enabled in a future Libreboot release, if not
|
||||
already supported.
|
||||
|
||||
7020 compatibility
|
||||
------------------
|
||||
|
||||
7020/9020 MT each have the same motherboard. Flash the 9020 ROM from Libreboot
|
||||
on your 7020, and it will work.
|
||||
|
||||
Ditto 7020/9020 SFF, it's the same motherboard. However, Libreboot provides
|
||||
separate targets for MT and SFF.
|
||||
|
||||
Build ROM image from source
|
||||
---------------------------
|
||||
|
||||
For the MT variant (7020 MT and 9020 SFF):
|
||||
|
||||
./build roms dell9020mt_12mb
|
||||
|
||||
For the SFF variant (7020 MT and 7020 SFF):
|
||||
|
||||
./build roms dell9020sff_12mb
|
||||
|
||||
It is important that you choose the right one. The MT variant is the full
|
||||
MTX tower.
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
Insert binary files
|
||||
-------------------
|
||||
|
||||
If you're using a release ROM, please ensure that you've inserted extra firmware
|
||||
required refer to the [guide](../install/ivy_has_common.md) for that. (failure
|
||||
to adhere to this advice will result in a bricked machine)
|
||||
|
||||
Libreboot's build system automatically downloads and processes these files if
|
||||
you build Libreboot from source, but the same logic that it uses must be re-run
|
||||
if you're using a release image.
|
||||
|
||||
Set MAC address
|
||||
---------------
|
||||
|
||||
This platform uses an Intel Flash Descriptor, and defines an Intel GbE NVM
|
||||
region. As such, release/build ROMs will contain the same MAC address. To
|
||||
change the MAC address, please read [nvmutil documentation](../install/nvmutil.md).
|
||||
|
||||
Flash a ROM image (software)
|
||||
-----------------
|
||||
|
||||
If you're already running Libreboot, and you don't have flash protection
|
||||
turned on, [internal flashing](../install/) is possible.
|
||||
|
||||
Flash a ROM image (hardware)
|
||||
-----------------
|
||||
|
||||
**REMOVE all power sources and connectors from the machine, before doing this.
|
||||
This is to prevent short circuiting and power surges while flashing.**
|
||||
|
||||
For general information, please refer to [25xx NOR flash
|
||||
instructions](../install/spi.md) - that page refers to use of socketed flash.
|
||||
|
||||
There are two SOIC-8 chips. You can split up your 12MB ROM image
|
||||
like so:
|
||||
|
||||
dd if=libreboot.rom of=4mb.rom bs=1M skip=8
|
||||
dd if=libreboot.rom of=8mb.rom bs=1M count=8
|
||||
|
||||
The side cover comes off easily, and you can find the flash ICs next to the RAM.
|
||||
|
||||
Here's the SOIC8 ICs being flashed:
|
||||
|
||||
<img tabindex=1 alt="SOIC8 flash IC on 9020 SFF" style="max-width:35%" src="https://av.libreboot.org/9020/9020sff_flash1.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020sff_flash1.jpg" /></span>
|
||||
<img tabindex=1 alt="SOIC8 flash IC on 9020 SFF" style="max-width:35%" src="https://av.libreboot.org/9020/9020sff_flash2.jpg" /><span class="f"><img src="https://av.libreboot.org/9020/9020sff_flash2.jpg" /></span>
|
||||
|
||||
Enjoy!
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
title: Dell Latitude thermal throttling
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
On some Dell Latitude laptops, you may encounter random shutdowns on
|
||||
heavy load. We believe this is because the SMSC EC is overly conservative
|
||||
by default; it is in charge of handling thermals and fan control on this
|
||||
machine. Our theory is that coreboot needs to write certain EC commands
|
||||
to allow higher temperatures; please read:
|
||||
|
||||
<https://codeberg.org/libreboot/lbmk/issues/202>
|
||||
|
||||
Basically, what you need to do is:
|
||||
|
||||
* Use high quality thermal paste (don't use the same dried up paste that the
|
||||
laptop came with, if you bought it on ebay for example). Arctic MX-6 is good.
|
||||
* Check that the fan works reliably
|
||||
|
||||
Also: the `intel_pstate` driver can be used to artifically cap CPU speed. See:
|
||||
|
||||
<https://www.kernel.org/doc/html/v4.12/admin-guide/pm/intel_pstate.html>
|
||||
|
||||
When you use this machine, it is recommended that you cap the CPU speed once
|
||||
you've booted into Linux. Set it to something like 50% at first. Then run a
|
||||
stress test, for example:
|
||||
|
||||
stress -c x
|
||||
|
||||
Where `x` is the number of CPU cores, e.g. 2. Monitor the temperatures using
|
||||
something like `xsensors`, making sure the CPU doesn't exceed 80c temperature.
|
||||
|
||||
You can also monitor CPU speeds in Linux like so:
|
||||
|
||||
watch -n .2 grep MHz /proc/cpuinfo
|
||||
|
||||
This will let you know what speed you're at. You can use this to determine
|
||||
whether the `intel_pstate` driver is working. How to cap speed to 50 percent, as
|
||||
in the above example:
|
||||
|
||||
echo 50 > /sys/devices/system/cpu/cpufreq/intel_pstate/max_perf_pct
|
||||
|
||||
Gradually increase the CPU speed (up to 100 on `max_perf_pct`), waiting a few
|
||||
minutes each time. You should ensure that your machine does not exceed 80C.
|
||||
|
||||
Dell's thermal safety is far too protective by default, on some of these, and
|
||||
we don't yet know how to properly configure it. Running a CPU below 80c in
|
||||
temperature and never higher than that, is a good idea anyway, for the
|
||||
long term life of your CPU.
|
||||
|
||||
Regardless, thermal shutdown is extremely reliable on this machine, but Dell
|
||||
makes it shut down *earlier*, before it can even start to CPU throttle.
|
|
@ -0,0 +1,84 @@
|
|||
---
|
||||
title: Dell Latitude E5520
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**Thermal safety**: this machine shuts down very quickly, when the machine
|
||||
exceeds 80c CPU temperature, which is far more conservative than on most
|
||||
laptops (non-Dell ones), so you should make sure that your thermals are
|
||||
excellent. More info available [here](dell_thermal.md). This is a known bug,
|
||||
but otherwise the machine will be mostly stable.
|
||||
|
||||
<div class="specs">
|
||||
<center>
|
||||
Dell Latitude E5520
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|----------------------------|------------------------------------------------|
|
||||
| **Manufacturer** | Dell |
|
||||
| **Name** | Latitude E5520 |
|
||||
| **Variants** | E5520 with Intel GPU supported |
|
||||
| **Released** | 2012 |
|
||||
| **Chipset** | Intel Sandy Bridge |
|
||||
| **CPU** | Intel Core i3, i5 or i7 |
|
||||
| **Graphics** | Intel HD 4000 and unsupported Nvidia NVS 5200M |
|
||||
| **Display** | 1366x768/1600x900 TFT |
|
||||
| **Memory** | 4 or 8GB (Upgradable to 16GB) |
|
||||
| **Architecture** | x86_64 |
|
||||
| **EC** | SMSC MEC5055 with proprietary firmware |
|
||||
| **Original boot firmware** | Dell UEFI |
|
||||
| **Intel ME/AMD PSP** | Present, neutered |
|
||||
| **Flash chip** | 2xSOIC-8, 6MiB (4MiB and 2MiB in combination) |
|
||||
|
||||
|
||||
```
|
||||
W+: Works without blobs;
|
||||
N: Doesn't work;
|
||||
W*: Works with blobs;
|
||||
U: Untested;
|
||||
P+: Partially works;
|
||||
P*: Partially works with blobs
|
||||
```
|
||||
|
||||
| ***Features*** | |
|
||||
|---------------------------------------------------|----|
|
||||
| **Internal flashing with original boot firmware** | W+ |
|
||||
| **Display (if Intel GPU)** | W+ |
|
||||
| **Display (if Nvidia GPU)** | U |
|
||||
| **Audio** | W+ |
|
||||
| **RAM Init** | W+ |
|
||||
| **External output** | W+ |
|
||||
| **Display brightness** | P+ |
|
||||
|
||||
| ***Payloads supported*** | |
|
||||
|---------------------------|-----------|
|
||||
| **GRUB** | Works |
|
||||
| **SeaBIOS** | Works |
|
||||
| **SeaBIOS with GRUB** | Works |
|
||||
</div>
|
||||
Introduction
|
||||
============
|
||||
|
||||
**Libreboot 20231021 and releases newer than this have ROMs available for
|
||||
Dell Latitude E5520.**
|
||||
|
||||
ROM images for Dell Latitude E5520 are available for flashing in the Libreboot
|
||||
releases *after* 20230625, or you can compile a ROM image for installation via
|
||||
lbmk, see: [build instructions](../build/)
|
||||
|
||||
Only the Intel GPU variants are supported, currently. All models with Intel GPU
|
||||
are assumed to work.
|
||||
|
||||
Unlike the E6400, this one does require a neutered Intel ME image to run. This
|
||||
means running it through `me_cleaner` before flashing; the Libreboot build
|
||||
system does this automatically, during build, or you can insert a neutered
|
||||
ROM image using the vendor scripts, see guide:
|
||||
|
||||
[Insert vendor files](../install/ivy_has_common.md)
|
||||
|
||||
As with the E6400, this one is flashable in software, from Dell UEFI firmware
|
||||
to Libreboot. Please refer to the installation instructions.
|
||||
|
||||
**To install Libreboot, see: [E5520 installation
|
||||
instructions](../install/e6430.md)**
|
|
@ -0,0 +1,86 @@
|
|||
---
|
||||
title: Dell Latitude E5530
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**Thermal safety**: this machine shuts down very quickly, when the machine
|
||||
exceeds 80c CPU temperature, which is far more conservative than on most
|
||||
laptops (non-Dell ones), so you should make sure that your thermals are
|
||||
excellent. More info available [here](dell_thermal.md). This is a known bug,
|
||||
but otherwise the machine will be mostly stable.
|
||||
|
||||
<div class="specs">
|
||||
<center>
|
||||
Dell Latitude E5530
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|----------------------------|------------------------------------------------|
|
||||
| **Manufacturer** | Dell |
|
||||
| **Name** | Latitude E5530 |
|
||||
| **Variants** | E5530 with Intel GPU supported |
|
||||
| **Released** | 2012 |
|
||||
| **Chipset** | Intel Ivy Bridge |
|
||||
| **CPU** | Intel Core i3, i5 or i7 |
|
||||
| **Graphics** | Intel HD 4000 and unsupported Nvidia NVS 5200M |
|
||||
| **Display** | 1366x768/1600x900 TFT |
|
||||
| **Memory** | 4 or 8GB (Upgradable to 16GB) |
|
||||
| **Architecture** | x86_64 |
|
||||
| **EC** | SMSC MEC5055 with proprietary firmware |
|
||||
| **Original boot firmware** | Dell UEFI |
|
||||
| **Intel ME/AMD PSP** | Present, neutered |
|
||||
| **Flash chip** | 2xSOIC-8, 12MiB (8MiB and 4MiB in combination) |
|
||||
|
||||
|
||||
```
|
||||
W+: Works without blobs;
|
||||
N: Doesn't work;
|
||||
W*: Works with blobs;
|
||||
U: Untested;
|
||||
P+: Partially works;
|
||||
P*: Partially works with blobs
|
||||
```
|
||||
|
||||
| ***Features*** | |
|
||||
|---------------------------------------------------|----|
|
||||
| **Internal flashing with original boot firmware** | W+ |
|
||||
| **Display (if Intel GPU)** | W+ |
|
||||
| **Display (if Nvidia GPU)** | U |
|
||||
| **Audio** | W+ |
|
||||
| **RAM Init** | W+ |
|
||||
| **External output** | W+ |
|
||||
| **Display brightness** | P+ |
|
||||
|
||||
| ***Payloads supported*** | |
|
||||
|---------------------------|-----------|
|
||||
| **GRUB** | Works |
|
||||
| **SeaBIOS** | Works |
|
||||
| **SeaBIOS with GRUB** | Works |
|
||||
</div>
|
||||
Introduction
|
||||
============
|
||||
|
||||
**Libreboot 20231021 and releases newer than this have ROMs available for
|
||||
Dell Latitude E5530.**
|
||||
|
||||
ROM images for Dell Latitude E5530 are available for flashing in the Libreboot
|
||||
releases *after* 20230625, or you can compile a ROM image for installation via
|
||||
lbmk, see: [build instructions](../build/)
|
||||
|
||||
Only the Intel GPU variants are supported, currently. All models with Intel GPU
|
||||
are assumed to work.
|
||||
|
||||
Unlike the E6400, this one does require a neutered Intel ME image to run. This
|
||||
means running it through `me_cleaner` before flashing; the Libreboot build
|
||||
system does this automatically, during build, or you can insert a neutered
|
||||
ROM image using the vendor scripts, see guide:
|
||||
|
||||
[Insert vendor files](../install/ivy_has_common.md)
|
||||
|
||||
As with the E6400, this one is flashable in software, from Dell UEFI firmware
|
||||
to Libreboot. Please refer to the installation instructions.
|
||||
|
||||
**To install Libreboot, see: [E5530 installation
|
||||
instructions](../install/e6430.md)**
|
||||
|
||||
Of note: this machine features a Broadnic nic, for ethernet.
|
|
@ -3,6 +3,12 @@ title: Dell Latitude E6400
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**Thermal safety**: this machine shuts down very quickly, when the machine
|
||||
exceeds 80c CPU temperature, which is far more conservative than on most
|
||||
laptops (non-Dell ones), so you should make sure that your thermals are
|
||||
excellent. More info available [here](dell_thermal.md). This is a known bug,
|
||||
but otherwise the machine will be mostly stable.
|
||||
|
||||
<div class="specs">
|
||||
<center>
|
||||
<img tabindex=1 alt="Dell Latitude E6400" class="p" src="https://av.libreboot.org/e6400/e6400-seabios.jpg" /><span class="f"><img src="https://av.libreboot.org/e6400/e6400-seabios.jpg" /></span> <img tabindex=1 alt="Dell Latitude E6400 XFR" class="p" style="max-width:24em" src="https://av.libreboot.org/e6400/e6400xfr-seabios.jpg" /><span class="f"><img src="https://av.libreboot.org/e6400/e6400xfr-seabios.jpg" /></span>
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
---
|
||||
title: Dell Latitude E6420
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**Thermal safety**: this machine shuts down very quickly, when the machine
|
||||
exceeds 80c CPU temperature, which is far more conservative than on most
|
||||
laptops (non-Dell ones), so you should make sure that your thermals are
|
||||
excellent. More info available [here](dell_thermal.md). This is a known bug,
|
||||
but otherwise the machine will be mostly stable.
|
||||
|
||||
<div class="specs">
|
||||
<center>
|
||||
Dell Latitude E6420
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|----------------------------|------------------------------------------------|
|
||||
| **Manufacturer** | Dell |
|
||||
| **Name** | Latitude E6420 |
|
||||
| **Variants** | E6420 with Intel GPU supported |
|
||||
| **Released** | 2012 |
|
||||
| **Chipset** | Intel Sandy Bridge |
|
||||
| **CPU** | Intel Core i3, i5 or i7 |
|
||||
| **Graphics** | Intel HD 4000 and unsupported Nvidia NVS 5200M |
|
||||
| **Display** | 1366x768/1600x900 TFT |
|
||||
| **Memory** | 4 or 8GB (Upgradable to 16GB) |
|
||||
| **Architecture** | x86_64 |
|
||||
| **EC** | SMSC MEC5055 with proprietary firmware |
|
||||
| **Original boot firmware** | Dell UEFI |
|
||||
| **Intel ME/AMD PSP** | Present, neutered |
|
||||
| **Flash chip** | 2xSOIC-8, 6MiB (4MiB and 2MiB in combination) |
|
||||
|
||||
|
||||
```
|
||||
W+: Works without blobs;
|
||||
N: Doesn't work;
|
||||
W*: Works with blobs;
|
||||
U: Untested;
|
||||
P+: Partially works;
|
||||
P*: Partially works with blobs
|
||||
```
|
||||
|
||||
| ***Features*** | |
|
||||
|---------------------------------------------------|----|
|
||||
| **Internal flashing with original boot firmware** | W+ |
|
||||
| **Display (if Intel GPU)** | W+ |
|
||||
| **Display (if Nvidia GPU)** | U |
|
||||
| **Audio** | W+ |
|
||||
| **RAM Init** | W+ |
|
||||
| **External output** | W+ |
|
||||
| **Display brightness** | P+ |
|
||||
|
||||
| ***Payloads supported*** | |
|
||||
|---------------------------|-----------|
|
||||
| **GRUB** | Works |
|
||||
| **SeaBIOS** | Works |
|
||||
| **SeaBIOS with GRUB** | Works |
|
||||
</div>
|
||||
Introduction
|
||||
============
|
||||
|
||||
**Libreboot 20231021 and releases newer than this have ROMs available for
|
||||
Dell Latitude E6420.**
|
||||
|
||||
ROM images for Dell Latitude E6420 are available for flashing in the Libreboot
|
||||
releases *after* 20230625, or you can compile a ROM image for installation via
|
||||
lbmk, see: [build instructions](../build/)
|
||||
|
||||
Only the Intel GPU variants are supported, currently. All models with Intel GPU
|
||||
are assumed to work.
|
||||
|
||||
Unlike the E6400, this one does require a neutered Intel ME image to run. This
|
||||
means running it through `me_cleaner` before flashing; the Libreboot build
|
||||
system does this automatically, during build, or you can insert a neutered
|
||||
ROM image using the vendor scripts, see guide:
|
||||
|
||||
[Insert vendor files](../install/ivy_has_common.md)
|
||||
|
||||
As with the E6400, this one is flashable in software, from Dell UEFI firmware
|
||||
to Libreboot. Please refer to the installation instructions.
|
||||
|
||||
**To install Libreboot, see: [E6420 installation
|
||||
instructions](../install/e6430.md)**
|
|
@ -3,6 +3,12 @@ title: Dell Latitude E6430
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**Thermal safety**: this machine shuts down very quickly, when the machine
|
||||
exceeds 80c CPU temperature, which is far more conservative than on most
|
||||
laptops (non-Dell ones), so you should make sure that your thermals are
|
||||
excellent. More info available [here](dell_thermal.md). This is a known bug,
|
||||
but the machine will otherwise be mostly stable.
|
||||
|
||||
<div class="specs">
|
||||
<center>
|
||||
Dell Latitude E6430
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
---
|
||||
title: Dell Latitude E6520
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**Thermal safety**: this machine shuts down very quickly, when the machine
|
||||
exceeds 80c CPU temperature, which is far more conservative than on most
|
||||
laptops (non-Dell ones), so you should make sure that your thermals are
|
||||
excellent. More info available [here](dell_thermal.md). This is a known bug,
|
||||
but the machine will otherwise be mostly stable.
|
||||
|
||||
<div class="specs">
|
||||
<center>
|
||||
Dell Latitude E6520
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|----------------------------|------------------------------------------------|
|
||||
| **Manufacturer** | Dell |
|
||||
| **Name** | Latitude E6520 |
|
||||
| **Variants** | E6520 with Intel GPU supported |
|
||||
| **Released** | 2012 |
|
||||
| **Chipset** | Intel Sandy Bridge |
|
||||
| **CPU** | Intel Core i3, i5 or i7 |
|
||||
| **Graphics** | Intel HD 4000 and unsupported Nvidia NVS 5200M |
|
||||
| **Display** | 1366x768/1600x900 TFT |
|
||||
| **Memory** | 4 or 8GB (Upgradable to 16GB) |
|
||||
| **Architecture** | x86_64 |
|
||||
| **EC** | SMSC MEC5055 with proprietary firmware |
|
||||
| **Original boot firmware** | Dell UEFI |
|
||||
| **Intel ME/AMD PSP** | Present, neutered |
|
||||
| **Flash chip** | 2xSOIC-8, 6MiB (4MiB and 2MiB in combination) |
|
||||
|
||||
|
||||
```
|
||||
W+: Works without blobs;
|
||||
N: Doesn't work;
|
||||
W*: Works with blobs;
|
||||
U: Untested;
|
||||
P+: Partially works;
|
||||
P*: Partially works with blobs
|
||||
```
|
||||
|
||||
| ***Features*** | |
|
||||
|---------------------------------------------------|----|
|
||||
| **Internal flashing with original boot firmware** | W+ |
|
||||
| **Display (if Intel GPU)** | W+ |
|
||||
| **Display (if Nvidia GPU)** | U |
|
||||
| **Audio** | W+ |
|
||||
| **RAM Init** | W+ |
|
||||
| **External output** | W+ |
|
||||
| **Display brightness** | P+ |
|
||||
|
||||
| ***Payloads supported*** | |
|
||||
|---------------------------|-----------|
|
||||
| **GRUB** | Works |
|
||||
| **SeaBIOS** | Works |
|
||||
| **SeaBIOS with GRUB** | Works |
|
||||
</div>
|
||||
Introduction
|
||||
============
|
||||
|
||||
**Libreboot 20231021 and releases newer than this have ROMs available for
|
||||
Dell Latitude E6520.**
|
||||
|
||||
ROM images for Dell Latitude E6520 are available for flashing in the Libreboot
|
||||
releases *after* 20230625, or you can compile a ROM image for installation via
|
||||
lbmk, see: [build instructions](../build/)
|
||||
|
||||
Only the Intel GPU variants are supported, currently. All models with Intel GPU
|
||||
are assumed to work.
|
||||
|
||||
Unlike the E6400, this one does require a neutered Intel ME image to run. This
|
||||
means running it through `me_cleaner` before flashing; the Libreboot build
|
||||
system does this automatically, during build, or you can insert a neutered
|
||||
ROM image using the vendor scripts, see guide:
|
||||
|
||||
[Insert vendor files](../install/ivy_has_common.md)
|
||||
|
||||
As with the E6400, this one is flashable in software, from Dell UEFI firmware
|
||||
to Libreboot. Please refer to the installation instructions.
|
||||
|
||||
**To install Libreboot, see: [E6520 installation
|
||||
instructions](../install/e6430.md)**
|
|
@ -0,0 +1,84 @@
|
|||
---
|
||||
title: Dell Latitude E6530
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**Thermal safety**: this machine shuts down very quickly, when the machine
|
||||
exceeds 80c CPU temperature, which is far more conservative than on most
|
||||
laptops (non-Dell ones), so you should make sure that your thermals are
|
||||
excellent. More info available [here](dell_thermal.md). This is a known bug,
|
||||
but the machine will otherwise be mostly stable.
|
||||
|
||||
<div class="specs">
|
||||
<center>
|
||||
Dell Latitude E6530
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|----------------------------|------------------------------------------------|
|
||||
| **Manufacturer** | Dell |
|
||||
| **Name** | Latitude E6530 |
|
||||
| **Variants** | E6530 with Intel GPU supported |
|
||||
| **Released** | 2012 |
|
||||
| **Chipset** | Intel Ivy Bridge |
|
||||
| **CPU** | Intel Core i3, i5 or i7 |
|
||||
| **Graphics** | Intel HD 4000 and unsupported Nvidia NVS 5200M |
|
||||
| **Display** | 1366x768/1600x900 TFT |
|
||||
| **Memory** | 4 or 8GB (Upgradable to 16GB) |
|
||||
| **Architecture** | x86_64 |
|
||||
| **EC** | SMSC MEC5055 with proprietary firmware |
|
||||
| **Original boot firmware** | Dell UEFI |
|
||||
| **Intel ME/AMD PSP** | Present, neutered |
|
||||
| **Flash chip** | 2xSOIC-8, 12MiB (8MiB and 4MiB in combination) |
|
||||
|
||||
|
||||
```
|
||||
W+: Works without blobs;
|
||||
N: Doesn't work;
|
||||
W*: Works with blobs;
|
||||
U: Untested;
|
||||
P+: Partially works;
|
||||
P*: Partially works with blobs
|
||||
```
|
||||
|
||||
| ***Features*** | |
|
||||
|---------------------------------------------------|----|
|
||||
| **Internal flashing with original boot firmware** | W+ |
|
||||
| **Display (if Intel GPU)** | W+ |
|
||||
| **Display (if Nvidia GPU)** | U |
|
||||
| **Audio** | W+ |
|
||||
| **RAM Init** | W+ |
|
||||
| **External output** | W+ |
|
||||
| **Display brightness** | P+ |
|
||||
|
||||
| ***Payloads supported*** | |
|
||||
|---------------------------|-----------|
|
||||
| **GRUB** | Works |
|
||||
| **SeaBIOS** | Works |
|
||||
| **SeaBIOS with GRUB** | Works |
|
||||
</div>
|
||||
Introduction
|
||||
============
|
||||
|
||||
**Libreboot 20231021 and releases newer than this have ROMs available for
|
||||
Dell Latitude E6530.**
|
||||
|
||||
ROM images for Dell Latitude E6530 are available for flashing in the Libreboot
|
||||
releases *after* 20230625, or you can compile a ROM image for installation via
|
||||
lbmk, see: [build instructions](../build/)
|
||||
|
||||
Only the Intel GPU variants are supported, currently. All models with Intel GPU
|
||||
are assumed to work.
|
||||
|
||||
Unlike the E6400, this one does require a neutered Intel ME image to run. This
|
||||
means running it through `me_cleaner` before flashing; the Libreboot build
|
||||
system does this automatically, during build, or you can insert a neutered
|
||||
ROM image using the vendor scripts, see guide:
|
||||
|
||||
[Insert vendor files](../install/ivy_has_common.md)
|
||||
|
||||
As with the E6400, this one is flashable in software, from Dell UEFI firmware
|
||||
to Libreboot. Please refer to the installation instructions.
|
||||
|
||||
**To install Libreboot, see: [E6530 installation
|
||||
instructions](../install/e6430.md)**
|
|
@ -4,7 +4,7 @@ title: Gigabyte GA-G41M-ES2L desktop board
|
|||
|
||||
<div class="specs">
|
||||
<center>
|
||||
![GA-G41M-ES2L]()
|
||||
GA-G41M-ES2L
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|
|
|
@ -35,6 +35,14 @@ OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
|
|||
</div>
|
||||
|
||||
|
||||
BROKEN WIFI
|
||||
===========
|
||||
|
||||
Wifi is broken in current revisions. This is because hardware `rfkill` is set,
|
||||
and pressing the button combo to enable wifi doesn't work; we believe that the
|
||||
EC is sending rfkill. We do not yet know how to enable it, at least as of
|
||||
Libreboot 202405xx.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
|
|
|
@ -7,6 +7,10 @@ x-toc-enable: true
|
|||
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
|
||||
|
||||
<div class="specs">
|
||||
<center>
|
||||
HP EliteBook 2570p
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|---------------------------|-----------------------------------|
|
||||
| **Manufacturer** | HP |
|
||||
|
|
|
@ -138,13 +138,16 @@ between the pins until you can see the normal BIOS boot screen.
|
|||
|
||||
![](https://av.libreboot.org/hp8200sff/fdo\_screwdriver.jpg)
|
||||
|
||||
Boot into an OS supported by flashrom. On Linux, make sure you add the
|
||||
Boot into an OS supported by flashprog. On Linux, make sure you add the
|
||||
kernel parameter **iomem=relaxed** which disables memory protections that
|
||||
prevent BIOS flashing.
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
Now, run this command:
|
||||
|
||||
flashrom -p internal -c MX25L6406E/MX25L6408E
|
||||
flashprog -p internal -c MX25L6406E/MX25L6408E
|
||||
|
||||
The output should contain the text "The Flash Descriptor Override
|
||||
Pin-Strap is set". If it doesn't, start again from the beginning.
|
||||
|
@ -170,18 +173,21 @@ We'll refer to it as `libreboot4.rom`. We need to pad it to 8 MiB:
|
|||
Flash the Libreboot image with a tweaked layout:
|
||||
|
||||
ifdtool libreboot4.rom -f layout
|
||||
flashrom -p internal -c MX25L6406E/MX25L6408E -w libreboot4.rom -l layout -i fd -i gbe -i bios -i me
|
||||
flashprog -p internal -c MX25L6406E/MX25L6408E -w libreboot4.rom -l layout -i fd -i gbe -i bios -i me
|
||||
|
||||
Power off the computer. Make sure to power off, rebooting is not enough!
|
||||
|
||||
Power on the computer.
|
||||
Now we can flash the full 8 MiB image. Boot to an OS with flashrom
|
||||
Now we can flash the full 8 MiB image. Boot to an OS with flashprog
|
||||
again. On linux, remember the **iomem=relaxed** kernel parameter.
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
Pick a Libreboot image of your choice from `bin/hp8200sff_8mb`
|
||||
or from a release archive. We'll refer to it as `libreboot8.rom`.
|
||||
|
||||
flashrom -p internal -c MX25L6406E/MX25L6408E -w libreboot8.rom
|
||||
flashprog -p internal -c MX25L6406E/MX25L6408E -w libreboot8.rom
|
||||
|
||||
Power cycle the computer again.
|
||||
|
||||
|
|
|
@ -0,0 +1,330 @@
|
|||
---
|
||||
title: HP EliteBook 820 G2
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
|
||||
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
|
||||
|
||||
<div class="specs">
|
||||
<center>
|
||||
<img tabindex=1 alt="HP EliteBook 820 G2" class="p" src="https://av.libreboot.org/hp820g2/hp820g2.jpg" /><span class="f"><img src="https://av.libreboot.org/hp820g2/hp820g2.jpg" /></span>
|
||||
<img tabindex=1 alt="HP EliteBook 820 G2" class="p" src="https://av.libreboot.org/hp820g2/hp820g2_lid.jpg" /><span class="f"><img src="https://av.libreboot.org/hp820g2/hp820g2_lid.jpg" /></span>
|
||||
<br/>
|
||||
<img tabindex=1 alt="HP EliteBook 820 G2" class="p" src="https://av.libreboot.org/hp820g2/hp820g2_ports1.jpg" /><span class="f"><img src="https://av.libreboot.org/hp820g2/hp820g2_ports1.jpg" /></span>
|
||||
<img tabindex=1 alt="HP EliteBook 820 G2" class="p" src="https://av.libreboot.org/hp820g2/hp820g2_ports2.jpg" /><span class="f"><img src="https://av.libreboot.org/hp820g2/hp820g2_ports2.jpg" /></span>
|
||||
<br/>
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|----------------------------|------------------------------------------------|
|
||||
| **Manufacturer** | HP |
|
||||
| **Name** | EliteBook 820 G2 |
|
||||
| **Variants** | EliteBook 820 G2 |
|
||||
| **Released** | 2014 |
|
||||
| **Chipset** | 5th gen (Broadwell, SoC) |
|
||||
| **CPU** | Intel i5-5200U, i5-5300U, i7-5500U, i7-5600U |
|
||||
| **Graphics** | Intel HD 5500 graphics (libre initialisation) |
|
||||
| **Display** | 14" 1366x768 or 1920x1080 TFT |
|
||||
| **Memory** | Two slots, max 16GB/slot (32GB), DDR3/SODIMM |
|
||||
| **Architecture** | x86_64 |
|
||||
| **EC** | SMSC MEC1324 in main boot flash |
|
||||
| **Original boot firmware** | HP UEFI firmware |
|
||||
| **Intel ME/AMD PSP** | Present. Can be disabled with me_cleaner. |
|
||||
| **Flash chip** | SOIC-8 16MiB 128Mbit, 12MiB usable by coreboot |
|
||||
|
||||
|
||||
```
|
||||
W+: Works without blobs;
|
||||
N: Doesn't work;
|
||||
W*: Works with blobs;
|
||||
U: Untested;
|
||||
P+: Partially works;
|
||||
P*: Partially works with blobs
|
||||
```
|
||||
|
||||
| ***Features*** | |
|
||||
|---------------------------------------------------|----|
|
||||
| **Internal flashing with original boot firmware** | N |
|
||||
| **Display (if Intel GPU)** | W+ |
|
||||
| **Audio** | W+ |
|
||||
| **RAM Init** | W+ |
|
||||
| **External output** | W+ |
|
||||
| **Display brightness** | W+ |
|
||||
|
||||
| ***Payloads supported*** | |
|
||||
|---------------------------|-----------|
|
||||
| **GRUB** | Works |
|
||||
| **SeaBIOS** | Works |
|
||||
| **SeaBIOS with GRUB** | Works |
|
||||
</div>
|
||||
|
||||
Full hardware specifications can be found on HP's own website:
|
||||
|
||||
<https://support.hp.com/gb-en/document/c04543492>
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
**Unavailable in Libreboot 20231106 or earlier. You must [compile from
|
||||
source](../build/), or use a release newer than 20231106.**
|
||||
|
||||
This is a beastly 12.5" Broadwell machine from HP, the main benefit of which is
|
||||
greater power efficiency (compared to Ivybridge and Haswell platforms), while
|
||||
offering similar CPU performance but much higher graphics performance.
|
||||
|
||||
Variants exist with either Intel Core i5-5200U, i5-5300U, i7-5500U or
|
||||
i7-5600U and it comes with a plethora of ports; 3x USB 3.0, DisplayPort (which
|
||||
can do 4K 60Hz), a VGA port, can be expanded to 32GB RAM, has *3* slots which
|
||||
can take SSDs (PCIe, M2 and regular SATA), also has a side dock connector (for
|
||||
a docking station). The screen is eDP type and can be upgraded to 1920x1080.
|
||||
|
||||
This is a nice portable machine, with very reasonable performance. Most people
|
||||
should be very satisfied with it, in daily use. It is widely available in
|
||||
online market places. This page will tell you how to flash it!
|
||||
|
||||
All variants of this mainboard will come with Intel HD 5500 graphics, which has
|
||||
completely free software initialisation in coreboot, provided by *libgfxinit*.
|
||||
|
||||
Build ROM image from source
|
||||
---------------------------
|
||||
|
||||
First, install the build dependencies and initialise git, using the
|
||||
instructions in [building from source](../build/). Unless you're using a
|
||||
release after Libreboot 20231106, you *must* use the latest `lbmk.git`.
|
||||
|
||||
The build target, when building from source, is thus:
|
||||
|
||||
./build roms hp820g2_12mb
|
||||
|
||||
NOTE: The actual flash is 16MB, but you must flash only the first 12MB of it.
|
||||
The ROM images provided by Libreboot are 12MB.
|
||||
|
||||
There is a separate 2MB *system* flash that you must *erase*, prior to
|
||||
installing Libreboot. This, along with Libreboot's modified IFD, bypasses
|
||||
the security (HP Sure Start) that the vendor put there, allowing you to
|
||||
use coreboot-based firmware such as Libreboot.
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
Insert binary files
|
||||
-------------------
|
||||
|
||||
If you're using a release ROM, please ensure that you've inserted extra firmware
|
||||
required refer to the [guide](../install/ivy_has_common.md) for that. (**failure
|
||||
to adhere to this advice will result in a bricked machine**)
|
||||
|
||||
If you're *building* from source (using lbmk), the steps takes above are done
|
||||
for you automatically, inserting all of the required files. The above link is
|
||||
only relevant for *release* images, which lack some of these files.
|
||||
|
||||
Set MAC address
|
||||
---------------
|
||||
|
||||
This platform uses an Intel Flash Descriptor, and defines an Intel GbE NVM
|
||||
region. As such, release/build ROMs will contain the same MAC address. To
|
||||
change the MAC address, please read [nvmutil documentation](../install/nvmutil.md).
|
||||
|
||||
Update an existing Libreboot installation
|
||||
-----------------
|
||||
|
||||
<img class="l" tabindex=1 alt="HP EliteBook 820 G2" class="p" src="https://av.libreboot.org/hp820g2/hp820g2_backlit.jpg" /><span class="f"><img src="https://av.libreboot.org/hp820g2/hp820g2_backlit.jpg" /></span>
|
||||
|
||||
NOTE: This section only applies if you haven't enabled write protection. You
|
||||
can otherwise use the external flashing instructions (see below) for both the
|
||||
initial installation and updates, but for updates you don't need to re-erase
|
||||
the private flash, if it was already erased.
|
||||
|
||||
If you're already running Libreboot, and you don't have flash protection
|
||||
turned on, [internal flashing](../install/) is possible, but please note:
|
||||
|
||||
You must *only* flash the first 12MB, and nothing in the final 4MB of the flash.
|
||||
This is because the EC firmware is in flash, and we don't touch that during
|
||||
initial installation or during updates.
|
||||
|
||||
Update it like so:
|
||||
|
||||
Create a dummy 16MB ROM like so:
|
||||
|
||||
```
|
||||
dd if=/dev/zero of=new.bin bs=16M count=1
|
||||
```
|
||||
|
||||
Then insert your 12MB Libreboot ROM image into the dummy file:
|
||||
|
||||
```
|
||||
dd if=libreboot.rom of=new.bin bs=12M count=1 conv=notrunc
|
||||
```
|
||||
|
||||
The `libreboot.rom` file is the 12MB image from Libreboot. The `new.bin`
|
||||
file is the Libreboot ROM, padded to 16MB. You will not flash the entire 16MB
|
||||
file, but flashprog detects a 16MB flash IC. This just makes flashrom not
|
||||
complain about mismatching ROM/chip size.
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
You should flash each region individually:
|
||||
|
||||
```
|
||||
flashprog -p internal --ifd -i gbe -w new.bin --noverify-all
|
||||
flashprog -p internal --ifd -i bios -w new.bin --noverify-all
|
||||
flashprog -p internal --ifd -i me -w new.bin --noverify-all
|
||||
flashprog -p internal --ifd -i ifd -w new.bin --noverify-all
|
||||
```
|
||||
|
||||
NOTE: The `--ifd` option uses the regions defined in the *flashed* IFD, so
|
||||
they must match the ROM. You can otherwise dump a layout file and use that,
|
||||
using the instructions below (using `-l layout.txt` instead of `--ifd`).
|
||||
|
||||
NOTE: If you already did an installation before, and you don't want to
|
||||
[change the MAC address](../install/nvmutil.html) stored in the gbe region,
|
||||
you can skip the gbe/ifd/me regions as above, and flash just the BIOS region.
|
||||
|
||||
NOTE: Use of `--ifd` requires flashrom 1.2 or higher. If you have an older
|
||||
version, or you don't have `--ifd`, you could instead do:
|
||||
|
||||
```
|
||||
ifdtool -f layout.txt libreboot.rom
|
||||
```
|
||||
|
||||
Then, instead of `--ifd` you would use `-l layout.txt`.
|
||||
|
||||
ALSO: The `--ifd` option makes flashrom flash regions based on what's in
|
||||
the *current* flashed IFD.
|
||||
|
||||
Flashing Libreboot first time (hardware)
|
||||
========================================
|
||||
|
||||
**PLEASE ENSURE that you dump a copy of both flash ICs (system flash and
|
||||
private flash). Take two dumps of each, and make sure each has two good hashes.
|
||||
This is because there are certain files that, while you may not need for a
|
||||
regular Libreboot installation, may be useful for recovery purposes. You have
|
||||
been warned!**
|
||||
|
||||
This section is relevant to you if you're still running the original HP
|
||||
firmware. You must [flash externally](../install/spi.md).
|
||||
|
||||
Take stock of these further notes, because there are extra steps that you
|
||||
must take.
|
||||
|
||||
HP Sure Start
|
||||
-------------
|
||||
|
||||
There is a 16MB flash and a 2MB flash. Read this page for info:
|
||||
<https://doc.coreboot.org/mainboard/hp/hp_sure_start.html>
|
||||
|
||||
The page makes it seem more complicated than necessary, from a user's point
|
||||
of view. What you really need to do is just erase the 2MB flash IC, and flash
|
||||
only the first 12MB of the 16MB flash IC. A photo is shown below. Consult
|
||||
the [SPI flashing guide](../install/spi.md) and act as if you were flashing,
|
||||
but leave out `-w libreboot.rom` (don't write an image), and instead
|
||||
use the `--erase` option, with your clip connected to the private flash (2MB
|
||||
flash IC).
|
||||
|
||||
You might want to dump the private flash first, just in case (use `-r priv.rom`
|
||||
or whatever filename you want to dump to, and take two dumps, ensuring that
|
||||
the hashes match). The private (2MB) flash is inaccessible from your OS. The
|
||||
system stores hashes of the IFD, GbE and a copy of IFD/GbE in private flash,
|
||||
restoring them if they were modified, but erasing the private flash disables
|
||||
this security mechanism.
|
||||
|
||||
Here is a photo of the board, with the flashes:
|
||||
|
||||
![HP 820 G2 flash](https://av.libreboot.org/hp820g2/hp820g2_flash.jpg)
|
||||
|
||||
HP bootblock
|
||||
------------
|
||||
|
||||
See: <https://doc.coreboot.org/mainboard/hp/elitebook_820_g2.html?highlight=elitebook>
|
||||
|
||||
In this page it talks about HP's own bootblock and EC firmware. These are in
|
||||
the final 4MB of the flash. You must *not* modify these, because you will brick
|
||||
your machine unless the IFD is modified;
|
||||
|
||||
This is why Libreboot provides 12MB images. The IFD in Libreboot is modified, as
|
||||
per this coreboot documentation, to make the BIOS region *end* at the last byte
|
||||
of the first 12MB in flash, bypassing HP's security entirely. In other words,
|
||||
you can run whatever you want (such as Libreboot) in the first 12MB of flash,
|
||||
so long as the upper 4MB is untouched and the private 2MB flash has been erased.
|
||||
|
||||
With Libreboot's modified IFD, HP's own bootblock is never executed, but the
|
||||
EC firmware *is*, and must be left alone. You do not to insert it in your
|
||||
Libreboot ROM because it's already in flash, within that last 4MB.
|
||||
|
||||
Flash a ROM image (hardware)
|
||||
-----------------
|
||||
|
||||
**REMOVE all power sources like battery, charger and so on, before doing this.
|
||||
This is to prevent short circuiting and power surges while flashing.**
|
||||
|
||||
For general information, please refer to [25xx NOR flash
|
||||
instructions](../install/spi.md).
|
||||
|
||||
Remove the bottom cover via the latch, and the flashes are accessible.
|
||||
First, dump both flashes for backup, using the `-r` option (instead of `-w`)
|
||||
in flashrom. Two dumps of each flash, make sure both dumps match for each chip.
|
||||
|
||||
We will assume that your system flash (16MB) dump is named `dump.bin`. This is
|
||||
the dump of your 16MB flash, containing HP's firmware, including the final
|
||||
bootblock and EC firmware.
|
||||
|
||||
This gives you everything, including the final 4MB. Now insert your new ROM
|
||||
into a copy of `dump.bin`:
|
||||
|
||||
```
|
||||
cp -R dump.bin new.bin
|
||||
dd if=libreboot.rom of=new.bin bs=12M count=1 conv=notrunc
|
||||
```
|
||||
|
||||
Flash `new.bin` to system flash (16MB IC) using the `-w` option in flashrom,
|
||||
and erase the private (2MB) flash IC,
|
||||
using the `--erase` option (instead of `-w filename.rom`) in flashrom.
|
||||
|
||||
In the above example, you replaced the first 12MB of the HP dump with that of
|
||||
your Libreboot image, but leaving the final 4MB intact which contains the EC
|
||||
firmware. Libreboot's custom IFD sets everything so that all regions, from
|
||||
IFD to GbE, ME and then BIOS region, exist within the first 12MB of flash.
|
||||
This makes the machine boot from the end of the 12MB section, containing the
|
||||
coreboot bootblock, instead of the HP bootblock (which is never executed but
|
||||
must remain intact).
|
||||
|
||||
It's very important that you *erase* the 2MB flash. Be careful *not* to
|
||||
erase the system (16MB flash). This is yet another reason why you should keep
|
||||
a backup of both flash ICs, just in case (dumped using `-r` in flashrom).
|
||||
|
||||
![](https://av.libreboot.org/hp820g2/hp820g2.jpg)
|
||||
|
||||
![](https://av.libreboot.org/hp820g2/hp820g2_inside.jpg)
|
||||
|
||||
And that's all. Refer to other documents on Libreboot's website for how
|
||||
to handle Linux/BSD systems and generally use your machine.
|
||||
|
||||
TPM 2.0 potentially supported
|
||||
==============================
|
||||
|
||||
The onboard TPM is an SLB 9660, which supports TPM 1.2 but it is known to be
|
||||
compatible with TPM 2.0 via firmware upgrade. Although not yet tested, we have
|
||||
some notes about that here:
|
||||
|
||||
[../../tasks/#hp-820-g2-tpm](../../tasks/#hp-820-g2-tpm)
|
||||
|
||||
Not yet used meaningfully by Libreboot itself, but the TPM can be used to
|
||||
implement things like measured boot.
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
See: <https://doc.coreboot.org/soc/intel/broadwell/blobs.html>
|
||||
|
||||
Libreboot's build system automatically pulls down the MRC/refcode files, and
|
||||
modifies the refcode to enable the onboard Intel Gigabit Ethernet (GbE). You
|
||||
don't need to mess with this at all, when you build Libreboot yourself.
|
||||
|
||||
You can see how this works, by looking at the patch which added 820 G2 support:
|
||||
<https://browse.libreboot.org/lbmk.git/commit/?id=401c0882aaec059eab62b5ce467d3efbc1472d1f>
|
||||
|
||||
If you're using release builds, the MRC, refcode and (neutered) ME images are
|
||||
missing from flash, and must be re-inserted, using the instructions
|
||||
on [this page](../install/ivy_has_common.md).
|
|
@ -71,15 +71,18 @@ crystal (small metal cylinder) and the power cable for the optical drive.
|
|||
|
||||
![](https://av.libreboot.org/hp8300usdt/jumper_to_fdo.jpg)
|
||||
|
||||
Boot into an OS of your choice (that has flashrom support). When using Linux,
|
||||
Boot into an OS of your choice (that has flashprog support). When using Linux,
|
||||
you need to supply the kernel parameter `iomem=relaxed`.
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
The BIOS should no longer impose any write-protections.
|
||||
You can now use `flashrom -p internal` freely.
|
||||
You can now use `flashprog -p internal` freely.
|
||||
|
||||
Take a backup of the original BIOS:
|
||||
|
||||
flashrom -p internal -r oem_bios
|
||||
flashprog -p internal -r oem_bios
|
||||
|
||||
This is an Ivy Bridge board which means that a neutered ME image
|
||||
is required if you wish to flash the ME region. Libreboot's
|
||||
|
@ -95,7 +98,7 @@ platforms](../install/ivy_has_common.md)
|
|||
|
||||
You can now flash libreboot:
|
||||
|
||||
flashrom -p internal -w libreboot.rom
|
||||
flashprog -p internal -w libreboot.rom
|
||||
|
||||
You can now move the jumper back to its original place.
|
||||
By default, Libreboot applies no write-protection, so
|
||||
|
|
|
@ -0,0 +1,114 @@
|
|||
---
|
||||
title: HP EliteBook 8460p
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
|
||||
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
|
||||
|
||||
<div class="specs">
|
||||
<center>
|
||||
<img tabindex=1 alt="HP EliteBook 8460p" class="p" src="https://av.libreboot.org/hp8460p/hp8460p.webp" /><span class="f"><img src="https://av.libreboot.org/hp8460p/hp8460p.webp" /></span>
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|----------------------------|------------------------------------------------|
|
||||
| **Manufacturer** | HP |
|
||||
| **Name** | EliteBook 8460p |
|
||||
| **Variants** | EliteBook 8460p |
|
||||
| **Released** | 2011 |
|
||||
| **Chipset** | Intel QM67 |
|
||||
| **CPU** | Intel Sandy Bridge (socketed) |
|
||||
| **Graphics** | Intel HD Graphics (supported in Libreboot) or
|
||||
AMD Radeon HD 6470M (unsupported in Libreboot) |
|
||||
| **Display** | 14" 1366x768 or 1600x900 TFT |
|
||||
| **Memory** | Two slots, max 8GB/slot (16GB), DDR3/SODIMM |
|
||||
| **Architecture** | x86_64 |
|
||||
| **EC** | SMSC KBC1126, proprietary (in main boot flash) |
|
||||
| **Original boot firmware** | HP UEFI firmware |
|
||||
| **Intel ME/AMD PSP** | Present. Can be disabled with me_cleaner. |
|
||||
| **Flash chip** | SOIC-8 8MiB (64Mbit) |
|
||||
|
||||
|
||||
```
|
||||
W+: Works without blobs;
|
||||
N: Doesn't work;
|
||||
W*: Works with blobs;
|
||||
U: Untested;
|
||||
P+: Partially works;
|
||||
P*: Partially works with blobs
|
||||
```
|
||||
|
||||
| ***Features*** | |
|
||||
|---------------------------------------------------|----|
|
||||
| **Internal flashing with original boot firmware** | N |
|
||||
| **Display (if Intel GPU)** | W+ |
|
||||
| **Audio** | W+ |
|
||||
| **RAM Init** | W+ |
|
||||
| **External output** | W+ |
|
||||
| **Display brightness** | W+ |
|
||||
|
||||
| ***Payloads supported*** | |
|
||||
|---------------------------|-----------|
|
||||
| **GRUB** | Works |
|
||||
| **SeaBIOS** | Works |
|
||||
| **SeaBIOS with GRUB** | Works |
|
||||
</div>
|
||||
Introduction
|
||||
============
|
||||
|
||||
**Unavailable in Libreboot 20231106 or earlier. You must [compile from
|
||||
source](../build/), or use a release newer than 20231106.**
|
||||
|
||||
This is a beastly 14" Sandy Bridge platform from HP.
|
||||
**NOTE: Until otherwise stated, only the Intel GPU variant is supported in
|
||||
Libreboot.**
|
||||
|
||||
Build ROM image from source
|
||||
---------------------------
|
||||
|
||||
The build target, when building from source, is thus:
|
||||
|
||||
./build roms hp8460pintel_8mb
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
Insert binary files
|
||||
-------------------
|
||||
|
||||
If you're using a release ROM, please ensure that you've inserted extra firmware
|
||||
required refer to the [guide](../install/ivy_has_common.md) for that. (failure
|
||||
to adhere to this advice will result in a bricked machine)
|
||||
|
||||
Set MAC address
|
||||
---------------
|
||||
|
||||
This platform uses an Intel Flash Descriptor, and defines an Intel GbE NVM
|
||||
region. As such, release/build ROMs will contain the same MAC address. To
|
||||
change the MAC address, please read [nvmutil documentation](../install/nvmutil.md).
|
||||
|
||||
Flash a ROM image (software)
|
||||
-----------------
|
||||
|
||||
If you're already running Libreboot, and you don't have flash protection
|
||||
turned on, [internal flashing](../install/) is possible.
|
||||
|
||||
Flash a ROM image (hardware)
|
||||
-----------------
|
||||
|
||||
**REMOVE all power sources like battery, charger and so on, before doing this.
|
||||
This is to prevent short circuiting and power surges while flashing.**
|
||||
|
||||
For general information, please refer to [25xx NOR flash
|
||||
instructions](../install/spi.md).
|
||||
|
||||
At this present time, disassembly instructions are unavailable from the
|
||||
Libreboot project, but you can search for HP's own hardware maintenance manual
|
||||
or look at videos online showing disassembly.
|
||||
|
||||
The flash chip is visible by removing the "bottom door" panel. But the
|
||||
frame makes it hard to put a clip on it, so it's recommended to follow the
|
||||
HP [service manual](https://h10032.www1.hp.com/ctg/Manual/c03015458.pdf)
|
||||
to remove the **bottom cover**, as it's called.
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
---
|
||||
title: HP EliteBook 8560w
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
|
||||
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
|
||||
|
||||
<div class="specs">
|
||||
<center>
|
||||
<img tabindex=1 alt="HP EliteBook 8560w" class="p" src="https://av.libreboot.org/hp8560w/hp8560w.webp" /><span class="f"><img src="https://av.libreboot.org/hp8560w/hp8560w.webp" /></span>
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|----------------------------|------------------------------------------------|
|
||||
| **Manufacturer** | HP |
|
||||
| **Name** | EliteBook 8560w |
|
||||
| **Variants** | EliteBook 8560w |
|
||||
| **Released** | 2011 |
|
||||
| **Chipset** | Intel QM67 |
|
||||
| **CPU** | Intel Sandy Bridge (socketed) |
|
||||
| **Graphics** | MXM-A (3.0), socketed |
|
||||
| **Display** | 15.6" 1600x900 or 1920x1080 LCD |
|
||||
| **Memory** | Two or four slots, max 8GB/slot
|
||||
(16GB or 32GB), DDR3/SODIMM |
|
||||
| **Architecture** | x86_64 |
|
||||
| **EC** | SMSC KBC1126, proprietary (in main boot flash) |
|
||||
| **Original boot firmware** | HP UEFI firmware |
|
||||
| **Intel ME/AMD PSP** | Present. Can be disabled with me_cleaner. |
|
||||
| **Flash chip** | SOIC-8 8MiB (64Mbit) |
|
||||
|
||||
|
||||
```
|
||||
W+: Works without blobs;
|
||||
N: Doesn't work;
|
||||
W*: Works with blobs;
|
||||
U: Untested;
|
||||
P+: Partially works;
|
||||
P*: Partially works with blobs
|
||||
```
|
||||
|
||||
| ***Features*** | |
|
||||
|---------------------------------------------------|----|
|
||||
| **Internal flashing with original boot firmware** | N |
|
||||
| **Display** | W* |
|
||||
| **Audio** | W+ |
|
||||
| **RAM Init** | W+ |
|
||||
| **External output** | W+ |
|
||||
| **Display brightness** | W+ |
|
||||
|
||||
| ***Payloads supported*** | |
|
||||
|---------------------------|-----------|
|
||||
| **GRUB** | Works |
|
||||
| **SeaBIOS** | Works |
|
||||
| **SeaBIOS with GRUB** | Works |
|
||||
</div>
|
||||
Introduction
|
||||
============
|
||||
|
||||
**Unavailable in Libreboot 20240126 or earlier. You must [compile from
|
||||
source](../build/), or use a release newer than 20240126.**
|
||||
|
||||
This is a beastly 15" Sandy Bridge mobile workstation from HP.
|
||||
|
||||
**Wi-Fi does not work. It shows correctly in lspci, but stays hard blocked.**
|
||||
|
||||
GPU
|
||||
---
|
||||
|
||||
This laptop has upgradeable GPU: it has a socketed MXM-A 3.0 card. So far,
|
||||
only Quadro 1000M and 2000M (which shipped with the laptop originally) have
|
||||
been tested with Libreboot.
|
||||
|
||||
These laptops shipped with eDP and LVDS panels. If you choose to upgrade the
|
||||
graphics card, make sure it is compatible with the panel you have. Use the
|
||||
following command to check:
|
||||
|
||||
xrandr
|
||||
|
||||
Or if using Wayland:
|
||||
|
||||
wlr-randr
|
||||
|
||||
If you have "LVDS-1 connected", your GPU upgrade needs to support LVDS.
|
||||
According to [this forum thread](https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/),
|
||||
AMD's 1st gen GCN cards are the newest and most powerful to support LVDS.
|
||||
If you have an eDP panel, you should be able to use newer cards than that.
|
||||
|
||||
As long as the card has an onboard VBIOS, Libreboot will execute it and
|
||||
everything *should* work. **However, this is currently untested.**
|
||||
|
||||
Build ROM image from source
|
||||
---------------------------
|
||||
|
||||
The build target, when building from source, is thus:
|
||||
|
||||
./build roms hp8560w_8mb
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
Insert binary files
|
||||
-------------------
|
||||
|
||||
If you're using a release ROM, please ensure that you've inserted extra firmware
|
||||
required refer to the [guide](../install/ivy_has_common.md) for that. (failure
|
||||
to adhere to this advice will result in a bricked machine)
|
||||
|
||||
Set MAC address
|
||||
---------------
|
||||
|
||||
This platform uses an Intel Flash Descriptor, and defines an Intel GbE NVM
|
||||
region. As such, release/build ROMs will contain the same MAC address. To
|
||||
change the MAC address, please read [nvmutil documentation](../install/nvmutil.md).
|
||||
|
||||
Flash a ROM image (software)
|
||||
-----------------
|
||||
|
||||
If you're already running Libreboot, and you don't have flash protection
|
||||
turned on, [internal flashing](../install/) is possible.
|
||||
|
||||
Flash a ROM image (hardware)
|
||||
-----------------
|
||||
|
||||
**REMOVE all power sources like battery, charger and so on, before doing this.
|
||||
This is to prevent short circuiting and power surges while flashing.**
|
||||
|
||||
Remove the bottom cover. The SOIC-8 flash chip is next to the memory slot 2.
|
||||
You need to cut away a small piece of the clear plastic protection material
|
||||
to get to the chip.
|
||||
|
||||
![](https://av.libreboot.org/hp8560w/hp8560w_chip.webp)
|
||||
|
||||
For information about programming the chip, please refer to [25xx NOR flash
|
||||
instructions](../install/spi.md).
|
|
@ -89,5 +89,8 @@ to program Libreboot on it.
|
|||
|
||||
Some part of the board might turn on when programming. If programming fails,
|
||||
you might have to attach the laptop to a charger. Make sure the laptop
|
||||
powers off before running flashrom. No LEDs should be lit.
|
||||
powers off before running flashprog. No LEDs should be lit.
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ title: Apple iMac 5,2
|
|||
|
||||
<div class="specs">
|
||||
<center>
|
||||
![iMac5,2]()
|
||||
iMac5,2
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|
|
|
@ -3,6 +3,22 @@ title: Hardware compatibility list
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
Need help?
|
||||
==========
|
||||
|
||||
Help is available on [Libreboot IRC](../../contact.md) and other channels.
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING
|
||||
LIBREBOOT](../../news/safety.md).**
|
||||
|
||||
|
@ -22,28 +38,44 @@ libreboot currently supports the following systems in this release:
|
|||
|
||||
### Desktops (AMD, Intel, x86)
|
||||
|
||||
- **[Dell OptiPlex 7020/9020 MT and SFF](dell9020.md) - Also [available to buy
|
||||
with Libreboot preinstalled](https://minifree.org/product/libreboot-9020/)** - Dell OptiPlex XE2 MT/SFF also known to work
|
||||
- [Acer G43T-AM3](acer_g43t-am3.md)
|
||||
- [Apple iMac 5,2](imac52.md)
|
||||
- [ASUS KCMA-D8 motherboard](kcma-d8.md)
|
||||
- [Dell Precision T1650](t1650.md) (**easy to flash without disassembly**)
|
||||
- Dell OptiPlex 7010 **MT** (known to work, using the T1650 ROM, but more
|
||||
research is needed)
|
||||
- [Dell Precision T1650](t1650.md)
|
||||
- [Gigabyte GA-G41M-ES2L motherboard](ga-g41m-es2l.md)
|
||||
- [HP Elite 8200 SFF/MT](hp8200sff.md) (HP 6200 Pro Business probably works too)
|
||||
(**easy to flash without disassembly**)
|
||||
- [HP Elite 8300 USDT](hp8300usdt.md) (**easy to flash without disassembly**)
|
||||
- [HP Elite 8300 USDT](hp8300usdt.md)
|
||||
- [Intel D510MO and D410PT motherboards](d510mo.md)
|
||||
- [Intel D945GCLF](d945gclf.md)
|
||||
|
||||
### Laptops (Intel, x86)
|
||||
|
||||
- [Apple MacBook1,1 and MacBook2,1](macbook21.md) (2,1 flashable without disassembly)
|
||||
- **[Lenovo ThinkPad T440p](../install/t440p_external.md) - Also [available
|
||||
to buy with Libreboot preinstalled](https://minifree.org/product/libreboot-t440p/)**
|
||||
- **[Lenovo ThinkPad W541](../install/ivy_has_common.md) - Also [available to
|
||||
buy with Libreboot preinstalled](https://minifree.org/product/libreboot-w541/)** - NOTE: W540 also compatible (same mainboard, so flash the same ROM)
|
||||
- Lenovo ThinkPad X230 - *Also* available on Minifree: <https://minifree.org/product/libreboot-x230/>
|
||||
- [Apple MacBook1,1 and MacBook2,1](macbook21.md)
|
||||
- [Dell Latitude E6400, E6400 XFR and E6400 ATG, all with Nvidia or Intel
|
||||
GPU](e6400.md) **(easy to flash, no disassembly, similar
|
||||
hardware to X200/T400)**
|
||||
- [Dell Latitude E6430 (Intel GPU](e6430.md) **(easy to flash, no disassembly)**
|
||||
- [HP EliteBook 2170p](hp2170p.md) (**socketed flash IC**)
|
||||
GPU](e6400.md)
|
||||
- [Dell Latitude E6420 (Intel GPU](e6420.md)
|
||||
- [Dell Latitude E6430 (Intel GPU](e6430.md)
|
||||
- [Dell Latitude E5520 (Intel GPU](e5520.md)
|
||||
- [Dell Latitude E5530 (Intel GPU](e5530.md)
|
||||
- [Dell Latitude E6520 (Intel GPU](e6520.md)
|
||||
- [Dell Latitude E6530 (Intel GPU](e6530.md)
|
||||
- Dell Latitude E5420.
|
||||
- [HP EliteBook 2170p](hp2170p.md)
|
||||
- [HP EliteBook 2560p](hp2560p.md)
|
||||
- [HP EliteBook 2570p](hp2570p.md)
|
||||
- [HP EliteBook 820 G2](hp820g2.md)
|
||||
- [HP EliteBook 8460p](hp8460p.md)
|
||||
- [HP EliteBook 8470p](hp8470p.md)
|
||||
- [HP EliteBook 8560w](hp8560w.md)
|
||||
- [HP EliteBook Folio 9470m](hp9470m.md)
|
||||
- [Lenovo ThinkPad R400](r400.md)
|
||||
- [Lenovo ThinkPad R500](r500.md)
|
||||
|
@ -51,21 +83,18 @@ libreboot currently supports the following systems in this release:
|
|||
- [Lenovo Thinkpad T420](../install/ivy_has_common.md) (no install docs yet)
|
||||
- [Lenovo ThinkPad T420S](../install/ivy_has_common.md) (no install docs yet)
|
||||
- [Lenovo ThinkPad T430](../install/ivy_has_common.md) (no install docs yet)
|
||||
- [Lenovo ThinkPad T440p](../install/t440p_external.md)
|
||||
- [Lenovo ThinkPad T500](t500.md)
|
||||
- [Lenovo ThinkPad T520 / W520](../install/ivy_has_common.md) (no install guide yet)
|
||||
- [Lenovo ThinkPad T530 / W530](../install/ivy_has_common.md) (no install
|
||||
- Lenovo ThinkPad T60 (with Intel GPU) (**easy to flash without disassembly**)
|
||||
- Lenovo ThinkPad T60 (with Intel GPU)
|
||||
- [Lenovo ThinkPad W500](t500.md)
|
||||
- [Lenovo ThinkPad W541](../install/ivy_has_common.md) (no install docs yet)
|
||||
- [Lenovo ThinkPad X200 / X200S / X200 Tablet](x200.md)
|
||||
- [Lenovo ThinkPad X201 / X201S / X201 Tablet](x201.md)
|
||||
- [Lenovo Thinkpad X220](../install/ivy_has_common.md)
|
||||
- [Lenovo Thinkpad X220t](../install/ivy_has_common.md)
|
||||
- Lenovo ThinkPad X230
|
||||
- [Lenovo Thinkpad X230](../install/x230_external.md)
|
||||
- [Lenovo Thinkpad X230t](../install/x230_external.md)
|
||||
- Lenovo ThinkPad X301
|
||||
- Lenovo ThinkPad X60 / X60S / X60 Tablet (**easy to flash without disassembly**)
|
||||
- Lenovo ThinkPad X60 / X60S / X60 Tablet
|
||||
|
||||
### Laptops (ARM, with U-Boot payload)
|
||||
|
||||
|
@ -137,9 +166,12 @@ libreboot, so we don't actually provide that, but if you still have
|
|||
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
|
||||
will update both the BIOS and EC version. See:
|
||||
|
||||
- [../install/#flashrom](../install/#flashrom)
|
||||
- [../install/#flashprog](../install/#flashprog)
|
||||
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
NOTE: this can only be done when you are using Lenovo BIOS. How to
|
||||
update the EC firmware while running libreboot is unknown. libreboot
|
||||
only replaces the BIOS firmware, not EC.
|
||||
|
|
|
@ -3,6 +3,22 @@ title: 兼容硬件列表
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
Need help?
|
||||
==========
|
||||
|
||||
Help is available on [Libreboot IRC](../../contact.md) and other channels.
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
**[安装之前请先阅读这些指示](../../news/safety.md),否则你的机器可能会变砖:[安全措施](../../news/safety.md)**
|
||||
|
||||
这一部分说明了 libreboot 已知兼容的硬件。
|
||||
|
@ -34,9 +50,13 @@ x-toc-enable: true
|
|||
|
||||
### Desktops (AMD, Intel, x86)
|
||||
|
||||
- **Dell OptiPlex 7020/9020 MT and SFF (no guides yet) - [Available to buy
|
||||
with Libreboot preinstalled](https://minifree.org/product/libreboot-9020/)**
|
||||
- [Acer G43T-AM3](acer_g43t-am3.md)
|
||||
- [Apple iMac 5,2](imac52.md)
|
||||
- [ASUS KCMA-D8 主板](kcma-d8.md)
|
||||
- Dell OptiPlex 7010 **MT** (known to work, using the T1650 ROM, but more
|
||||
research is needed)
|
||||
- [Dell Precision T1650](t1650.md)
|
||||
- [Gigabyte GA-G41M-ES2L 主板](ga-g41m-es2l.md)
|
||||
- [HP Elite 8200 SFF/MT](hp8200sff.md)(HP 6200 Pro Business 多半也能用)
|
||||
|
@ -46,13 +66,24 @@ x-toc-enable: true
|
|||
|
||||
### 笔记本(Intel,x86)
|
||||
|
||||
- **[Lenovo ThinkPad T440p](../install/t440p_external.md) - Also [available
|
||||
to buy with Libreboot preinstalled](https://minifree.org/product/libreboot-t440p/)**
|
||||
- **[Lenovo ThinkPad W541](../install/ivy_has_common.md) - Also [available to
|
||||
buy with Libreboot preinstalled](https://minifree.org/product/libreboot-w541/)**
|
||||
- Lenovo ThinkPad X230 - *Also* available on Minifree: <https://minifree.org/product/libreboot-x230/>
|
||||
- [Apple MacBook1,1 及 MacBook2,1](macbook21.md)
|
||||
- [Dell Latitude E6400, E6400 XFR 及 E6400 ATG,皆支持 Nvidia 或 Intel GPU](e6400.md) **(刷入简单,无需拆解,硬件类似 X200/T400)**
|
||||
- [Dell Latitude E6430, Intel GPU](e6430.md) **(刷入简单,无需拆解)**
|
||||
- [Dell Latitude E6400, E6400 XFR 及 E6400 ATG,皆支持 Nvidia 或 Intel GPU](e6400.md)
|
||||
- Dell Latitude E6420 (Intel GPU) - no guide yet.
|
||||
- [Dell Latitude E6430, Intel GPU](e6430.md)
|
||||
- Dell Latitude E5530 (Intel GPU) - no guide yet.
|
||||
- Dell Latitude E6520 (Intel GPU) - no guide yet.
|
||||
- [HP EliteBook 2170p](hp2170p.md)
|
||||
- [HP EliteBook 2560p](hp2560p.md)
|
||||
- [HP EliteBook 2570p](hp2570p.md)
|
||||
- [HP EliteBook 820 G2](hp820g2.md)
|
||||
- [HP EliteBook 8460p](hp8460p.md)
|
||||
- [HP EliteBook 8470p](hp8470p.md)
|
||||
- [HP EliteBook 8560w](hp8560w.md)
|
||||
- [HP EliteBook Folio 9470m](hp9470m.md)
|
||||
- [Lenovo ThinkPad R400](r400.md)
|
||||
- [Lenovo ThinkPad R500](r500.md)
|
||||
|
@ -60,17 +91,13 @@ x-toc-enable: true
|
|||
- [Lenovo Thinkpad T420](../install/ivy_has_common.md)(暂无安装文档)
|
||||
- [Lenovo ThinkPad T420S](../install/ivy_has_common.md)(暂无安装文档)
|
||||
- [Lenovo ThinkPad T430](../install/ivy_has_common.md)(暂无安装文档)
|
||||
- [Lenovo ThinkPad T440p](../install/t440p_external.md)
|
||||
- [Lenovo ThinkPad T500](t500.md)
|
||||
- [Lenovo ThinkPad T530 / W530](../install/ivy_has_common.md)(暂无安装文档)
|
||||
- Lenovo ThinkPad T60(Intel GPU 款)
|
||||
- [Lenovo ThinkPad W500](t500.md)
|
||||
- [Lenovo ThinkPad W541](../install/ivy_has_common.md)(暂无安装文档)
|
||||
- [Lenovo ThinkPad X200 / X200S / X200 Tablet](x200.md)
|
||||
- [Lenovo ThinkPad X201 / X201S / X201 Tablet](x201.md)
|
||||
- [Lenovo Thinkpad X220](../install/ivy_has_common.md)
|
||||
- [Lenovo Thinkpad X220t](../install/ivy_has_common.md)
|
||||
- Lenovo ThinkPad X230
|
||||
- [Lenovo Thinkpad X230](../install/x230_external.md)
|
||||
- [Lenovo Thinkpad X230t](../install/x230_external.md)
|
||||
- Lenovo ThinkPad X301
|
||||
|
@ -123,9 +150,12 @@ d945gclf:据上次报告,根本无法启动。D510MO 仍在 lbmk 中,但
|
|||
|
||||
建议更新到最新 EC 固件版本。[EC 固件](../../faq.md#ec-embedded-controller-firmware) 与 libreboot 是独立的,所以我们实际上并不会提供这些固件,但如果你仍还有 Lenovo BIOS,那你可以直接运行 Lenovo BIOS 更新工具,它会同时更新 BIOS 和 EC 版本。见:
|
||||
|
||||
- [../install/#flashrom](../install/#flashrom)
|
||||
- [../install/#flashprog](../install/#flashprog)
|
||||
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
注意:只有在运行 Lenovo BIOS 的时候,你才能这样做。如何在运行 libreboot 的时候更新 EC 固件尚不清楚。libreboot 只会替换 BIOS 固件,而不会替换 EC。
|
||||
|
||||
更新的 EC 固件有一些好处,例如电池管理更加好。
|
||||
|
|
|
@ -3,6 +3,8 @@ title: ASUS KCMA-D8 desktop/workstation board
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
TODO: this page is OLD. check that the info is still valid.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
|
@ -149,7 +151,7 @@ Current issues {#issues}
|
|||
|
||||
- Opteron 4100 series CPUs are currently incompatible
|
||||
- LRDIMM memory modules are currently incompatible
|
||||
(use UDIMMs please)
|
||||
(use UDIMMs please) - NOTE: might actually work nowadays.
|
||||
- Memory initialization is still problematic for some modules. We
|
||||
recommend avoiding Kingston and Super Talent modules for this reason.
|
||||
|
||||
|
@ -157,11 +159,6 @@ The coreboot wiki has some information about RAM compatibility. The wiki is
|
|||
deprecated but the info on it is still correct for this board. Some other
|
||||
considerations:
|
||||
|
||||
- Booting from USB mass storage devices is currently broken under GRUB.
|
||||
Consequently, the textmode ROM with SeaBIOS is recommended otherwise
|
||||
in order to install an operating system you will need a hard disk with
|
||||
a pre-installed OS or will have to plug in another HDD or CD/DVD
|
||||
reader in order to boot OS installation media.
|
||||
- SeaBIOS lacked serial console support out-of-the-box in release 20160907
|
||||
and as such a workaround using SGABIOS is necessary. You can find
|
||||
instructions on how to do this on the
|
||||
|
|
|
@ -52,7 +52,10 @@ This is a server board using AMD hardware (Fam10h). It can also be used
|
|||
for building a high-powered workstation. Powered by libreboot.
|
||||
|
||||
Flashing instructions can be found at
|
||||
[../install/\#flashrom](../install/)
|
||||
[../install/\#flashprog](../install/)
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
Form factor {#formfactor}
|
||||
===========
|
||||
|
|
|
@ -3,6 +3,8 @@ title: ASUS KGPE-D16 server/workstation board
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
TODO: OLD page. TODO: check that all the info is still valid.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
|
@ -17,7 +19,7 @@ recommend avoiding Kingston modules.*
|
|||
*For working configurations see <https://www.coreboot.org/Board:asus/kgpe-d16>.*
|
||||
|
||||
Flashing instructions can be found at
|
||||
[../install/\#flashrom](../install/#flashrom) - note that external
|
||||
[../install/\#flashprog](../install/#flashprog) - note that external
|
||||
flashing is required, if the proprietary (ASUS) firmware is
|
||||
currently installed. If you already have libreboot, by default it is
|
||||
possible to re-flash using software running in Linux on the
|
||||
|
@ -79,6 +81,7 @@ Current issues {#issues}
|
|||
==============
|
||||
|
||||
- LRDIMM memory modules are currently incompatible
|
||||
(IT MAY WORK NOWADAYS, TODO TEST)
|
||||
- SAS (via PIKE 2008 module) requires a vendor option ROM (and
|
||||
SeaBIOS) to boot from it (theoretically possible to replace, but you
|
||||
can put a kernel in CBFS or on SATA and boot from that, which
|
||||
|
|
|
@ -85,7 +85,7 @@ For the MacBook2,1:
|
|||
working)*
|
||||
* MA701LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 *(tested -
|
||||
working)*
|
||||
* MB061LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7200 (untested)
|
||||
* MB061LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7200 *(tested -
|
||||
* MA700LL/A / A1181 (EMC 2121) / Intel Core 2 Duo T7200 *(tested -
|
||||
working)*
|
||||
* MB063LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7400 *(tested - working)*
|
||||
|
@ -103,7 +103,10 @@ Internal flashing
|
|||
|
||||
MacBook2,1 can always be flashed internally, even if running Apple firmware:
|
||||
|
||||
sudo flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w your.rom
|
||||
sudo flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w your.rom
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
The MacBook1,1 can't be flashed internally if running the Apple EFI firmware.
|
||||
You must flash externally.
|
||||
|
|
|
@ -77,7 +77,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
|
|||
(contains notes, plus instructions)
|
||||
|
||||
Flashing instructions can be found at
|
||||
[../install/\#flashrom](../install/#flashrom)
|
||||
[../install/\#flashprog](../install/#flashprog)
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
EC update {#ecupdate}
|
||||
=========
|
||||
|
@ -88,7 +91,7 @@ libreboot, so we don't actually provide that, but if you still have
|
|||
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
|
||||
will update both the BIOS and EC version. See:
|
||||
|
||||
- [../install/#flashrom](../install/#flashrom)
|
||||
- [../install/#flashprog](../install/#flashprog)
|
||||
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
|
||||
|
||||
NOTE: this can only be done when you are using Lenovo BIOS. How to
|
||||
|
|
|
@ -17,15 +17,15 @@ OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
|
|||
| **Name** | Precision T1650 |
|
||||
| **Variants** | Precision T1650 |
|
||||
| **Released** | 2012 |
|
||||
| **Chipset** | Intel QM77 |
|
||||
| **Chipset** | Intel C216 |
|
||||
| **CPU** | Intel Ivy Bridge |
|
||||
| **Graphics** | Discrete graphics, or Intel HD Graphics model
|
||||
depending on CPU model |
|
||||
| **Memory** | DDR3 DIMMs (max 32GB, 2x16GB), ECC memory supported |
|
||||
| **Memory** | DDR3 DIMMs (max 32GB, 4x8GB), ECC memory supported |
|
||||
| **Architecture** | x86_64 |
|
||||
| **Original boot firmware** | Dell UEFI firmware |
|
||||
| **Original boot firmware** | Dell UEFI firmware |
|
||||
| **Intel ME/AMD PSP** | Present. Can be disabled with me_cleaner. |
|
||||
| **Flash chip** | SOIC-16 16MiB (128Mbit) |
|
||||
| **Flash chip** | SOIC-16 and/or SOIC-8 12MiB (96Mbit) |
|
||||
|
||||
|
||||
```
|
||||
|
|
|
@ -76,7 +76,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
|
|||
(contains notes, plus instructions)
|
||||
|
||||
Flashing instructions can be found at
|
||||
[../install/\#flashrom](../install/#flashrom)
|
||||
[../install/\#flashprog](../install/#flashprog)
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
EC update {#ecupdate}
|
||||
=========
|
||||
|
@ -87,7 +90,7 @@ libreboot, so we don't actually provide that, but if you still have
|
|||
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
|
||||
will update both the BIOS and EC version. See:
|
||||
|
||||
- [../install/#flashrom](../install/#flashrom)
|
||||
- [../install/#flashprog](../install/#flashprog)
|
||||
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
|
||||
|
||||
NOTE: this can only be done when you are using Lenovo BIOS. How to
|
||||
|
|
|
@ -78,7 +78,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
|
|||
(contains notes, plus instructions)
|
||||
|
||||
Flashing instructions can be found at
|
||||
[../install/\#flashrom](../install/#flashrom)
|
||||
[../install/\#flashprog](../install/#flashprog)
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
EC update {#ecupdate}
|
||||
=========
|
||||
|
@ -89,7 +92,7 @@ libreboot, so we don't actually provide that, but if you still have
|
|||
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
|
||||
will update both the BIOS and EC version. See:
|
||||
|
||||
- [../install/#flashrom](../install/#flashrom)
|
||||
- [../install/#flashprog](../install/#flashprog)
|
||||
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
|
||||
|
||||
NOTE: this can only be done when you are using Lenovo BIOS. How to
|
||||
|
|
|
@ -76,7 +76,10 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
|
|||
(contains notes, plus instructions)
|
||||
|
||||
Flashing instructions can be found at
|
||||
[../install/\#flashrom](../install/#flashrom)
|
||||
[../install/\#flashprog](../install/#flashprog)
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
EC update {#ecupdate}
|
||||
=========
|
||||
|
@ -87,7 +90,7 @@ libreboot, so we don't actually provide that, but if you still have
|
|||
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
|
||||
will update both the BIOS and EC version. See:
|
||||
|
||||
- [../install/#flashrom](../install/#flashrom)
|
||||
- [../install/#flashprog](../install/#flashprog)
|
||||
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
|
||||
- [X200, X200s, X200si BIOS Update](http://pcsupport.lenovo.com/au/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x200/downloads/ds015007)
|
||||
- [X200t BIOS Update](http://pcsupport.lenovo.com/au/en/products/laptops-and-netbooks/thinkpad-x-series-tablet-laptops/thinkpad-x200-tablet/downloads/ds018814)
|
||||
|
|
|
@ -69,7 +69,10 @@ X200S та X201S; знову ж таки, це неперевірено. *Шви
|
|||
(містить примітки та інструкції)
|
||||
|
||||
Інструкції з перепрошивки можна знайти за адресою
|
||||
[../install/\#flashrom](../install/#flashrom)
|
||||
[../install/\#flashprog](../install/#flashprog)
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
Оновлення EC {#ecupdate}
|
||||
=========
|
||||
|
@ -80,7 +83,7 @@ libreboot, тому ми її фактично не надаємо, але як
|
|||
Lenovo BIOS, ви можете просто запустити утиліту оновлення BIOS Lenovo, яка
|
||||
оновить як BIOS, так і версію EC. Дивіться:
|
||||
|
||||
- [../install/#flashrom](../install/#flashrom)
|
||||
- [../install/#flashprog](../install/#flashprog)
|
||||
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
|
||||
- [Оновлення BIOS X200, X200s, X200i](http://pcsupport.lenovo.com/au/en/products/laptops-and-netbooks/thinkpad-x-series-laptops/thinkpad-x200/downloads/ds015007)
|
||||
- [Оновлення BIOS X200t](http://pcsupport.lenovo.com/au/en/products/laptops-and-netbooks/thinkpad-x-series-tablet-laptops/thinkpad-x200-tablet/downloads/ds018814)
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
---
|
||||
title: ThinkPad X201
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
<div class="specs">
|
||||
<center>
|
||||
ThinkPad X201
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|----------------------------|------------------------------------------------|
|
||||
| **Manufacturer** | Lenovo |
|
||||
| **Name** | ThinkPad X201/X201S/X201 Tablet |
|
||||
| **Released** | May 2011 |
|
||||
| **Chipset** | Intel Arrandale / Ibex Peak |
|
||||
| **CPU** | Intel Core i5 first generation |
|
||||
| **Graphics** | Intel HD graphics (1st generation) |
|
||||
| **Display** | 1280x800 TFT |
|
||||
| **Memory** | 1,2,3 or 4GB (Upgradable to 8GB, unofficially) |
|
||||
| **Architecture** | x86_64 |
|
||||
| **EC** | Proprietary (Renesas H8s) |
|
||||
| **Original boot firmware** | LenovoBIOS |
|
||||
| **Intel ME/AMD PSP** | Present. Can be completly disabled. |
|
||||
| **Flash chip** | SOIC-8 8MB capacity (64MBit) |
|
||||
```
|
||||
W+: Works without blobs;
|
||||
N: Doesn't work;
|
||||
W*: Works with blobs;
|
||||
U: Untested;
|
||||
P+: Partially works;
|
||||
P*: Partially works with blobs
|
||||
```
|
||||
|
||||
| ***Features*** | |
|
||||
|----------------|---------------------------------------|
|
||||
| **Internal flashing with original boot firmware** | N |
|
||||
| **Display** | W+ |
|
||||
| **Audio** | W+ |
|
||||
| **RAM Init** | W+ |
|
||||
| **External output** | W+ |
|
||||
| **Display brightness** | P+ |
|
||||
|
||||
| ***Payloads supported*** | |
|
||||
|---------------------------|-----------|
|
||||
| **GRUB** | Works |
|
||||
| **SeaBIOS** | Works |
|
||||
| **SeaBIOS with GRUB** | Works |
|
||||
</div>
|
||||
|
||||
Flashing instructions can be found at
|
||||
[ThinkPad X201 Libreboot Flashing Guide](../install/x201.md)
|
||||
|
||||
EC update {#ecupdate}
|
||||
=========
|
||||
|
||||
It is recommended that you update LenovoBIOS, before installing Libreboot.
|
||||
This way, you get the latest EC firmware. There is no way to update this
|
||||
from Libreboot.
|
|
@ -8,6 +8,19 @@ the [main news section](../news/).
|
|||
|
||||
[Answers to Frequently Asked Questions about libreboot](../faq.md).
|
||||
|
||||
Need help?
|
||||
==========
|
||||
|
||||
Help is available on [Libreboot IRC](../contact.md) and other channels.
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
Installing libreboot
|
||||
====================
|
||||
|
||||
|
|
|
@ -8,6 +8,19 @@ libreboot. Новини, включаючи оголошення про випу
|
|||
|
||||
[Відповіді на поширені запитання про libreboot](../faq.md).
|
||||
|
||||
Need help?
|
||||
==========
|
||||
|
||||
Help is available on [Libreboot IRC](../contact.md) and other channels.
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
Встановлення libreboot
|
||||
====================
|
||||
|
||||
|
|
|
@ -6,6 +6,19 @@ libreboot 的最新更新,可以在 [libreboot.org](https://libreboot.org) 上
|
|||
|
||||
[libreboot 常见问题解答](../faq.md).
|
||||
|
||||
Need help?
|
||||
==========
|
||||
|
||||
Help is available on [Libreboot IRC](../contact.md) and other channels.
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
安装 libreboot
|
||||
====================
|
||||
|
||||
|
|
|
@ -22,6 +22,10 @@ A special fork of flashrom, maintained by Google, is required for flashing.
|
|||
More information about this is present in the generic [chromebook flashing
|
||||
instructions](chromebooks.md).
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom, but the chromium fork
|
||||
is another fork of flashrom, and you should use that on chromebooks.
|
||||
|
||||
Depthcharge payload (obsolete)
|
||||
------------------------------
|
||||
|
||||
|
|
|
@ -12,7 +12,10 @@ Flash chip size {#flashchips}
|
|||
|
||||
Use this to find out:
|
||||
|
||||
flashrom -p internal
|
||||
flashprog -p internal
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
Flashing instructions {#clip}
|
||||
=====================
|
||||
|
|
|
@ -68,7 +68,7 @@ Flash chip size {#flashchips}
|
|||
|
||||
Use this to find out:
|
||||
|
||||
flashrom -p internal
|
||||
flashprog -p internal
|
||||
|
||||
We believe most/all are 4MB (32Mb) flash sizes, but larger ROM images are
|
||||
provided for people who wish to upgrade.
|
||||
|
@ -119,17 +119,15 @@ build target `e6400_4mb` - either build from source and it gets inserted
|
|||
automatically, or you can [insert it
|
||||
manually](ivy_has_common.md) on future release ROMs past Libreboot 20230625.
|
||||
|
||||
An earlier experimental revision existed in the `e6400nvidia_wip` branch of
|
||||
An earlier experimental revision existed in an experimental branch of
|
||||
lbmk, as build target `e6400nvidia_4mb`, but it was decided that since SeaBIOS
|
||||
is the only payload anyway on this board, having just a single build target is
|
||||
more efficient if that can (and it does) support both variants.
|
||||
more efficient if that can (and it does) support both variants. It was therefore
|
||||
added to the master branch.
|
||||
|
||||
Actual installation is the same as with regular E6400 (Intel GPU) variants.
|
||||
Refer to the [E6400 flashing instructions](../docs/install/e6400.md).
|
||||
|
||||
The `e6400nvidia_wip` branch is obsolete, and it is merely referenced for
|
||||
historical purposes.
|
||||
|
||||
Problems with Linux video drivers on Nvidia
|
||||
-------------------------------------------
|
||||
|
||||
|
@ -160,29 +158,12 @@ codeberg](https://codeberg.org/libreboot/lbmk/issues/14#issuecomment-907758).
|
|||
How to flash internally (no diassembly)
|
||||
=======================================
|
||||
|
||||
Warning for BSD users
|
||||
---------------------
|
||||
|
||||
**NOTE (15 October 2023): The util is now called `dell-flash-unlock`, but it
|
||||
was previously called `e6400-flash-unlock`. Links have been updated.**
|
||||
|
||||
BSD *boots* and works properly on these machines, but take note:
|
||||
|
||||
Nicholas's [dell-flash-unlock](https://browse.libreboot.org/lbmk.git/plain/util/dell-flash-unlock/dell_flash_unlock.c)
|
||||
utility has been ported to OpenBSD, but *other* BSDs are assumed unsupported for
|
||||
now. The `flashrom` software is available on BSD systems. Libreboot's build
|
||||
system has *itself* not yet been ported to the BSDs, but you can use the
|
||||
flash unlock utility.
|
||||
|
||||
NOTE: BSD is mentioned above, but the only BSD tested for `dell-flash-unlock`
|
||||
is OpenBSD, as of 15 October 2023.
|
||||
|
||||
Flashing from Linux
|
||||
-------------------
|
||||
|
||||
MAKE SURE you boot with this Linux kernel parameter: `iomem=relaxed` - this
|
||||
disables memory protections, permitting `/dev/mem` access needed by flashrom.
|
||||
The flash is memory mapped and flashrom accesses it via `/dev/mem`.
|
||||
disables memory protections, permitting `/dev/mem` access needed by flashprog.
|
||||
The flash is memory mapped and flashprog accesses it via `/dev/mem`.
|
||||
|
||||
You can flash Libreboot directly from the vendor (Dell) BIOS, without taking
|
||||
the machine apart. It can be done entirely from Linux. It will probably also
|
||||
|
@ -218,18 +199,18 @@ Protected Range registers.
|
|||
|
||||
When you flash it, you can use this command:
|
||||
|
||||
flashrom -p internal -w libreboot.rom
|
||||
flashprog -p internal -w libreboot.rom
|
||||
|
||||
Where `libreboot.rom` is your E6400 ROM. *Make sure* it's the right one.
|
||||
If flashrom complains about multiple flash chips detected, just pick one of
|
||||
If flashprog complains about multiple flash chips detected, just pick one of
|
||||
them (doesn't matter which one). On *most* Dell machines, the most correct
|
||||
would probably be this option in flashrom: `-c MX25L3205D/MX25L3208D`.
|
||||
would probably be this option in flashprog: `-c MX25L3205D/MX25L3208D`.
|
||||
|
||||
So:
|
||||
|
||||
flashrom -p internal -w libreboot.rom -c MX25L3205D/MX25L3208D
|
||||
flashprog -p internal -w libreboot.rom -c MX25L3205D/MX25L3208D
|
||||
|
||||
When you see flashrom say `VERIFIED` at the end, that means the flash was
|
||||
When you see flashprog say `VERIFIED` at the end, that means the flash was
|
||||
successful. If you don't see that, or you're unsure, please [contact the
|
||||
Libreboot project via IRC](../../contact.md).
|
||||
|
||||
|
@ -239,7 +220,7 @@ BACK UP THE FACTORY BIOS
|
|||
The `-w` option flashes `libreboot.rom`. You may consider *backing up* the
|
||||
original Dell BIOS first, using the -r option:
|
||||
|
||||
flashrom -p internal -r backup.rom -c MX25L3205D/MX25L3208D
|
||||
flashprog -p internal -r backup.rom -c MX25L3205D/MX25L3208D
|
||||
|
||||
Do this while in a flashable state, after the 2nd run of `dell-flash-unlock`.
|
||||
|
||||
|
|
|
@ -3,6 +3,9 @@ title: Flashing the Dell Latitude E6430
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**NOTE:** This installation guide also pertains to E5520, E6420, E6520, E5530
|
||||
and E6530.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
|
@ -21,7 +24,7 @@ Flash chip size {#flashchips}
|
|||
|
||||
Use this to find out:
|
||||
|
||||
flashrom -p internal
|
||||
flashprog -p internal
|
||||
|
||||
The internal flash size is 12MiB on this board; physically, an 8MiB and 4MiB
|
||||
chip (two chips) but this distinction only matters for external flashing.
|
||||
|
@ -38,7 +41,7 @@ Refer to [mac\_address.md](../hardware/mac_address.md).
|
|||
|
||||
It is recommended that you run *nvmutil*. See:
|
||||
|
||||
[nvmutil usage manual](nvmutil.md)
|
||||
[nvmutil usage manual](nvmutil.md) - E5530 users don't need to run this.
|
||||
|
||||
The `nvmutil` software is specifically designed for changing MAC addresses,
|
||||
and it implements a few more safeguards (e.g. prevents multicast/all-zero
|
||||
|
@ -79,9 +82,10 @@ BSD *boots* and works properly on these machines, but take note:
|
|||
|
||||
Nicholas's [dell-flash-unlock](https://browse.libreboot.org/lbmk.git/plain/util/dell-flash-unlock/dell_flash_unlock.c)
|
||||
utility has been ported to OpenBSD, but *other* BSDs are assumed unsupported for
|
||||
now. The `flashrom` software is available on BSD systems. Libreboot's build
|
||||
system has *itself* not yet been ported to the BSDs, but you can use the
|
||||
flash unlock utility.
|
||||
now.
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
NOTE: BSD is mentioned above, but the only BSD tested for `dell-flash-unlock`
|
||||
is OpenBSD, as of 15 October 2023.
|
||||
|
@ -90,8 +94,8 @@ Flashing from Linux
|
|||
-------------------
|
||||
|
||||
MAKE SURE you boot with this Linux kernel parameter: `iomem=relaxed` - this
|
||||
disables memory protections, permitting `/dev/mem` access needed by flashrom.
|
||||
The flash is memory mapped and flashrom accesses it via `/dev/mem`.
|
||||
disables memory protections, permitting `/dev/mem` access needed by flashprog.
|
||||
The flash is memory mapped and flashprog accesses it via `/dev/mem`.
|
||||
|
||||
You can flash Libreboot directly from the vendor (Dell) BIOS, without taking
|
||||
the machine apart. It can be done entirely from Linux. It will probably also
|
||||
|
@ -128,14 +132,14 @@ flash; see the instructions below.
|
|||
|
||||
When you flash it, you can use this command:
|
||||
|
||||
flashrom -p internal -w libreboot.rom
|
||||
flashprog -p internal -w libreboot.rom
|
||||
|
||||
Where `libreboot.rom` is your E6430 ROM. *Make sure* it's the right one.
|
||||
If flashrom complains about multiple flash chips detected, just pick one of
|
||||
If flashprog complains about multiple flash chips detected, just pick one of
|
||||
them (doesn't matter which one), with the `-C` flag as directed; just pick one,
|
||||
and if it doesn't work, try the next.
|
||||
|
||||
When you see flashrom say `VERIFIED` at the end, that means the flash was
|
||||
When you see flashprog say `VERIFIED` at the end, that means the flash was
|
||||
successful. If you don't see that, or you're unsure, please [contact the
|
||||
Libreboot project via IRC](../../contact.md).
|
||||
|
||||
|
@ -145,10 +149,10 @@ BACK UP THE FACTORY BIOS
|
|||
The `-w` option flashes `libreboot.rom`. You may consider *backing up* the
|
||||
original Dell BIOS first, using the -r option:
|
||||
|
||||
flashrom -p internal -r backup.rom
|
||||
flashprog -p internal -r backup.rom
|
||||
|
||||
AGAIN: make sure to use `-C` accordingly, if you need to pick a chip (where
|
||||
flashrom has detected multiple chip definitions). Just pick one, any of them
|
||||
flashprog has detected multiple chip definitions). Just pick one, any of them
|
||||
will probably work, if not try the next.
|
||||
|
||||
Do this while in a flashable state, after the 2nd run of `dell-flash-unlock`.
|
||||
|
|
|
@ -22,7 +22,7 @@ Flash chip size {#flashchips}
|
|||
|
||||
Use this to find out:
|
||||
|
||||
flashrom -p internal
|
||||
flashprog -p internal
|
||||
|
||||
Flashing instructions {#clip}
|
||||
=====================
|
||||
|
@ -52,11 +52,11 @@ Linux. There are 2 flash chips (one is backup).
|
|||
|
||||
Flash the first chip:
|
||||
|
||||
./flashrom -p internal:dualbiosindex=0 -w libreboot.rom
|
||||
./flashprog -p internal:dualbiosindex=0 -w libreboot.rom
|
||||
|
||||
Flash the second chip:
|
||||
|
||||
./flashrom -p internal:dualbiosindex=1 -w libreboot.rom
|
||||
./flashprog -p internal:dualbiosindex=1 -w libreboot.rom
|
||||
|
||||
NOTE: you can still boot the system with just the main flash chip
|
||||
connected, after desoldering the backup chip. This has been tested while
|
||||
|
@ -66,5 +66,5 @@ NOTE: If you don't flash both chips, the recovery program from the default
|
|||
factory BIOS will kick in and your board will be soft bricked. Make sure that
|
||||
you flash both chips!
|
||||
|
||||
NOTE: You need the latest flashrom. Just get it on flashrom.org from
|
||||
their SVN or Git repos.
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
|
|
@ -123,7 +123,7 @@ accomplish the same result of locking or unlocking a descriptor.**
|
|||
These files contain the descriptor+GbE region and are suitable for systems
|
||||
that have an Intel GbE NIC present. The flash regions (as defined by the
|
||||
Intel Flash Descriptor) are set *read-write* which means that you can also
|
||||
re-flash using `flashrom -p internal` in your operating system running on
|
||||
re-flash using `flashprog -p internal` in your operating system running on
|
||||
that machine. This is the default setup used when libreboot's build system
|
||||
compiles ROM images.
|
||||
|
||||
|
@ -181,7 +181,7 @@ a Broadcom NIC for ethernet. In descriptorless mode, ICH9M works very similarly
|
|||
to older ICH7 chipsets.
|
||||
|
||||
Your libreboot.rom image is now ready to be flashed on the system. Refer
|
||||
back to [../install/\#flashrom](../install/#flashrom) for how to flash
|
||||
back to [../install/\#flashprog](../install/#flashprog) for how to flash
|
||||
it.
|
||||
|
||||
Write-protecting the flash chip
|
||||
|
@ -289,7 +289,7 @@ This takes a `factory.rom` dump and disables the ME/TPM, but leaves the
|
|||
region intact. It also sets all regions read-write. Simply put, this means
|
||||
that you can use the original factory firmware but without the Intel ME enabled.
|
||||
|
||||
The ME interferes with flash read/write in flashrom, and the default
|
||||
The ME interferes with flash read/write in flashprog, and the default
|
||||
descriptor locks some regions. The idea is that doing this will remove
|
||||
all of those restrictions.
|
||||
|
||||
|
|
|
@ -3,13 +3,71 @@ title: Installation instructions
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
Need help?
|
||||
==========
|
||||
|
||||
Help is available on [Libreboot IRC](../../contact.md) and other channels.
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
FLASH ERRORS (and workarounds)
|
||||
=======================
|
||||
|
||||
**NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.**
|
||||
|
||||
This section relates to installing libreboot on supported targets.
|
||||
|
||||
NOTE: if running `flashrom -p internal` for software based flashing, and you
|
||||
Right out of the gate, some users may experience errors with flashprog when
|
||||
using the internal programmer. They are:
|
||||
|
||||
/dev/mem access error
|
||||
---------------------
|
||||
|
||||
NOTE: if running `flashprog -p internal` for software based flashing, and you
|
||||
get an error related to `/dev/mem` access, you should reboot with
|
||||
`iomem=relaxed` kernel parameter before running flashrom, or use a kernel that
|
||||
`iomem=relaxed` kernel parameter before running flashprog, or use a kernel that
|
||||
has `CONFIG_STRICT_DEVMEM` not enabled.
|
||||
|
||||
On NetBSD and OpenBSD systems, the equivalent to `iomem=relaxed` in this case
|
||||
is `kernel.securelevel=-1`; see [NetBSD securelevel
|
||||
manual](https://wiki.netbsd.org/tutorials/kernel_secure_levels/)
|
||||
and [OpenBSD securelevel manual](https://man.openbsd.org/securelevel).
|
||||
|
||||
ERROR: Could not get I/O privileges
|
||||
------------------------------------
|
||||
|
||||
Error message: `ERROR: Could not get I/O privileges (Function not implemented)`
|
||||
|
||||
If you get this while running `flashprog -p internal -w filename.rom` (or any
|
||||
internal flash operation), note: flashprog heavily uses ioperm/iopl functions
|
||||
to operate the internal flasher, at least on x86 machines.
|
||||
|
||||
See: <https://lwn.net/Articles/804143/>
|
||||
|
||||
Yeah, just enable `CONFIG_X86_IOPL_IOPERM` in your Linux kernel. This is
|
||||
a *build-time* option, so you must re-compile your kernel, or find a build that
|
||||
has this option enabled (IOPL emulation). Many default kernel configurations
|
||||
now disable this option.
|
||||
|
||||
Here's a handy-dandy guide for building a kernel from source:
|
||||
<https://www.cyberciti.biz/tips/compiling-linux-kernel-26.html>
|
||||
|
||||
**BSD users:** On OpenBSD and NetBSD if you get similar errors, note that it
|
||||
should work here, but you need to boot with `kern.securelevel=-1`.
|
||||
See: [NetBSD securelevel manual](https://wiki.netbsd.org/tutorials/kernel_secure_levels/)
|
||||
and [OpenBSD securelevel manpage](https://man.openbsd.org/securelevel).
|
||||
|
||||
Otherwise, if you get such errors, it may just be that you're not root. You
|
||||
must run flashprog as root, at least to use the internal flasher (using external
|
||||
USB flashing dongles doesn't normally require root).
|
||||
|
||||
SAFETY WARNING!
|
||||
====================================================================
|
||||
|
||||
|
@ -212,6 +270,18 @@ which means that the MAC address is irrelevant (either there will be an Intel
|
|||
PHY module that is now unusable, and you use an add-on card, or it doesn't use
|
||||
an Intel PHY module and the onboard NIC is usable).
|
||||
|
||||
HP EliteBook 820 G2
|
||||
===================
|
||||
|
||||
Please refer to the [820 G2 page](../hardware/hp820g2.md) for specific
|
||||
flashing instructions, both internal and external.
|
||||
|
||||
HP EliteBook 8560w
|
||||
===================
|
||||
|
||||
Please refer to the [8560w page](../hardware/hp8560w.md) for specific
|
||||
flashing instructions, both internal and external.
|
||||
|
||||
Install via host CPU (internal flashing)
|
||||
========================================
|
||||
|
||||
|
@ -221,7 +291,7 @@ may be configured to restrict write privileges by the host CPU.
|
|||
|
||||
In some situations, the host CPU can rewrite/erase/dump the boot flash.
|
||||
This is called *internal flashing*. This means that you will run software,
|
||||
namely `flashrom`, to read/erase/write the contents of the boot flash from a
|
||||
namely `flashprog`, to read/erase/write the contents of the boot flash from a
|
||||
running operating system on the target device.
|
||||
|
||||
NOTE: please also read the sections further down this page. On some systems,
|
||||
|
@ -232,11 +302,11 @@ NOTE: in some cases, external flashing is possible but special steps are
|
|||
required. This depends on your mainboard. Again, please read this page
|
||||
carefully.
|
||||
|
||||
Run flashrom on host CPU
|
||||
Run flashprog on host CPU
|
||||
------------------------
|
||||
|
||||
You can simply take any ROM image from the libreboot project, and flash it.
|
||||
Boot a Linux distribution on the target device, and install flashrom.
|
||||
Boot a Linux distribution on the target device, and install flashprog.
|
||||
|
||||
In some cases, this is not possible or there are other considerations. Please
|
||||
read this section *carefully*.
|
||||
|
@ -245,7 +315,7 @@ read this section *carefully*.
|
|||
|
||||
Use this to find out:
|
||||
|
||||
flashrom -p internal
|
||||
flashprog -p internal
|
||||
|
||||
In the output will be information pertaining to your boot flash.
|
||||
|
||||
|
@ -253,14 +323,14 @@ In the output will be information pertaining to your boot flash.
|
|||
|
||||
How to read the current chip contents:
|
||||
|
||||
sudo flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -r dump.bin
|
||||
sudo flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -r dump.bin
|
||||
|
||||
You should still make several dumps, even if you're flashing internally, to
|
||||
ensure that you get the same checksums. Check each dump using `sha1sum`
|
||||
|
||||
How to erase and rewrite the chip contents:
|
||||
|
||||
sudo flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w libreboot.rom
|
||||
sudo flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w libreboot.rom
|
||||
|
||||
If you are re-flashing a GM45+ICH9M laptop (e.g. ThinkPad X200/X200S/X200T,
|
||||
T400, T500, R400, W500 etc - but not R500), you should run the ich9gen utility
|
||||
|
@ -269,13 +339,13 @@ Please read the ich9utils documentation:
|
|||
[/docs/install/ich9utils.html](/docs/install/ich9utils.html)
|
||||
|
||||
NOTE: `force_I_want_a_brick` is not scary. Do not be scared! This merely disables
|
||||
the safety checks in flashrom. Flashrom and coreboot change a lot, over the years,
|
||||
the safety checks in flashprog. Flashrom and coreboot change a lot, over the years,
|
||||
and sometimes it's necessary to use this option. If you're scared, then just
|
||||
follow the above instructions, but remove that option. So, just use `-p internal`.
|
||||
If that doesn't work, next try `-p internal:boardmismatch=force`. If that doesn't
|
||||
work, try `-p internal:boardmismatch=force,laptop=force_I_want_a_brick`. So long
|
||||
as you *ensure* you're using the correct ROM for your machine, it will be safe
|
||||
to run flashrom. These extra options just disable the safetyl checks in flashrom.
|
||||
to run flashprog. These extra options just disable the safetyl checks in flashprog.
|
||||
There is nothing to worry about.
|
||||
|
||||
If successful, it will either say `VERIFIED` or it will say that the chip
|
||||
|
@ -290,14 +360,34 @@ the sections below:
|
|||
|
||||
[You must flash it externally](spi.md)
|
||||
|
||||
#### DELL Latitude E6400 laptop (easy to flash, similar to X200/T400)
|
||||
#### DELL Latitude E6400 laptop
|
||||
|
||||
See: [Dell Latitude E6400 Libreboot Installation Guide](e6400.md)
|
||||
|
||||
#### DELL Latitude E6430 laptop (easy to flash, no disassembly)
|
||||
#### DELL Latitude E6420 laptop
|
||||
|
||||
See: [Dell Latitude E6420 Libreboot Installation Guide](e6430.md)
|
||||
|
||||
#### DELL Latitude E6430 laptop
|
||||
|
||||
See: [Dell Latitude E6430 Libreboot Installation Guide](e6430.md)
|
||||
|
||||
#### DELL Latitude E6520 laptop
|
||||
|
||||
See: [Dell Latitude E6520 Libreboot Installation Guide](e6420.md)
|
||||
|
||||
#### DELL Latitude E6530 laptop
|
||||
|
||||
See: [Dell Latitude E6530 Libreboot Installation Guide](e6430.md)
|
||||
|
||||
#### DELL Latitude E5520 laptop
|
||||
|
||||
See: [Dell Latitude E5520 Libreboot Installation Guide](e5520.md)
|
||||
|
||||
#### DELL Latitude E5530 laptop
|
||||
|
||||
See: [Dell Latitude E5530 Libreboot Installation Guide](e6430.md)
|
||||
|
||||
#### ThinkPad X200/T400/T500/W500/R400/R500 vendor BIOS
|
||||
|
||||
If you're running one of these, it cannot be flashed internally if you're still
|
||||
|
@ -315,10 +405,9 @@ Intel NIC.
|
|||
TARGET: ThinkPad X201/X201S/X201 Tablet
|
||||
--------------------------------
|
||||
|
||||
**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING
|
||||
LIBREBOOT](../../news/safety.md). - this also applies to X201**
|
||||
|
||||
Refer to [X201 flashing guide](x201.md)
|
||||
**SUPPORT WAS REMOVED, because fan controls fail when the ME is neutered on
|
||||
this platform. This only affects the arrandale machines, and does not affect
|
||||
newer Intel platforms.**
|
||||
|
||||
#### Intel D510MO and D410PT running original Intel BIOS
|
||||
|
||||
|
@ -381,6 +470,13 @@ And then do this:
|
|||
|
||||
(This was fixed in Libreboot 20231101)
|
||||
|
||||
**NOTE: the section below pertaining to 20160907 static binaries references
|
||||
flashrom. Libreboot recommends flashprog nowadays, but if you're using that
|
||||
utils archive, please note that it is from a time when Libreboot used
|
||||
flashrom. Use flashrom there as that's what included in those binaries.
|
||||
Libreboot does not currently document how to patch flashprog for sst/macronix
|
||||
on X60/T60, when going (in software) from lenovobios to libreboot.**
|
||||
|
||||
**NOTE: This section partially relates to `utils` release archive in
|
||||
Libreboot 20160907, which contains static compiled binaries for things like
|
||||
bucts and flashrom. It will *still* work on modern distros, and thus is
|
||||
|
@ -413,12 +509,12 @@ Here are a list of targets:
|
|||
and you will run it at 115200 baud rate. agetty/fgetty in Linux can give
|
||||
you a serial console in your OS)
|
||||
|
||||
Download and build flashrom, using the instructions
|
||||
on [the Git page](../../git.md), and download the `bucts` software using the
|
||||
notes on that very same page.
|
||||
|
||||
You can replace Lenovo BIOS with libreboot, using flashrom running on the host
|
||||
CPU. However, there are some considerations.
|
||||
CPU. However, there are some considerations. NOTE: needs patching for SST
|
||||
and macronix chips, but libreboot doesn't yet do this for flashprog. You can
|
||||
use the old Libreboot 20160907 sources to get the modified flashrom instead,
|
||||
which contains this patch - and static binaries are provided, for convenience;
|
||||
they will still work, due to libs being statically linked.
|
||||
|
||||
Firstly, make sure that the yellow CMOS battery is installed, and functioning
|
||||
correctly. You could check the voltage. The battery is a CR2032
|
||||
|
@ -443,7 +539,7 @@ program referenced below.
|
|||
The libreboot ROM images already have the upper 64KiB bootblock copied to the lower
|
||||
one, so you don't have to worry about copying it yourself.
|
||||
|
||||
If you build flashrom using the libreboot build system, there will be three
|
||||
If you use the Libreboot 20160907 utils archive, there will be three
|
||||
binaries:
|
||||
|
||||
* `flashrom`
|
||||
|
@ -463,7 +559,7 @@ Macronix chip. The Macronix chip will have "MX" written on the chip. You will
|
|||
use `flashrom_i945_sst` for the SST chip, and `flashrom_i945_mx` for the
|
||||
Macronix chip.
|
||||
|
||||
Now run flashrom (for SST):
|
||||
Now run flashrom from the Libreboot 20160907 utils archive (for SST):
|
||||
|
||||
sudo ./flashrom_i945_sst -p internal -w coreboot.rom
|
||||
|
||||
|
@ -500,7 +596,8 @@ Your flash chip is in an unknown state.
|
|||
If you see this, rejoice! It means that the flash was successful. Please do not
|
||||
panic. Shut down now, and wait a few seconds, then turn back on again.
|
||||
|
||||
**WARNING: if flashrom complains about `/dev/mem` access, please
|
||||
**WARNING: if flashrom (from Libreboot 20160907 utils) complains
|
||||
about `/dev/mem` access, please
|
||||
run `sudo ./bucts 0`. If flashrom is complaining about `/dev/mem`, it means
|
||||
that you have `CONFIG_STRICT_DEVMEM` enabled in your kernel. Reboot with the
|
||||
following kernel parameter added in your bootloader: `iomem=relaxed` and try
|
||||
|
@ -517,17 +614,24 @@ volatile memory, powered by that CR2032 coin-cell battery.
|
|||
|
||||
Assuming that everything went well:
|
||||
|
||||
Flash the ROM for a second time. For this second flashing attempt, the upper
|
||||
64KiB bootblock is now read-write. Use the *unpatched* flashrom binary:
|
||||
Switch to flashprog now! (avoid flashrom)
|
||||
---------------------------------------
|
||||
|
||||
sudo ./flashrom -p internal -w libreboot.rom
|
||||
Flash the ROM for a second time. For this second flashing attempt, the upper
|
||||
64KiB bootblock is now read-write. Use the *unpatched* flashprog binary:
|
||||
|
||||
sudo ./flashprog -p internal -w libreboot.rom
|
||||
|
||||
NOTE: At this point, we recommend use of flashprog instead of flashrom, for
|
||||
the reasons mentioned in the [Libreboot 20240225
|
||||
release](../../news/libreboot20240225.md).
|
||||
|
||||
To reset bucts, do this:
|
||||
|
||||
sudo ./bucts 0
|
||||
|
||||
ONLY set bucts back to 0 if you're sure that the upper 64KiB bootblock is
|
||||
flashed. It is flashed if flashrom said VERIFIED when running the above
|
||||
flashed. It is flashed if flashprog said VERIFIED when running the above
|
||||
command.
|
||||
|
||||
If it said VERIFIED, shut down. If it didn't say VERIFIED, make sure bucts is
|
||||
|
@ -573,19 +677,24 @@ ASUS KFSN4-DRE
|
|||
|
||||
The KFSN4-DRE has an LPC chip. Most people have been flashing these
|
||||
internally, hot-swapping the chip out after boot, preserving the original chip,
|
||||
and using flashrom on a new chip as described above.
|
||||
and using flashprog on a new chip as described above.
|
||||
|
||||
TODO: Document PLCC32 (LPC) flashing.
|
||||
The [FlexyICE](https://www.coreboot.org/FlexyICE) has been used to flash these
|
||||
chips, but it is hard to find now. A custom flasher may be made such as
|
||||
[flashrom serprog stm32](https://github.com/wosk/stm32-vserprog-lpc) or
|
||||
[teensy flasher](https://www.flashrom.org/Teensy_3.1_SPI_%2B_LPC/FWH_Flasher)
|
||||
[flashprog serprog stm32](https://github.com/wosk/stm32-vserprog-lpc) or
|
||||
[teensy flasher](https://www.flashprog.org/Teensy_3.1_SPI_%2B_LPC/FWH_Flasher)
|
||||
|
||||
TARGET: DELL Precision T1650 desktop
|
||||
------------------------------------
|
||||
|
||||
Refer to the [T1650 hardware page](../hardware/t1650.md).
|
||||
|
||||
TARGET: DELL OptiPlex 7020/9020 SFF and MT desktops
|
||||
------------------------------------
|
||||
|
||||
Refer to the [7020/9020 hardware page](../hardware/dell9020.md).
|
||||
|
||||
TARGET: Apple Macbook2,1, Macbook1,1 and iMac5,2 (i945 platform)
|
||||
----------------------------------------------------------------
|
||||
|
||||
|
@ -609,6 +718,8 @@ Links to specific HP laptop pages:
|
|||
* [HP EliteBook 2170p](../hardware/hp2170p.md)
|
||||
* [HP EliteBook 2560p](../hardware/hp2560p.md)
|
||||
* [HP EliteBook 2570p](../hardware/hp2570p.md)
|
||||
* [HP EliteBook 820 G2](../hardware/hp820g2.md)
|
||||
* [HP EliteBook 8460p](../hardware/hp8460p.md)
|
||||
* [HP EliteBook 8470p](../hardware/hp8470p.md)
|
||||
* [HP EliteBook Folio 9470m](../hardware/hp9470m.md)
|
||||
|
||||
|
|
|
@ -6,12 +6,6 @@ x-toc-enable: true
|
|||
**NOTE: This page also applies to PM45 machine Dell Latitude E6400 if it
|
||||
contains an Nvidia GPU (Libreboot vendor scripts can insert the VGA ROM)**
|
||||
|
||||
**NOTE: This page also applies to ThinkPad X201. You must ensure that
|
||||
the file `vendorfiles/cache/x201_factory.rom` exists within the Libreboot build
|
||||
system; this is your factory ROM (LenovoBIOS) that you can dump
|
||||
with flashrom -r - make sure to get two dumps, and ensure that each has the
|
||||
same hash, to guarantee a good dump.**
|
||||
|
||||
This is not a general purpose installation guide, but you *should read it*
|
||||
before installing Libreboot! *This* guide *must* be followed, no matter what
|
||||
method you use to install Libreboot; even if you compile from source, you should
|
||||
|
|
|
@ -9,12 +9,6 @@ the english page got heavily re-written.**
|
|||
**NOTE: This page also applies to PM45 machine Dell Latitude E6400 if it
|
||||
contains an Nvidia GPU (Libreboot vendor scripts can insert the VGA ROM)**
|
||||
|
||||
**NOTE: This page also applies to ThinkPad X201. You must ensure that
|
||||
the file `vendorfiles/cache/x201_factory.rom` exists within the Libreboot build
|
||||
system; this is your factory ROM (LenovoBIOS) that you can dump
|
||||
with flashrom -r - make sure to get two dumps, and ensure that each has the
|
||||
same hash, to guarantee a good dump.**
|
||||
|
||||
This is not a general purpose installation guide, but you *should read it*
|
||||
before installing Libreboot! *This* guide *must* be followed, no matter what
|
||||
method you use to install Libreboot; even if you compile from source, you should
|
||||
|
|
|
@ -111,23 +111,26 @@ containing your NIC's configuration. This is the part that
|
|||
many people will struggle with, so we will dedicated an
|
||||
entire next section to it:
|
||||
|
||||
Use flashrom
|
||||
Use flashprog
|
||||
------------
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
If you wish to operate on the GbE section that's already
|
||||
flashed, you should *dump* the current full ROM image.
|
||||
If you already have a ROM image, you do not need to dump
|
||||
it, so you can skip this section.
|
||||
|
||||
Download flashrom here:
|
||||
Download flashprog here:
|
||||
|
||||
* <https://flashrom.org/>
|
||||
* <https://flashprog.org/>
|
||||
|
||||
Using recent flashrom versions, you can extract this region. If
|
||||
your regions are unlocked, you can run flashrom on the target
|
||||
Using recent flashprog versions, you can extract this region. If
|
||||
your regions are unlocked, you can run flashprog on the target
|
||||
system, like so:
|
||||
|
||||
flashrom -p internal -r rom.bin
|
||||
flashprog -p internal -r rom.bin
|
||||
|
||||
If your system has two flash chips, the GbE region is usually
|
||||
stored on SPI1 (not SPI2). Otherwise, it may be that you have
|
||||
|
@ -145,7 +148,7 @@ from and writing to the chip. See:
|
|||
* <https://libreboot.org/docs/install/spi.html>
|
||||
|
||||
If you're using an external programmer, the `-p internal`
|
||||
option should be changed accordingly. Read flashrom
|
||||
option should be changed accordingly. Read flashprog
|
||||
documentation, and make sure you have everything
|
||||
properly configured.
|
||||
|
||||
|
@ -201,18 +204,18 @@ This will create the file `rom.bin.new`, which contains
|
|||
your modified GbE section with the NVM images inside; this
|
||||
includes your MAC address.
|
||||
|
||||
Refer to flashrom documentation. You may flash the new ROM
|
||||
Refer to flashprog documentation. You may flash the new ROM
|
||||
like so, if running on the same system and the regions are
|
||||
read-write:
|
||||
|
||||
flashrom -p internal -w rom.bin.new
|
||||
flashprog -p internal -w rom.bin.new
|
||||
|
||||
Newer versions of flashrom support flashing just the specified
|
||||
Newer versions of flashprog support flashing just the specified
|
||||
region, like so:
|
||||
|
||||
flashrom -p internal --ifd -i gbe -w rom.bin.new
|
||||
flashprog -p internal --ifd -i gbe -w rom.bin.new
|
||||
|
||||
If you're running flashrom from host CPU on the target
|
||||
If you're running flashprog from host CPU on the target
|
||||
system, and it's dual flash, you can just flash the
|
||||
concatenated image, which you created earlier by running
|
||||
the `cat` program; dual-IC flash configurations appear to
|
||||
|
|
|
@ -64,7 +64,10 @@ Flash chip size {#flashchips}
|
|||
|
||||
Use this to find out:
|
||||
|
||||
flashrom -p internal
|
||||
flashprog -p internal
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
MAC address {#macaddress}
|
||||
===========
|
||||
|
|
|
@ -3,6 +3,25 @@ title: Read/write 25XX NOR flash via SPI protocol
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
Need help?
|
||||
==========
|
||||
|
||||
Help is available on [Libreboot IRC](../../contact.md) and other channels.
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
|
||||
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
|
||||
|
||||
|
@ -14,7 +33,7 @@ which uses LPC flash in a PLCC32 socket, which you can simply hot-swap after
|
|||
booting the vendor firmware, and then flash internally. Simple!
|
||||
|
||||
We will be using
|
||||
the [flashrom](https://flashrom.org/Flashrom) software which is written to
|
||||
the [flashprog](https://flashprog.org/Flashrom) software which is written to
|
||||
dump, erase and rewrite these flash chips.
|
||||
|
||||
libreboot currently documents how to use these SPI programmers:
|
||||
|
@ -36,7 +55,7 @@ libreboot is running.
|
|||
|
||||
*Internal* flashing means that the host CPU on your system can re-program the
|
||||
SPI flash, using an on-board SPI programmer (which all boards have). You do this
|
||||
from Linux, with flashrom.
|
||||
from Linux, with flashprog.
|
||||
|
||||
*This* guide that you're reading now is for using an *external* programmer. It
|
||||
is called *external* because it's not the *internal* one on your mainboard.
|
||||
|
@ -73,7 +92,7 @@ using the build instructions below.
|
|||
|
||||
Copy the file `rpi-pico-serprog.uf2` into your Pico. To build this firmware, you
|
||||
could build it yourself or you could also clone `lbmk.git` and [install build
|
||||
dependencies](..//build/#first-install-build-dependencies), then inside lbmk,
|
||||
dependencies](../build/#first-install-build-dependencies), then inside lbmk,
|
||||
do:
|
||||
|
||||
./build serprog rp2040 pico
|
||||
|
@ -89,6 +108,9 @@ pre-compiled in the next Libreboot release, after the 20230625 release.
|
|||
Disconnect the Pico and proceed to wire it to your
|
||||
[flash chip](/docs/install/spi.html#identify-which-flash-type-you-have).
|
||||
|
||||
**NOTE: SCK and CLK mean the same thing. The diagram below says SCK, and other
|
||||
parts of this guide say CLK. It's the same thing!**
|
||||
|
||||
![Raspberry Pi Pico pinout, when using the firmware linked
|
||||
above](https://av.libreboot.org/rpi_pico/pinout_serprog.png)
|
||||
|
||||
|
@ -108,7 +130,7 @@ will appear:
|
|||
Take note of the ttyACMx. Flashrom is now usable
|
||||
(substitute ttyACMx with what you observed earlier).
|
||||
|
||||
flashrom -p serprog:dev=/dev/ttyACMx,spispeed=16M
|
||||
flashprog -p serprog:dev=/dev/ttyACMx,spispeed=16M
|
||||
|
||||
spispeed=32M usually works, but since it's not much faster it's probably
|
||||
not worth it. The 12Mbps USB port is limiting the actual speed here.
|
||||
|
@ -209,8 +231,8 @@ SOIC16
|
|||
|
||||
| Pin | Function |
|
||||
|-----|----------|
|
||||
| 1 | HOLD |
|
||||
| 2 | VCC |
|
||||
| 3 | HOLD |
|
||||
| 7 | CS |
|
||||
| 8 | MISO |
|
||||
| 9 | WP |
|
||||
|
@ -267,7 +289,7 @@ BeagleBone Black (BBB)
|
|||
----------------------
|
||||
|
||||
SSH into your BeagleBone Black. It is assumed that you are running Debian 9 on
|
||||
your BBB. You will run `flashrom` from your BBB.
|
||||
your BBB. You will run `flashprog` from your BBB.
|
||||
|
||||
NOTE: This section is out of date, because it is written for Debian 9 (running
|
||||
on the BBB)
|
||||
|
@ -308,9 +330,9 @@ RemainAfterExit=yes
|
|||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
Now test flashrom:
|
||||
Now test flashprog:
|
||||
|
||||
./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
|
||||
./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512
|
||||
|
||||
It is important to use `spispeed=512` or a lower number such as 256 or 128,
|
||||
because otherwise the BBB will be quite unstable.
|
||||
|
@ -320,7 +342,7 @@ Example output:
|
|||
```
|
||||
Calibrating delay loop... OK.
|
||||
No EEPROM/flash device found.
|
||||
Note: flashrom can never write if the flash chip isn't found automatically.
|
||||
Note: flashprog can never write if the flash chip isn't found automatically.
|
||||
```
|
||||
|
||||
This means that it's working (the clip isn't connected to any flash
|
||||
|
@ -339,7 +361,7 @@ TODO: document other SPI flashers
|
|||
Rasberry Pi (RPi)
|
||||
-----------------
|
||||
|
||||
SSH into your Raspberry Pi. You will run `flashrom` from your Raspberry Pi.
|
||||
SSH into your Raspberry Pi. You will run `flashprog` from your Raspberry Pi.
|
||||
|
||||
You must configure `spidev` on your Raspberry Pi. This is a special driver in
|
||||
the Linux kernel; technically, the driver name is `spi-bcm2835`.
|
||||
|
@ -447,7 +469,7 @@ Website:
|
|||
|
||||
<https://librerpi.github.io/>
|
||||
|
||||
Install flashrom
|
||||
Install flashprog
|
||||
----------------
|
||||
|
||||
If you're using a BBB or RPi, you will do this while SSH'd into those.
|
||||
|
@ -456,7 +478,7 @@ Flashrom is the software that you will use, for dumping, erasing and rewriting
|
|||
the contents of your NOR flash.
|
||||
|
||||
In the libreboot build system, from the Git repository, you can download and
|
||||
install flashrom. Do this after downloading the
|
||||
install flashprog. Do this after downloading the
|
||||
[lbmk Git repository](https://codeberg.org/libreboot/lbmk):
|
||||
|
||||
cd lbmk
|
||||
|
@ -465,7 +487,7 @@ install flashrom. Do this after downloading the
|
|||
NOTE: debian, arch or void can be written instead of ubuntu2004. the debian
|
||||
script is also applicable to newer ubuntu versions
|
||||
|
||||
./update trees -b flashrom
|
||||
./update trees -b flashprog
|
||||
|
||||
If the `ubuntu2004` script complains about missing dependencies, just modify
|
||||
the dependencies config to remove those dependencies. The script is located
|
||||
|
@ -473,29 +495,29 @@ at `config/dependencies/ubuntu2004` and it is written for
|
|||
Ubuntu 20.04, but it should work fine in other Linux distributions that use
|
||||
the `apt-get` package manager.
|
||||
|
||||
A `flashrom/` directory will be present, with a `flashrom` executable inside
|
||||
A `flashprog/` directory will be present, with a `flashprog` executable inside
|
||||
of it. If you got an error about missing package when running the dependencies
|
||||
command above, tweak `config/dependencies/ubuntu2004`. That
|
||||
script downloads and installs build dependencies in apt-get and it is intended
|
||||
for use on x86-64 systems running Ubuntu 20.04, but it should work in Raspbian
|
||||
on the Raspberry Pi.
|
||||
|
||||
Alternatively, you may download flashrom directly from upstream
|
||||
at <https://flashrom.org/Flashrom>
|
||||
Alternatively, you may download flashprog directly from upstream
|
||||
at <https://flashprog.org/Flashrom>
|
||||
|
||||
If you're flashing a Macronix flashchip on a ThinkPad X200, you will want to
|
||||
use a special patched version of flashrom, which you can download here:
|
||||
use a special patched version of flashprog, which you can download here:
|
||||
<https://vimuser.org/hackrom.tar.xz> - patched source code is available, and a
|
||||
binary is also available that you can simply run. Pass the `--workaround-mx`
|
||||
argument in flashrom. This mitigates stability issues.
|
||||
argument in flashprog. This mitigates stability issues.
|
||||
|
||||
If you downloaded the flashrom source code directly, you can go into the
|
||||
If you downloaded the flashprog source code directly, you can go into the
|
||||
directory and simply type `make`. In the libreboot build system, build
|
||||
dependencies are documented in configuration files located
|
||||
at `config/dependencies/` which you can install
|
||||
using the `apt-get` software.
|
||||
|
||||
How to use flashrom
|
||||
How to use flashprog
|
||||
===================
|
||||
|
||||
Read past these sections, further down this page, to learn about specific chip
|
||||
|
@ -510,11 +532,11 @@ current chip contents to a file.
|
|||
Run this command to see if 25xx flash is detected, with your RPi properly
|
||||
wired.
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768
|
||||
|
||||
For BBB, you must use a lower speed and a different device path:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512
|
||||
|
||||
On BBB, never use a speed higher than `spispeed=512`. In some cases, you may
|
||||
even need to go as low as `spispeed=128`. The BBB is highly unstable and
|
||||
|
@ -532,11 +554,11 @@ or you can try flashing it with a new ROM.
|
|||
|
||||
Dump it like so (RPi):
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r dump.bin
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r dump.bin
|
||||
|
||||
For BBB, do this:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r dump.bin
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r dump.bin
|
||||
|
||||
It is advisable to take a *2nd* dump, e.g. `dump2.bin`, and then check sha1sum:
|
||||
|
||||
|
@ -567,11 +589,11 @@ Writing
|
|||
|
||||
Next, run this command (RPi):
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
|
||||
|
||||
If using BBB:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/libreboot.rom
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/libreboot.rom
|
||||
|
||||
If using BBB, you may have to use a lower speed than 512. You may also have to
|
||||
re-flash several times before it works fully.
|
||||
|
@ -944,6 +966,9 @@ Your DIP8 IC has the same pinout as a SOIC8 IC.
|
|||
Replace WSON8 IC with SOIC8
|
||||
---------------------------
|
||||
|
||||
**NOTE: You can alternatively purchase WSON8 probes from a site like Aliexpress.
|
||||
They look similar to SOIC8 clips, and they work similarly.**
|
||||
|
||||
You *can* connect a SOIC8 test clip, but you will struggle to get good
|
||||
connections and it will be extremely unreliable. DO NOT solder to the pads of
|
||||
the WSON8 directly; some people do this, but you shouldn't do it, because you
|
||||
|
|
|
@ -3,11 +3,27 @@ title: 通过 SPI 协议对 25XX NOR flash 进行读/写
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
Need help?
|
||||
==========
|
||||
|
||||
Help is available on [Libreboot IRC](../../contact.md) and other channels.
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
**[安装之前请先阅读这些指示](../../news/safety.md),否则你的机器可能会成砖:[安全措施](../../news/safety.md)**
|
||||
|
||||
本指南将教你怎样使用各种工具,通过 SPI 协议对 25xx NOR flash 进行外部再编程。这是 coreboot 所支持的计算机中,最常见的 flash IC 类型。目前 libreboot 支持的每个系统,基本都使用这种类型的引导 flash;唯一的例外就是 ASUS KFSN4-DRE,它在 PLCC32 芯片座中使用了 LPC flash,你可以在供应商固件启动后,对其进行热切换,然后再内部刷入。十分简单!
|
||||
|
||||
我们会用到 [flashrom](https://flashrom.org/Flashrom) 软件,这个软件可以读出、擦除及重写这些 flash 芯片。
|
||||
我们会用到 [flashprog](https://flashprog.org/Flashrom) 软件,这个软件可以读出、擦除及重写这些 flash 芯片。
|
||||
|
||||
libreboot 目前记录了这些 SPI 编程器的使用方法:
|
||||
|
||||
|
@ -20,7 +36,7 @@ libreboot 目前记录了这些 SPI 编程器的使用方法:
|
|||
|
||||
大部分支持 libreboot 机器,都需要在第一次刷写的时候,借助这里的教程或是类似教程,对其进行外部再刷写。不过,目前支持的所有机器,你都可以在 libreboot 运行时,对其进行内部再刷写。
|
||||
|
||||
*内部*刷写是指,主机上的 CPU 可以使用板载 SPI 编程器(每个主板都有)对 SPI flash 进行再编程。这可以在 Linux 上使用 flashrom 做到。
|
||||
*内部*刷写是指,主机上的 CPU 可以使用板载 SPI 编程器(每个主板都有)对 SPI flash 进行再编程。这可以在 Linux 上使用 flashprog 做到。
|
||||
|
||||
你在读的*这个*教程,使用的是*外部*编程器。之所以叫*外部*,是因为用的不是主板上的*内部*编程器。
|
||||
|
||||
|
@ -52,7 +68,7 @@ or here:\
|
|||
|
||||
Copy the file `rpi-pico-serprog.uf2` into your Pico. To build this firmware, you
|
||||
could build it yourself or you could also clone `lbmk.git` and [install build
|
||||
dependencies](..//build/#first-install-build-dependencies), then inside lbmk,
|
||||
dependencies](../build/#first-install-build-dependencies), then inside lbmk,
|
||||
do:
|
||||
|
||||
./build serprog rp2040 pico
|
||||
|
@ -85,7 +101,7 @@ will appear:
|
|||
Take note of the ttyACMx. Flashrom is now usable
|
||||
(substitute ttyACMx with what you observed earlier).
|
||||
|
||||
flashrom -p serprog:dev=/dev/ttyACMx,spispeed=16M
|
||||
flashprog -p serprog:dev=/dev/ttyACMx,spispeed=16M
|
||||
|
||||
spispeed=32M usually works, but since it's not much faster it's probably
|
||||
not worth it. The 12Mbps USB port is limiting the actual speed here.
|
||||
|
@ -173,7 +189,7 @@ DIP8
|
|||
BeagleBone Black(BBB)
|
||||
----------------------
|
||||
|
||||
SSH 连接到你的 BeagleBone Black。假定你在 BBB 上用的是 Debian 9。你将在 BBB 上运行 `flashrom`。
|
||||
SSH 连接到你的 BeagleBone Black。假定你在 BBB 上用的是 Debian 9。你将在 BBB 上运行 `flashprog`。
|
||||
|
||||
注意:该部分已过时,因为它是写给 BBB 上运行的 Debian 9 的。
|
||||
|
||||
|
@ -212,9 +228,9 @@ RemainAfterExit=yes
|
|||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
现在测试 flashrom:
|
||||
现在测试 flashprog:
|
||||
|
||||
./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
|
||||
./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512
|
||||
|
||||
重要的一点是,要使用 `spispeed=512` 或者更低的速度,例如 256 或 128,否则 BBB 会十分不稳定。
|
||||
|
||||
|
@ -223,7 +239,7 @@ WantedBy=multi-user.target
|
|||
```
|
||||
Calibrating delay loop... OK.
|
||||
No EEPROM/flash device found.
|
||||
Note: flashrom can never write if the flash chip isn't found automatically.
|
||||
Note: flashprog can never write if the flash chip isn't found automatically.
|
||||
```
|
||||
|
||||
这表示正常工作了(夹子没连接任何 flash 芯片,所以出错是正常的)。
|
||||
|
@ -238,7 +254,7 @@ BBB 注意事项
|
|||
Rasberry Pi(RPi)
|
||||
-----------------
|
||||
|
||||
SSH 连接到树莓派。你将在树莓派上运行 `flashrom`。
|
||||
SSH 连接到树莓派。你将在树莓派上运行 `flashprog`。
|
||||
|
||||
你必须在树莓派上配置 `spidev`。这是 Linux 内核的一个特别驱动;它严谨的名字叫做 `spi-bcm2835`。
|
||||
|
||||
|
@ -256,7 +272,7 @@ SSH 连接到树莓派。你将在树莓派上运行 `flashrom`。
|
|||
RPi 驱动强度(Drive Strength)
|
||||
------------------
|
||||
|
||||
RPi 的 flashrom 可能无法检测到一些系统的 SPI flash,即使你已经完美地连好了线并夹住了芯片。这可能是因为树莓派 GPIO 的驱动强度,它默认是 8mA。驱动强度本质上就是,在保持高电平最低电压的同时,引脚最高能输出的电流。对树莓派而言,这个电压是 3.0 V。
|
||||
RPi 的 flashprog 可能无法检测到一些系统的 SPI flash,即使你已经完美地连好了线并夹住了芯片。这可能是因为树莓派 GPIO 的驱动强度,它默认是 8mA。驱动强度本质上就是,在保持高电平最低电压的同时,引脚最高能输出的电流。对树莓派而言,这个电压是 3.0 V。
|
||||
|
||||
类似地,也要满足一个最低电压,SPI flash 芯片才会把它当成高逻辑电平。这个值一般是 SPI flash 的 0.7*VCC,对 3.3V 的芯片而言也就是 2.31V。如果驱动强度太低了,那 flash 芯片的引脚处的电压可能会低于最低电压,导致它被视为发送了低逻辑电平,而不是高逻辑电平。
|
||||
|
||||
|
@ -309,33 +325,33 @@ RPi 的自由固件
|
|||
|
||||
<https://librerpi.github.io/>
|
||||
|
||||
安装 flashrom
|
||||
安装 flashprog
|
||||
----------------
|
||||
|
||||
如果你在使用 BBB 或者 RPi,你需要在 SSH 进去之后再这么做。
|
||||
|
||||
Flashrom 是用来读出、擦除、重写 NOR flash 内容的软件。
|
||||
|
||||
使用 Git 仓库中的 libreboot 构建系统,你可以下载并安装 flashrom。首先下载 [lbmk Git 仓库](https://codeberg.org/libreboot/lbmk),然后执行:
|
||||
使用 Git 仓库中的 libreboot 构建系统,你可以下载并安装 flashprog。首先下载 [lbmk Git 仓库](https://codeberg.org/libreboot/lbmk),然后执行:
|
||||
|
||||
cd lbmk
|
||||
sudo ./build dependencies ubuntu2004
|
||||
|
||||
注意:你可以输入 debian、arch 或 void 来替换 ubuntu。debian 脚本也可以用于新版 ubuntu。
|
||||
|
||||
./update trees -b flashrom
|
||||
./update trees -b flashprog
|
||||
|
||||
如果 `ubuntu2004` 报告了依赖缺失,编辑一下这个脚本,把缺失的依赖移除就行了。脚本位于 `config/dependencies/ubuntu2004`,它是写给 Ubuntu 20.04 的,但在其他使用 `apt-get` 包管理器的 Linux 发行版应该也能用。
|
||||
|
||||
接下来,会出现一个 `flashrom/` 目录,其中有一个 `flashrom` 可执行文件。如果你在运行上面的依赖命令的时候,出现了缺失包的错误,则修改 `config/dependencies/ubuntu2004`。那个脚本会在 apt-get 中下载并安装构建依赖,它是为运行 Ubuntu 的 x86-64 系统写的,但在树莓派上的 Raspbian 应该能用。
|
||||
接下来,会出现一个 `flashprog/` 目录,其中有一个 `flashprog` 可执行文件。如果你在运行上面的依赖命令的时候,出现了缺失包的错误,则修改 `config/dependencies/ubuntu2004`。那个脚本会在 apt-get 中下载并安装构建依赖,它是为运行 Ubuntu 的 x86-64 系统写的,但在树莓派上的 Raspbian 应该能用。
|
||||
|
||||
或者,你可以直接从上游下载 flashrom,位于:<https://flashrom.org/Flashrom>
|
||||
或者,你可以直接从上游下载 flashprog,位于:<https://flashprog.org/Flashrom>
|
||||
|
||||
如果你是在 ThinkPad X200 上刷写 Macronix flash 芯片,则要使用一个 flashrom 的特别修改版,下载地址在这里:<https://vimuser.org/hackrom.tar.xz> —— 其中有修改版的源代码,也有可以直接运行的二进制文件。将 `--workaround-mx` 参数传给 flashrom。这会缓解稳定性问题。
|
||||
如果你是在 ThinkPad X200 上刷写 Macronix flash 芯片,则要使用一个 flashprog 的特别修改版,下载地址在这里:<https://vimuser.org/hackrom.tar.xz> —— 其中有修改版的源代码,也有可以直接运行的二进制文件。将 `--workaround-mx` 参数传给 flashprog。这会缓解稳定性问题。
|
||||
|
||||
如果你直接下载了 flashrom 源代码,你可以进入目录并直接运行 `make`。在 libreboot 构建系统中,`config/dependencies/` 处的脚本写明了构建依赖,你可以直接使用 `apt-get` 软件安装。
|
||||
如果你直接下载了 flashprog 源代码,你可以进入目录并直接运行 `make`。在 libreboot 构建系统中,`config/dependencies/` 处的脚本写明了构建依赖,你可以直接使用 `apt-get` 软件安装。
|
||||
|
||||
如何使用 flashrom
|
||||
如何使用 flashprog
|
||||
===================
|
||||
|
||||
请先阅读本页更下方的部分,了解特定的芯片类型及其接线方法。
|
||||
|
@ -347,11 +363,11 @@ Flashrom 是用来读出、擦除、重写 NOR flash 内容的软件。
|
|||
|
||||
树莓派正确接线后,运行这个命令来查看是否检测到 25xx flash:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768
|
||||
|
||||
对 BBB 而言,必须使用更慢的速度及不同的设备路径:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512
|
||||
|
||||
在 BBB 上,绝对不要使用高于 `spispeed=512` 的速度。有时候,你可能还要低到 `spispeed=128` 的速度。BBB 对 SPI 刷写而言非常不稳定、不可靠。在读取的时候,要多次读出,并检查它们的 checksum 是否一致,然后再刷。你可能需要多次刷写芯片!
|
||||
|
||||
|
@ -361,11 +377,11 @@ Flashrom 是用来读出、擦除、重写 NOR flash 内容的软件。
|
|||
|
||||
在 RPi 上,这样读出:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r dump.bin
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r dump.bin
|
||||
|
||||
BBB 的话,这样:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r dump.bin
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r dump.bin
|
||||
|
||||
建议读出*两次*,比如弄一个 `dump2.bin`,然后检查 sha1sum:
|
||||
|
||||
|
@ -386,11 +402,11 @@ BBB 的话,这样:
|
|||
|
||||
接下来,运行这个命令(RPi):
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
|
||||
|
||||
如果用的是 BBB:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/libreboot.rom
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/libreboot.rom
|
||||
|
||||
用 BBB 的时候,可能得使用低于 512 的速度。你也许还得多次重复刷写,才能完全工作。
|
||||
|
||||
|
@ -627,6 +643,9 @@ DIP8 IC 的引脚分配和 SOIC8 IC 一样。
|
|||
使用 SOIC8 替换 WSON8 IC
|
||||
---------------------------
|
||||
|
||||
**NOTE: You can alternatively purchase WSON8 probes from a site like Aliexpress.
|
||||
They look similar to SOIC8 clips, and they work similarly.**
|
||||
|
||||
你*连是可以连* SOIC8 测试夹,但要连接效果好,需要费点功夫,而且这也十分不可靠。不要直接焊接 WSON8 的焊盘;有些人会这样做,但你不要这样做,因为你这样很容易就会损坏焊盘。
|
||||
|
||||
WSON8 的引脚分配和 SOIC8 一样,但它是球状 QFN(四边扁平无引脚封装)。它没有合适的夹子,有时候称为 QFN8。
|
||||
|
|
|
@ -3,6 +3,9 @@ title: Generic SPI Flashing Guide
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
|
||||
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
|
||||
|
||||
|
@ -83,24 +86,24 @@ sudo ldto merge spicc spicc-spidev
|
|||
Using Flashrom
|
||||
==============
|
||||
|
||||
Most linux distros will provide flashrom in their default repositories.
|
||||
You can also download flashrom in binary form with [libreboot utils.](https://libreboot.org/download.html#https)
|
||||
Most linux distros will provide flashprog in their default repositories.
|
||||
You can also download flashprog in binary form with [libreboot utils.](https://libreboot.org/download.html#https)
|
||||
Here is an example using raspbian:
|
||||
|
||||
```
|
||||
sudo apt update
|
||||
sudo apt install flashrom
|
||||
sudo apt install flashprog
|
||||
```
|
||||
|
||||
Reading/writing from SPI works respectively as such:
|
||||
|
||||
```
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r /path/to/read.bin
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r /path/to/read.bin
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
|
||||
```
|
||||
|
||||
Note that `spispeed` varies based on the board in question.
|
||||
A standard lower limit is *512.*
|
||||
For example, to read on a board with a lower SPI speed, you may try:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512 -r /path/to/read.bin
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=512 -r /path/to/read.bin
|
||||
|
|
|
@ -3,6 +3,9 @@ title: Flashing the ThinkPad T400 externally
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
Dell Latitude E6400
|
||||
===================
|
||||
|
||||
|
@ -77,7 +80,7 @@ Flash chip size {#flashchips}
|
|||
|
||||
Use this to find out:
|
||||
|
||||
flashrom -p internal
|
||||
flashprog -p internal
|
||||
|
||||
MAC address {#macaddress}
|
||||
===========
|
||||
|
|
|
@ -3,6 +3,18 @@ title: ThinkPad T440p external flashing
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
Buy Libreboot preinstalled
|
||||
==========================
|
||||
|
||||
This laptop is available to buy with Libreboot pre-installed:
|
||||
<https://minifree.org/product/libreboot-t440p/>
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
|
||||
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
|
||||
|
||||
|
@ -65,7 +77,7 @@ external flashing.
|
|||
dd if=libreboot.rom of=bottom.rom bs=1M count=8
|
||||
|
||||
Flash the top chip with top.rom, and tho bottom chip with bottom.rom.
|
||||
Don't worry about knowing which chip is which on a standard setup; flashrom will let you know if the
|
||||
Don't worry about knowing which chip is which on a standard setup; flashprog will let you know if the
|
||||
image size is incorrect for the chip you're flashing.
|
||||
|
||||
|
||||
|
|
|
@ -3,6 +3,9 @@ title: ThinkPad T500 external flashing
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
**If you haven't bought a T500 yet: the [Dell Latitude
|
||||
E6400](../../news/e6400.md) is much easier to flash; no disassembly required,
|
||||
it can be flashed entirely in software from Dell BIOS to Libreboot. It is the
|
||||
|
@ -73,7 +76,7 @@ Flash chip size {#flashchips}
|
|||
|
||||
Use this to find out:
|
||||
|
||||
flashrom -p internal
|
||||
flashprog -p internal
|
||||
|
||||
MAC address {#macaddress}
|
||||
===========
|
||||
|
|
|
@ -3,6 +3,9 @@ title: ThinkPad T60 Recovery guide
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
This section documents how to recover from a bad flash that prevents
|
||||
your ThinkPad T60 from booting.
|
||||
|
||||
|
@ -160,16 +163,16 @@ which all draw a lot of current, more than your flasher can provide.
|
|||
|
||||
Example command:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w libreboot.rom -V
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w libreboot.rom -V
|
||||
|
||||
If flashrom complains about multiple flash chips detected, just pass the `-c`
|
||||
If flashprog complains about multiple flash chips detected, just pass the `-c`
|
||||
option as it suggests, and pick any of the chips it lists. `spispeed=4096` or
|
||||
lower (e.g. `spispeed=512`) is recommended on this board. The flashing becomes
|
||||
unstable, on this machine, when you use higher speeds.
|
||||
|
||||
Reverse the steps to re-assemble your system, after you've flashed the chip.
|
||||
|
||||
It should be `Verifying flash... VERIFIED` at the end. If flashrom
|
||||
It should be `Verifying flash... VERIFIED` at the end. If flashprog
|
||||
complains about multiple flash chip definitions detected, then choose
|
||||
one of them following the instructions in the output.
|
||||
|
||||
|
|
|
@ -3,6 +3,9 @@ title: First-time ThinkPad X200 flashing
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
**If you haven't bought an X200 yet: the [Dell Latitude
|
||||
E6400](../../news/e6400.md) is much easier to flash; no disassembly required,
|
||||
it can be flashed entirely in software from Dell BIOS to Libreboot. It is the
|
||||
|
@ -25,7 +28,7 @@ Flash chip size
|
|||
|
||||
Run this command on x200 to find out flash chip model and its size:
|
||||
|
||||
flashrom -p internal
|
||||
flashprog -p internal
|
||||
|
||||
MAC address
|
||||
===========
|
||||
|
@ -106,7 +109,7 @@ Look just above the 7 in TP37 (that's GPIO33):
|
|||
|
||||
![](https://av.libreboot.org/x200/gpio33_location.jpg)
|
||||
|
||||
By default we would see this in lenovobios, when trying flashrom -p
|
||||
By default we would see this in lenovobios, when trying flashprog -p
|
||||
internal -w rom.rom:
|
||||
|
||||
```
|
||||
|
@ -147,7 +150,7 @@ that does the flashing; Lenovo BIOS then probably sees that and runs that, inste
|
|||
of setting PRx and going for normal boot. It is theoretically possible that we
|
||||
could discover how this works, by debugging the Lenovo BIOS update utility (in
|
||||
Windows), and then replicate what it is doing, with some tool for Linux,
|
||||
then load a flashrom binary into memory and the ROM to flash (for the BIOS
|
||||
then load a flashprog binary into memory and the ROM to flash (for the BIOS
|
||||
region). You would do this with GPIO33 grounded, and the payload program would
|
||||
actually flash the entire chip, with just a normal libreboot image.
|
||||
|
||||
|
|
|
@ -3,6 +3,9 @@ title: Прошивка ThinkPad X200 вперше
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
**If you haven't bought an X200 yet: the [Dell Latitude
|
||||
E6400](../../news/e6400.md) is much easier to flash; no disassembly required,
|
||||
it can be flashed entirely in software from Dell BIOS to Libreboot. It is the
|
||||
|
@ -25,7 +28,7 @@ same hardware generation (GM45), with same CPUs, video processor, etc.**
|
|||
|
||||
Виконайте цю команду на x200, щоб дізнатися модель флеш-чіпа та його розмір:
|
||||
|
||||
flashrom -p internal
|
||||
flashprog -p internal
|
||||
|
||||
MAC адреса
|
||||
===========
|
||||
|
@ -106,7 +109,7 @@ sgsit дізнався про контакт під назвою GPIO33, яки
|
|||
|
||||
![](https://av.libreboot.org/x200/gpio33_location.jpg)
|
||||
|
||||
Це замовчуванням ми побачимо це в lenovobios, під час спроби flashrom -p
|
||||
Це замовчуванням ми побачимо це в lenovobios, під час спроби flashprog -p
|
||||
internal -w rom.rom:
|
||||
|
||||
FREG0: Warning: Flash Descriptor region (0x00000000-0x00000fff) is read-only.
|
||||
|
@ -141,7 +144,7 @@ internal -w rom.rom:
|
|||
встановлення PRx і переходу до нормального завантаження. Теоретично можливо, що ми
|
||||
зможемо дізнатися, як це працює, налагодивши утиліту оновлення BIOS Lenovo (у
|
||||
Windows), а потім відтворивши її дії за допомогою якогось інструменту для Linux,
|
||||
а потім завантаживши двійковий файл flashrom в пам'ять та ROM для прошивки (для BIOS
|
||||
а потім завантаживши двійковий файл flashprog в пам'ять та ROM для прошивки (для BIOS
|
||||
регіона). Ви б зробили це з заземленням GPIO33, і програма корисного навантаження
|
||||
фактично прошиє весь чіп, лише звичайним образом libreboot.
|
||||
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
---
|
||||
title: ThinkPad X201 install guide
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
|
||||
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
|
||||
|
||||
Refer to [external flashing instructions](spi.md).
|
||||
|
||||
NOTE: You need Intel ME firmware on this, but the Libreboot build system does
|
||||
not currently auto-download for this board. You must dump a copy of your
|
||||
original Lenovo firmware, and place it under `vendorfiles/cache/` in the
|
||||
build system (create this directory if needed); save
|
||||
it as 'x201_factory.rom'
|
||||
|
||||
Disassembly is similar to ThinkPad X200, but the flash is under some tape,
|
||||
just north east of the CR2032 coin-cell battery on the mainboard, so you have
|
||||
to peel back the tape. (north east, if you were looking at the screen with
|
||||
the lid open - it's about 1cm away from the CR2032)
|
||||
|
||||
Internal flashing is possible, if you already have coreboot-based firmware such
|
||||
as Libreboot, and the regions in flash are all read-write (which implies that
|
||||
you have a neutered Intel ME image, via `me_cleaner`).
|
||||
|
||||
Libreboot's build system automatically neuters the ME with `me_cleaner` when
|
||||
building for this board.
|
||||
|
||||
NOTE: [Insert vendorfiles](ivy_has_common.md) is also valid, on release ROMs,
|
||||
but again `vendorfiles/cache/x201_factory.rom` must be present - Libreboot's
|
||||
build system will automatically pull `me.bin` from it, during build time.
|
|
@ -3,6 +3,12 @@ title: ThinkPad X230/X230T external flashing
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
This machine is available to purchase with Libreboot pre-installed:
|
||||
<https://minifree.org/product/libreboot-x230/>
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
**[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../../news/safety.md),
|
||||
OR YOU MIGHT BRICK YOUR MACHINE: [SAFETY PRECAUTIONS](../../news/safety.md)**
|
||||
|
||||
|
@ -58,7 +64,7 @@ external flashing.
|
|||
dd if=libreboot.rom of=bottom.rom bs=1M count=8
|
||||
|
||||
Flash the top chip with top.rom, and tho bottom chip with bottom.rom.
|
||||
Don't worry about knowing which chip is which on a standard setup; flashrom will let you know if the
|
||||
Don't worry about knowing which chip is which on a standard setup; flashprog will let you know if the
|
||||
image size is incorrect for the chip you're flashing.
|
||||
|
||||
|
||||
|
|
|
@ -3,6 +3,9 @@ title: Modifying grub.cfg in CBFS
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
Before you follow this guide, it is advisable that you have the ability to
|
||||
flash externally, just in case something goes wrong.
|
||||
|
||||
|
@ -27,7 +30,7 @@ a *soft brick* where your machine is effectively useless and, in that scenario,
|
|||
may or may not require external flashing equipment for restoring the machine to
|
||||
a known state.
|
||||
|
||||
Compile flashrom and cbfstool
|
||||
Compile flashprog and cbfstool
|
||||
=============================
|
||||
|
||||
libreboot does not currently distribute utilities pre-compiled. It only
|
||||
|
@ -75,34 +78,34 @@ The `cbfstool` utility is what you shall use. It is used to manipulate CBFS
|
|||
(coreboot file system) which is a file system contained within the coreboot
|
||||
ROM image; as a *coreboot distribution*, libreboot inherits this technology.
|
||||
|
||||
You will also want to build `flashrom` which libreboot recommends for reading
|
||||
You will also want to build `flashprog` which libreboot recommends for reading
|
||||
from and/or writing to the boot flash. In the libreboot build system, you can
|
||||
build it by running this command:
|
||||
|
||||
./update trees -b flashrom
|
||||
./update trees -b flashprog
|
||||
|
||||
An executable will be available at `src/flashrom/flashrom` after you have done
|
||||
An executable will be available at `src/flashprog/flashprog` after you have done
|
||||
this.
|
||||
|
||||
Dump the boot flash
|
||||
===================
|
||||
|
||||
If you wish to modify your *existing* libreboot ROM, which was installed on
|
||||
your computer, you can use `flashrom` to acquire it.
|
||||
your computer, you can use `flashprog` to acquire it.
|
||||
|
||||
Simply run the following, after using libreboot's build system to compile
|
||||
flashrom:
|
||||
flashprog:
|
||||
|
||||
sudo ./src/flashrom/flashrom -p internal -r dump.bin
|
||||
sudo ./src/flashprog/flashprog -p internal -r dump.bin
|
||||
|
||||
If flashrom complains about multiple flash chip definitions, do what it says to
|
||||
If flashprog complains about multiple flash chip definitions, do what it says to
|
||||
rectify your command and run it again.
|
||||
|
||||
You may want to use the following, instead of `-p internal`:
|
||||
`-p internal:laptop=force_I_want_a_brick,boardmismatch=force`
|
||||
|
||||
Do not let the word *brick* fools you. This merely disables the safety checks
|
||||
in flashrom, which is sometimes necessary depending on what ROM was already
|
||||
in flashprog, which is sometimes necessary depending on what ROM was already
|
||||
flashed, versus the new ROM image.
|
||||
|
||||
The `internal` option assumes that internal read/write is possible; this is
|
||||
|
@ -195,17 +198,17 @@ Flash the modified ROM image
|
|||
Your modified `dump.bin` or other modified libreboot ROM can then be re-flashed
|
||||
using:
|
||||
|
||||
sudo ./flashrom -p internal -w dump.bin
|
||||
sudo ./flashprog -p internal -w dump.bin
|
||||
|
||||
If a `-c` option is required, use it and specify a flash chip name. This is
|
||||
only useful when `flashrom` complains about multiple flash chips being
|
||||
only useful when `flashprog` complains about multiple flash chips being
|
||||
detected.
|
||||
|
||||
If flashrom complains about wrong chip/board, make sure that your ROM is for
|
||||
If flashprog complains about wrong chip/board, make sure that your ROM is for
|
||||
the correct system. If you're sure, you can disable the safety checks by running
|
||||
this instead:
|
||||
|
||||
sudo ./flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w dump.bin
|
||||
sudo ./flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w dump.bin
|
||||
|
||||
If you need to use external flashing equipment, see the link above to the
|
||||
Raspberry Pi page.
|
||||
|
|
|
@ -46,6 +46,11 @@ Then still as root, do these commands:
|
|||
export PATH="$PATH:/sbin"
|
||||
update-grub
|
||||
|
||||
NOTE: `update-grub` is very much Debian-centric. Not all distros will have it.
|
||||
On Arch-based distros for instance, you might do:
|
||||
|
||||
grub-mkconfig -o /boot/grub/grub.cfg
|
||||
|
||||
Now your distro's GRUB menu should work, when your distro's GRUB bootloader is
|
||||
executed from Libreboot's SeaBIOS payload.
|
||||
|
||||
|
|
|
@ -3,6 +3,9 @@ title: lbmk maintenance manual
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
In addition to this manual, you should also refer to [porting.md](porting.md)
|
||||
and [testing.md](testing.md).
|
||||
|
||||
|
@ -82,6 +85,43 @@ the [freedom status page](../../freedom-status.md).
|
|||
Before *configuration* info, you will first be shown a brief overview of every
|
||||
project that Libreboot imports, such as coreboot.
|
||||
|
||||
Environmental variables
|
||||
=======================
|
||||
|
||||
LBMK\_THREADS
|
||||
-------------
|
||||
|
||||
For example:
|
||||
|
||||
export LBMK_THREADS=2
|
||||
|
||||
This would build on two threads, when running lbmk. It defaults to 1.
|
||||
|
||||
Previous revisions of lbmk used `nproc` by default, but this was set to 1
|
||||
instead, because nproc is not available on every operating system.
|
||||
|
||||
LBMK\_STATUS
|
||||
------------
|
||||
|
||||
By default, the user is asked to confirm when building for a given mainboard,
|
||||
if that mainboard is not marked *stable* in `target.cfg`. To disable such
|
||||
dialogs, do this:
|
||||
|
||||
export LBMK_STATUS=n
|
||||
|
||||
LBMK\_RELEASE
|
||||
-------------
|
||||
|
||||
If set to `y`, it signals to `script/build/roms` that a release is being built,
|
||||
and it will honour `release="n"` in target.cfg files. You could also set this
|
||||
yourself, when doing regular builds, if you wanted to test how `./build roms`
|
||||
behaves running it in release mode. Do this if you want to:
|
||||
|
||||
export LBMK_RELEASE=y
|
||||
|
||||
This has a similar effect compared to `LBMK_STATUS="y"` but you probably don't
|
||||
need to use this option yourself.
|
||||
|
||||
Projects/files downloaded/generated by lbmk
|
||||
===========================================
|
||||
|
||||
|
@ -99,8 +139,8 @@ This directory is created when running any of the following commands, with the
|
|||
right arguments:
|
||||
|
||||
./build roms ARGUMENTS_HERE
|
||||
./build serprog stm32
|
||||
./build serprog rp2040
|
||||
./build roms serprog stm32
|
||||
./build roms serprog rp2040
|
||||
|
||||
Simply speaking, `bin/` shall contain finished ROM images or firmware, that
|
||||
can then be installed (flashed) to the target device.
|
||||
|
@ -189,8 +229,9 @@ src/bios\_extract/
|
|||
Used by the vendor file handler scripts. The upstream that we use is here:
|
||||
<https://review.coreboot.org/bios_extract>
|
||||
|
||||
Specifically: the pfs extract utility from this is used on Dell vendor updates,
|
||||
to extract SCH5545 EC (Environment Control) firmware.
|
||||
The `dell_inspiron_1100_unpacker.py` script is used here, to extract from Dell
|
||||
BIOS updates, to get at the VGA ROM for Nvidia GPU on certain models of Dell
|
||||
Latitude E6400.
|
||||
|
||||
src/biosutilities/
|
||||
---------------
|
||||
|
@ -198,9 +239,8 @@ src/biosutilities/
|
|||
Used by the vendor file handler scripts. The upstream that we use is here:
|
||||
<https://github.com/platomav/BIOSUtilities>
|
||||
|
||||
The `dell_inspiron_1100_unpacker.py` script is used here, to extract from Dell
|
||||
BIOS updates, to get at the VGA ROM for Nvidia GPU on certain models of Dell
|
||||
Latitude E6400.
|
||||
Specifically: the pfs extract utility from this is used on Dell vendor updates,
|
||||
to extract SCH5545 EC (Environment Control) firmware.
|
||||
|
||||
src/coreboot/
|
||||
---------------
|
||||
|
@ -222,12 +262,12 @@ This may be less efficient on disk usage, but it simplifies the logic greatly.
|
|||
Coreboot also uses its own toolchain called *crossgcc*, and crossgcc is in fact
|
||||
compiled *per tree* in Libreboot.
|
||||
|
||||
src/flashrom/
|
||||
src/flashprog/
|
||||
---------------
|
||||
|
||||
Please also visit: <https://flashrom.org/>
|
||||
Please also visit: <https://flashprog.org/>
|
||||
|
||||
Although currently unused by any part of lbmk, we provide flashrom for the
|
||||
Although currently unused by any part of lbmk, we provide flashprog for the
|
||||
convenience of users, and this is copied to release archives. Flashrom is the
|
||||
program that you will use to read, erase and write the flash, containing
|
||||
coreboot firmware.
|
||||
|
@ -527,9 +567,8 @@ This file can contain several configuration lines, each being a string, such
|
|||
as:
|
||||
|
||||
* `tree="default"` (example entry)
|
||||
* `romtype="normal"` (example entry)
|
||||
* `rev="ad983eeec76ecdb2aff4fb47baeee95ade012225"` (example entry)
|
||||
* `arch="x86_64"` (example entry)
|
||||
* `xarch="i386-elf"` (example entry)
|
||||
* `payload_grub="y"` (example entry)
|
||||
* `payload_grub_withseabios="y"` (example entry)
|
||||
* `payload_seabios="y"` (example entry)
|
||||
|
@ -539,26 +578,23 @@ as:
|
|||
* `payload_seabios_grubonly="y"` (example entry)
|
||||
* `grub_scan_disk="ata"`
|
||||
* `uboot_config=default` (specify which U-Boot tree to use)
|
||||
* `vendorfiles="n"`
|
||||
* `microcode_required="y"`
|
||||
* `release="n"` (example entry)
|
||||
* `status=stable` (example entry)
|
||||
* `xtree="default"` (example entry)
|
||||
* `tree_depend="default"` (example entry)
|
||||
|
||||
The `tree` value refers to `config/coreboot/TREE`; in other words, a given
|
||||
target could specify a name other than its own as the tree; it would then
|
||||
re-use code from that tree, rather than providing its own.
|
||||
|
||||
The `romtype` entry is used during the building of ROM images, to define
|
||||
special steps; for example, d8d16sas` would tell lbmk that a fake PIKE2008
|
||||
ROM must be inserted into CBFS (prevents hanging on SeaBIOS).
|
||||
|
||||
The `rev` entry defines which coreboot revision to use, from the
|
||||
coreboot Git repository. *At present, lbmk only supports use of the official
|
||||
repository from the upstream coreboot project*.
|
||||
|
||||
The `arch` entry specifies which CPU architecture is to be used: currently
|
||||
recognized entries are `x86_32`, `x86_64`, `ARMv7` and `AArch64`. *Setting it
|
||||
to a non-native arch means that necessary crossgcc-arch will be compiled and be
|
||||
available when building roms, but not necessarily built or discovered when
|
||||
individual scripts are called manually.*
|
||||
The `xarch` entry specifies which CPU architecture is to be used: currently
|
||||
recognized entries are `i386-elf`, `arm-eabi` and `aarch64-elf`. This is the
|
||||
target architecture for building GCC/toolchain from coreboot crossgcc,
|
||||
hence `xarch`.
|
||||
|
||||
The `payload_grub` entry specifies whether or not GRUB is to be included in
|
||||
ROM images.
|
||||
|
@ -597,12 +633,32 @@ on a ThinkPad X60 with the optical drive may cause GRUB to hang, so on that
|
|||
machine it is advisable to set this option to `ahci` (becuse the default HDD
|
||||
slot is AHCI).
|
||||
|
||||
The `vendorfiles` entry doesn't affect anything in code, except that
|
||||
the `noblobs` string will be appended to ROM image file names, on releases;
|
||||
ditto `nomicrocode` but in that case, the behaviour is: if no microcode to
|
||||
begin with, only `nomicrocode` images will be named, otherwise ROM images with
|
||||
and without microcode updates will be provided in releases (CPU microcode
|
||||
updates).
|
||||
The `release` variable can be set to n, which makes the `script/update/release`
|
||||
script skip that target, when creating release images. For example, a given
|
||||
board may not be stable and you don't want images for it to be included in the
|
||||
release.
|
||||
|
||||
The `status` variable can be set to whatever you want, but anything other
|
||||
than `stable` will make `script/build/roms` ask for y/n confirmation if
|
||||
not building images using `script/update/release`.
|
||||
|
||||
Recommended strings for `status` could be: `stable`, `unstable`, `broken`
|
||||
or `untested`. Alternatively, you might state `wip`. You can set whatever
|
||||
string you want here.
|
||||
|
||||
The `xtree` option specifies that a given tree with use a specific coreboot
|
||||
tree for compiling crossgcc. This can be used to skip building gcc if OK on
|
||||
a given board; two trees may use the same crossgcc as each other.
|
||||
|
||||
The `tree_depend` option means that a given tree needs another tree, defined
|
||||
by this variable, to also be present.
|
||||
|
||||
### config/coreboot/BOARDNAME/warn.txt
|
||||
|
||||
Additionally: the `warn.txt` file can be included alongside target.cfg, to
|
||||
provide warning of any potential issues or quirks. For example, raminit may
|
||||
only be reliable with certain modules. This is printed on the user's terminal
|
||||
when building that target.
|
||||
|
||||
### config/coreboot/BOARDNAME/config/
|
||||
|
||||
|
@ -1061,27 +1117,6 @@ This directory contains *helper scripts*, to be included
|
|||
by main scripts using the `.` command (called the `source`
|
||||
command in `bash`, but we rely upon posix `sh` only).
|
||||
|
||||
include/err.sh
|
||||
---------------
|
||||
|
||||
Generic error handling, used by all lbmk scripts.
|
||||
|
||||
This also contains functions to verify the current libreboot version, and check
|
||||
whether Git is properly initialised on the host system. It also contains
|
||||
the `setvars` function, which provides a shorthand way of initialising many
|
||||
variables (combined with use of `eval`), which lbmk uses heavily.
|
||||
|
||||
This function also contains `x_` and `xx_` which lbmk uses to execute commands
|
||||
and ensure that they cause an exit (with non-zero status) from lbmk, if they
|
||||
return an error state; the `xx_` function calls `fail()` which a script must
|
||||
provide, to perform some action before calling `err` which in turn prints an
|
||||
error message provided as argument. It is used similarly to the C
|
||||
function `err()` in BSD libc. The `x_` function simply calls `err`.
|
||||
|
||||
This entire file is heavily inspired by `err.h` in BSD libc code. This file is
|
||||
heavily used by lbmk (it's used by every script), to provide clean error
|
||||
handling in `sh`.
|
||||
|
||||
include/git.sh
|
||||
--------------
|
||||
|
||||
|
@ -1122,6 +1157,17 @@ possible, and contains miscallaneous functions that don't belong anywhere else.
|
|||
The functions here are mostly those that deal with configuration files; scanning
|
||||
them to set variables and so on.
|
||||
|
||||
This file also contains generic error handling, used by all lbmk scripts.
|
||||
|
||||
This also contains functions to verify the current libreboot version, and check
|
||||
whether Git is properly initialised on the host system. It also contains
|
||||
the `setvars` function, which provides a shorthand way of initialising many
|
||||
variables (combined with use of `eval`), which lbmk uses heavily.
|
||||
|
||||
This function also contains `x_()` which lbmk uses to execute commands
|
||||
and ensure that they cause an exit (with non-zero status) from lbmk, if they
|
||||
return an error state.
|
||||
|
||||
script/
|
||||
=======
|
||||
|
||||
|
@ -1230,29 +1276,19 @@ When the ROM is finished compiling, it will appear under a directory in `bin/`
|
|||
This script is the beating heart of Libreboot. Break it, and you break
|
||||
Libreboot!
|
||||
|
||||
### script/build/grub
|
||||
|
||||
This builds the `grub.elf` file and keymap configuration files, placing these
|
||||
under `elf/grub/` for use by `script/build/roms`.
|
||||
|
||||
Command: `./build grub`
|
||||
|
||||
This builds the `grub-mkstandalone` utility under `src/grub/`, which is used
|
||||
by `script/build/roms` to insert GRUB payloads inside coreboot ROM
|
||||
images.
|
||||
|
||||
### script/build/serprog
|
||||
Serprog images:
|
||||
|
||||
Build firmware images for serprog-based SPI programmers, where they use an
|
||||
STM32 MCU. It also builds for RP2040-based programmers like Raspberry Pi Pico.
|
||||
|
||||
Example command: `./build serprog stm32`
|
||||
Example command: `./build roms serprog stm32`
|
||||
|
||||
Example command: `./build serprog rp2040`
|
||||
Example command: `./build roms serprog rp2040`
|
||||
|
||||
The `list` argument is available:
|
||||
|
||||
./build serprog stm32 list
|
||||
./build roms serprog stm32 list
|
||||
./build roms serprog rp2040 list
|
||||
|
||||
Without arguments, all targets would be compiled, but you can specify a short
|
||||
list of targets instead, based on the output of `list`.
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
title: Porting guide for new mainboards
|
||||
...
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
NOTE: This page is largely Intel-centric, at present. It should be revised to
|
||||
cover more vendors. [Patches welcome!](../../git.md)
|
||||
|
||||
|
@ -93,7 +96,7 @@ Wrong CBFS and or ROM size
|
|||
|
||||
Different boards have different flash chip setups.
|
||||
Generally, you have one or two flash chips with a combined size of 4-16MB.
|
||||
Thankfully, flashrom will let you know the size of the flash chip you're flashing.
|
||||
Thankfully, flashprog will let you know the size of the flash chip you're flashing.
|
||||
For example: when flashing an X230, you'll see that one chip is 8192, and the other is 4096.
|
||||
The total rom size should therefore be set as 12MB.
|
||||
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
title: Керівництво перенесення
|
||||
...
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
Це керівнитво передбачається для тих, хто має дуже низький рівень знань про прошивку
|
||||
загалом та coreboot окремо.
|
||||
Більшість плат в coreboot може бути доволі легко перенесена в libreboot.
|
||||
|
@ -90,7 +93,7 @@ libreboot як `плата.`
|
|||
|
||||
Різні плати мають різні налаштування чіпів флеш-пам'яті.
|
||||
Загалом, ви маєте один або два флеш-пам'яті з сумарним розміром в 4-16Мбайт.
|
||||
На щастя, flashrom дасть вам знати розмір флеш-чіпа, який ви прошиваєте.
|
||||
На щастя, flashprog дасть вам знати розмір флеш-чіпа, який ви прошиваєте.
|
||||
Наприклад: коли прошиваєте X230, ви побачите, що один чіп 8192, та інший 4096.
|
||||
Сумарний розмір rom тоді має бути встановлено на 12Мбайт.
|
||||
|
||||
|
|
|
@ -11,6 +11,17 @@ Git repositories. The page on [/docs/maintain/](docs/maintain/) describes how
|
|||
Libreboot is put together, and how to maintain it. If you wish to build
|
||||
Libreboot from source, [read this page](docs/build/).
|
||||
|
||||
Buy Libreboot pre-installed
|
||||
-----------------
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
Safety warning
|
||||
--------------
|
||||
|
||||
|
@ -20,26 +31,41 @@ LIBREBOOT](news/safety.md).**
|
|||
GPG signing key
|
||||
---------------
|
||||
|
||||
**The latest release is Libreboot 20231106, under the `testing` directory.**
|
||||
**The latest release is Libreboot 20240504, under the `stable` directory.**
|
||||
|
||||
### NEW KEY
|
||||
|
||||
Full key fingerprint: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856`
|
||||
Full key fingerprint: `8BB1 F7D2 8CF7 696D BF4F 7192 5C65 4067 D383 B1FF`
|
||||
|
||||
This key is for Libreboot releases *after* the 20160907 release.
|
||||
This key is for Libreboot releases *after* the 20240126 release. It applies to
|
||||
all Libreboot releases from the year 2024, and it will expire (unless revoked
|
||||
early) on 26 December 2028.
|
||||
|
||||
Download the key here: [lbkey.asc](lbkey.asc)
|
||||
|
||||
Libreboot releases are signed using GPG.
|
||||
|
||||
### OLD KEY:
|
||||
### OLD KEY
|
||||
|
||||
Full key fingerprint: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856`
|
||||
|
||||
This key is for Libreboot releases *after* the 20160907 release, and up
|
||||
to the Libreboot 20240126 release. This key *expired* during December 2023,
|
||||
so you should use the *newer* key (see above) for the releases after
|
||||
Libreboot 20240126.
|
||||
|
||||
Download the key here: [lbkey.asc](lbkeyold.asc)
|
||||
|
||||
Libreboot releases are signed using GPG.
|
||||
|
||||
### OLD OLD KEY:
|
||||
|
||||
This key is for Libreboot 20160907, and releases older than 20160907:
|
||||
|
||||
Full key fingerprint: CDC9 CAE3 2CB4 B7FC 84FD C804 969A 9795 05E8 C5B2
|
||||
|
||||
The GPG key can also be downloaded with this exported dump of the
|
||||
pubkey: [lbkeyold.asc](lbkeyold.asc).
|
||||
pubkey: [lbkeyold.asc](lbkeyoldold.asc).
|
||||
|
||||
sha512sum -c sha512sum.txt
|
||||
gpg --verify sha512sum.txt.sig
|
||||
|
@ -57,18 +83,18 @@ there is a Git repository that you can download from. Go here:
|
|||
HTTPS mirrors {#https}
|
||||
-------------
|
||||
|
||||
**The latest release is Libreboot 20231106, under the `testing` directory.**
|
||||
**The latest release is Libreboot 20240504, under the `stable` directory.**
|
||||
|
||||
These mirrors are recommended, since they use TLS (https://) encryption.
|
||||
|
||||
You can download Libreboot from these mirrors:
|
||||
|
||||
* <https://mirror.math.princeton.edu/pub/libreboot/> (Princeton
|
||||
university, USA)
|
||||
* <https://mirror.shapovalov.website/libreboot/> (shapovalov.website, Ukraine)
|
||||
* <https://www.mirrorservice.org/sites/libreboot.org/release/> (University
|
||||
of Kent, UK)
|
||||
* <https://mirrors.mit.edu/libreboot/> (MIT university, USA)
|
||||
* <https://mirror.math.princeton.edu/pub/libreboot/> (Princeton
|
||||
university, USA)
|
||||
* <https://mirror.shapovalov.tech/libreboot/> (shapovalov.tech, Ukraine)
|
||||
* <https://mirror.koddos.net/libreboot/> (koddos.net, Netherlands)
|
||||
* <https://mirror-hk.koddos.net/libreboot/> (koddos.net, Hong Kong)
|
||||
* <https://mirror.cyberbits.eu/libreboot/> (cyberbits.eu, France)
|
||||
|
@ -81,7 +107,7 @@ The following rsync mirrors are available publicly:
|
|||
* <rsync://rsync.mirrorservice.org/libreboot.org/release/> (University of Kent,
|
||||
UK)
|
||||
* <rsync://mirror.math.princeton.edu/pub/libreboot/> (Princeton university, USA)
|
||||
* <rsync://rsync.shapovalov.tech/libreboot/> (shapovalov.tech, Ukraine)
|
||||
* <rsync://rsync.shapovalov.website/libreboot/> (shapovalov.website, Ukraine)
|
||||
* <rsync://ftp.linux.ro/libreboot/> (linux.ro, Romania)
|
||||
* <rsync://mirror.koddos.net/libreboot/> (koddos.net, Netherlands)
|
||||
* <rsync://mirror-hk.koddos.net/libreboot/> (koddos.net, Hong Kong)
|
||||
|
@ -148,7 +174,7 @@ crontab. This page tells you how to use crontab:
|
|||
HTTP mirrors {#http}
|
||||
------------
|
||||
|
||||
**The latest release is Libreboot 20231106, under the `testing` directory.**
|
||||
**The latest release is Libreboot 20240504, under the `stable` directory.**
|
||||
|
||||
WARNING: these mirrors are non-HTTPS which means that they are
|
||||
unencrypted. Your traffic could be subject to interference by
|
||||
|
@ -162,7 +188,7 @@ if using HTTPS.
|
|||
FTP mirrors {#ftp}
|
||||
-----------
|
||||
|
||||
**The latest release is Libreboot 20231106, under the `testing` directory.**
|
||||
**The latest release is Libreboot 20240504, under the `stable` directory.**
|
||||
|
||||
WARNING: FTP is also unencrypted, like HTTP. The same risks are present.
|
||||
|
||||
|
@ -187,4 +213,4 @@ images for which the regular Libreboot source code archives suffice. These newer
|
|||
releases instead automate the installation of build dependencies, with instructions
|
||||
in the documentation for building various utilities from source.
|
||||
|
||||
These executables are utilities such as `flashrom`.
|
||||
These executables are utilities such as `flashprog`.
|
||||
|
|
|
@ -11,6 +11,17 @@ x-toc-enable: true
|
|||
Libreboot складається разом, і як підтримувати його. Якщо ви бажаєте зібрати
|
||||
Libreboot із джерельного кода, [прочитайте цю сторінку](docs/build/).
|
||||
|
||||
Buy Libreboot pre-installed
|
||||
--------------
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
Safety warning
|
||||
--------------
|
||||
|
||||
|
@ -20,26 +31,41 @@ LIBREBOOT](news/safety.md).**
|
|||
Код підпису GPG
|
||||
---------------
|
||||
|
||||
**Останнім випуском є Libreboot 20231106, в директорії `testing`.**
|
||||
**Останнім випуском є Libreboot 20240504, в директорії `stable`.**
|
||||
|
||||
### НОВИЙ КЛЮЧ
|
||||
|
||||
Повний відбиток ключа: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856`
|
||||
Повний відбиток ключа: `8BB1 F7D2 8CF7 696D BF4F 7192 5C65 4067 D383 B1FF`
|
||||
|
||||
Вищезазначений ключ для Libreboot 20231106, та наступних випусків.
|
||||
Вищезазначений ключ для Libreboot 20240126, та наступних випусків. This key
|
||||
is applicable to any release made on or after the date: 28 December 2023. It
|
||||
will expire on 26 December 2028.
|
||||
|
||||
Завантажте ключ тут: [lbkey.asc](lbkey.asc)
|
||||
|
||||
Випуски Libreboot підписані з використанням GPG.
|
||||
|
||||
### СТАРИЙ КЛЮЧ:
|
||||
### СТАРИЙ КЛЮЧ
|
||||
|
||||
Повний відбиток ключа: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856`
|
||||
|
||||
This key is for Libreboot releases *after* the 20160907 release, and up
|
||||
to the Libreboot 20240504 release. This key *expired* during December 2023,
|
||||
so you should use the *newer* key (see above) for the releases after
|
||||
Libreboot 20240126.
|
||||
|
||||
Завантажте ключ тут: [lbkey.asc](lbkeyold.asc)
|
||||
|
||||
Випуски Libreboot підписані з використанням GPG.
|
||||
|
||||
### СТАРИЙ СТАРИЙ КЛЮЧ:
|
||||
|
||||
Цей ключ для Libreboot 20160907 та всіх старіших випусків:
|
||||
|
||||
Повний відбиток ключа: CDC9 CAE3 2CB4 B7FC 84FD C804 969A 9795 05E8 C5B2
|
||||
|
||||
Ключ GPG також може бути завантажений разом із цим експортованим дампом
|
||||
публічного ключа: [lbkeyold.asc](lbkeyold.asc).
|
||||
публічного ключа: [lbkeyold.asc](lbkeyoldold.asc).
|
||||
|
||||
sha512sum -c sha512sum.txt
|
||||
gpg --verify sha512sum.txt.sig
|
||||
|
@ -57,18 +83,18 @@ LIBREBOOT](news/safety.md).**
|
|||
Дзеркала HTTPS {#https}
|
||||
-------------
|
||||
|
||||
**Останнім випуском є Libreboot 20231106, в директорії `testing`.**
|
||||
**Останнім випуском є Libreboot 20240504, в директорії `stable`.**
|
||||
|
||||
Дані дзеркала є рекомендованими, оскільки використовують TLS (https://) шифрування.
|
||||
|
||||
Ви можете завантажити Libreboot через дані дзеркала:
|
||||
|
||||
* <https://mirror.math.princeton.edu/pub/libreboot/> (Прінстонський
|
||||
університет, США)
|
||||
* <https://mirror.shapovalov.website/libreboot/> (shapovalov.website, Україна)
|
||||
* <https://www.mirrorservice.org/sites/libreboot.org/release/> (Кентський
|
||||
університет, Великобританія)
|
||||
* <https://mirrors.mit.edu/libreboot/> (Університет МТІ, США)
|
||||
* <https://mirror.math.princeton.edu/pub/libreboot/> (Прінстонський
|
||||
університет, США)
|
||||
* <https://mirror.shapovalov.tech/libreboot/> (shapovalov.tech, Україна)
|
||||
* <https://mirror.koddos.net/libreboot/> (koddos.net, Нідерланди)
|
||||
* <https://mirror-hk.koddos.net/libreboot/> (koddos.net, Гонконг)
|
||||
* <https://mirror.cyberbits.eu/libreboot/> (cyberbits.eu, Франція)
|
||||
|
@ -81,7 +107,7 @@ LIBREBOOT](news/safety.md).**
|
|||
* <rsync://rsync.mirrorservice.org/libreboot.org/release/> (Кентський університет,
|
||||
Великобританія)
|
||||
* <rsync://mirror.math.princeton.edu/pub/libreboot/> (Прінстонський університет, США)
|
||||
* <rsync://rsync.shapovalov.tech/libreboot/> (shapovalov.tech, Україна)
|
||||
* <rsync://rsync.shapovalov.website/libreboot/> (shapovalov.website, Україна)
|
||||
* <rsync://ftp.linux.ro/libreboot/> (linux.ro, Румунія)
|
||||
* <rsync://mirror.koddos.net/libreboot/> (koddos.net, Нідерланди)
|
||||
* <rsync://mirror-hk.koddos.net/libreboot/> (koddos.net, Гонконг)
|
||||
|
@ -148,7 +174,7 @@ crontab. Ця сторінка розповідає вам, як викорис
|
|||
Дзеркала HTTP {#http}
|
||||
------------
|
||||
|
||||
**Останнім випуском є Libreboot 20231106, під директорією `testing`.**
|
||||
**Останнім випуском є Libreboot 20240504, під директорією `stable`.**
|
||||
|
||||
УВАГА: ці дзеркала є не-HTTPS, що означає, що вони
|
||||
незашифровані. Ваш трафік може бути об'єктом втручання
|
||||
|
@ -162,7 +188,7 @@ crontab. Ця сторінка розповідає вам, як викорис
|
|||
Дзеркала FTP {#ftp}
|
||||
-----------
|
||||
|
||||
**Останнім випуском є Libreboot 20231106, під директорією `testing`.**
|
||||
**Останнім випуском є Libreboot 20240504, під директорією `stable`.**
|
||||
|
||||
УВАГА: FTP є також незашифрованим, подібно HTTP. Ті ж самі ризики присутні.
|
||||
|
||||
|
@ -187,4 +213,4 @@ Libreboot включає статично зв'язані виконувані
|
|||
випуски натомість автоматизують встановлення залежностей побудови, з інструкцієї
|
||||
в документації для побудови різних утиліт з джерельного коду.
|
||||
|
||||
Ці виконувані файли є утилітами, подібними `flashrom`.
|
||||
Ці виконувані файли є утилітами, подібними `flashprog`.
|
||||
|
|
92
site/faq.md
92
site/faq.md
|
@ -3,27 +3,25 @@ title: Frequently Asked Questions
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
AKA Frequently Questioned Answers
|
||||
|
||||
Buy Libreboot pre-installed
|
||||
==========
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
Important issues
|
||||
================
|
||||
|
||||
What is the status of software freedom in Libreboot?
|
||||
----------------------------------------------------
|
||||
|
||||
An article was written for Libreboot, to be maintained over time, that
|
||||
accurately describes the current status Libreboot in terms of software freedom,
|
||||
describing any caveats that exist for specific hardware platforms.
|
||||
|
||||
Please read the article, thus:
|
||||
|
||||
[Software and hardware freedom status for each mainboard supported by
|
||||
Libreboot](freedom-status.md)
|
||||
|
||||
You may also find this other section of the FAQ useful:
|
||||
[What level of software freedom does Libreboot give
|
||||
me?](#what-level-of-software-freedom-does-libreboot-give-me)
|
||||
|
||||
How to compile libreboot from source
|
||||
------------------------------------
|
||||
|
||||
|
@ -60,15 +58,15 @@ if you are interested in testing roms before they are released.
|
|||
Flashrom complains about DEVMEM access
|
||||
--------------------------------------
|
||||
|
||||
If running `flashrom -p internal` for software based flashing, and
|
||||
If running `flashprog -p internal` for software based flashing, and
|
||||
you get an error related to /dev/mem access, you should reboot with
|
||||
`iomem=relaxed` kernel parameter before running flashrom, or use a kernel
|
||||
`iomem=relaxed` kernel parameter before running flashprog, or use a kernel
|
||||
that has `CONFIG_STRICT_DEVMEM` and `CONFIG_IO_STRICT_DEVMEM` not enabled.
|
||||
|
||||
Example flashrom output with both `CONFIG_STRICT_DEVMEM` and `CONFIG_IO_STRICT_DEVMEM` enabled:
|
||||
Example flashprog output with both `CONFIG_STRICT_DEVMEM` and `CONFIG_IO_STRICT_DEVMEM` enabled:
|
||||
```
|
||||
flashrom v0.9.9-r1955 on Linux 4.11.9-1-ARCH (x86_64)
|
||||
flashrom is free software, get the source code at https://flashrom.org
|
||||
flashprog v0.9.9-r1955 on Linux 4.11.9-1-ARCH (x86_64)
|
||||
flashprog is free software, get the source code at https://flashprog.org
|
||||
|
||||
Calibrating delay loop... OK.
|
||||
Error accessing high tables, 0x100000 bytes at 0x000000007fb5d000
|
||||
|
@ -78,8 +76,8 @@ Error accessing DMI Table, 0x1000 bytes at 0x000000007fb27000
|
|||
/dev/mem mmap failed: Operation not permitted
|
||||
```
|
||||
|
||||
The backlight is darker on the left side of the screen when lowering the brightness on my ThinkPad X200/X200S/X200T, T400, T500, R400, W500, R500 and other Intel laptops
|
||||
---------------------------------------------------------------------------------------------------------------
|
||||
Uneven backlight on GM45 ThinkPads
|
||||
----------------------------------
|
||||
|
||||
We don't know how to detect the correct PWM value to use in
|
||||
coreboot, so we just use the default one in coreboot which has
|
||||
|
@ -88,8 +86,8 @@ this issue on some CCFL panels, but not LED panels.
|
|||
You can work around this in your distribution, by following the notes at
|
||||
[docs: backlight control](../docs/misc/#finetune-backlight-control-on-intel-gpus).
|
||||
|
||||
The ethernet doesn't work on my X200/T400/X60/T60 when I plug in it
|
||||
-------------------------------------------------------------------
|
||||
GM45 thinkpad ethernet port doesn't autoconnect
|
||||
-----------------------------------------------
|
||||
|
||||
This was observed on some systems using network-manager. This happens
|
||||
both on the original BIOS and in libreboot. It's a quirk in the
|
||||
|
@ -105,8 +103,8 @@ On systemd-based distros, you might try:
|
|||
(the service name might be different for you, depending on your
|
||||
configuration)
|
||||
|
||||
My KCMA-D8 or KGPE-D16 doesn't boot with the PIKE2008 module installed
|
||||
-----------------------------------------------------------------------
|
||||
PIKE2008 module hangs KGPE-D16 / KCMA-D8
|
||||
-----------------------------------------
|
||||
|
||||
Loading the option ROM from the PIKE2008 module on either ASUS KCMA-D8
|
||||
or KGPE-D16 causes the system to hang at boot. It's possible to use
|
||||
|
@ -626,7 +624,7 @@ simply use dd(1) to extract only the non-padded portion. Continuing with the
|
|||
examples above, in order to extract a 2MiB x86 descriptorless ROM from a
|
||||
padded 16MiB image do the following:
|
||||
|
||||
dd if=flashromread.rom of=yourrom.rom ibs=14MiB skip=1
|
||||
dd if=flashprogread.rom of=yourrom.rom ibs=14MiB skip=1
|
||||
|
||||
With padding removed cbfstool will be able to operate on the image as usual.
|
||||
|
||||
|
@ -959,6 +957,44 @@ OpenBSD. Other systems are untested, but should work just fine.
|
|||
See:
|
||||
[docs/bsd/](docs/bsd/)
|
||||
|
||||
Windows??
|
||||
---------
|
||||
|
||||
Yes, you can use Windows 10 and 11. They are not officially supported and the
|
||||
Libreboot project recommends that you *avoid* this choice, because Windows is
|
||||
proprietary software. What this means is that you do *not* have the freedom
|
||||
to use, study, adapt and share the software in any reasonable way. You are
|
||||
entirely at the mercy of Microsoft, whose motive is profit, as opposed to the
|
||||
general advancement of computer science and the welfare of everyone.
|
||||
|
||||
See: [What is Free Software?](https://writefreesoftware.org/learn)
|
||||
|
||||
In addition to being proprietary software, Windows is known to be full of bugs,
|
||||
including *backdoors*. When you *use* Windows, it will send information about
|
||||
you to third parties, used for a variety of purposes such as advertising, but
|
||||
it's quite possible that three-letter agencies may also receive your data if
|
||||
you use Windows.
|
||||
|
||||
For the sake of your freedom, you should never, ever use Windows. Use Linux or
|
||||
BSD systems, which are well-supported. Anyway:
|
||||
|
||||
[Video of Windows 10 booting up](https://yewtu.be/watch?v=BWq6XnWKQnM)
|
||||
|
||||
[Video of Windows 11 booting up](https://yewtu.be/watch?v=OFHiMfVNNeA)
|
||||
|
||||
Of note: Windows 11 officially requires at least TPM 1.2 to be supported, and
|
||||
it requires use of UEFI SecureBoot. To bypass this requirement, MajorGeeks has
|
||||
a guide, see: <https://www.majorgeeks.com/content/page/bypass_tpm.html>
|
||||
|
||||
The person who tested this also stated that they were unable to perform an
|
||||
in-place upgrade from 10 to 11, so they had to wipe the drive and perform a
|
||||
clean (note: not clean, because Windows is full of NSA spyware) installation.
|
||||
|
||||
In both cases, as shown above, the Windows operating system was booting from
|
||||
SeaBIOS, with the coreboot framebuffer initialised at startup, on an Intel GPU
|
||||
initialised via coreboot's *libgfxinit*, on November 2023 versions of Libreboot.
|
||||
We do not yet support booting with UEFI on x86 machines.
|
||||
|
||||
Are other operating systems compatible?
|
||||
-------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -3,27 +3,25 @@ title: Часті питання
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
Також відомо як Відповіді на часті питання
|
||||
|
||||
Buy Libreboot pre-installed
|
||||
==========
|
||||
|
||||
If you want professional installation, Minifree Ltd sells [Libreboot
|
||||
pre-installed](https://minifree.org/) on select hardware, and it also provides
|
||||
a [Libreboot preinstall service](https://minifree.org/product/installation-service/)
|
||||
if you want to send your machine in to have Libreboot installed for you.
|
||||
|
||||
Leah Rowe, the founder and lead developer of Libreboot, also owns and
|
||||
operates Minifree Ltd; sales provide funding for the Libreboot project.
|
||||
|
||||
Важливі питання
|
||||
================
|
||||
|
||||
Який статус свободи програмного забезпечення в Libreboot?
|
||||
----------------------------------------------------
|
||||
|
||||
Стаття була написана для Libreboot, для підтримки протягом часу, яка
|
||||
ретельно описує поточний статус Libreboot з точки зору свободи програмного забезпечення,
|
||||
пояснюючи будь-які підводні камені, які існують для конкретних платформ апаратного забезпечення.
|
||||
|
||||
Будь ласка, прочитайте статтю щодо цього:
|
||||
|
||||
[Статус свободи програмного та апаратного забезпечення для кожної плати, яка підтримується
|
||||
Libreboot](freedom-status.uk.md)
|
||||
|
||||
Ви також можете знайти цю іншу секцію сторінки поширених запитань корисною:
|
||||
[Який рівень свободи програмного забезпечення Libreboot дає
|
||||
мені?](#який-рівень-програмної-свободи-дає-мені-libreboot)
|
||||
|
||||
Як скомпілювати libreboot з джерельного коду
|
||||
------------------------------------
|
||||
|
||||
|
@ -46,15 +44,15 @@ Libreboot](freedom-status.uk.md)
|
|||
Flashrom скаржиться на доступ DEVMEM
|
||||
--------------------------------------
|
||||
|
||||
Якщо запущено `flashrom -p internal` для програмної перепрошивки та
|
||||
Якщо запущено `flashprog -p internal` для програмної перепрошивки та
|
||||
ви отримуєте помилку, пов'язану з доступом до /dev/mem, вам слід перезавантажити систему з
|
||||
параметром ядра `iomem=relaxed` перед виконанням flashrom, або використовуйте ядро,
|
||||
параметром ядра `iomem=relaxed` перед виконанням flashprog, або використовуйте ядро,
|
||||
для якого не ввімкнено `CONFIG_STRICT_DEVMEM` та `CONFIG_IO_STRICT_DEVMEM`.
|
||||
|
||||
Приклад виводу flashrom з обома `CONFIG_STRICT_DEVMEM` та `CONFIG_IO_STRICT_DEVMEM` ввімкненими:
|
||||
Приклад виводу flashprog з обома `CONFIG_STRICT_DEVMEM` та `CONFIG_IO_STRICT_DEVMEM` ввімкненими:
|
||||
```
|
||||
flashrom v0.9.9-r1955 on Linux 4.11.9-1-ARCH (x86_64)
|
||||
flashrom is free software, get the source code at https://flashrom.org
|
||||
flashprog v0.9.9-r1955 on Linux 4.11.9-1-ARCH (x86_64)
|
||||
flashprog is free software, get the source code at https://flashprog.org
|
||||
|
||||
Calibrating delay loop... OK.
|
||||
Error accessing high tables, 0x100000 bytes at 0x000000007fb5d000
|
||||
|
@ -64,7 +62,7 @@ Error accessing DMI Table, 0x1000 bytes at 0x000000007fb27000
|
|||
/dev/mem mmap failed: Operation not permitted
|
||||
```
|
||||
|
||||
Підсвічування в лівій частині екрана стає темнішим, якщо зменшити яскравість мого ноутбука ThinkPad X200/X200S/X200T, T400, T500, R400, W500, R500 та інших ноутбуків Intel
|
||||
Підсвічування в лівій частині екрана стає темнішим
|
||||
---------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Ми не знаємо, як визначити правильне значення ШІМ для використання в
|
||||
|
@ -648,7 +646,7 @@ ROM та флеш-чіпом. Випадок вище, наприклад:
|
|||
наведені вище приклади, щоб видобути ROM без дескрипторів 2 МБ x86 із доповненого
|
||||
образа 16 МБ, виконайте наступне:
|
||||
|
||||
dd if=flashromread.rom of=вашrom.rom ibs=14MiB skip=1
|
||||
dd if=flashprogread.rom of=вашrom.rom ibs=14MiB skip=1
|
||||
|
||||
Після видалення заповнення cbfstool зможе працювати із образом як зазвичай.
|
||||
|
||||
|
@ -981,6 +979,44 @@ OpenBSD. Інші системи не перевірені, але мають п
|
|||
Дивіться:
|
||||
[docs/bsd/](docs/bsd/index.uk.md)
|
||||
|
||||
Windows??
|
||||
---------
|
||||
|
||||
Yes, you can use Windows 10 and 11. They are not officially supported and the
|
||||
Libreboot project recommends that you *avoid* this choice, because Windows is
|
||||
proprietary software. What this means is that you do *not* have the freedom
|
||||
to use, study, adapt and share the software in any reasonable way. You are
|
||||
entirely at the mercy of Microsoft, whose motive is profit, as opposed to the
|
||||
general advancement of computer science and the welfare of everyone.
|
||||
|
||||
See: [What is Free Software?](https://writefreesoftware.org/learn)
|
||||
|
||||
In addition to being proprietary software, Windows is known to be full of bugs,
|
||||
including *backdoors*. When you *use* Windows, it will send information about
|
||||
you to third parties, used for a variety of purposes such as advertising, but
|
||||
it's quite possible that three-letter agencies may also receive your data if
|
||||
you use Windows.
|
||||
|
||||
For the sake of your freedom, you should never, ever use Windows. Use Linux or
|
||||
BSD systems, which are well-supported. Anyway:
|
||||
|
||||
[Video of Windows 10 booting up](https://yewtu.be/watch?v=BWq6XnWKQnM)
|
||||
|
||||
[Video of Windows 11 booting up](https://yewtu.be/watch?v=OFHiMfVNNeA)
|
||||
|
||||
Of note: Windows 11 officially requires at least TPM 1.2 to be supported, and
|
||||
it requires use of UEFI SecureBoot. To bypass this requirement, MajorGeeks has
|
||||
a guide, see: <https://www.majorgeeks.com/content/page/bypass_tpm.html>
|
||||
|
||||
The person who tested this also stated that they were unable to perform an
|
||||
in-place upgrade from 10 to 11, so they had to wipe the drive and perform a
|
||||
clean (note: not clean, because Windows is full of NSA spyware) installation.
|
||||
|
||||
In both cases, as shown above, the Windows operating system was booting from
|
||||
SeaBIOS, with the coreboot framebuffer initialised at startup, on an Intel GPU
|
||||
initialised via coreboot's *libgfxinit*, on November 2023 versions of Libreboot.
|
||||
We do not yet support booting with UEFI on x86 machines.
|
||||
|
||||
Чи підтримуються інші операційні системи?
|
||||
-------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -2,14 +2,13 @@
|
|||
-------------------------------------------------------------------------------
|
||||
|
||||
* [Binäre Blob Richtlinie](/news/policy.md)
|
||||
* [Freiheits Status](/freedom-status.md)
|
||||
* [Diese Seite bearbeiten](/git.de.md)
|
||||
* [Wer entwickelt Libreboot?](/who.de.md)
|
||||
* [Lizenz](/license.md)
|
||||
* [Vorlage](/template-license.md)
|
||||
* [Logo](/logo-license.md)
|
||||
* [Autoren](/contrib.md)
|
||||
* -
|
||||
* [Canoeboot??](https://canoeboot.org/)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -2,14 +2,13 @@
|
|||
-------------------------------------------------------------------------------
|
||||
|
||||
* [Binary Blob Reduction Policy](/news/policy.md)
|
||||
* [Freedom status](/freedom-status.md)
|
||||
* [Edit this page](/git.md)
|
||||
* [Who develops Libreboot?](/who.md)
|
||||
* [License](/license.md)
|
||||
* [Template](/template-license.md)
|
||||
* [Logo](/logo-license.md)
|
||||
* [Authors](/contrib.md)
|
||||
* -
|
||||
* [Canoeboot??](https://canoeboot.org/)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -2,14 +2,13 @@
|
|||
-------------------------------------------------------------------------------
|
||||
|
||||
* [Politica di riduzione di parti binarie proprietarie (blobs)](/news/policy.md)
|
||||
* [Grado di liberta' possibile](/freedom-status.md)
|
||||
* [Modifica questa pagina](/git.de.md)
|
||||
* [Chi sviluppa Libreboot?](/who.de.md)
|
||||
* [Licenza](/license.md)
|
||||
* [Modelli di licenze](/template-license.md)
|
||||
* [Logo](/logo-license.md)
|
||||
* [Autori](/contrib.md)
|
||||
* -
|
||||
* [Canoeboot??](https://canoeboot.org/)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -2,14 +2,13 @@
|
|||
-------------------------------------------------------------------------------
|
||||
|
||||
* [Політика бінарних блобів](/news/policy.md)
|
||||
* [Статус свободи](/freedom-status.md)
|
||||
* [Редагувати цю сторінку](/git.md)
|
||||
* [Хто розробляє Libreboot?](/who.uk.md)
|
||||
* [Ліцензія](/license.md)
|
||||
* [Шаблон](/template-license.uk.md)
|
||||
* [Логотип](/logo-license.uk.md)
|
||||
* [Автори](/contrib.uk.md)
|
||||
* -
|
||||
* [Canoeboot??](https://canoeboot.org/)
|
||||
* [Автори](/contrib.md)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -2,14 +2,13 @@
|
|||
-------------------------------------------------------------------------------
|
||||
|
||||
* [二进制 blob 政策](/news/policy.md)
|
||||
* [自由度现状](/freedom-status.md)
|
||||
* [编辑本页面](/git.md)
|
||||
* [谁在开发 Libreboot?](/who.md)
|
||||
* [许可证](/license.md)
|
||||
* [模板](/template-license.md)
|
||||
* [图标](/logo-license.md)
|
||||
* [作者](/contrib.md)
|
||||
* -
|
||||
* [Canoeboot??](https://canoeboot.org/)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -242,8 +242,8 @@ Neutered ME required on these targets: `t420_8mb`, `t420s_8mb`, `t430_12mb`,
|
|||
`t440p_12mb`, `t440pmrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`,
|
||||
`w541_12mb`, `w541mrc_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`,
|
||||
`x230edp_12mb`, `x230t_12mb`, `x230t_16mb`, `hp8200sff`, `hp2560p_8mb`,
|
||||
`hp2570p_16mb`, `hp8300usdt_16mb`, `hp2170p_16mb`, `hp9470m_16mb`
|
||||
and `t1650_12mb`.
|
||||
`hp2570p_16mb`, `hp8300usdt_16mb`, `hp2170p_16mb`, `hp9470m_16mb`,
|
||||
`hp820g2_12mb` and `t1650_12mb`.
|
||||
|
||||
As stated, Libreboot provides this in a state where the ME is no longer a
|
||||
threat to security. It initialises itself, but then does nothing, so it's
|
||||
|
|
|
@ -333,7 +333,7 @@ Intel/x86
|
|||
`t440p_12mb`, `t440pmrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`,
|
||||
`w541_12mb`, `w541mrc_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`,
|
||||
`x230edp_12mb`, `x230t_12mb`, `x230t_16mb`, `hp8200sff_8mb`, `hp2560p_8mb`,
|
||||
`hp2570p_16mb`, `hp2170p_16mb`, `hp9470m_16mb` та `t1650_12mb`.
|
||||
`hp2570p_16mb`, `hp2170p_16mb`, `hp9470m_16mb`, `hp820g2_12mb` та `t1650_12mb`.
|
||||
|
||||
Як заявлено, Libreboot надає це в стані, де ME більше не є
|
||||
загрозою для безпеки. Він ініціалізує себе, але потім нічого не робить, тому його
|
||||
|
|
|
@ -252,6 +252,14 @@ Ein weiterer Weg Patches zu senden ist Leah Rowe direkt eine email zu senden:
|
|||
Um den Prozess der Quelltext Überprüfung transparent zu gestalten,
|
||||
wird jedoch empfohlen künftig Codeberg zu verwenden.
|
||||
|
||||
Mailing list
|
||||
------------
|
||||
|
||||
Libreboot has this mailing list:
|
||||
<https://lists.sr.ht/~libreboot/libreboot>
|
||||
|
||||
The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht)
|
||||
|
||||
Mirrors für lbmk.git
|
||||
===================
|
||||
|
||||
|
@ -261,6 +269,7 @@ Libreboot Veröffentlichungen herstellt (inklusive kompilierter ROM Images).
|
|||
Du kannst `git clone` für alle diese Links ausführen (die Links können auch
|
||||
angeklickt werden, um Änderungen in deinem Web Browser anzusehen):
|
||||
|
||||
* <https://git.sr.ht/~libreboot/lbmk>
|
||||
* <https://git.disroot.org/libreboot/lbmk>
|
||||
* <https://gitea.treehouse.systems/libreboot/lbmk>
|
||||
* <https://git.fosscommunity.in/libreboot/lbmk>
|
||||
|
@ -286,6 +295,7 @@ der Seite die Du gerade liest!
|
|||
Du kannst `git clone` für diese Links ausführen und/oder die Links
|
||||
anklicken um Änderungen in deinem Web Browser anzusehen). Siehe:
|
||||
|
||||
* <https://git.sr.ht/~libreboot/lbwww>
|
||||
* <https://git.disroot.org/libreboot/lbwww>
|
||||
* <https://gitea.treehouse.systems/libreboot/lbwww>
|
||||
* <https://git.fosscommunity.in/libreboot/lbwww>
|
||||
|
|
10
site/git.md
10
site/git.md
|
@ -232,6 +232,14 @@ Another way to submit patches is to email Leah Rowe directly:
|
|||
However, for transparency of the code review process, it's recommended that you
|
||||
use Codeberg, for the time being.
|
||||
|
||||
Mailing list
|
||||
------------
|
||||
|
||||
Libreboot has this mailing list:
|
||||
<https://lists.sr.ht/~libreboot/libreboot>
|
||||
|
||||
The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht)
|
||||
|
||||
Mirrors of lbmk.git
|
||||
===================
|
||||
|
||||
|
@ -241,6 +249,7 @@ produces Libreboot releases (including compiled ROM images).
|
|||
You can run `git clone` on any of these links (the links are also clickable,
|
||||
to view changes in your Web browser):
|
||||
|
||||
* <https://git.sr.ht/~libreboot/lbmk>
|
||||
* <https://git.disroot.org/libreboot/lbmk>
|
||||
* <https://gitea.treehouse.systems/libreboot/lbmk>
|
||||
* <https://git.fosscommunity.in/libreboot/lbmk>
|
||||
|
@ -266,6 +275,7 @@ you are reading right now!
|
|||
You can run `git clone` on these links, and/or click to view changes in your
|
||||
Web browser. See:
|
||||
|
||||
* <https://git.sr.ht/~libreboot/lbwww>
|
||||
* <https://git.disroot.org/libreboot/lbwww>
|
||||
* <https://gitea.treehouse.systems/libreboot/lbwww>
|
||||
* <https://git.fosscommunity.in/libreboot/lbwww>
|
||||
|
|
|
@ -232,6 +232,14 @@ IRC-канал libreboot і повідомити канал, які виправ
|
|||
Однак, для прозорості процесу перевірки коду, ми рекомендуємо на даний момент
|
||||
використовувати Codeberg.
|
||||
|
||||
Mailing list
|
||||
------------
|
||||
|
||||
Libreboot has this mailing list:
|
||||
<https://lists.sr.ht/~libreboot/libreboot>
|
||||
|
||||
The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreboot@lists.sr.ht)
|
||||
|
||||
Дзеркала lbmk.git
|
||||
===================
|
||||
|
||||
|
@ -241,6 +249,7 @@ IRC-канал libreboot і повідомити канал, які виправ
|
|||
Ви можете виконати `git clone` на будь-якому з цих посилань (посилання є також доступними для натискання,
|
||||
для перегляду змін в вашому веб-браузері):
|
||||
|
||||
* <https://git.sr.ht/~libreboot/lbmk>
|
||||
* <https://git.disroot.org/libreboot/lbmk>
|
||||
* <https://gitea.treehouse.systems/libreboot/lbmk>
|
||||
* <https://git.fosscommunity.in/libreboot/lbmk>
|
||||
|
@ -266,6 +275,7 @@ IRC-канал libreboot і повідомити канал, які виправ
|
|||
Ви можете виконати `git clone` на цих посиланнях, та/або натиснути для перегляду змін в вашому
|
||||
веб-браузері. Дивіться:
|
||||
|
||||
* <https://git.sr.ht/~libreboot/lbwww>
|
||||
* <https://git.disroot.org/libreboot/lbwww>
|
||||
* <https://gitea.treehouse.systems/libreboot/lbwww>
|
||||
* <https://git.fosscommunity.in/libreboot/lbwww>
|
||||
|
|
|
@ -4,7 +4,7 @@ x-toc-enable: true
|
|||
...
|
||||
|
||||
Das *Libreboot* Projekt bietet
|
||||
eine [freie](freedom-status.md) *Boot
|
||||
eine [freie](https://writefreesoftware.org/) *Boot
|
||||
Firmware* welche auf [bestimmten Intel/AMD x86 und ARM Geräten](docs/hardware/)
|
||||
die Hardware initialisiert (z.b. Speicher-Controller, CPU, Peripherie),
|
||||
und dann einen Bootloader für dein Betriebssystem startet. [Linux](docs/linux/)
|
||||
|
@ -15,9 +15,15 @@ und [Libera](https://libera.chat/) IRC.
|
|||
|
||||
<img tabindex=1 class="r" src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /><span class="f"><img src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /></span>
|
||||
|
||||
**NEUESTE VERSION: Die neueste Version von Libreboot ist 20231106, veröffentlicht
|
||||
am 6. November 2023.
|
||||
Siehe auch: [Libreboot 20231106 release announcement](news/libreboot20231106.md).**
|
||||
You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd,
|
||||
on select hardware, aswell as send your compatible hardware
|
||||
for [Libreboot preinstallation](https://minifree.org/product/installation-service/).
|
||||
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
|
||||
Minifree; sales provide funding for Libreboot.
|
||||
|
||||
**NEUESTE VERSION: Die neueste Version von Libreboot ist 20240504, veröffentlicht
|
||||
am 4. May 2024.
|
||||
Siehe auch: [Libreboot 20240504 release announcement](news/libreboot20240504.md).**
|
||||
|
||||
Warum solltest Du *Libreboot* verwenden?
|
||||
----------------------------
|
||||
|
@ -65,7 +71,7 @@ musst Du zunächst Konfigurationen auf Experten Level durchführen,
|
|||
und zwar für Coreboot, GRUB sowie sämtliche Software die Du sonst noch verwenden
|
||||
möchtest um das ROM Image vorzubereiten. Mithilfe von *Libreboot* kannst Du
|
||||
sprichwörtlich von Git oder einem anderen Quell-Archiv herunterladen, anschliessend
|
||||
`make` ausführen, und es wird komplette ROM Images herstellen, ohne das Benutzer
|
||||
ein script ausführen, und es wird komplette ROM Images herstellen, ohne das Benutzer
|
||||
Eingaben oder Eingreifen von Nöten sind. Die Konfiguration wurde bereits im
|
||||
Vorfeld erledigt.
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Projet Libreboot
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
Libreboot est un micrologiciel de démarrage [libéré](freedom-status.md)
|
||||
Libreboot est un micrologiciel de démarrage [libéré](https://writefreesoftware.org/)
|
||||
qui initialise le matériel (càd le contrôleur mémoire, CPU,
|
||||
périphériques) sur [des ordinateurs x86/ARM spécifiques](docs/hardware/)
|
||||
et lance un chargeur d'amorçage pour votre système d'exploitation. [Linux](docs/linux/) et [BSD](docs/bsd/) sont bien supportés. C'est un
|
||||
|
@ -13,8 +13,14 @@ dans le canal [\#libreboot](https://web.libera.chat/#libreboot) sur le serveur I
|
|||
|
||||
<img tabindex=1 class="r" src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /><span class="f"><img src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /></span>
|
||||
|
||||
**NOUVELLE VERSION: La dernière version est [Libreboot 20231106](news/libreboot20231106.md), sortie
|
||||
le 6 novembre 2023.**
|
||||
You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd,
|
||||
on select hardware, aswell as send your compatible hardware
|
||||
for [Libreboot preinstallation](https://minifree.org/product/installation-service/).
|
||||
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
|
||||
Minifree; sales provide funding for Libreboot.
|
||||
|
||||
**NOUVELLE VERSION: La dernière version est [Libreboot 20240504](news/libreboot20240504.md), sortie
|
||||
le 4 May 2024.**
|
||||
|
||||
Pourquoi devriez-vous utiliser *Libreboot*?
|
||||
-----------------------------------
|
||||
|
@ -62,7 +68,7 @@ en partant des bases, vous devez alors effectuer une configuration experte
|
|||
de Coreboot, GRUB et n'importe quel autre logiciel dont vous avez besoin
|
||||
afin de préparer la ROM. Avec *Libreboot*,
|
||||
vous pouvez télécharger la source depuis Git ou une archive, exécuter
|
||||
`make` etça compilera une image ROM entières. Le système de compilation
|
||||
and a script etça compilera une image ROM entières. Le système de compilation
|
||||
automatisé de Libreboot nommé `lbmk` (Libreboot MaKe), compile ces images
|
||||
ROM automatiquement, sans besoin d'entrées utilisateur or intervention
|
||||
requise. La configuration est faite à l'avance.
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Progetto Libreboot
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
Il progetto *Libreboot* fornisce avvio [libero e open source](freedom-status.md)
|
||||
Il progetto *Libreboot* fornisce avvio [libero e open source](https://writefreesoftware.org/)
|
||||
grazie al firmware basato su coreboot, sostituendo cosi', firmware BIOS/UEFI proprietario
|
||||
su [alcune schede madri basate su Intel/AMD x86 o ARM](docs/hardware/),
|
||||
in computer fissi e portatili. Inizializza l'hardware (controller di
|
||||
|
@ -14,8 +14,14 @@ su [Libera](https://libera.chat/).
|
|||
|
||||
<img tabindex=1 class="r" src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /><span class="f"><img src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /></span>
|
||||
|
||||
**ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 20231106, rilasciato il 6 novembre 2023.
|
||||
Vedi: [Libreboot 20231106 annuncio di rilascio](news/libreboot20231106.md).**
|
||||
You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd,
|
||||
on select hardware, aswell as send your compatible hardware
|
||||
for [Libreboot preinstallation](https://minifree.org/product/installation-service/).
|
||||
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
|
||||
Minifree; sales provide funding for Libreboot.
|
||||
|
||||
**ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 20240504, rilasciato il 4 May 2024.
|
||||
Vedi: [Libreboot 20240504 annuncio di rilascio](news/libreboot20240504.md).**
|
||||
|
||||
Per quale ragione utilizzare *Libreboot*?
|
||||
-----------------------------------------
|
||||
|
@ -60,7 +66,7 @@ compilazione automatico di Libreboot.
|
|||
Esattamente come *Alpine Linux* e' una *distribuzione Linux*, Libreboot e' una
|
||||
*distribuzione coreboot*. Per fare un immagine ROM da zero, hai bisogno di esperienza necessaria
|
||||
nel configurare coreboot, GRUB e qualunque altra cosa ti serve. Con *Libreboot*,
|
||||
che puoi scaricare da Git o da un archivio di codici sorgenti, puoi far partire `make`,
|
||||
che puoi scaricare da Git o da un archivio di codici sorgenti, puoi far partire *a script*,
|
||||
e questo mettera' su automaticamente le immagini ROM richieste. Un sistema di compilazione automatico,
|
||||
chiamato `lbmk` (Libreboot MaKe), mettera' su quelle immagini ROM automaticamente, senza troppi
|
||||
interventi da parte dell'utente. Le configurazioni di base sono gia' state previste in precedenza.
|
||||
|
|
|
@ -4,20 +4,28 @@ x-toc-enable: true
|
|||
...
|
||||
|
||||
The *Libreboot* project provides
|
||||
[free, open source](freedom-status.md) (*libre*) boot
|
||||
[free, open source](https://writefreesoftware.org/) (*libre*) boot
|
||||
firmware based on coreboot, replacing proprietary BIOS/UEFI firmware
|
||||
on [specific Intel/AMD x86 and ARM based motherboards](docs/hardware/),
|
||||
including laptop and desktop computers. It initialises the hardware (e.g. memory
|
||||
controller, CPU, peripherals) and starts a bootloader for your operating
|
||||
system. [Linux](docs/linux/) and [BSD](docs/bsd/) are well-supported. Help is
|
||||
available via [\#libreboot](https://web.libera.chat/#libreboot)
|
||||
on [Libera](https://libera.chat/) IRC.
|
||||
on [Libera](https://libera.chat/) IRC. The [tasks page](tasks/) lists what
|
||||
we are working on (contributions are welcome, if you want to work on some of
|
||||
them yourself).
|
||||
|
||||
<img tabindex=1 class="r" src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /><span class="f"><img src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /></span>
|
||||
|
||||
**NEW RELEASE: The latest release is Libreboot 20231106, released on
|
||||
6 November 2023.
|
||||
See: [Libreboot 20231106 release announcement](news/libreboot20231106.md).**
|
||||
You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd,
|
||||
on select hardware, aswell as send your compatible hardware
|
||||
for [Libreboot preinstallation](https://minifree.org/product/installation-service/).
|
||||
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
|
||||
Minifree; sales provide funding for Libreboot.
|
||||
|
||||
**NEW RELEASE: The latest release is Libreboot 20240504, released on
|
||||
4 May 2024.
|
||||
See: [Libreboot 20240504 release announcement](news/libreboot20240504.md).**
|
||||
|
||||
*We* believe the freedom to [study, share, modify and use
|
||||
software](https://writefreesoftware.org/), without any
|
||||
|
@ -44,7 +52,7 @@ infrastructure means you can run whatever you want (even Linux!) from the
|
|||
boot flash.
|
||||
|
||||
Libreboot is specifically a *coreboot distribution*, in the same way that
|
||||
Debian is a *Linux distribution*. Libreboot makes coreboot easy to use by
|
||||
Debian is a *Linux distribution*. Libreboot makes coreboot easy to use for
|
||||
non-technical users, by providing a [fully automated build
|
||||
system](docs/maintain/), [automated build process](docs/build/) and
|
||||
[user-friendly installation instructions](docs/install/), in addition to
|
||||
|
@ -113,8 +121,8 @@ In the same way that *Alpine Linux* is a *Linux distribution*, Libreboot is
|
|||
a *coreboot distribution*. If you want to build a ROM image from scratch, you
|
||||
otherwise have to perform expert-level configuration of coreboot, GRUB and
|
||||
whatever other software you need, to prepare the ROM image. With *Libreboot*,
|
||||
you can literally download from Git or a source archive, and run `make`, and it
|
||||
will build entire ROM images. An automated build system, named `lbmk`
|
||||
you can literally download from Git or a source archive, and run a simple script,
|
||||
and it will build entire ROM images. An automated build system, named `lbmk`
|
||||
(Libreboot MaKe), builds these ROM images automatically, without any user input
|
||||
or intervention required. Configuration has already been performed in advance.
|
||||
|
||||
|
@ -131,6 +139,10 @@ users](docs/install/).
|
|||
How to help
|
||||
-----------
|
||||
|
||||
The [tasks page](tasks/) lists tasks that could (will) be worked on. It will
|
||||
be updated over time as more tasks are added/completede. If you want to help,
|
||||
you could pick one of these tasks and work on it.
|
||||
|
||||
<img tabindex=1 class="l" style="max-width:15%;" src="https://av.libreboot.org/hp8200sff/grub_open.jpg" /><span class="f"><img src="https://av.libreboot.org/hp8200sff/grub_open.jpg" /></span>
|
||||
|
||||
The *single* biggest way you can help is to *add* new mainboards in Libreboot,
|
||||
|
|
|
@ -4,7 +4,7 @@ x-toc-enable: true
|
|||
...
|
||||
|
||||
Проект *Libreboot* надає
|
||||
[вільну](freedom-status.uk.md) *завантажувальну
|
||||
[вільну](https://writefreesoftware.org/) *завантажувальну
|
||||
прошивку*, яка ініціалізує апаратне забезпечення (наприклад, контролер пам'яті, ЦП,
|
||||
периферію) на [конкретних цілях Intel/AMD x86 та ARM](docs/hardware/), що
|
||||
потім розпочинає завантажувач для вашої операційної системи. [Linux](docs/linux/)
|
||||
|
@ -15,8 +15,14 @@ x-toc-enable: true
|
|||
|
||||
<img tabindex=1 class="r" src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /><span class="f"><img src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /></span>
|
||||
|
||||
**НОВИЙ ВИПУСК: Останній випуск Libreboot 20231106, випущено 6 Листопад 2023.
|
||||
Дивіться: [Оголошення про випуск Libreboot 20231106](news/libreboot20231106.md).**
|
||||
You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd,
|
||||
on select hardware, aswell as send your compatible hardware
|
||||
for [Libreboot preinstallation](https://minifree.org/product/installation-service/).
|
||||
The founder and lead developer of Libreboot, Leah Rowe, also owns and operates
|
||||
Minifree; sales provide funding for Libreboot.
|
||||
|
||||
**НОВИЙ ВИПУСК: Останній випуск Libreboot 20240504, випущено 25 травень 2024.
|
||||
Дивіться: [Оголошення про випуск Libreboot 20240504](news/libreboot20240504.md).**
|
||||
|
||||
Чому вам варто використовувати *Libreboot*?
|
||||
----------------------------
|
||||
|
@ -55,7 +61,7 @@ Coreboot помітно складний для встановлення для
|
|||
*дистрибутив coreboot*. Якщо ви хочете зібрати образ ROM з нуля, вам
|
||||
інакше довелось би виконати налаштування експертного рівня coreboot, GRUB та
|
||||
будь-якого іншого потрібного програмного забезпечення, для підготування образа ROM. З *Libreboot*,
|
||||
ви можете буквально завантажити з Git або архіву джерельного коду, та запустити `make`, і це
|
||||
ви можете буквально завантажити з Git або архіву джерельного коду, та запустити a script, і це
|
||||
побудує всі образи ROM. Автоматизована система побудови, названа `lbmk`
|
||||
(Libreboot MaKe), збирає ці образи ROM автоматично, без будь-якого вводу користувача
|
||||
або потрібного втручання. Налаштування вже виконано заздалегідь.
|
||||
|
|
|
@ -3,40 +3,45 @@ title: Libreboot 项目
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
*Libreboot* 项目基于 coreboot 提供了[自由且开源](freedom-status.md)的引导固件,替代了特定基于 Intel/AMD x86 及 ARM 的主板(包括笔记本和桌面计算机)上的专有 BIOS/UEFI 固件。它首先对硬件(如内存控制器、CPU、外设)进行初始化,然后为操作系统启动 bootloader。本项目对 [Linux](docs/linux/) 和 [BSD](docs/bsd/) 支持良好。寻求帮助,可以前往 [Libera](https://libera.chat/) IRC 上的 [\#libreboot](https://web.libera.chat/#libreboot) 频道。
|
||||
*Libreboot* 项目提供基于 coreboot 的[自由且开源](https://writefreesoftware.org/zh-cn/)的引导固件,以替代基于 Intel/AMD x86 和 ARM 的特定主板(包括笔记本和台式电脑)上的专有 BIOS/UEFI 固件。它首先初始化硬件(如内存控制器、CPU、外设),然后为操作系统启动引导加载程序(bootloader)。本项目对 [Linux](docs/linux/) 和 [BSD](docs/bsd/) 支持良好。如果需要寻求帮助,可以前往 [Libera](https://libera.chat/) IRC 上的 [\#libreboot](https://web.libera.chat/#libreboot) 频道。
|
||||
|
||||
<img tabindex=1 class="r" src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /><span class="f"><img src="https://av.libreboot.org/hp9470m/9470m+2560p.jpg" /></span>
|
||||
|
||||
**新版发布: 最新版本 Libreboot 20231106 已在 2023 年 11 月 06 日发布。详见: [Libreboot 20231106 发布公告](news/libreboot20231106.md).**
|
||||
你也可以从 Minifree Ltd [购买特定硬件的 Libreboot 电脑](https://minifree.org/),
|
||||
或者将兼容硬件寄来预装 Libreboot。
|
||||
Libreboot 的创始人和主要开发者,Leah Rowe,也是 Minifree 的所有者和经营者;
|
||||
销售电脑为 Libreboot 提供资金。
|
||||
|
||||
**新版发布: 最新版本 Libreboot 20240504 已在 2024 年 05 月 04 日发布。详见: [Libreboot 20240504 发布公告](news/libreboot20240504.md).**
|
||||
|
||||
为什么要使用 *Libreboot*?
|
||||
----------------------------
|
||||
|
||||
Libreboot 赋予了你[自由](https://writefreesoftware.org/),而这等自由,是你用其他引导固件得不到的。同时,它的启动速度更加快,[安全性也更加高](docs/linux/grub_hardening.md)。在各种情况下使用,它都十分强大,具有高度[可配置性](docs/maintain/)。
|
||||
Libreboot 赋予了你从其他大多数引导固件得不到的[自由](https://writefreesoftware.org/)。同时,它启动速度更快,[安全性也更好](docs/linux/grub_hardening.md)。它功能强大,可针对多种使用情况进行配置。
|
||||
|
||||
*我们*相信,不受限制地[研究、分享、修改及使用软件](https://writefreesoftware.org/)的自由,是每个人都必须享有的基本人权的一部分。这时,*软件自由*至关重要。你的自由至关重要。教育至关重要。[修理权](https://yewtu.be/watch?v=Npd_xDuNi9k)至关重要。尽管许多人在用[自由的操作系统](https://www.openbsd.org/),但他们用的引导固件却是专有(非自由)的。专有固件常常[包含](faq.html#intel)了[后门](faq.html#amd),并且也可能出问题。2013 年 12 月,我们建立了 Libreboot 项目,目的是让不懂技术的用户能使用 coreboot 固件。
|
||||
*我们*相信,不受限制地[研究、分享、修改及使用软件](https://writefreesoftware.org/)的自由,是每个人都必须享有的基本人权的一部分。这时,*软件自由*至关重要。你的自由至关重要。教育至关重要。[修理权](https://yewtu.be/watch?v=Npd_xDuNi9k)至关重要。尽管许多人在用[自由的操作系统](https://www.openbsd.org/),但他们用的引导固件却是专有(非自由)的。专有固件常常[包含](faq.html#intel)了[后门](faq.html#amd),而且可能有很多缺陷。为了让不懂技术的用户也能使用 coreboot 固件,我们于 2013 年 12 月成立了 Libreboot 项目,
|
||||
|
||||
Libreboot 项目使用 [coreboot](https://www.coreboot.org/) 来[初始化硬件](https://doc.coreboot.org/getting_started/architecture.html)。对大部分不懂技术的用户来说,coreboot 是出了名地难安装;它只处理了基础的初始化,然后跳转进入单独的 [payload](https://doc.coreboot.org/payloads.html) 程序(例如 [GRUB](https://www.gnu.org/software/grub/)、[Tianocore](https://www.tianocore.org/)),而后者也需要进行配置。*Libreboot 解决了这样的问题*;他是一个 *coreboot 发行版*,配有[自动构建系统](docs/build/),能够构建完整的 *ROM 镜像*,从而让安装更加稳定。另有文档可参考。
|
||||
Libreboot 项目使用 [coreboot](https://www.coreboot.org/) 来[初始化硬件](https://doc.coreboot.org/getting_started/architecture.html)。对大部分不懂技术的用户来说,coreboot 是出了名地难安装;它只处理了基础的初始化,然后跳转进入单独的 [payload](https://doc.coreboot.org/payloads.html) 程序(例如 [GRUB](https://www.gnu.org/software/grub/)、[Tianocore](https://www.tianocore.org/)),而后者也需要进行配置。*Libreboot 解决了上述问题*;作为 *coreboot 发行版*,配有[自动构建系统](docs/build/),能构建完整的 *ROM 映像*,从而让安装更加稳定。另有文档可参考。
|
||||
|
||||
Libreboot 不是 coreboot 的分支
|
||||
-----------------------------------
|
||||
|
||||
<img tabindex=1 class="l" style="max-width:25%;" src="https://av.libreboot.org/thinkpadcollection/thinkpadcollection1-min.jpg" /><span class="f"><img src="https://av.libreboot.org/thinkpadcollection/thinkpadcollection1-min.jpg" /></span>
|
||||
|
||||
事实上,Libreboot 对每一块主板,都尽可能保持与*标准*的 coreboot 接近,但 Libreboot 构建系统也自动提供了许多不同类型的配置。
|
||||
事实上,Libreboot 对每一块主板,都尽可能保持与*原版*的 coreboot 接近,但 Libreboot 构建系统也自动提供了许多不同类型的配置。
|
||||
|
||||
Libreboot 是一个 *coreboot 发行版*,就好比 *Alpine Linux* 是一个 *Linux 发行版*。如果你想要从零开始构建 ROM 镜像,那你需要对 coreboot、GRUB 以及其他所需软件进行专业级别的配置,才能准备好 ROM 镜像。有了 *Libreboot*,你只需要下载 Git 仓库或者源代码归档,然后运行 `make`,接着就能构建整个 ROM 镜像。一套自动构建系统,名为 `lbmk`(Libreboot Make),将自动构建 ROM 镜像,而无需任何用户输入或干预。配置已经提前完成。
|
||||
Libreboot 是一个 *coreboot 发行版*,就好比 *Alpine Linux* 是一个 *Linux 发行版*。如果想要从零开始构建 ROM 映像,那就需要对 coreboot、GRUB 以及其他所需软件进行专业级别的配置,才能准备好 ROM 映像。有了 *Libreboot*,只需下载 Git 仓库或者源代码归档,然后运行 `make`,接着就能构建整个 ROM 映像。名为 `lbmk` (Libreboot Make) 的自动构建系统会自动构建这些 ROM 映像,无需任何用户输入或干预。已经提前进行了配置。
|
||||
|
||||
如果你要构建常规的 coreboot,而不使用 Libreboot 的自动构建系统,那么需要有很多的干预以及相当的技术知识,才能写出一份能工作的配置。
|
||||
如果要构建常规的 coreboot,不使用 Libreboot 的自动构建系统,那么需要更多干预以及相当的技术知识,才能得到可用的配置。
|
||||
|
||||
Libreboot 的常规二进制版本,提供了这些预编译的 ROM 镜像。你可以轻松安装它们,而无需特别的知识和技能,只要能遵循[写给非技术用户的简单指南](docs/install/)。
|
||||
Libreboot 的常规二进制版本提供了这些预编译的 ROM 映像。按照[写给非技术用户的简单指南](docs/install/)安装即可,无需任何特殊的知识或技能。
|
||||
|
||||
如何帮忙
|
||||
如何帮助
|
||||
-----------
|
||||
|
||||
<img tabindex=1 class="l" style="max-width:15%;" src="https://av.libreboot.org/hp8200sff/grub_open.jpg" /><span class="f"><img src="https://av.libreboot.org/hp8200sff/grub_open.jpg" /></span>
|
||||
|
||||
要帮忙的话,*最*最好的方式,就是通过提交配置文件,来为 Libreboot *添加*新的主板。coreboot 支持的任何东西,都能并入 Libreboot,并且带有 ROM 镜像。见:
|
||||
要帮助的话,*最*最好的方式,就是通过提交配置文件,来为 Libreboot *添加*新的主板。coreboot 支持的任何主板都能收录到 Libreboot,并在发布版本中附带 ROM 映像。见:
|
||||
|
||||
* [申请成为主板维护者/测试者](docs/maintain/testing.md)
|
||||
* [新主板移植指南](docs/maintain/porting.md)
|
||||
|
@ -46,19 +51,19 @@ Libreboot 的常规二进制版本,提供了这些预编译的 ROM 镜像。
|
|||
|
||||
*用户支持*也十分重要。多瞧一瞧 IRC,如果你有能力帮别人解决问题(或者愿意跟他们一起学习),那对本项目的贡献会很大。许多人也在 reddit 版块 `r/libreboot` 寻求用户支持。
|
||||
|
||||
你可以检查[缺陷追踪系统](https://codeberg.org/libreboot/lbmk/issues)列出的缺陷。
|
||||
可以检查[缺陷追踪系统](https://codeberg.org/libreboot/lbmk/issues)列出的缺陷。
|
||||
|
||||
如果你发现了一个缺陷,并且有解决方案,[这里说明了发布补丁的方法](git.md),你也可以提交报告。同时,本站完全使用 Markdown 编写,并托管在了一个[单独的仓库](https://codeberg.org/libreboot/lbwww),你可以在那里发送补丁。
|
||||
如果发现了一个缺陷,并且有解决方案,[这里说明了发布补丁的方法](git.md),也可以提交报告。同时,本站完全使用 Markdown 编写,并托管在了一个[单独的仓库](https://codeberg.org/libreboot/lbwww),可以在那里发送补丁。
|
||||
|
||||
所有开发方面的讨论以及用户支持,都是在 IRC 频道上完成的。了解更多,可以查看[联系](contact.md)页面。
|
||||
所有开发方面的讨论以及用户支持,都是在 IRC 频道上完成的。想要了解更多,可以查看[联系](contact.md)页面。
|
||||
|
||||
libreboot.org 需要翻译
|
||||
--------------------------------------
|
||||
|
||||
Libreboot 目前有乌克兰语和法语的网页翻译(但两个语言都还没翻译完所有页面)。
|
||||
|
||||
如果你想帮忙翻译,你可以翻译网页、更新已有翻译并提交你的译本。请阅读下面的指南:
|
||||
如果想帮忙翻译,可以翻译网页、更新已有翻译并提交译本。请阅读下面的指南:
|
||||
|
||||
[如何提交 libreboot.org 翻译](news/translations.md)
|
||||
|
||||
即使已经有人在进行某个语言的翻译了,我们也总是欢迎更多人。多多益善!
|
||||
即使已经有人在进行某种语言的翻译了,我们也总是欢迎更多人。多多益善!
|
||||
|
|
100
site/lbkey.asc
100
site/lbkey.asc
|
@ -1,54 +1,52 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
xsFNBFweKPcBEACsPzAC5Df1UUA6gmEKAqSSBaBga83J47j1P2JERGcNaE9+IKVkwXfShJLMCrCi
|
||||
DFnvL8OX/M0suXL/5GX02bTluZu+vkQ9CdSvQL9FjHRTqShyJLkZ541tUEMHqe0kJqKnYg/K7ROS
|
||||
cUlKvh/wG08yIjtwIKpXHsiE7+C4IYNHm/EC4pI45WgSEJ/hiFavQjLqDEUwvYCeYenw+ZDt/yVm
|
||||
9mG7kl4F52ow7pgtrBlQlXrnxsPeMZ2tDJAXSE5lbNLp/lZAQBWqM0r0HiAFLMPynryqFxTSd1BV
|
||||
jr6vmN4gEy1wUbFKvJj78V5wpsSG+dcMBRlio0X1qxHThJcU+8MKHhdpi0HgmzhPc121HuSPZl7x
|
||||
tSlBlGldw2Lkofr59GugjwTX1eWDAGmt8gvn8vPNy5spahALB54srzCptTv7xYdxfyXWoPvUlC7U
|
||||
I9H2b6EDE6384uNssa0S0J+GcqFtnrYsalQc+phb/17psi3AC7m5hCwe2ye8zxUaY2rEi4nIO/jP
|
||||
TDtaPplRHxbjtEyvzgTb7G6WYZ2TwoLrmvZAnobCYH+2QhlP9HbRF4gsZ574sbZuP0ead11MNRct
|
||||
lqUFxca41AeB0O+utr1U6HzBqxCivFYF6WNNFTWtxMO5hbaCyOTnT6YRcNuIqegQKjvLXi2eV/mA
|
||||
u6A+M82bE0mx8wARAQABzR1MZWFoIFJvd2UgPGluZm9AbWluaWZyZWUub3JnPsLBlAQTAQgAPhYh
|
||||
BJjM3fjlYEf0dcBEvdDGJGT6i0hWBQJcHij3AhsjBQkJZgGABQsJCAcCBhUICQoLAgQWAgMBAh4B
|
||||
AheAAAoJENDGJGT6i0hWruoP/0TabozNPk9EKJuOkh7hUcBk6gbX0MGzcRYPOkVuAKbTRGu26bvZ
|
||||
hOLP6KiUHucyTjJPiSWoorcq9AvJmn2ROSYqpGCSuaSYccFFJtTi2yUQ0ZtAGVdHiyzI4CBwN5KZ
|
||||
iShT9520KDtcRkxD/dEeDClKCnMAFRoGq0/5DY/V31yWdst1NHIqO98Hkqurm3fhH4nkqVCHOZ9r
|
||||
z3Ws1kTwYKWb5s6qhXLvgq2wNEGq0+rtLjxqJ8kHGsSUOssiX5/KHToKQbTUil1ZLp5YF18HY1rm
|
||||
5Z7gzJ52R/8Nn+e5PyX5+tpjW7sFruavGC8i1ylY07MOllOAZTfOkcGs5eUzLTx4fXABhFS9AQZd
|
||||
x+X/vS/Sl695fJL+Ee62iE1aFEgLkfwgyBcSc7sDMxDVbIk48cK7jjjbcGPhgqjfUUOpScWaIziC
|
||||
IkPRpG3IzI/ZWg5yq/+luN9u5tCfQIcFVhDOTrr0Ji0FxAXU64VoYggiSI7yU0vtVqNgdR9Lf+aI
|
||||
JPRkBXs9OjXmocA4zXxDiRKotYL+9HlAGlfs8pSprF4W4pnZRr69bGaShzpVUg80ei4FR5QEFmgB
|
||||
Irdv2n1y8ODK+61KlsJXRG435/vkz/4opewWufuQIkraIVYGcW3nt0Ffp26c668k8PjsvaTKdj6Y
|
||||
bcFWMrhdrWhK3K1dZxLfyfCBwsFcBBABCAAGBQJcYsfmAAoJEK34Hp7etLisqrEP/jzhY8TRnpn7
|
||||
BRhtapGt1lF3InGmyZK/MvA6k5ss48BeEfYy7vMnpY0zkUXT082n6n1iv/Brg/Ygdum7dvS+bk6B
|
||||
bKB1uDO3H5bvuYHAmIH3H9O4B4mFuJwGRwyV6giGihSifA3FADo/j3i0Am8HD6YCsuEnKYosVJwA
|
||||
NKC+qKadfnnsVI+u+P5zv3JEc92f2RtfwcEziWv3Mm0XELgR98k/6fEf72ZSTeYpxEXy6nhjXX0W
|
||||
PitNnXszkuz97+cYOhKfMpXMgtKRywreZHaJugfgm6PD7PLtlmjPE6qj+PcFvcU4mj+8sKxr5eau
|
||||
uZEfr2U6IVvfd5yZ0r/wNhZSrrfVhntXaKk5EX+IEO6pwcjUUq1NnEhp3oRHFexROJMpoVXhLD0O
|
||||
ijpr1c7JBAAZRTYe/2XlfSYGZksOssptQaDJORLZFh5rEf9XjQt4EfkJoFHwmwJJ9E8Tu+7RP127
|
||||
oTS+eefShBK3iBHfenElLXT1GLkYcBFnGg0Qmor4eCUIy38ezfTKZ8rPCeP1DdUhzL2UEYvM70yn
|
||||
gFekpSQum25mlobOCm9u4WXczihRxXDoYuEO2B9ncjsWXBl1lGKw6ZyuABQeYbStKkaDRy0AHAPF
|
||||
aLDbPo3fgU3IaoI2t/XuBs+UWW9NaXVZRs+3t/uWVOnlwVM5Uax0ODGiKmzl6TO+zsFNBFweKPcB
|
||||
EAC9Zew+v6ZjCaUNT6m/uTmF4yehJsimv604I7Q0UdDH53FOgR2xnxx0CtvrLaYPogIGrYU3Anxu
|
||||
q1OfI6mu3dhTTxZ4X/QOEMvMlDXt0Q9N2bA8USv5S2jqBRai+tIbcmZIlusgNVoTGmQ9Gp4Jz75V
|
||||
UNENJEYrr1iwPCqq8mDVM3W3iFazSxqF0wudeAw4YpVpyEwNk+h1OtytPBWLlgEL3nu7hWa4Uwv1
|
||||
3CaxanIhSPmY8kKNCpmIA+0ZFeQlpKNMIo3PiCOQhsEh11uRN13V0qvPKRe0HIKhOOXzLVBwpcZJ
|
||||
H74Hd3syWY2gPu+5McGNfwUE2tcyLaTdsik98Ac/cP4/Tw+qv+g3xRtHrPOvFCcV6CqUGu42XMGK
|
||||
uxYzkddQWIKEY1zTO+TwfcxiusyVMbhWW6KEoRRDmfSb5r+s2r9DEy4g2y45tuv0myl8/afBx8jh
|
||||
p0BI0UZrBzYgeC+ZCm+DOkSM5zXw6cJzeYtlxT1ZD3kx/XLCWE8GTlcN5cqxqFxUIA9Yge83Ld4D
|
||||
gp5VG8SdEBK8pz6VLOirMHxEehfkzNgZiWx6ig37c5KZ6wCcii5iMVxTNb7lXFzJDI8qQ/4VtI7E
|
||||
VXdzIY34SBc59eb+6ya3L4wBE37y7OMKc6xkB+vlf4cbb5Qd787JjIKCC4Muxb8ze4R30jKRHXht
|
||||
vwARAQABwsF8BBgBCAAmFiEEmMzd+OVgR/R1wES90MYkZPqLSFYFAlweKPcCGwwFCQlmAYAACgkQ
|
||||
0MYkZPqLSFYHwQ/8CSv+vw9JZPw+IF6SrW+e6pb1+NzE/edopJkhJovEwPRcGyU2BW2UQQxdchVK
|
||||
4b/Ue2YNvDx/GGNmGpzyaYxtVFVof8i+pytQvTwNmkNNSU3bWmDOb1KalQhmVg341uX6qzt96rTh
|
||||
V5O5yBWk20Wu3eWnO9eqXBbTj7CWJIIZHjezrFOvccKB8ENngnDklf5LFPPptQszK3B9yD/sy6cx
|
||||
10M363ZfHlU2bJ0ntdZFcwkRaySobAiPVG7evkeot9EiEzWeN8r/hWhrTFNo1K7+b1Yl2g0Vw0uf
|
||||
H8ryU+PrniOA5wg1XOqfseMvq931wWbpaE1D1zzM0DUmrtb6ky0LRoSy+M8f6y8pduBUzXLYLfAc
|
||||
S+HESddsvEUeeUKfG0wiXunGNoy3Ib0PBiDsmQKD+bcdGKo8G9r5FLnqZ9pjWKOVvhAHNWevmU0Y
|
||||
wyAXeN0o2hbAgVUHNZluMu2gen8wg6ciwuN1CUKgvl8t4xgef5EwojfMVaIFxcvV88A0qOBXXnO8
|
||||
SM/GAIYN50URD9eDOohypCN0XDtahEkW1AB0rXkLlWF7vOtMdne7IaZzkSxal7uVWKBjlDKEKEjx
|
||||
ed3da8rVTm0jNyoH55/8dvNzPb5pl6wkUA/F1hqp4SPno5sVCIOUw8FARV2+s77q5/f/L9EhYCtU
|
||||
nd5Eh2s/b3erYjM=
|
||||
=0LXq
|
||||
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
|
||||
ER7BLIU=
|
||||
=fknq
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
|
@ -1,52 +1,54 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1
|
||||
|
||||
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
|
||||
cK2uJIvCCmu0fWYvqD36xKor+/g=
|
||||
=rMte
|
||||
xsFNBFweKPcBEACsPzAC5Df1UUA6gmEKAqSSBaBga83J47j1P2JERGcNaE9+IKVkwXfShJLMCrCi
|
||||
DFnvL8OX/M0suXL/5GX02bTluZu+vkQ9CdSvQL9FjHRTqShyJLkZ541tUEMHqe0kJqKnYg/K7ROS
|
||||
cUlKvh/wG08yIjtwIKpXHsiE7+C4IYNHm/EC4pI45WgSEJ/hiFavQjLqDEUwvYCeYenw+ZDt/yVm
|
||||
9mG7kl4F52ow7pgtrBlQlXrnxsPeMZ2tDJAXSE5lbNLp/lZAQBWqM0r0HiAFLMPynryqFxTSd1BV
|
||||
jr6vmN4gEy1wUbFKvJj78V5wpsSG+dcMBRlio0X1qxHThJcU+8MKHhdpi0HgmzhPc121HuSPZl7x
|
||||
tSlBlGldw2Lkofr59GugjwTX1eWDAGmt8gvn8vPNy5spahALB54srzCptTv7xYdxfyXWoPvUlC7U
|
||||
I9H2b6EDE6384uNssa0S0J+GcqFtnrYsalQc+phb/17psi3AC7m5hCwe2ye8zxUaY2rEi4nIO/jP
|
||||
TDtaPplRHxbjtEyvzgTb7G6WYZ2TwoLrmvZAnobCYH+2QhlP9HbRF4gsZ574sbZuP0ead11MNRct
|
||||
lqUFxca41AeB0O+utr1U6HzBqxCivFYF6WNNFTWtxMO5hbaCyOTnT6YRcNuIqegQKjvLXi2eV/mA
|
||||
u6A+M82bE0mx8wARAQABzR1MZWFoIFJvd2UgPGluZm9AbWluaWZyZWUub3JnPsLBlAQTAQgAPhYh
|
||||
BJjM3fjlYEf0dcBEvdDGJGT6i0hWBQJcHij3AhsjBQkJZgGABQsJCAcCBhUICQoLAgQWAgMBAh4B
|
||||
AheAAAoJENDGJGT6i0hWruoP/0TabozNPk9EKJuOkh7hUcBk6gbX0MGzcRYPOkVuAKbTRGu26bvZ
|
||||
hOLP6KiUHucyTjJPiSWoorcq9AvJmn2ROSYqpGCSuaSYccFFJtTi2yUQ0ZtAGVdHiyzI4CBwN5KZ
|
||||
iShT9520KDtcRkxD/dEeDClKCnMAFRoGq0/5DY/V31yWdst1NHIqO98Hkqurm3fhH4nkqVCHOZ9r
|
||||
z3Ws1kTwYKWb5s6qhXLvgq2wNEGq0+rtLjxqJ8kHGsSUOssiX5/KHToKQbTUil1ZLp5YF18HY1rm
|
||||
5Z7gzJ52R/8Nn+e5PyX5+tpjW7sFruavGC8i1ylY07MOllOAZTfOkcGs5eUzLTx4fXABhFS9AQZd
|
||||
x+X/vS/Sl695fJL+Ee62iE1aFEgLkfwgyBcSc7sDMxDVbIk48cK7jjjbcGPhgqjfUUOpScWaIziC
|
||||
IkPRpG3IzI/ZWg5yq/+luN9u5tCfQIcFVhDOTrr0Ji0FxAXU64VoYggiSI7yU0vtVqNgdR9Lf+aI
|
||||
JPRkBXs9OjXmocA4zXxDiRKotYL+9HlAGlfs8pSprF4W4pnZRr69bGaShzpVUg80ei4FR5QEFmgB
|
||||
Irdv2n1y8ODK+61KlsJXRG435/vkz/4opewWufuQIkraIVYGcW3nt0Ffp26c668k8PjsvaTKdj6Y
|
||||
bcFWMrhdrWhK3K1dZxLfyfCBwsFcBBABCAAGBQJcYsfmAAoJEK34Hp7etLisqrEP/jzhY8TRnpn7
|
||||
BRhtapGt1lF3InGmyZK/MvA6k5ss48BeEfYy7vMnpY0zkUXT082n6n1iv/Brg/Ygdum7dvS+bk6B
|
||||
bKB1uDO3H5bvuYHAmIH3H9O4B4mFuJwGRwyV6giGihSifA3FADo/j3i0Am8HD6YCsuEnKYosVJwA
|
||||
NKC+qKadfnnsVI+u+P5zv3JEc92f2RtfwcEziWv3Mm0XELgR98k/6fEf72ZSTeYpxEXy6nhjXX0W
|
||||
PitNnXszkuz97+cYOhKfMpXMgtKRywreZHaJugfgm6PD7PLtlmjPE6qj+PcFvcU4mj+8sKxr5eau
|
||||
uZEfr2U6IVvfd5yZ0r/wNhZSrrfVhntXaKk5EX+IEO6pwcjUUq1NnEhp3oRHFexROJMpoVXhLD0O
|
||||
ijpr1c7JBAAZRTYe/2XlfSYGZksOssptQaDJORLZFh5rEf9XjQt4EfkJoFHwmwJJ9E8Tu+7RP127
|
||||
oTS+eefShBK3iBHfenElLXT1GLkYcBFnGg0Qmor4eCUIy38ezfTKZ8rPCeP1DdUhzL2UEYvM70yn
|
||||
gFekpSQum25mlobOCm9u4WXczihRxXDoYuEO2B9ncjsWXBl1lGKw6ZyuABQeYbStKkaDRy0AHAPF
|
||||
aLDbPo3fgU3IaoI2t/XuBs+UWW9NaXVZRs+3t/uWVOnlwVM5Uax0ODGiKmzl6TO+zsFNBFweKPcB
|
||||
EAC9Zew+v6ZjCaUNT6m/uTmF4yehJsimv604I7Q0UdDH53FOgR2xnxx0CtvrLaYPogIGrYU3Anxu
|
||||
q1OfI6mu3dhTTxZ4X/QOEMvMlDXt0Q9N2bA8USv5S2jqBRai+tIbcmZIlusgNVoTGmQ9Gp4Jz75V
|
||||
UNENJEYrr1iwPCqq8mDVM3W3iFazSxqF0wudeAw4YpVpyEwNk+h1OtytPBWLlgEL3nu7hWa4Uwv1
|
||||
3CaxanIhSPmY8kKNCpmIA+0ZFeQlpKNMIo3PiCOQhsEh11uRN13V0qvPKRe0HIKhOOXzLVBwpcZJ
|
||||
H74Hd3syWY2gPu+5McGNfwUE2tcyLaTdsik98Ac/cP4/Tw+qv+g3xRtHrPOvFCcV6CqUGu42XMGK
|
||||
uxYzkddQWIKEY1zTO+TwfcxiusyVMbhWW6KEoRRDmfSb5r+s2r9DEy4g2y45tuv0myl8/afBx8jh
|
||||
p0BI0UZrBzYgeC+ZCm+DOkSM5zXw6cJzeYtlxT1ZD3kx/XLCWE8GTlcN5cqxqFxUIA9Yge83Ld4D
|
||||
gp5VG8SdEBK8pz6VLOirMHxEehfkzNgZiWx6ig37c5KZ6wCcii5iMVxTNb7lXFzJDI8qQ/4VtI7E
|
||||
VXdzIY34SBc59eb+6ya3L4wBE37y7OMKc6xkB+vlf4cbb5Qd787JjIKCC4Muxb8ze4R30jKRHXht
|
||||
vwARAQABwsF8BBgBCAAmFiEEmMzd+OVgR/R1wES90MYkZPqLSFYFAlweKPcCGwwFCQlmAYAACgkQ
|
||||
0MYkZPqLSFYHwQ/8CSv+vw9JZPw+IF6SrW+e6pb1+NzE/edopJkhJovEwPRcGyU2BW2UQQxdchVK
|
||||
4b/Ue2YNvDx/GGNmGpzyaYxtVFVof8i+pytQvTwNmkNNSU3bWmDOb1KalQhmVg341uX6qzt96rTh
|
||||
V5O5yBWk20Wu3eWnO9eqXBbTj7CWJIIZHjezrFOvccKB8ENngnDklf5LFPPptQszK3B9yD/sy6cx
|
||||
10M363ZfHlU2bJ0ntdZFcwkRaySobAiPVG7evkeot9EiEzWeN8r/hWhrTFNo1K7+b1Yl2g0Vw0uf
|
||||
H8ryU+PrniOA5wg1XOqfseMvq931wWbpaE1D1zzM0DUmrtb6ky0LRoSy+M8f6y8pduBUzXLYLfAc
|
||||
S+HESddsvEUeeUKfG0wiXunGNoy3Ib0PBiDsmQKD+bcdGKo8G9r5FLnqZ9pjWKOVvhAHNWevmU0Y
|
||||
wyAXeN0o2hbAgVUHNZluMu2gen8wg6ciwuN1CUKgvl8t4xgef5EwojfMVaIFxcvV88A0qOBXXnO8
|
||||
SM/GAIYN50URD9eDOohypCN0XDtahEkW1AB0rXkLlWF7vOtMdne7IaZzkSxal7uVWKBjlDKEKEjx
|
||||
ed3da8rVTm0jNyoH55/8dvNzPb5pl6wkUA/F1hqp4SPno5sVCIOUw8FARV2+s77q5/f/L9EhYCtU
|
||||
nd5Eh2s/b3erYjM=
|
||||
=0LXq
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1
|
||||
|
||||
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
|
||||
cK2uJIvCCmu0fWYvqD36xKor+/g=
|
||||
=rMte
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
@ -1,6 +1,13 @@
|
|||
libreboot20240504.md
|
||||
libreboot20240225.md
|
||||
ports202402.md
|
||||
sourcehut.md
|
||||
libreboot20240126.md
|
||||
x201.md
|
||||
hp820g2.md
|
||||
audit4.md
|
||||
libreboot20231106.md
|
||||
libreboot20231101.md
|
||||
canoeboot.md
|
||||
libreboot20231021.md
|
||||
audit3.md
|
||||
audit2.md
|
||||
|
@ -8,9 +15,7 @@ argon2.md
|
|||
hp8470p_and_dell_t1650.md
|
||||
hp2170p.md
|
||||
update202308.md
|
||||
gnuboot.md
|
||||
fam15h.md
|
||||
censored-libreboot20230710.md
|
||||
safety.md
|
||||
libreboot20230625.md
|
||||
microcode.md
|
||||
|
|
|
@ -2,6 +2,9 @@
|
|||
% Leah Rowe
|
||||
% 20 October 2023
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
|
@ -153,7 +156,7 @@ are also repeated below but in more detail:
|
|||
* Don't use the `-B` option in make commands.
|
||||
* Where no-microcode ROM images are provided, ensure that the ROM hashes still
|
||||
match when running the vendor inject script. This is only useful on the
|
||||
Dell Latitude E6400, which is otherwise FSDG-compatible but (in Libreboot)
|
||||
Dell Latitude E6400, which is otherwise blob-free but (in Libreboot)
|
||||
comes with or without microcode updates, and with or without the Nvidia VGA
|
||||
ROM (handled by vendor inject/download scripts) for dGPU variants. Verification
|
||||
previously failed, under certain conditions, when inserting that VGA ROM.
|
||||
|
@ -195,8 +198,8 @@ are also repeated below but in more detail:
|
|||
spaces in them.
|
||||
* Don't support removal of microcode (during release time) on untested targets.
|
||||
Set `microcode_required="y"` on most boards, but leave it set to `"n"` on
|
||||
platfroms such as GM45 (ThinkPad X200/T400, Dell E6400, etc); anything FSDG
|
||||
compatible, in other words.
|
||||
platfroms such as GM45 (ThinkPad X200/T400, Dell E6400, etc); anything that
|
||||
can run without blobs, in other words.
|
||||
* Improved Dell Latitude E6400 support; the same image now provides iGPU and
|
||||
dGPU support, since it's SeaBIOS-only anyway, so a VGA ROM is inserted into
|
||||
the same ROM that also enables libgfxinit, enabling the Intel or Nvidia GPU
|
||||
|
@ -348,12 +351,12 @@ The commits are, thus:
|
|||
* c7e764a3 update/release: confirm vdir path on exit
|
||||
* 1c8b2114 update/release: copy crossgcc to archive
|
||||
* 54a05fc1 always re-generate .git in lbmk
|
||||
* 52c9416b update flashrom revision
|
||||
* af1c1e10 add backup git repo for flashrom
|
||||
* 18364822 Revert "config/git: don't download flashrom"
|
||||
* 52c9416b update flashprog revision
|
||||
* af1c1e10 add backup git repo for flashprog
|
||||
* 18364822 Revert "config/git: don't download flashprog"
|
||||
* ac442808 config/git: add more backup repos
|
||||
* 75980052 git/config: don't use github on main repos
|
||||
* bf4ea810 config/git: don't download flashrom
|
||||
* bf4ea810 config/git: don't download flashprog
|
||||
* da3044e7 git/config stm32-vserprog: don't fetch libopencm3
|
||||
* 782371a5 update/release: delete *all* .git and .gitmodules
|
||||
* 743a425c include/git: fix already-exists download message
|
||||
|
|
|
@ -0,0 +1,436 @@
|
|||
% Libreboot Build System Audit 4
|
||||
% Leah Rowe
|
||||
% 31 December 2023
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
This article pertains to the current Libreboot (lbmk) revision at this time
|
||||
of writing, which is `11a821637d8a36f4a72001ef8d8c41952f066cc3` from 31
|
||||
December 2023. A *release* is also being considered for some time in January
|
||||
of 2024, based on this audit and new features that are planned, plus new
|
||||
boards. To compliment this audit, the [TODO page](../tasks/), which now lists
|
||||
what tasks the project is interested in or working on at any given time.
|
||||
|
||||
A lot of work has gone into Libreboot since [Libreboot Build System
|
||||
Audit 3](audit3.md), which coincided with
|
||||
the [Libreboot 20231021](libreboot20231021.md) release, right up
|
||||
to [Libreboot 20231106](libreboot20231106).
|
||||
|
||||
Modest code size reduction
|
||||
--------------------------
|
||||
|
||||
The main purpose of audit 4 has been to *finish* audit 3. More logic has been
|
||||
generalised, and *another* sloccount reduction has been observed: 1618 SLOC in
|
||||
the shell scripts, versus 1744 as of audit 3, with *increased* (not decreased)
|
||||
functionality. This accounts for a *7.22%* decrease in the complexity of
|
||||
[lbmk](../docs/maintain/), which is the Libreboot build system.
|
||||
|
||||
Summarised changes since 20231106
|
||||
-------------------------------
|
||||
|
||||
These and subsequent changes will be present in the *next Libreboot release*,
|
||||
after Libreboot 20231106, but they can already be obtained now, if you compile
|
||||
Libreboot [from source via lbmk.git](../docs/build/).
|
||||
|
||||
Although audit 3 was the previous audit, several changes were made after
|
||||
that, up to the Libreboot 20231106 release. Therefore, this audit changelog is
|
||||
relative to Libreboot 20231106, *not* audit 3. Most of this is minor code
|
||||
cleanup patches that, together, account for the moderate code size reduction,
|
||||
but there are some new features and bug fixes too.
|
||||
|
||||
Not all of these are actually audit-related, but are still nice changes, and
|
||||
will be included in the release changelog, for the next release
|
||||
after Libreboot 20231106. The changes are, from newest to oldest:
|
||||
|
||||
In addition to specific changes listed below, there are several commits part of
|
||||
the audit titled "general code cleanup", which go through the entire build system,
|
||||
sweeping it for bad or unclean code, cleaning up the coding style, removing
|
||||
obsolete code or generally improving the coding style/quality, to make the
|
||||
code more readable. Such has been the main focus of this audit.
|
||||
|
||||
And now, specific changes:
|
||||
|
||||
* GRUB: bumped the revision again, to the 2.12 release which came out
|
||||
on 20 December 2023. We previously bumped this to a November revision,
|
||||
mentioned earlier in this changelog, but now we can use the officia/
|
||||
GRUB 2.12 release.
|
||||
* `target.cfg` files are now possible for single-tree projects, not just
|
||||
multi-tree projects. For single-tree projects, it goes
|
||||
at `config/projectname/target.cfg`, and it goes on the
|
||||
existing `config/projectname/tree/target.cfg` location for multi-tree projects.
|
||||
* `script/update/trees`: Support adding custom arguments to the make command,
|
||||
when running a makefile within a project. This is defined by `makeargs` in
|
||||
the `target.cfg` file for a given project.
|
||||
* Generic cmake handling now supported, in `script/update/trees` - it is no
|
||||
longer hardcoded, for the `uefitool` package (from which we
|
||||
run `uefiextract`). Simply: define `cmakedir` in a project `target.cfg` file.
|
||||
It could even be `cmakedir="."` if you wish, so that all of it is built,
|
||||
though we specify `cmakedir="UEFIExtract"` for uefitool.
|
||||
* Unify `script/update/trees` and `script/build/grub` - now, generic autoconf
|
||||
handling is present in `script/update/trees`, so it can be used for any
|
||||
project, including GRUB, and arguments for configure/autogen/bootstrap scripts
|
||||
are configurable in project `target.cfg` files. The actual running
|
||||
of `grub-mkstandalone` is now handled from `script/build/roms`. This reduces
|
||||
the number of shell scripts from 12 to 11, in lbmk.
|
||||
* disable u-boot on x86 qemu for now (prevents a build error in lbmk)
|
||||
* `script/build/serprog`: Return error status (exit) if basename fails, when
|
||||
processing various board targets available on stm32/rp2040 projects. Patch
|
||||
courtesy of Leah Rowe.
|
||||
* **NEW BOARD:** HP 8300 CMT mainboard, added by Riku Viitanen, who worked
|
||||
on it with a tester in the IRC channel.
|
||||
* Fixed implicit typecasting bug on flashprog 1.2 source code, thus preventing
|
||||
a build issue (tested on Debian 12.2). Patch courtesy of Leah Rowe.
|
||||
* `script/build/roms`: Rename `check_target` to `configure_target`
|
||||
and `prepare_target` to `configure_dependencies`, for increased code clarity.
|
||||
* `git/pico-serprog`: Use Riku's newer revision, which sets the drive level
|
||||
to 12mA by default, up to the previous default of 4mA. The new level is
|
||||
within safety specifications on all flash ICs, but will result in greater
|
||||
reliability, especially on ISP-based flashing setups. Also merged a fix by
|
||||
Riku Viitanen, fixing a build error on boards where `PICO_DEFAULT_LED_PIN` is
|
||||
not defined by the pico sdk; in these cases, the status LED is simply unused.
|
||||
* `script/build/roms`: Improved error handling for ROM image build functions,
|
||||
which run inside subshells. They now more reliably cause an exit from lbmk,
|
||||
under error conditions, and those exits are guaranteed now to be non-zero.
|
||||
Patch courtesy of Leah Rowe.
|
||||
* `script/build/roms`: Remove redundant check on cros roms, where it
|
||||
checked whether initmode was normal; on these setups, it's always libgfxinit.
|
||||
* **BOARD:** the `e6400_4mb` target is unaltered, but now a
|
||||
new `e6400nivida_4mb` target is defined. This target disabled libgfxinit,
|
||||
and only executes the nvidia VGA ROM, so it's only applicable to the nvidia
|
||||
variant of Dell Latitude E6400. The `e6400_4mb` variant enables both, but
|
||||
causes some issues on nvidia models when `nomodeset` is used - only KMS works,
|
||||
but nouveau is unstable in certain conditions and on some linux/mesa versions,
|
||||
with this board when Libreboot is used. So it's recommended on nvidia variants
|
||||
to use the `e6400nvidia_4mb` option, and use `e6400_4mb` only on intel variants.
|
||||
Patch courtesy Leah Rowe, responding to a bug report on the IRC channel.
|
||||
* set projectname/version strings properly, in scripts that call it. It was
|
||||
previously done unconditionally in err.sh, without being called, but this
|
||||
was later changed, and scripts that use it weren't adapted, so it turned
|
||||
out that the strings were empty when used. Now the strings are properly set,
|
||||
in all scripts that need them. These strings are provided by the build system,
|
||||
which checks itself at startup. Patch courtesy of Leah Rowe.
|
||||
* `script/update/trees`: Fix infinite loop caused in some conditions, when
|
||||
vendor files are being used. The trees script calls the vendor download
|
||||
script, which in turn calls the trees script; an additional check has been
|
||||
introduced, to prevent a runaway condition where the two scripts endlessly
|
||||
call each other, thus preventing an infinite loop. Patch courtesy Leah Rowe.
|
||||
* `script/vendor/download`: check whether a config file exists, before trying
|
||||
to read it. This reduces the chance of crashing the build system, when running
|
||||
the script on certain targets. Patch courtesy of Leah Rowe.
|
||||
* `script/vendor/inject`: Fixed a bad error check, when running `cd` to switch
|
||||
to the ROM images directory, when creating archives. Patch courtesy Leah Rowe.
|
||||
* `script/update/release`: Don't test `script/vendor/inject` at the end. This
|
||||
is regularly tested anyway, during development, so it's a waste of time to
|
||||
have it done by the release build script. This reduces the amount of time
|
||||
taken to build a release archive. Patch courtesy of Leah Rowe.
|
||||
* `script/update/release`: Don't insert crossgcc tarballs into release
|
||||
archives. These are re-inserted needlessly, when they are already hosted by
|
||||
the GNU project and have decent mirrors in general. I always keep backups of
|
||||
these anyway, and do several mirrors, and not including them reduces the
|
||||
size of the Libreboot release archives. This means that the release archives
|
||||
now require an internet connection to use, because crossgcc tarballs will be
|
||||
downloaded at build time, but they are the same tarballs that you would
|
||||
download as part of a release anyway, but now if you're only building for
|
||||
one coreboot tree within lbmk, you only need to download one set of archives
|
||||
instead of getting them all. Patch courtesy of Leah Rowe.
|
||||
* `script/build/serprog`: general code cleanup, generalising a lot more code,
|
||||
especially the if/else chains for checking what type of firmware is build.
|
||||
Patch courtesy of Leah Rowe.
|
||||
* main build script: simplified TMPDIR handling. There were cases where the
|
||||
TMPDIR variable was already set, and being re-set needlessly. The new code
|
||||
is simpler, and less error-prone. Patch courtesy of Leah Rowe.
|
||||
* `include/mrc.sh`: general code cleanup, removing dead code and optimising the
|
||||
general style of it, to reduce sloccount. Patch courtesy of Leah Rowe.
|
||||
* Corresponding to the change below by Riku, the vendor filenames were also
|
||||
changed to match the 68\* naming scheme.
|
||||
* `config/vendor/sources`: document HP laptop ROM families, for certain models,
|
||||
according to name scheme 68SFC, 68SCE, 68ICE and 68ICF. Some of these boards
|
||||
iare part of the same families, and use the same blobs. Patch courtesy of
|
||||
Riku Viitanen.
|
||||
* `script/build/roms`: remove the `modify_coreboot_rom` function. Fake PIKE2008
|
||||
ROMs are now inserted by defining option roms in the coreboot config, where
|
||||
the given path is `/dev/null`. The *top swap* setting on i945 is now enabled
|
||||
via `CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK` in the coreboot build system -
|
||||
basically, what this does is cat two identical copies of the bootblock together
|
||||
and insert the larger bootblock file (twice the size) at the end of the flash,
|
||||
whereas previously we did this in lbmk using dd. The benefit of the new setup
|
||||
is that it results in higher build speeds, and now the duplicated bootblock
|
||||
now appears in CBFS, so cbfstool will prevent overwriting it.
|
||||
* `include/mrc.sh`: Also don't use the dedicated unzip logic in the script.
|
||||
Re-use the generic logic provided by `include/git.sh` instead. Patch courtesy
|
||||
of Leah Rowe.
|
||||
* `include/mrc.sh`: Don't run the shellball provided by Google. Just directly
|
||||
run `unzip` instead. The shellball is just a zip file attached to some shell
|
||||
logic, that self-decompresses itself. Running unzip directly, gets you the
|
||||
same hash, and it's much simpler in lbmk. Patch courtesy of Leah Rowe, after
|
||||
the shellball's behaviour was pointed out by Nicholas Chin.
|
||||
* `script/update/trees`: Greatly simplified crossgcc handling. Now the list of
|
||||
crossgcc targets are directly defined in `target.cfg` files, and the for loop
|
||||
in update/trees just goes through it, checking the relevant toolchain. Patch
|
||||
courtesy of Leah Rowe.
|
||||
* `config/ifd/xx30`: Fixed bad component density count for 16MB setups, and
|
||||
reduced chip count from 2 to 1. This should make internal flashing work, on
|
||||
X230 setups where the user replaced the two flashes with a single 16MB flash.
|
||||
Patch courtesy of Nicholas Chin.
|
||||
* **NEW BOARD:** HP EliteBook 8460p support added. Patch courtesy of Riku
|
||||
Viitanen.
|
||||
* `include/git.sh`: Simplified submodule handling by not using subshells for
|
||||
running `cd` to a git repository. Instead, the `-C` option is used in Git.
|
||||
* main build script, in the `initialise_command` (now `initcmd`) function:
|
||||
simplify handling of arguments, when determining what command was passed,
|
||||
and how to run it. Patch courtesy Leah Rowe.
|
||||
* `script/update/release`: remove unnecessary "continue" command at the end of
|
||||
a for loop.
|
||||
* `include/option.sh`: general code cleanup in the `scan_config()` function,
|
||||
on the if/else block assigning variables after scanning configs.
|
||||
* `include/option.sh`: print errors to stdout instead, on the `item()` function
|
||||
* `include/git.sh`: reduced code indentation, on the part that applies patches
|
||||
in a git repository.
|
||||
* `include/git.sh`: simplify tree name check, by breaking earlier when the
|
||||
correct tree name is found on a multi-tree project. Patch courtesy of
|
||||
Leah Rowe.
|
||||
* `grub.cfg`: Support scanning for *extlinux* configs, which are essentially the
|
||||
same as syslinux ones. If found, they are passed through GRUB's syslinux
|
||||
parser, which then presents a menu as if it were a GRUB configuration. This
|
||||
should increase compatibility with distros that use extlinux, such as
|
||||
the Alpine Linux distribution.
|
||||
* `grub.cfg`: Handle GRUB *and* syslinux/extlinux configs, on the USB boot menu
|
||||
option. Now it scans for both, thus increasing compatibility with many modern
|
||||
Linux distro installers. Before this change, Libreboot's design was made with
|
||||
BIOS systems in mind, because we historically only supported systems that were
|
||||
BIOS-based, whereas GRUB is more common as a bootloader on UEFI-based install
|
||||
media, but in the past we mostly assumed isolinux/syslinux for that.
|
||||
* `grub.cfg`: support ESP and extlinux setups. The so-called EFI System Partition
|
||||
is basically a FAT32 partition that can contain bootloaders and configurations,
|
||||
and it is commonly used on some machines that Libreboot supports, prior to
|
||||
Libreboot installation. GRUB also supports parsing syslinux configs, and extlinux
|
||||
configs are essentially the same. So now Libreboot GRUB automatically scans
|
||||
for GRUB *and* syslinux/extlinux configs by default, including on the ESP.
|
||||
This will increase compatibility with a wide variety of distros, *without*
|
||||
introducing UEFI support yet on x86, because those same Linux kernels can
|
||||
also run on bare metal (and this is exactly how it works, when you use GRUB
|
||||
as a payload).
|
||||
* `grub.cfg`: Don't boot linux unless there is a grub.cfg file provided on
|
||||
the HDD/SSD. Previously, a fallback entry existed as a last resort, if all
|
||||
else failed, but it made several assumptions that are mostly no longer valid
|
||||
in 2023. Patch courtesy of Leah Rowe.
|
||||
* `grub.cfg`: scan LVMs first. This makes it more likely that an encrypted
|
||||
system (encrypted `/boot`) will boot first, once found and unlocked. Patch
|
||||
courtesy of Leah Rowe.
|
||||
* `dell-flash-unlock`: in the README, link to several useful guides including
|
||||
Open Security Training section about BIOS and SMM internals on x86. Patch
|
||||
courtesy of Nicholas Chin. In general, update the README to include instructions
|
||||
related to disabling /dev/mem protection, and info about the newer boards
|
||||
now added to lbmk, that the utility can be used on.
|
||||
* `grub.cfg`: Added BTRFS subvolume support, by default. Patch courtesy of
|
||||
the contributor, alias `semigel`.
|
||||
* **NEW BOARD:** EDP variant of the ThinkPad X220, for use with eDP mod kits.
|
||||
These kits enable use of much nicer, higher resolution screens. We already
|
||||
provided a variant of the X230 for this, in lbmk. Patch courtesy of the
|
||||
contributor, alias `risapav` (real name not given).
|
||||
* lbmk: remove support for the DEBUG environmental variable. It was never very
|
||||
useful anyway, and introduced about 10 years ago when the Libreboot build
|
||||
system was much less advanced than it is now. We already have much better
|
||||
debugging these days, when dealing with build system issues. Patch courtesy
|
||||
of Leah Rowe.
|
||||
* lbmk scripts: Did a general sweep with shellcheck, fixing errors that it
|
||||
flagged, such as lack of double quotes in some places, and non-standard
|
||||
behaviour being used. The actual [patch](https://browse.libreboot.org/lbmk.git/commit/?id=1eb4df6748f94a08d44c623a56417199b99b371d)
|
||||
shows what is meant by this. Patch courtesy of Leah Rowe.
|
||||
* lbmk scripts: Handle exit status correctly, when dealing with subshells. This
|
||||
continues on from the other fix below, after doing a sweep of the entire
|
||||
build system. Patch courtesy of Leah Rowe.
|
||||
* `script/update/trees`: Correctly return error status when `git am` fails,
|
||||
while applying patches. Although it was printing an error message, the
|
||||
script was making improper use of subshells, leading to a zero exit, when
|
||||
it should have exited with non-zero status in such situations. Patch/fix
|
||||
courtesy of Leah Rowe.
|
||||
* Bumped flashprog revision back to version 1.2, because the 1.4 RC we were
|
||||
importing has issues (also, Nico Huber's flashprog will probably be used
|
||||
in future releases of Libreboot). Patch courtesy of Leah Rowe.
|
||||
* Debian dependencies config: Fixed the freetype dependency, as tested on
|
||||
modern Debian Sid
|
||||
* GRUB modules: re-added fat/ntfs file system support. Some users on EFI-based
|
||||
setups transferring to Libreboot couldn't boot their linux systems, which had
|
||||
files installed onto EFI System Partitions. The next release after
|
||||
Libreboot 20231106 will once again work correctly on such setups. Patch
|
||||
courtesy of Leah Rowe.
|
||||
* **GRUB revision:** bumped it to November 2023 revision, which contains
|
||||
several important fixes. Look at the [patch](https://browse.libreboot.org/lbmk.git/commit/?id=47ef411efb6b669b7befd2a1cf22f999d4521999)
|
||||
for actual fixes, listed in the code import. It's a lot.
|
||||
* main build script: set `--author` in Git, when re-initialising the Git
|
||||
history on release archives. Patch courtesy of Leah Rowe.
|
||||
* lbmk return status: don't rely on return status for unconditional returns.
|
||||
There were some parts of lbmk that, in practise, would always exit, but could
|
||||
theoretically not, even when they are supposed to, regardless of exit status.
|
||||
Patch courtesy of Leah Rowe.
|
||||
* lbmk help text: support showing the Libreboot version, project name and
|
||||
the version date, based on git metadata. Patch courtesy of Leah Rowe.
|
||||
* Re-added GRUB modules: f2fs, json, read, scsi, sleep, diskfilter, hashsum,
|
||||
loadenv, setjump - needed on some setups. Patch courtesy of Leah Rowe.
|
||||
* `util/nvmutil`: Added useful help dialog, showing usage instructions when
|
||||
no/invalid arguments are given. Patch courtesy of Riku Viitanen.
|
||||
* Fixed the `util/nvmutil` Makefile, courtesy of Riku Viitanen. It was not
|
||||
properly formatted to include `nvmutil.c`, when running make-all.
|
||||
* Dell Latitude E6430: Added VBT to CBFS, which was missing in the
|
||||
Libreboot 20231106 release. Also enable DRAM clear on boot. Patch courtesy
|
||||
of Nicholas Chin.
|
||||
* **BOARD ADDED:** Dell Latitude E6530. Courtesy of Nicholas Chin.
|
||||
* `config/ifd`: Renamed `e6430` to `dell_ivybridge`, because the files can be
|
||||
re-used by other planned ports for Dell latitudes in lbmk. Patch courtesy of
|
||||
Nicholas Chin.
|
||||
|
||||
Exact git log, relative to 20231106:
|
||||
|
||||
```
|
||||
* 11a82163 Bump GRUB to 2.12 release
|
||||
* f3098f56 git.sh multi-tree: grab submodules *after* patches
|
||||
* 5fb6e36f update/trees: clean up the coreboot-version check
|
||||
* 4c9ee172 update/trees: support custom make/autogen argument
|
||||
* c6a0e495 update/trees: generic cmake handling
|
||||
* 30337b8f update/trees: avoid namespace clash in function
|
||||
* b0615581 update/trees: dont hardcode autoconf/bootstrap arg
|
||||
* eb3a8e2b unify script/update/trees and script/build/grub
|
||||
* 34ded35f lbmk scripts: general code cleanup
|
||||
* 4e067799 disable u-boot on x86 qemu
|
||||
* bc87b5f6 lbmk scripts: general code cleanup
|
||||
* 0c1d08d8 build/serprog: err if basename fails
|
||||
* eff9130b update/trees: further simplify crossgcc handling
|
||||
* 6752780f coreboot: update hp elitebook configs
|
||||
* 15298985 Merge pull request 'Add HP 8300 CMT port' (#173) from Riku_V/lbmk:hp8300cmt into master
|
||||
|\
|
||||
| * 74147ea4 Add HP 8300 CMT port
|
||||
|/
|
||||
* 0aca6332 lbmk scripts: shorter code lines
|
||||
* 575332f2 fix flashprog build error (implicit enum typecast)
|
||||
* b4ab3057 lbmk scripts: general code cleanup
|
||||
* 38a7aa31 build/roms: rename two functions for clarity
|
||||
* 746d9cad build: remove test command
|
||||
* 655d3cdc lbmk scripts: general code cleanup/optimisation
|
||||
* 25f9d948 git/pico-serprog: update revision again
|
||||
* e0fee7a4 git/pico-serprog: update revision
|
||||
* a48b3841 build/roms: improved error handling for roms
|
||||
* 33695a56 build/roms: remove redundant check
|
||||
* d5f8f657 dell/e6400nvidia_4mb: new configuration (nvidia)
|
||||
* 9d5d98eb set version/projectname properly
|
||||
* aa525142 update/trees: fix infinite loop
|
||||
* 465077bc vendor/download: check whether configs exist first
|
||||
* 39293279 vendor/inject: fix dodgy error check (cd command)
|
||||
* f44b99c8 don't delete microcode updates in rom images
|
||||
* 72cd169e update/release: don't test ./vendor inject
|
||||
* e8eb52f8 update/release: don't insert crossgcc tarballs
|
||||
* b0e5fc9d lbmk scripts: general code cleanup
|
||||
* b111f484 build/serprog: general code cleanup
|
||||
* 2f98ca6d build: simplified TMPDIR handling
|
||||
* ab65ea4c general code cleanup
|
||||
* fa25414b mrc.sh: run debugfs from extract_partition
|
||||
* 8a875722 mrc.sh: general code cleanup
|
||||
* 12e644b3 Merge pull request 'hp-ec-fw' (#172) from Riku_V/lbmk:hp-ec-fw into master
|
||||
|\
|
||||
| * 584c66e9 rename hp elitebook ec fw after rom families
|
||||
| * f7fda791 document hp laptop rom families
|
||||
|/
|
||||
* 92986f0c build/roms: remove modify_coreboot_rom()
|
||||
* 493ebdfb mrc.sh: remove redundant extraction logic
|
||||
* 1153bc3b mrc.sh: don't run the shellball. use unzip.
|
||||
* 28dfd91a Merge pull request 'hp8460pintel: actually enable vbt' (#171) from Riku_V/lbmk:vbt8460p into master
|
||||
|\
|
||||
| * aa4160e3 hp8460pintel: actually enable vbt
|
||||
|/
|
||||
* 3ccf1941 update coreboot configs
|
||||
* 95788059 update/trees crossgcc: call err if arch isn't set
|
||||
* 90ac30b1 update/trees: simplified crossgcc handling
|
||||
* 4711098e Merge pull request 'config/ifd/xx30: Fix 16_ifd component density and count' (#170) from nic3-14159/lbmk:xx30_16_ifd_fix into master
|
||||
|\
|
||||
| * dbec5bf3 config/ifd/xx30: Fix 16_ifd component density and count
|
||||
* | 4fb48595 Merge pull request 'Add HP EliteBook 8460p' (#169) from Riku_V/lbmk:hp8460p into master
|
||||
|\ \
|
||||
| |/
|
||||
|/|
|
||||
| * b0b4f86b Add HP EliteBook 8460p
|
||||
* | 7f98ab8e git.sh: simplify submodule handling
|
||||
* | 124b5beb build initialise_command: simplify handling
|
||||
* | 9c00746b update/release: minor cleanup
|
||||
* | f6ebab57 option.sh scan_config: clean up if/else block
|
||||
* | 3b7009aa option.sh: print error on stderr, not stdout
|
||||
* | c75ca20c option.sh: don't rely on zero status on printf
|
||||
* | 578f105d git.sh git_am_patches: reduce indentation
|
||||
* | cbd19d81 git.sh fetch_config: simplify tree name check
|
||||
|/
|
||||
* b9f69f26 grub.cfg syslinux: support scanning /boot/EFI/
|
||||
* 766bb46c grub.cfg: fix path
|
||||
* 430918ee grub.cfg: handle btrfs subvols for extlinux.conf
|
||||
* d74c6c71 grub.cfg: scan extlinux/extlinux.conf
|
||||
* f1d6c143 grub.cfg: support grub and extlinux on ata/ahci
|
||||
* 6db94c1a grub.cfg: merge isolinux/grub usb menuentries
|
||||
* c4544e04 grub.cfg: handle extlinux in the default menuentry
|
||||
* eaa1341b grub.cfg syslinux: support ESP and extlinux.conf
|
||||
* b817001e grub.cfg: don't boot linux without a grub.cfg
|
||||
* 2d6e5ca4 grub.cfg: scan lvm volumes last
|
||||
* 49eed9ac Revert "grub.cfg: try luks2/crypto-lvm before non-crypto"
|
||||
* aed4dff8 Merge pull request 'Dell-flash-unlock README updates from upstream' (#168) from nic3-14159/lbmk:dell-flash-unlock-updates into master
|
||||
|\
|
||||
| * d207e9bc README.md: Add possibly not working systems
|
||||
| * ab59f912 README.md: Add E6500, E6420, and E6530 as supported
|
||||
| * ca28255d README.md: Add instructions for relaxing memory permissions
|
||||
| * f4819081 README.md: Add references to Open Security Training
|
||||
* | 20389655 grub.cfg: try luks2/crypto-lvm before non-crypto
|
||||
* | 3a36c827 Merge pull request 'master' (#165) from risapav/lbmk:master into master
|
||||
|\ \
|
||||
| * | 15226f9e added x220edp_8mb
|
||||
| * | 1c337ac7 added x220edp_8mb
|
||||
| * | e6629606 added x220edp_8mb
|
||||
| |/
|
||||
* | 0a8ef113 Merge pull request 'Update config/grub/config/grub.cfg' (#167) from semigel/lbmk:semigel-btrfs-subvol-patch-1 into master
|
||||
|\ \
|
||||
| |/
|
||||
|/|
|
||||
| * ababbc09 Update config/grub/config/grub.cfg
|
||||
|/
|
||||
* 39a3de57 remove DEBUG handling in lbmk (not needed)
|
||||
* 1eb4df67 fix several shellcheck warnings
|
||||
* 54ca5f24 Merge pull request 'config/dependencies/debian: add unifont-bin & xfonts-unifont' (#163) from Riku_V/lbmk:debgrub into master
|
||||
|\
|
||||
| * 2e6073f2 config/dependencies/debian: add unifont-bin & xfonts-unifont
|
||||
* | 2e779a54 handle errors on exits from subshells
|
||||
* | 9558e2fc improved safety/error handling on multitree git-am
|
||||
* | 7af200a1 Merge pull request 'fix void dependencies: openssl-devel' (#161) from Riku_V/lbmk:fixvoid into master
|
||||
|\|
|
||||
| * 6d8d2e75 fix void dependencies: openssl-devel
|
||||
|/
|
||||
* cb3fad07 Merge pull request 'fix void dependencies: freetype-devel' (#160) from Riku_V/lbmk:fixvoid into master
|
||||
|\
|
||||
| * 01a82431 fix void dependencies: freetype-devel
|
||||
|/
|
||||
* 5a6dec97 Merge pull request 'fix void dependencies typo' (#159) from Riku_V/lbmk:fivoid into master
|
||||
|\
|
||||
| * 50bfe1ca fix void dependencies typo
|
||||
|/
|
||||
* 4e00ac00 revert flashprog back to version 1.2
|
||||
* 83c8248f dependencies/debian: fix libfreetype-dev
|
||||
* 39aad578 grub: re-add fat/nt file system modules
|
||||
* 47ef411e Bump GRUB revision to 8 November 2023 revision
|
||||
* ce1176f5 fix typo in help text
|
||||
* 70882902 build: set --author when running git init
|
||||
* 5af3ae05 lbmk: don't use status for unconditional returns
|
||||
* 64f93374 lbmk: support showing the revision in help text
|
||||
* f4b2a588 build: don't generate version/versiondate as root
|
||||
* c4d90087 add grub mods: diskfilter,hashsum,loadenv,setjmp
|
||||
* d0d6decb re-add grub modules: f2fs, json, read, scsi, sleep
|
||||
* f60286a3 Merge pull request 'Dell Latitude E6530 support' (#151) from nic3-14159/lbmk:e6530 into master
|
||||
|\
|
||||
| * 36d4c906 Add Dell Latitude E6530 support
|
||||
| * 8bb95639 config/ifd: Rename e6430 to dell_ivybridge
|
||||
* 4d7cb99c Merge pull request 'config/coreboot/e6430_12mb: Fix configs' (#150) from nic3-14159/lbmk:e6430-config-fixes into master
|
||||
|\
|
||||
| * a02c7e31 config/coreboot/e6430_12mb: Fix configs
|
||||
* d3ade208 Merge pull request 'nvmhelp' (#152) from Riku_V/lbmk:nvmhelp into master
|
||||
* 86608721 nvmutil: print usage
|
||||
* f12f5c3a nvmutil: fix makefile
|
||||
```
|
||||
|
||||
This is 117 changes, since Libreboot 20231106.
|
|
@ -1,44 +0,0 @@
|
|||
% Canoeboot project launched (new Libreboot fork)
|
||||
% Leah Rowe
|
||||
% 26 October 2023
|
||||
|
||||
I've started a new sister project of Libreboot, that I will maintain in
|
||||
parallel; whenever there is a new Libreboot release, I will then use it to
|
||||
create a new release of *Canoeboot*.
|
||||
|
||||
You can find Canoeboot here: <https://canoeboot.org/>
|
||||
|
||||
The first release, Canoeboot 20231026, is here (created on 26 October 2023):
|
||||
<https://canoeboot.org/news/canoeboot20231026.html> - it is based on the
|
||||
recent [Libreboot 20231021 release](libreboot20231021.md).
|
||||
|
||||
Canoeboot is a *proof of concept* that provides a technical implementation of
|
||||
Libreboot, but *without* the [Binary Blob Reduction Policy](policy.md); instead,
|
||||
Canoeboot implements the [GNU Free System Distribution
|
||||
Guidelines (GNU FSDG)](policy.md#problems-with-fsdg) as policy. GNU FSDG is the
|
||||
policy that Libreboot *previously* implemented, until 16 November 2022 when the
|
||||
new *Binary Blob Reduction Policy* was enacted.
|
||||
|
||||
The *reduction* policy has resulted in more hardware being supported from
|
||||
coreboot, thus bringing free software to more people, and it is handled in the
|
||||
manner described by Libreboot's [Freedom Status](../freedom-status.md) page.
|
||||
|
||||
The purpose of Canoeboot is to demonstrate the inferior state Libreboot would
|
||||
be in today, if it still adhered to the *old* GNU policy. The goal of Libreboot
|
||||
is to help as many people as possible achieve a level of [software
|
||||
freedom](https://writefreesoftware.org/learn), so that they may rid themselves
|
||||
of proprietary software. This is done, because every user deserves to have the
|
||||
freedom to study, adapt, share and use software infinitely, without restrictions.
|
||||
|
||||
By implementing the policies that it has, Libreboot is in a position to do this
|
||||
in the most optimal way, whereas Canoeboot can only support a limited subset of
|
||||
hardware compared to Libreboot; in other words, Canoeboot's policies are a
|
||||
liability to the adoption of free software by normal people everywhere.
|
||||
|
||||
Canoeboot is still a good option if your hardware supports it, but you should
|
||||
know: Libreboot *also* provides the very same blob-free, entirely free software
|
||||
config on all of the mainboards that Canoeboot supports. Canoeboot is a proof
|
||||
of concept, but you *can* use it, if you wish.
|
||||
|
||||
[Patches are also welcome](https://canoeboot.org/git.html) in Canoeboot, if you
|
||||
spot something wrong that ought to be fixed or improved.
|
|
@ -1,437 +0,0 @@
|
|||
% Censored Libreboot c20230710 released!
|
||||
% Leah Rowe
|
||||
% 10 July 2023
|
||||
|
||||
**UPDATE, 27 October 2023: The Censored Libreboot and nonGeNUine Boot websites have merged
|
||||
into a new project, called Canoeboot. Canoeboot is a new Libreboot-authored
|
||||
spinoff project (official fork).**
|
||||
|
||||
**See: [Canoeboot 20231026 release](https://canoeboot.org/news/canoeboot20231026.html) -
|
||||
the original article below showed a desire to work with GNU Boot, but it has
|
||||
now been decided that Canoeboot will be an official project of Libreboot,
|
||||
providing releases under the old [Binary Blob Elimination
|
||||
Policy](https://web.archive.org/web/20221107235850/https://libreboot.org/news/policy.html) (instead of
|
||||
Libreboot's current [Binary Blob Reduction Policy](policy.md)).**
|
||||
|
||||
**The situation on 27 October 2023 is not much different, in substance. Please
|
||||
see: [Canoeboot vs GNU Boot](https://canoeboot.org/gnuboot.html) - Canoeboot
|
||||
will now compete with GNU Boot, rather than try to assist it; they didn't accept
|
||||
Libreboot's help anyway.**
|
||||
|
||||
And now, the original article is as follows:
|
||||
|
||||
Warning
|
||||
=======
|
||||
|
||||
**This release is *not* recommended for general use. You should still use the
|
||||
recent [Libreboot 20230625](libreboot20230625.md) release, which is the
|
||||
current stable release. Please also read the [Binary Blob Reduction
|
||||
Policy](policy.md).**
|
||||
|
||||
The exact changes that created this Censored Libreboot release can be found here:
|
||||
|
||||
* lbmk (Libreboot build system): <https://codeberg.org/libreboot/lbmk/commits/branch/fsdg20230625>
|
||||
* lbwww (Libreboot website): <https://codeberg.org/libreboot/lbwww/commits/branch/c20230710>
|
||||
|
||||
There is an entire version of the Libreboot site, made specifically for this
|
||||
release: <https://censored.libreboot.org/>
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
Libreboot provides boot firmware for supported x86/ARM machines, starting a
|
||||
bootloader that then loads your operating system. It replaces proprietary
|
||||
BIOS/UEFI firmware on x86 machines, and provides an *improved* configuration
|
||||
on [ARM-based chromebooks](../docs/install/chromebooks.html) supported
|
||||
(U-Boot bootloader, instead of Google's depthcharge bootloader). On x86
|
||||
machines, the GRUB and SeaBIOS coreboot
|
||||
payloads are officially supported, provided in varying configurations per
|
||||
machine. It provides an [automated build system](../docs/maintain/) for the
|
||||
[configuration](../docs/build/) and [installation](../docs/install/) of coreboot
|
||||
ROM images, making coreboot easier to use for non-technical people. You can find
|
||||
the [list of supported hardware](../docs/hardware/) in Libreboot documentation.
|
||||
|
||||
Libreboot's main benefit is *higher boot speed*,
|
||||
[better](../docs/linux/encryption.md)
|
||||
[security](../docs/linux/grub_hardening.md) and more
|
||||
customisation options compared to most proprietary firmware. As a
|
||||
[libre](policy.md) software project, the code can be audited, and coreboot does
|
||||
regularly audit code. The other main benefit is [*freedom* to study, adapt and
|
||||
share the code](https://writefreesoftware.org/), a freedom denied by most boot
|
||||
firmware, but not Libreboot! Booting Linux/BSD is also [well](../docs/linux/)
|
||||
[supported](../docs/bsd/).
|
||||
|
||||
Context
|
||||
-------
|
||||
|
||||
Libreboot previously complied with [GNU FSDG](policy.md#problems-with-fsdg)
|
||||
policy, banning (removing) all binary blobs from coreboot. Coreboot *requires*
|
||||
binary blobs on a lot of boards, though it does provide something very close
|
||||
to full freedom on a lot of them, so the old Libreboot policy resulted in very
|
||||
weak hardware support.
|
||||
|
||||
Libreboot, in regular releases, adopted a more pragmatic [Binary Blob Reduction
|
||||
Policy](policy.md) in November 2022, with the aim of providing support for a
|
||||
lot more hardware (the goal is to support everything coreboot supports), while
|
||||
reducing the impact (in terms of security and reliability) that certain binary
|
||||
blobs have; for example, it automatically uses `me_cleaner` during build time,
|
||||
to [disable Intel ME](https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F)
|
||||
after bringup, on newer Intel platforms that require Intel ME.
|
||||
|
||||
*This* new release, Censored Libreboot c20230710, released today 10 July 2023,
|
||||
is a special spin-off of Libreboot based on the [20230625
|
||||
release](libreboot20230625.md), provided as a proof of concept; it shows what
|
||||
state the Libreboot project would likely be in, if it never adopted the new
|
||||
[Binary Blob Reduction Policy](policy.md). A lot of mainboards and documentation
|
||||
has been *removed* (censored), in this version, hence the name: *Censored
|
||||
Libreboot*. More information available here:
|
||||
<https://censored.libreboot.org/censorship.html>
|
||||
|
||||
You can find out about the current freedom status per board, on the [Freedom
|
||||
Status](../freedom-status.md) page. It describes how Libreboot policy is
|
||||
implemented, in great detail.
|
||||
|
||||
A note about the changelog
|
||||
--------------------------
|
||||
|
||||
There are going to be *two* changelogs written in this page: one in reference
|
||||
to the recent [Libreboot 20230625 release](libreboot20230625.md), showing what
|
||||
was removed (censored).
|
||||
|
||||
Then, after that, a separate changelog will be provided in this article, in
|
||||
reference to the [Libreboot 20220710 release](libreboot20220710.md), while
|
||||
*ignoring* any changes since then that do not comply with the *old*
|
||||
Libreboot policy, which you can read [here](https://web.archive.org/web/20221107235850/https://libreboot.org/news/policy.html).
|
||||
In other words, this will be the *censored* changelog.
|
||||
|
||||
This release announcement is mirrored on the Censored Libreboot website, but
|
||||
heavily censored to reflect only the latter changelog, written as though Libreboot
|
||||
never changed its policies; in other words, it's a view into a *parallel
|
||||
universe*, another reality. You can read that censored announcement here:
|
||||
|
||||
<https://censored.libreboot.org/news/censored-libreboot20230710.html>
|
||||
|
||||
Build from source
|
||||
-----------------
|
||||
|
||||
*This* release was build-tested on Debian *Sid*, as of 9 July 2023. Your
|
||||
mileage may vary, with other distros. Refer to Libreboot documentation.
|
||||
|
||||
KFSN4-DRE, KCMA-D8, KGPE-D16 re-added
|
||||
-------------------------------------
|
||||
|
||||
FUN FACT: This includes building of ASUS KFSN4-DRE, KCMA-D8 and KGPE-D16
|
||||
boards, which were re-added based on coreboot `4.11_branch`. ROM images are
|
||||
provided for these boards, in this Libreboot release. The toolchain in
|
||||
this coreboot version would not build on modern Linux, so I spent time patching
|
||||
it. I want to use coreboot `4.11_branch` to study code differences between the
|
||||
D8 and D16 boards, which are mostly otherwise identical code-wise, so that I
|
||||
can port KCMA-D8 to Dasharo, and then use that for D8/D16 in Libreboot. Dasharo
|
||||
is based on a much newer coreboot version, with many new fixes/features.
|
||||
|
||||
I won't be adding this release's D8/D16/DRE support to the `master` branch of
|
||||
Libreboot, because coreboot `4.11_branch` is horribly out of date; I will add
|
||||
these boards there, *after* I've integrated the Dasharo version of coreboot.
|
||||
|
||||
Uncensored changelog, relative to Libreboot 20230625
|
||||
====================================================
|
||||
|
||||
**NOTE: this page lists *code changes* in Censored Libreboot. For *website* and
|
||||
*documentation* changes, please read the following document:
|
||||
<https://censored.libreboot.org/censorship.html>**
|
||||
|
||||
You can actually view the changes yourself, in great detail, by looking at
|
||||
these special branches of `lbmk.git` (build system) and `lbwww.git` (Libreboot
|
||||
website files, markdown):
|
||||
|
||||
* <https://codeberg.org/libreboot/lbmk/src/branch/fsdg20230625>
|
||||
* <https://codeberg.org/libreboot/lbwww/src/branch/c20230710>
|
||||
|
||||
I've implemented this *Censored Libreboot* release, in these special branches.
|
||||
These changes are not (and will not be) merged in the `master` branches.
|
||||
|
||||
Removed mainboard support
|
||||
-------------------------
|
||||
|
||||
These mainboards are not supported in *Censored Libreboot*, and have
|
||||
been removed (regular Libreboot *does* support them):
|
||||
|
||||
* HP EliteBook 2560p (laptop)
|
||||
* HP EliteBook 2570p (laptop)
|
||||
* HP 8200 SFF (desktop)
|
||||
* HP 8300 USDT (desktop)
|
||||
* HP EliteBook 9470m
|
||||
* Lenovo ThinkPad T420
|
||||
* Lenovo ThinkPad T420S
|
||||
* Lenovo ThinkPad T430
|
||||
* Lenovo ThinkPad T440p
|
||||
* Lenovo ThinkPad T520
|
||||
* Lenovo ThinkPad T530
|
||||
* Lenovo ThinkPad W530
|
||||
* Lenovo ThinkPad W541
|
||||
* Lenovo ThinkPad X220
|
||||
|
||||
**All** of the above mainboards have fully libre, zero-blob initialisation
|
||||
code available in coreboot, and that code *is used* by Libreboot. However,
|
||||
the flash is divided into regions (partitions), namely: IFD(config), GBE(config),
|
||||
ME(Intel ME firmware), BIOS(coreboot firmware).
|
||||
|
||||
The Ifd/GbE regions are not software, and their format is well-documented.
|
||||
Libreboot even includes utilities that can re-configure them!
|
||||
|
||||
The ME is configured via `me_cleaner`, automatically by Libreboot's build
|
||||
system, in such a way that the Intel ME initialises itself, and then does
|
||||
*nothing*. In other words, it is *disabled*. More information about all of this
|
||||
is explained in the [Freedom Status](../freedom-status.md) page.
|
||||
|
||||
Removed/modified code, in the build system
|
||||
-------------------------------------------
|
||||
|
||||
Here is an overview of the code changes in lbmk:
|
||||
|
||||
* **coreboot and u-boot download scripts:** Binary blobs are now removed during
|
||||
download. A list of blobs is programmed into the build system, based on
|
||||
scanning of each tree with the linux-libre `deblob-check` script. (yes, it
|
||||
works on other code bases, besides Linux). **This means that most mainboards
|
||||
no longer compile, in coreboot, and many u-boot targets no longer compile.**
|
||||
* **`build/boot/roms`:** These scripts build ROM images. For **zero-blob boards**,
|
||||
in other words boards that do not require binary blobs, *regular* Libreboot
|
||||
inserts **CPU microcode** by default, but copies each ROM to produce a
|
||||
corresponding, parallel zero-blobs version **without** CPU microcode. **This**
|
||||
censored version of Libreboot modifies the script in the following way: since
|
||||
the coreboot and uboot download scripts **remove blobs** anyway, including CPU
|
||||
microcode, the default compiled ROMs exclude microcode. Therefore, *this*
|
||||
version simply removes that logic, because it's not needed.
|
||||
* **`blobutil`:** Anything pertaining to [blobutil](../docs/install/ivy_has_common.md)
|
||||
has been removed. This includes `me_cleaner`, `ME7 Update Parser` and the like.
|
||||
It is not needed, in this version of Libreboot. Directories such
|
||||
as `resources/blobs/` (containing code and config data) has been removed.
|
||||
In regular Libreboot, there are certain required binary blobs that we cannot
|
||||
legally distribute on certain mainboards, so `blobutil` auto-downloads them
|
||||
from the vendor while compiling ROM images, then it processes them (if needed)
|
||||
and inserts them; the scripts that produce release archives will *delete*
|
||||
these blobs, for the release, and those same scripts can be re-run on release
|
||||
ROMs, to re-insert binary blobs. It is *completely automated*, removing any
|
||||
need for manual intervention by the user, thus saving hours of time in some
|
||||
cases. Blobutil snaps them up like *that* and everything *Just Works*.
|
||||
It does this for *many* different types of blobs, including: Intel ME, Intel
|
||||
MRC, HP KBC1126 EC firmware, VGA ROMs - you just run 1 command on 1 ROM (or
|
||||
an entire collection of ROMs) and it does it, automatically detecting what
|
||||
is needed for the given ROM image, per mainboard definition. Very easy to use.
|
||||
This *highly innovative* technology does not exist in Censored Libreboot.
|
||||
* Blobs: Removed Intel Flash Descriptors and GbE configuration files. These are
|
||||
non-copyrightable, non-software blobs, just binary-encoded config. They are
|
||||
not needed, in this Libreboot version.
|
||||
* Blobs: Anything downloaded and inserted by `blobutil`, during the build
|
||||
process or [post-release](../docs/install/ivy_has_common.md). This includes:
|
||||
Intel ME firmware, Intel MRC firmware, HP KBC1126 EC firmware and VGA option
|
||||
ROM for Nvidia GPU variant of Dell Latitude E6400.
|
||||
* `lbmk`: Code that executes `blobutil` has been removed.
|
||||
* Patches: Any custom coreboot patches, for mainboards that require binary
|
||||
blobs, have been removed. They are not needed in this Libreboot version.
|
||||
* `build/release/roms` and `build/release/src`: correspondingly deleted files
|
||||
are no longer copied by these scripts (they are the scripts that generate
|
||||
tar archives for Libreboot releases, after everything is compiled). The `roms`
|
||||
script no longer bothers to scrub non-redistributable inserted binary blobs
|
||||
from certain ROM images, because 1) those corresponding mainboards are no
|
||||
longer supported anyway and 2) the logic for downloading/inserting those
|
||||
blobs no longer exists. So there's nothing to do.
|
||||
|
||||
It's not actually a lot of code that was removed. The actual diff that did this
|
||||
is very large, because it also removed the coreboot configs for the removed
|
||||
boards, and those configs are very large. The diff is about 40,000 deleted
|
||||
lines. **Fourty thousand.**
|
||||
|
||||
Censored changelog, relative to Libreboot 20220710
|
||||
==================================================
|
||||
|
||||
Libreboot 20220710 was the *last* regular Libreboot release to comply
|
||||
with the old *Binary Blob Extermination Policy* adhering to GNU FSDG
|
||||
ideology. Between then and now, there have been these releases of Libreboot
|
||||
that follow the new *Binary Blob Reduction Policy*: [20221214](libreboot20221214.md),
|
||||
[20230319](libreboot20230319.md), [20230413](libreboot20230413.md),
|
||||
[20230423](libreboot20230423.md) and [20230625](libreboot20230625.md).
|
||||
|
||||
However, the purpose of *Censored Libreboot* is to provide a glimpse of what
|
||||
Libreboot would be like, had it kept the old policy. The website for Censored
|
||||
Libreboot has its *own* version of this release announcement, with only this
|
||||
censored version of the changelog present. You can view that here:
|
||||
|
||||
<https://censored.libreboot.org/news/censored-libreboot20230710.html>
|
||||
|
||||
The following changelogs cherry-pick only the old-policy-compliant changes
|
||||
from the above listed Libreboot release announcements:
|
||||
|
||||
New mainboards supported
|
||||
------------------------
|
||||
|
||||
These laptops would have been compatible with Libreboot, under the old
|
||||
policy, and they were added in recent regular releases of Libreboot:
|
||||
|
||||
* [Dell Latitude E6400](../docs/hardware/e6400.md)
|
||||
* [ASUS Chromebook Flip C101 (gru-bob)](../docs/install/chromebooks.md)
|
||||
* [Samsung Chromebook Plus (v1) (gru-kevin)](../docs/install/chromebooks.md)
|
||||
|
||||
Build system changes
|
||||
--------------------
|
||||
|
||||
This is not intended to be an exhaustive list. It is a high-level overview. For
|
||||
more details, you should always check the log in `lbmk.git`.
|
||||
|
||||
*All* of these changes are present in regular Libreboot releases, but these
|
||||
are the changes from regular Libreboot that would have complied with the *old*
|
||||
Libreboot policy:
|
||||
|
||||
* [MASSIVE build system audit](audit.md) - the entire build system was
|
||||
re-written in a much cleaner coding style, with much stricter error handling
|
||||
and clear separation of logic. A *lot* of bugs were fixed. A *LOT* of bugs.
|
||||
Build system auditing has been the *main* focus, in these past 12 months.
|
||||
* `cros`: Disable coreboot-related BL31 features. This fixes poweroff on gru
|
||||
chromebooks. Patch courtesy of Alper Nebi Yasak.
|
||||
* `u-boot`: Increase EFI variable buffer size. This fixes an error where
|
||||
Debian's signed shim allocates too many EFI variables to fit in the space
|
||||
provided, breaking the boot process in Debian. Patch courtesy Alper Nebi Yasak
|
||||
* Coreboot build system: don't warn about no-payload configuration. Libreboot
|
||||
compiles ROM images *without* using coreboot's payload support, instead it
|
||||
builds most payloads by itself and inserts them (via cbfstool) afterwards.
|
||||
This is more flexible, allowing greater configuration; even U-Boot is
|
||||
handled this way, though U-Boot at least still uses coreboot's crossgcc
|
||||
toolchain collection to compile it. Patch courtesy Nicholas Chin.
|
||||
* `util/spkmodem-recv`: New utility, forked from GNU's implementation, then
|
||||
re-written to use OpenBSD style(9) programming style instead of the
|
||||
originally used GNU programming style, and it is uses
|
||||
OpenBSD `pledge()` when compiled on OpenBSD. Generally much cleaner coding
|
||||
style, with better error handling than the original GNU version (it is forked
|
||||
from coreboot, who forked it from GNU GRUB, with few changes made). This
|
||||
is a receiving client for spkmodem, which is a method coreboot provides to
|
||||
get a serial console via pulses on the PC speaker.
|
||||
* download/coreboot: Run `extra.sh` directly from given coreboot tree. Unused
|
||||
by any boards, but could allow expanding upon patching capabilities in lbmk
|
||||
for specific mainboards, e.g. apply coreboot gerrit patches in a specific
|
||||
order that is not easy to otherwise guarantee in more generalised logic of
|
||||
the Libreboot build system.
|
||||
* `util/e6400-flash-unlock`: New utility, that disables flashing protections
|
||||
on Dell's own BIOS firmware, for Dell Latitude E6400. This enables Libreboot
|
||||
installation *without* disassembling the machine (external flashing equipment
|
||||
is *not required*). Courtesy Nicholas Chin.
|
||||
* Build dependencies scripts updated for more modern distros. As of this day's
|
||||
release, Libreboot compiles perfectly in bleeding edge distros e.g. Arch
|
||||
Linux, whereas the previous 20220710 required using old distros e.g.
|
||||
Debian 10.
|
||||
* `cbutils`: New concept, which implements: build coreboot utilities like
|
||||
cbfstool and include the binaries in a directory inside lbmk, to be re-used.
|
||||
Previously, they would be compiled in-place within the coreboot build system,
|
||||
often re-compiled needlessly, and the checks for whether a given util are
|
||||
needed were very ad-hoc: now these checks are much more robust.
|
||||
Very centralised approach, per coreboot tree, rather than selectively
|
||||
compiling specific coreboot utilities, and makes the build system logic in
|
||||
Libreboot much cleaner.
|
||||
* GRUB config: 30s timeout by default, which is friendlier on some desktops
|
||||
that have delayed keyboard input in GRUB.
|
||||
* ICH9M/GM45 laptops: 256MB VRAM by default, instead of 352MB. This fixes
|
||||
certain performance issues, for some people, as 352MB can be very unstable.
|
||||
* U-Boot patches: for `gru_bob` and `gru_kevin` chromebooks, U-Boot is used
|
||||
instead of Google's own *depthcharge* bootloader. It has been heavily
|
||||
modified to avoid certain initialisation that is replaced by coreboot, in
|
||||
such a way that U-Boot is mainly used as a bootloader providing UEFI for
|
||||
compliant Linux distros and BSDs. Courtesy Alper Nebi Yasak.
|
||||
* lbmk: The entire Libreboot build system has, for the most part, been made
|
||||
portable; a lot of scripts now work perfectly, on POSIX-only implementations
|
||||
of `sh` (though, many dependencies still use GNU extensions, such as GNU
|
||||
Make, so this portability is not directly useful yet, but a stepping stone.
|
||||
Libreboot eventually wants to be buildable on non-GNU, non-Linux systems,
|
||||
e.g. BSD systems)
|
||||
* nvmutil: Lots of improvements to code quality, features, error handling. This
|
||||
utility was originally its own project, started by Leah Rowe, and later
|
||||
imported into the Libreboot build system.
|
||||
* build/boot/roms: Support cross-compiling coreboot toolchains for ARM platforms,
|
||||
in addition to regular x86 that was already supported. This is used for
|
||||
compiling U-boot as a payload, on mainboards.
|
||||
* U-boot integration: at first, it was just downloading U-Boot. Board integration
|
||||
for ARM platforms (from coreboot) came later, e.g. ASUS Chromebook Flip C101
|
||||
as mentioned above. The logic for this is forked largely from the handling
|
||||
of coreboot, because the interface for dealing with their build systems is
|
||||
largely similar, and they are largely similar projects. Courtesy Denis Carikli
|
||||
and Alper Nebi Yasak.
|
||||
* New utility: `nvmutil` - can randomise the MAC address on Intel GbE NICs, for
|
||||
systems that use an Intel Flash Descriptor
|
||||
* General build system fixes: better (and stricter) error handling
|
||||
* Fixed race condition when building SeaBIOS in some setups.
|
||||
* GRUB configs: only scan ATA, AHCI or both, depending on config per board.
|
||||
This mitigates performance issues in GRUB on certain mainboards, when
|
||||
scanning for `grub.cfg` files on the HDD/SSD.
|
||||
* GRUB configs: speed optimisations by avoiding slow device enumeration in
|
||||
GRUB.
|
||||
|
||||
The number of changes are vast, too big to be readable on a release
|
||||
announcement. Again, I say: check log in `lbmk.git`.
|
||||
|
||||
Hardware supported in Censored Libreboot c20230710
|
||||
==================================================
|
||||
|
||||
All of the following are believed to *boot*, but if you have any issues,
|
||||
please contact the Libreboot project. They are:
|
||||
|
||||
Servers (AMD, x86)
|
||||
------------------
|
||||
|
||||
- [ASUS KGPE-D16 motherboard](../docs/hardware/kgpe-d16.md)
|
||||
- [ASUS KFSN4-DRE motherboard](../docs/hardware/kfsn4-dre.md)
|
||||
|
||||
Desktops (AMD, Intel, x86)
|
||||
-----------------------
|
||||
|
||||
- [ASUS KCMA-D8 motherboard](../docs/hardware/kcma-d8.md)
|
||||
- [Gigabyte GA-G41M-ES2L motherboard](../docs/hardware/ga-g41m-es2l.md)
|
||||
- [Acer G43T-AM3](../docs/hardware/acer_g43t-am3.md)
|
||||
- [Intel D510MO and D410PT motherboards](../docs/hardware/d510mo.md)
|
||||
- [Apple iMac 5,2](../docs/hardware/imac52.md)
|
||||
|
||||
### Laptops (Intel, x86)
|
||||
|
||||
- **[Dell Latitude E6400](../docs/hardware/e6400.md) (easy to flash, no disassembly, similar
|
||||
hardware to X200/T400)**
|
||||
- ThinkPad X60 / X60S / X60 Tablet
|
||||
- ThinkPad T60 (with Intel GPU)
|
||||
- [Lenovo ThinkPad X200 / X200S / X200 Tablet](../docs/hardware/x200.md)
|
||||
- Lenovo ThinkPad X301
|
||||
- [Lenovo ThinkPad R400](../docs/hardware/r400.md)
|
||||
- [Lenovo ThinkPad T400 / T400S](../docs/hardware/t400.md)
|
||||
- [Lenovo ThinkPad T500](../docs/hardware/t500.md)
|
||||
- [Lenovo ThinkPad W500](../docs/hardware/t500.md)
|
||||
- [Lenovo ThinkPad R500](../docs/hardware/r500.md)
|
||||
- [Apple MacBook1,1 and MacBook2,1](../docs/hardware/macbook21.md)
|
||||
|
||||
### Laptops (ARM, with U-Boot payload)
|
||||
|
||||
- [ASUS Chromebook Flip C101 (gru-bob)](../docs/install/chromebooks.md)
|
||||
- [Samsung Chromebook Plus (v1) (gru-kevin)](../docs/install/chromebooks.md)
|
||||
|
||||
Downloads
|
||||
=========
|
||||
|
||||
You can find this release on the downloads page. At the time of this
|
||||
announcement, some of the rsync mirrors may not have it yet, so please check
|
||||
another one if your favourite one doesn't have it.
|
||||
|
||||
This censored version is in the directory named `censored`, on Librbeoot rsync
|
||||
and https mirrors. For example:
|
||||
|
||||
<https://www.mirrorservice.org/sites/libreboot.org/release/censored/c20230710/>
|
||||
|
||||
tl;dr yes, I made this special release of Libreboot specifically so that I could
|
||||
crap all over it. Any project that tries (whether or not they succeed) to
|
||||
replicate the old Libreboot project (as illustrated by this special release of
|
||||
Libreboot) are doing themselves, and their users, a major disservice by
|
||||
providing completely inferior firmware, and mostly on very outdated hardware
|
||||
that normal people don't want to use.
|
||||
|
||||
Ideological purity is all well and good, but you have to meet people where
|
||||
they're at. If someone approaches you with hardware that *can* have certain
|
||||
proprietary code replaced (thus increasing software freedoms), they *should* be
|
||||
accomodated, and Libreboot's mission is to do exactly that. We believe
|
||||
passionately in free software, and we want everyone to use it!
|
||||
|
||||
Coreboot is one of humanity's greatest achievements. It should be respected,
|
||||
not shunned. All coreboot ports are valid, and Libreboot will eventually
|
||||
assimilate all of them.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue