Compare commits
236 Commits
Author | SHA1 | Date |
---|---|---|
Leah Rowe | 699d8a8b87 | |
Leah Rowe | c1c9a60e67 | |
Ben Westover | 10b6ca1f63 | |
Leah Rowe | 0a66ed0e22 | |
Leah Rowe | 6520f681fa | |
Leah Rowe | 8c407d05c9 | |
Leah Rowe | 0fb8d5d757 | |
Leah Rowe | 061f47fd3a | |
Leah Rowe | 8451f94036 | |
Leah Rowe | a02fe843e6 | |
Leah Rowe | f671d89294 | |
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,246 @@
|
|||
---
|
||||
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** | W+ |
|
||||
| **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.
|
||||
|
||||
Internal flashing can also be done with the original Dell BIOS, if the
|
||||
SERVICE_MODE jumper near the PCIe slots is removed. Before flashing,
|
||||
|
||||
rmmod spi-intel-platform
|
||||
|
||||
needs to be run to prevent errors. Once Libreboot is installed, the
|
||||
SERVICE_MODE jumper can be replaced.
|
||||
|
||||
**Note: The Dell BIOS can write EFI variables to flash when shutting
|
||||
down, which could corrupt the newly flashed Libreboot ROM and render
|
||||
the system unusable. To prevent this, after flashing internally from
|
||||
the original Dell BIOS, remove power from the computer instead of
|
||||
shutting it down normally. It's recommended to use a live USB instead
|
||||
of the internal drive to prevent potential filesystem corruption.**
|
||||
|
||||
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 |
|
||||
| **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-----
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
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,14 @@
|
|||
canoegnu.md
|
||||
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 +16,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.
|
|
@ -0,0 +1,152 @@
|
|||
% Should Canoeboot become GNU Canoeboot?
|
||||
% Leah Rowe
|
||||
% 12 May 2024
|
||||
|
||||
Introduction/context
|
||||
====================
|
||||
|
||||
As many readers know, Libreboot abandoned the GNU FSDG policy in November 2022,
|
||||
instead opting for a [different policy](policy.md) allowing blobs only under
|
||||
the most limited circumstances, to allow newer machines to be supported from
|
||||
coreboot. Fewer/zero blobs is still preferred, and this is provided whenever
|
||||
possible; for example, Libreboot recently [removed a
|
||||
blob](https://browse.libreboot.org/lbmk.git/commit/?id=cc33974150d275140fced9cfa4b8e901b0552074) previously used for raminit
|
||||
on Haswell machines, from now on allowing only the libre raminit that recently
|
||||
became stable. This *binary blob reduction policy* of Libreboot will remain.
|
||||
|
||||
However, a minority of people disliked this move, and are yearning for a
|
||||
project much like the old one. Libreboot used to be entirely blob-free; coreboot
|
||||
is otherwise free software, but requires blobs on some mainboards, so Libreboot
|
||||
previously could not support all mainboards from Coreboot.
|
||||
|
||||
The benefit of both Canoeboot and Libreboot is that they provide a completely
|
||||
automated build process and installation procedure, with well-tested builds
|
||||
released on a regular basis that the user can simply install, with minimal
|
||||
fuss. You can think of it as a *coreboot distro*. Coreboot provides snapshot
|
||||
source code archives every few months, but that's it. Libreboot/Canoeboot gives
|
||||
you the ROM images pre-compiled, with source code, and with payloads
|
||||
already pre-configured. In other words: Canoeboot and Libreboot make coreboot
|
||||
extremely easy to use.
|
||||
|
||||
Canoeboot: the blob-free fork
|
||||
=============================
|
||||
|
||||
I've been maintaining my own fork of Libreboot since October 2023, called
|
||||
Canoeboot. While it may have fewer supported mainboards than Libreboot as a
|
||||
result, it complies fully with the GNU Free System Distribution Guidelines,
|
||||
in providing an entirely de-blobbed coreboot distro, like Libreboot used to
|
||||
be. See:
|
||||
|
||||
<https://canoeboot.org/>
|
||||
|
||||
Email sent to GNU Eval
|
||||
====================
|
||||
|
||||
With the recent Canoeboot 20240510 release, I've decided: Canoeboot should
|
||||
become a GNU project.
|
||||
|
||||
Therefore, I sent GNU Eval an email requesting that they review it, laying the
|
||||
case for GNU membership. This will apply to *Canoeboot*, not Libreboot, since
|
||||
Canoeboot is the only one of the two that fully complies with their policies.
|
||||
|
||||
That email is published here (replies will not be published):
|
||||
|
||||
<https://canoeboot.org/news/gnu.html>
|
||||
|
||||
In it, I make a strong case in support of membership.
|
||||
|
||||
Share your opinion!
|
||||
===================
|
||||
|
||||
I encourage members
|
||||
of the public to also voice their opinions about this topic. Therefore, I have
|
||||
publicised this link in several places:
|
||||
|
||||
Thread on FSF LibrePlanet mailing list:
|
||||
<https://lists.gnu.org/archive/html/libreplanet-discuss/2024-05/msg00001.html>
|
||||
|
||||
Thread on my Mastodon account:
|
||||
<https://mas.to/@libreleah/112428793049670713>
|
||||
|
||||
Thread on Trisquel forums (FSF endorsed GNU+Linux distro, and de-facto stomping
|
||||
ground for many debates within the FSF community):
|
||||
|
||||
<https://trisquel.info/en/forum/should-gnu-boot-become-gnu-canoeboot>
|
||||
|
||||
And reddit: <https://www.reddit.com/r/linux/comments/1cqe924/should_canoeboot_become_gnu_canoeboot/>
|
||||
|
||||
Discussion welcome!
|
||||
|
||||
Final thoughts
|
||||
==============
|
||||
|
||||
I'm taking a very much hands-off approach with this; I've sent the initial
|
||||
email and asked the public what they think, so it's up to them to say what
|
||||
they think.
|
||||
|
||||
Whether Canoeboot is accepted or not, it will continue operating along its
|
||||
current course, providing a viable coreboot distro for diehard purists who
|
||||
adhere to the FSF and GNU project.
|
||||
|
||||
I've always believed absolutely in the Four Freedoms, as defined by the GNU
|
||||
Free Software Definition; Libreboot merely takes a different approach these
|
||||
days in implementing it, while Canoeboot takes an approach that is precisely
|
||||
in line with that of the FSF. In so doing, I provide users with a choice of
|
||||
which vision they prefer, and I try as best I can to faithfully serve both
|
||||
communities.
|
||||
|
||||
That's all for now. I'm probably expecting that nothing will come of this, but
|
||||
the intent is there. I'd be very happy though if they say yes!
|
||||
|
||||
Follow-up
|
||||
=========
|
||||
|
||||
In addition to the [original message](https://canoeboot.org/news/gnu.html#email-sent-to-gnu-eval), I also sent this message to GNU Eval:
|
||||
|
||||
some people have actually asked me if i should contribute to GNU Boot, instead of trying to replace it with GNU Canoeboot. They have asked this outside of this email discussion, but some here may be wondering that.
|
||||
|
||||
I'd like now to address it. Here goes:
|
||||
|
||||
I actually submitted extensive patches to gnuboot in January 2024:
|
||||
|
||||
<https://lists.gnu.org/archive/html/gnuboot-patches/2024-01/index.html>
|
||||
|
||||
<https://web.archive.org/web/20240511074211/https://lists.gnu.org/archive/html/gnuboot-patches/2024-01/index.html>
|
||||
|
||||
The patches were never reviewed, let alone merged, but they:
|
||||
|
||||
* Replace "Libreboot" with "GNU Boot" in several places on the documentation (**THIS IS THE ONLY PATCH THEY MERGED**)
|
||||
* Fix major build issues, allowing GNU Boot to build on modern distros (GNU Boot only builds on Trisquel 10, my patches make it build on 12. also Gentoo-libre and Arch/Parabola)
|
||||
* Add Dell Latitude E6400 support
|
||||
* Fix hang in GRUB caused when there is a stuck key, by disabling the "Unknown key" spew message
|
||||
* ESP and btrfs subvol support in grub.cfg
|
||||
* Fixes building KGPE-D16 on newer distros, by skipping GNAT which isn't needed
|
||||
* Add gru bob support (rk3399 chromebooks, with free EC and *no* microcode) - ditto gru kevin
|
||||
* Keyboard fix for GRUB: force it to use scancode set 2 translated, instead of untranslated set 2 to work around buggy ECs such as Dell Latitude E6400
|
||||
* Avoid spewing the Unknown prefix message in GRUB
|
||||
* Adds the dell-flash-unlock tool from Nicholas Chin, allowing internal flashing from factory BIOS to GNU Boot, on the E6400
|
||||
* cache cbfstool/ifdtool builds to speed up build time
|
||||
* better caching of coreboot rom images during build, to speed up build time
|
||||
* Prevent future GRUB build errors by disabling -Werror
|
||||
* Support for *building* U-Boot as a coreboot payload, on gru bob/kevin chromebooks (GNU Boot only archives it, doesn't build it)
|
||||
|
||||
A second patch set that I sent does the above, and also:
|
||||
|
||||
* Updates GRUB, coreboot and SeaBIOS to newer revisions from late 2023 (GNU Boot uses late 2021 revisions)
|
||||
* Adds Argon2 KDF support, for booting from LUKS2-encrypted /boot (GNU Boot can't boot from encrypted LUKS2 /boot without this patch)
|
||||
* Reduced the number of modules in GRUB to only those needed, saving 100KB of space in flash
|
||||
* Update memtest86+ to v6.x instead of 5.x
|
||||
|
||||
I sent all of these patches to GNU Boot while bored, and it only took me 1 day to implement all of them, re-using what I had done in Canoeboot months beforehand
|
||||
|
||||
My patches fixed all of the fundamental issues with GNU Boot, without rewriting the build system; they use an older version of the Libreboot build system, prior to my re-write of the latter half of 2023 (my re-write makes the build system much smaller and more efficient.
|
||||
|
||||
All of the above improvements *and much more* is in Canoeboot. In terms of development, Canoeboot is about 2 years ahead of Canoeboot; Canoeboot has since far surpassed the improvements sent to GNU Boot in January, so even if they did merge them now, they'd still be behind.
|
||||
|
||||
I may be missing a thing or two, above, but one thing I'm not missing is my strong and stable commitment to the free software movement, even when I'm dealing with hostile project maintainers who won't even consider my patches.
|
||||
|
||||
This is why I will no longer assist the GNU Boot project. Because I tried to help them; and this wasn't my first attempt to help, either.
|
||||
|
||||
Whether GNU accepts Canoeboot or not, Canoeboot will continue to press full speed ahead. I say now it's 2 years ahead of GNU Boot;
|
||||
|
||||
Next year it'll be 3 years ahead.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue