Compare commits
No commits in common. "master" and "20231101fix2" have entirely different histories.
master
...
20231101fi
5
site.cfg
5
site.cfg
|
@ -1,6 +1,5 @@
|
|||
# SPDX-License-Identifier: CC0-1.0
|
||||
TITLE="Libreboot"
|
||||
TITLE="-T Libreboot"
|
||||
DOMAIN="https://libreboot.org/"
|
||||
BLOGDIR="news/" # leave as empty string if you want the blog to be the homepage
|
||||
CSS="/global.css"
|
||||
CSS="--css /global.css"
|
||||
LAZY="y"
|
||||
|
|
|
@ -3,19 +3,7 @@ title: Kontakt
|
|||
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:
|
||||
**TODO: mailing lists, mastodon server and peertube account.**
|
||||
|
||||
User support
|
||||
============
|
||||
|
@ -23,18 +11,10 @@ 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
|
||||
======================
|
||||
|
||||
Siehe unter
|
||||
Eine Mailing Liste ist für die Zukunft in Planung. Bis dahin, 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).
|
||||
|
|
|
@ -1,98 +0,0 @@
|
|||
---
|
||||
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,19 +3,7 @@ title: Contact
|
|||
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:
|
||||
**TODO: mailing lists, mastodon server and peertube account.**
|
||||
|
||||
User support
|
||||
============
|
||||
|
@ -23,18 +11,10 @@ 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
|
||||
======================
|
||||
|
||||
See notes
|
||||
Mailing lists are planned for the future. For now, 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,19 +3,7 @@ title: Зв'язок
|
|||
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:
|
||||
**TODO: списки розсилки, сервер mastodon та обліковий запис peertube.**
|
||||
|
||||
Підтримка користувачів
|
||||
============
|
||||
|
@ -23,18 +11,10 @@ Contact information (IRC, mailing list etc) is below:
|
|||
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,13 +196,33 @@ systems.
|
|||
Joshua Gay
|
||||
----------
|
||||
|
||||
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 is former FSF staff.
|
||||
|
||||
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.
|
||||
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>
|
||||
|
||||
Klemens Nanni
|
||||
-------------
|
||||
|
@ -213,28 +233,55 @@ libreboot, and several tweaks to the build system.
|
|||
Lisa Marie Maginnis
|
||||
-------------------
|
||||
|
||||
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 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.
|
||||
|
||||
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.
|
||||
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):
|
||||
|
||||
Lorenzo Aloe
|
||||
------------
|
||||
<http://web.archive.org/web/20170319043913/https://media.libreplanet.org/u/libreplanet/m/session-02-c-mws-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.
|
||||
<http://web.archive.org/web/20170319043915/https://media.libreplanet.org/u/libreplanet/m/session-02-c-wide-png-libreplanet-2016-sessions/>
|
||||
|
||||
All round good guy, an honest and loyal fan.
|
||||
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.
|
||||
|
||||
Marcus Moeller
|
||||
--------------
|
||||
|
@ -258,6 +305,10 @@ 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
|
||||
-----------------
|
||||
|
||||
|
@ -286,8 +337,6 @@ 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
|
||||
|
|
|
@ -0,0 +1,454 @@
|
|||
---
|
||||
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,28 +25,6 @@ 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/)
|
||||
|
||||
Multi-threaded builds
|
||||
=====================
|
||||
|
||||
Libreboot's build system defaults to a single build thread, but you can change
|
||||
it by doing e.g.
|
||||
|
||||
export XBMK_THREADS=4
|
||||
|
||||
This would make lbmk run on 4 threads.
|
||||
|
||||
More specifically: when compiling source trees via `script/trees`, `-jTHREADS`
|
||||
is passed, where THREADS is the number of threads. This is also set when running
|
||||
xz commands for compression, using the `-t` option.
|
||||
|
||||
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
|
||||
=======
|
||||
|
||||
|
@ -115,13 +93,6 @@ 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
|
||||
---------------------------------
|
||||
|
||||
|
@ -203,3 +174,118 @@ 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,55 +35,6 @@ 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
|
||||
===
|
||||
|
||||
|
@ -110,13 +61,6 @@ 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*** | |
|
||||
|
|
|
@ -1,240 +0,0 @@
|
|||
---
|
||||
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 this machine 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.
|
||||
|
||||
Here is an example of the type of errors we got when testing graphics cards
|
||||
with IOMMU enabled:
|
||||
|
||||
<https://av.vimuser.org/error.jpg>
|
||||
|
||||
Make sure to configure your image accordingly.
|
||||
|
||||
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 MT):
|
||||
|
||||
./build roms dell9020mt_12mb
|
||||
|
||||
For the SFF variant (7020 SFF and 9020 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 installed. Before flashing,
|
||||
|
||||
rmmod spi-intel-platform
|
||||
|
||||
needs to be run to prevent errors. Once Libreboot is installed, the
|
||||
SERVICE_MODE jumper can be removed.
|
||||
|
||||
**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!
|
|
@ -1,52 +0,0 @@
|
|||
---
|
||||
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.
|
|
@ -1,84 +0,0 @@
|
|||
---
|
||||
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)**
|
|
@ -1,86 +0,0 @@
|
|||
---
|
||||
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,12 +3,6 @@ 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>
|
||||
|
|
|
@ -1,84 +0,0 @@
|
|||
---
|
||||
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,12 +3,6 @@ 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
|
||||
|
|
|
@ -1,84 +0,0 @@
|
|||
---
|
||||
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)**
|
|
@ -1,84 +0,0 @@
|
|||
---
|
||||
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*** | |
|
||||
|
@ -17,7 +17,7 @@ GA-G41M-ES2L
|
|||
Pentium Extreme/D/4 Extreme/4/Celeron |
|
||||
| **Graphics** | Integrated |
|
||||
| **Display** | None. |
|
||||
| **Memory** | Up to 8GB (2x4GB DDR2-800) |
|
||||
| **Memory** | Up to 16GB |
|
||||
| **Architecture** | x86_64 |
|
||||
| **Original boot firmware** | AWARD BIOS |
|
||||
| **Intel ME/AMD PSP** | Present. Can be disabled |
|
||||
|
|
|
@ -35,14 +35,6 @@ 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,10 +7,6 @@ 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,16 +138,13 @@ 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 flashprog. On Linux, make sure you add the
|
||||
Boot into an OS supported by flashrom. 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:
|
||||
|
||||
flashprog -p internal -c MX25L6406E/MX25L6408E
|
||||
flashrom -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.
|
||||
|
@ -173,21 +170,18 @@ 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
|
||||
flashprog -p internal -c MX25L6406E/MX25L6408E -w libreboot4.rom -l layout -i fd -i gbe -i bios -i me
|
||||
flashrom -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 flashprog
|
||||
Now we can flash the full 8 MiB image. Boot to an OS with flashrom
|
||||
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`.
|
||||
|
||||
flashprog -p internal -c MX25L6406E/MX25L6408E -w libreboot8.rom
|
||||
flashrom -p internal -c MX25L6406E/MX25L6408E -w libreboot8.rom
|
||||
|
||||
Power cycle the computer again.
|
||||
|
||||
|
|
|
@ -1,330 +0,0 @@
|
|||
---
|
||||
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,18 +71,15 @@ 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 flashprog support). When using Linux,
|
||||
Boot into an OS of your choice (that has flashrom 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 `flashprog -p internal` freely.
|
||||
You can now use `flashrom -p internal` freely.
|
||||
|
||||
Take a backup of the original BIOS:
|
||||
|
||||
flashprog -p internal -r oem_bios
|
||||
flashrom -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
|
||||
|
@ -98,7 +95,7 @@ platforms](../install/ivy_has_common.md)
|
|||
|
||||
You can now flash libreboot:
|
||||
|
||||
flashprog -p internal -w libreboot.rom
|
||||
flashrom -p internal -w libreboot.rom
|
||||
|
||||
You can now move the jumper back to its original place.
|
||||
By default, Libreboot applies no write-protection, so
|
||||
|
|
|
@ -1,114 +0,0 @@
|
|||
---
|
||||
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.
|
||||
|
|
@ -1,135 +0,0 @@
|
|||
---
|
||||
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,8 +89,5 @@ 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 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.
|
||||
powers off before running flashrom. No LEDs should be lit.
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ title: Apple iMac 5,2
|
|||
|
||||
<div class="specs">
|
||||
<center>
|
||||
iMac5,2
|
||||
![iMac5,2]()
|
||||
</center>
|
||||
|
||||
| ***Specifications*** | |
|
||||
|
|
|
@ -3,22 +3,6 @@ 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).**
|
||||
|
||||
|
@ -38,44 +22,28 @@ 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 OptiPlex 7010 **MT** (known to work, using the T1650 ROM, but more
|
||||
research is needed)
|
||||
- [Dell Precision T1650](t1650.md)
|
||||
- [Dell Precision T1650](t1650.md) (**easy to flash without disassembly**)
|
||||
- [Gigabyte GA-G41M-ES2L motherboard](ga-g41m-es2l.md)
|
||||
- [HP Elite 8200 SFF/MT](hp8200sff.md) (HP 6200 Pro Business probably works too)
|
||||
- [HP Elite 8300 USDT](hp8300usdt.md)
|
||||
(**easy to flash without disassembly**)
|
||||
- [HP Elite 8300 USDT](hp8300usdt.md) (**easy to flash without disassembly**)
|
||||
- [Intel D510MO and D410PT motherboards](d510mo.md)
|
||||
- [Intel D945GCLF](d945gclf.md)
|
||||
|
||||
### Laptops (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/)** - 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)
|
||||
- [Apple MacBook1,1 and MacBook2,1](macbook21.md) (2,1 flashable without disassembly)
|
||||
- [Dell Latitude E6400, E6400 XFR and E6400 ATG, all with Nvidia or Intel
|
||||
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)
|
||||
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**)
|
||||
- [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)
|
||||
|
@ -83,18 +51,21 @@ 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)
|
||||
- Lenovo ThinkPad T60 (with Intel GPU) (**easy to flash without disassembly**)
|
||||
- [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
|
||||
- Lenovo ThinkPad X60 / X60S / X60 Tablet (**easy to flash without disassembly**)
|
||||
|
||||
### Laptops (ARM, with U-Boot payload)
|
||||
|
||||
|
@ -166,12 +137,9 @@ 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/#flashprog](../install/#flashprog)
|
||||
- [../install/#flashrom](../install/#flashrom)
|
||||
- <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,22 +3,6 @@ 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 已知兼容的硬件。
|
||||
|
@ -50,13 +34,9 @@ Introduction
|
|||
|
||||
### 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 多半也能用)
|
||||
|
@ -66,24 +46,13 @@ Introduction
|
|||
|
||||
### 笔记本(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)
|
||||
- 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.
|
||||
- [Dell Latitude E6400, E6400 XFR 及 E6400 ATG,皆支持 Nvidia 或 Intel GPU](e6400.md) **(刷入简单,无需拆解,硬件类似 X200/T400)**
|
||||
- [Dell Latitude E6430, Intel GPU](e6430.md) **(刷入简单,无需拆解)**
|
||||
- [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)
|
||||
|
@ -91,13 +60,17 @@ Introduction
|
|||
- [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
|
||||
|
@ -150,12 +123,9 @@ d945gclf:据上次报告,根本无法启动。D510MO 仍在 lbmk 中,但
|
|||
|
||||
建议更新到最新 EC 固件版本。[EC 固件](../../faq.md#ec-embedded-controller-firmware) 与 libreboot 是独立的,所以我们实际上并不会提供这些固件,但如果你仍还有 Lenovo BIOS,那你可以直接运行 Lenovo BIOS 更新工具,它会同时更新 BIOS 和 EC 版本。见:
|
||||
|
||||
- [../install/#flashprog](../install/#flashprog)
|
||||
- [../install/#flashrom](../install/#flashrom)
|
||||
- <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,8 +3,6 @@ title: ASUS KCMA-D8 desktop/workstation board
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
TODO: this page is OLD. check that the info is still valid.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
|
@ -151,7 +149,7 @@ Current issues {#issues}
|
|||
|
||||
- Opteron 4100 series CPUs are currently incompatible
|
||||
- LRDIMM memory modules are currently incompatible
|
||||
(use UDIMMs please) - NOTE: might actually work nowadays.
|
||||
(use UDIMMs please)
|
||||
- Memory initialization is still problematic for some modules. We
|
||||
recommend avoiding Kingston and Super Talent modules for this reason.
|
||||
|
||||
|
@ -159,6 +157,11 @@ 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,10 +52,7 @@ 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/\#flashprog](../install/)
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
[../install/\#flashrom](../install/)
|
||||
|
||||
Form factor {#formfactor}
|
||||
===========
|
||||
|
|
|
@ -3,8 +3,6 @@ title: ASUS KGPE-D16 server/workstation board
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
TODO: OLD page. TODO: check that all the info is still valid.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
|
@ -19,7 +17,7 @@ recommend avoiding Kingston modules.*
|
|||
*For working configurations see <https://www.coreboot.org/Board:asus/kgpe-d16>.*
|
||||
|
||||
Flashing instructions can be found at
|
||||
[../install/\#flashprog](../install/#flashprog) - note that external
|
||||
[../install/\#flashrom](../install/#flashrom) - 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
|
||||
|
@ -81,7 +79,6 @@ 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 *(tested -
|
||||
* MB061LL/A / A1181 (EMC 2139) / Intel Core 2 Duo T7200 (untested)
|
||||
* 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,10 +103,7 @@ Internal flashing
|
|||
|
||||
MacBook2,1 can always be flashed internally, even if running Apple firmware:
|
||||
|
||||
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.
|
||||
sudo flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w your.rom
|
||||
|
||||
The MacBook1,1 can't be flashed internally if running the Apple EFI firmware.
|
||||
You must flash externally.
|
||||
|
|
|
@ -77,10 +77,7 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
|
|||
(contains notes, plus instructions)
|
||||
|
||||
Flashing instructions can be found at
|
||||
[../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.
|
||||
[../install/\#flashrom](../install/#flashrom)
|
||||
|
||||
EC update {#ecupdate}
|
||||
=========
|
||||
|
@ -91,7 +88,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/#flashprog](../install/#flashprog)
|
||||
- [../install/#flashrom](../install/#flashrom)
|
||||
- <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 C216 |
|
||||
| **Chipset** | Intel QM77 |
|
||||
| **CPU** | Intel Ivy Bridge |
|
||||
| **Graphics** | Discrete graphics, or Intel HD Graphics model
|
||||
depending on CPU model |
|
||||
| **Memory** | DDR3 DIMMs (max 32GB, 4x8GB), ECC memory supported |
|
||||
| **Memory** | DDR3 DIMMs (max 32GB, 2x16GB), ECC memory supported |
|
||||
| **Architecture** | x86_64 |
|
||||
| **Original boot firmware** | Dell UEFI firmware |
|
||||
| **Original boot firmware** | Dell UEFI firmware |
|
||||
| **Intel ME/AMD PSP** | Present. Can be disabled with me_cleaner. |
|
||||
| **Flash chip** | SOIC-16 and/or SOIC-8 12MiB (96Mbit) |
|
||||
| **Flash chip** | SOIC-16 16MiB (128Mbit) |
|
||||
|
||||
|
||||
```
|
||||
|
|
|
@ -76,10 +76,7 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
|
|||
(contains notes, plus instructions)
|
||||
|
||||
Flashing instructions can be found at
|
||||
[../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.
|
||||
[../install/\#flashrom](../install/#flashrom)
|
||||
|
||||
EC update {#ecupdate}
|
||||
=========
|
||||
|
@ -90,7 +87,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/#flashprog](../install/#flashprog)
|
||||
- [../install/#flashrom](../install/#flashrom)
|
||||
- <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,10 +78,7 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
|
|||
(contains notes, plus instructions)
|
||||
|
||||
Flashing instructions can be found at
|
||||
[../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.
|
||||
[../install/\#flashrom](../install/#flashrom)
|
||||
|
||||
EC update {#ecupdate}
|
||||
=========
|
||||
|
@ -92,7 +89,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/#flashprog](../install/#flashprog)
|
||||
- [../install/#flashrom](../install/#flashrom)
|
||||
- <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,10 +76,7 @@ modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
|
|||
(contains notes, plus instructions)
|
||||
|
||||
Flashing instructions can be found at
|
||||
[../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.
|
||||
[../install/\#flashrom](../install/#flashrom)
|
||||
|
||||
EC update {#ecupdate}
|
||||
=========
|
||||
|
@ -90,7 +87,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/#flashprog](../install/#flashprog)
|
||||
- [../install/#flashrom](../install/#flashrom)
|
||||
- <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,10 +69,7 @@ X200S та X201S; знову ж таки, це неперевірено. *Шви
|
|||
(містить примітки та інструкції)
|
||||
|
||||
Інструкції з перепрошивки можна знайти за адресою
|
||||
[../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.
|
||||
[../install/\#flashrom](../install/#flashrom)
|
||||
|
||||
Оновлення EC {#ecupdate}
|
||||
=========
|
||||
|
@ -83,7 +80,7 @@ libreboot, тому ми її фактично не надаємо, але як
|
|||
Lenovo BIOS, ви можете просто запустити утиліту оновлення BIOS Lenovo, яка
|
||||
оновить як BIOS, так і версію EC. Дивіться:
|
||||
|
||||
- [../install/#flashprog](../install/#flashprog)
|
||||
- [../install/#flashrom](../install/#flashrom)
|
||||
- <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)
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
---
|
||||
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,19 +8,6 @@ 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,19 +8,6 @@ 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,19 +6,6 @@ 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,10 +22,6 @@ 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)
|
||||
------------------------------
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ Chromebooks may have 1.8V as the supply voltage for the SPI NOR chip, be
|
|||
extra careful about that.
|
||||
|
||||
On newer Chromebooks, there is a root-of-trust chip providing a
|
||||
[Closed Case Debugging](https://chromium.googlesource.com/chromiumos/platform/ec/+/cr50_stab/docs/case_closed_debugging_gsc.md)
|
||||
[Closed Case Debugging](https://chromium.googlesource.com/chromiumos/platform/ec/+/cr50_stab/docs/case_closed_debugging_cr50.md)
|
||||
mechanism that lets you flash externally using a special USB debugging
|
||||
cable. However, most boards that Libreboot supports do not have this.
|
||||
|
||||
|
@ -109,7 +109,7 @@ by the fact that it bridges electrical contacts, but finding and
|
|||
removing it might require you to disassemble most of the board.
|
||||
|
||||
Newer boards have a root-of-trust chip enforcing write-protection. The
|
||||
[Closed Case Debugging](https://chromium.googlesource.com/chromiumos/platform/ec/+/cr50_stab/docs/case_closed_debugging_gsc.md)
|
||||
[Closed Case Debugging](https://chromium.googlesource.com/chromiumos/platform/ec/+/cr50_stab/docs/case_closed_debugging_cr50.md)
|
||||
mechanism should be used to disable hardware write-protection. Opening
|
||||
the case and disconnecting the battery might also disable it.
|
||||
|
||||
|
@ -151,7 +151,7 @@ first (like Intel ME firmware). This is not yet documented here.
|
|||
|
||||
You can flash the ROM image both internally and externally. For the
|
||||
latter, see the [external flashing guide](spi.md) and the ChromiumOS
|
||||
[Closed Case Debugging](https://chromium.googlesource.com/chromiumos/platform/ec/+/cr50_stab/docs/case_closed_debugging_gsc.md)
|
||||
[Closed Case Debugging](https://chromium.googlesource.com/chromiumos/platform/ec/+/cr50_stab/docs/case_closed_debugging_cr50.md)
|
||||
documentation if your board supports it.
|
||||
|
||||
To flash the entire ROM image internally, run within ChromeOS:
|
||||
|
|
|
@ -12,10 +12,7 @@ Flash chip size {#flashchips}
|
|||
|
||||
Use this to find out:
|
||||
|
||||
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.
|
||||
flashrom -p internal
|
||||
|
||||
Flashing instructions {#clip}
|
||||
=====================
|
||||
|
|
|
@ -68,7 +68,7 @@ Flash chip size {#flashchips}
|
|||
|
||||
Use this to find out:
|
||||
|
||||
flashprog -p internal
|
||||
flashrom -p internal
|
||||
|
||||
We believe most/all are 4MB (32Mb) flash sizes, but larger ROM images are
|
||||
provided for people who wish to upgrade.
|
||||
|
@ -104,19 +104,6 @@ variants with Intel graphics.
|
|||
For Intel GPU variants, Libreboot 20230423 and up have full support. Simply
|
||||
flash a release ROM, if you wish.
|
||||
|
||||
Intel GPU errata
|
||||
----------------
|
||||
|
||||
Systems with a 1440 x 900 display panel instead of the more common 1280 x 800
|
||||
panel will have garbled graphics before the OS boots (i.e. in SeaBIOS or GRUB)
|
||||
in Libreboot 20240504 and earlier. This is fixed in releases after 20240504.
|
||||
|
||||
This was caused by libgfxinit calculating PLL divider values for the pixel clock
|
||||
assuming a 96 MHz reference frequency, whereas the E6400 uses a 100 MHz
|
||||
reference frequency. The error is not large enough to affect the lower
|
||||
resolution panels, but is enough to affect the 1440 x 900 panels which use a
|
||||
higher pixel clock.
|
||||
|
||||
Nvidia GPU: Video BIOS Option ROM required
|
||||
==========================================
|
||||
|
||||
|
@ -132,15 +119,17 @@ 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 an experimental branch of
|
||||
An earlier experimental revision existed in the `e6400nvidia_wip` 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. It was therefore
|
||||
added to the master branch.
|
||||
more efficient if that can (and it does) support both variants.
|
||||
|
||||
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
|
||||
-------------------------------------------
|
||||
|
||||
|
@ -171,12 +160,29 @@ 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 flashprog.
|
||||
The flash is memory mapped and flashprog accesses it via `/dev/mem`.
|
||||
disables memory protections, permitting `/dev/mem` access needed by flashrom.
|
||||
The flash is memory mapped and flashrom 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
|
||||
|
@ -212,18 +218,18 @@ Protected Range registers.
|
|||
|
||||
When you flash it, you can use this command:
|
||||
|
||||
flashprog -p internal -w libreboot.rom
|
||||
flashrom -p internal -w libreboot.rom
|
||||
|
||||
Where `libreboot.rom` is your E6400 ROM. *Make sure* it's the right one.
|
||||
If flashprog complains about multiple flash chips detected, just pick one of
|
||||
If flashrom 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 flashprog: `-c MX25L3205D/MX25L3208D`.
|
||||
would probably be this option in flashrom: `-c MX25L3205D/MX25L3208D`.
|
||||
|
||||
So:
|
||||
|
||||
flashprog -p internal -w libreboot.rom -c MX25L3205D/MX25L3208D
|
||||
flashrom -p internal -w libreboot.rom -c MX25L3205D/MX25L3208D
|
||||
|
||||
When you see flashprog say `VERIFIED` at the end, that means the flash was
|
||||
When you see flashrom 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).
|
||||
|
||||
|
@ -233,7 +239,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:
|
||||
|
||||
flashprog -p internal -r backup.rom -c MX25L3205D/MX25L3208D
|
||||
flashrom -p internal -r backup.rom -c MX25L3205D/MX25L3208D
|
||||
|
||||
Do this while in a flashable state, after the 2nd run of `dell-flash-unlock`.
|
||||
|
||||
|
|
|
@ -3,9 +3,6 @@ title: Flashing the Dell Latitude E6430
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**NOTE:** This installation guide also pertains to E5520, E6420, E6520, E5530
|
||||
and E6530.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
|
@ -24,7 +21,7 @@ Flash chip size {#flashchips}
|
|||
|
||||
Use this to find out:
|
||||
|
||||
flashprog -p internal
|
||||
flashrom -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.
|
||||
|
@ -41,7 +38,7 @@ Refer to [mac\_address.md](../hardware/mac_address.md).
|
|||
|
||||
It is recommended that you run *nvmutil*. See:
|
||||
|
||||
[nvmutil usage manual](nvmutil.md) - E5530 users don't need to run this.
|
||||
[nvmutil usage manual](nvmutil.md)
|
||||
|
||||
The `nvmutil` software is specifically designed for changing MAC addresses,
|
||||
and it implements a few more safeguards (e.g. prevents multicast/all-zero
|
||||
|
@ -82,10 +79,9 @@ 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.
|
||||
|
||||
NOTE: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
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.
|
||||
|
@ -94,8 +90,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 flashprog.
|
||||
The flash is memory mapped and flashprog accesses it via `/dev/mem`.
|
||||
disables memory protections, permitting `/dev/mem` access needed by flashrom.
|
||||
The flash is memory mapped and flashrom 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
|
||||
|
@ -132,14 +128,14 @@ flash; see the instructions below.
|
|||
|
||||
When you flash it, you can use this command:
|
||||
|
||||
flashprog -p internal -w libreboot.rom
|
||||
flashrom -p internal -w libreboot.rom
|
||||
|
||||
Where `libreboot.rom` is your E6430 ROM. *Make sure* it's the right one.
|
||||
If flashprog complains about multiple flash chips detected, just pick one of
|
||||
If flashrom 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 flashprog say `VERIFIED` at the end, that means the flash was
|
||||
When you see flashrom 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).
|
||||
|
||||
|
@ -149,10 +145,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:
|
||||
|
||||
flashprog -p internal -r backup.rom
|
||||
flashrom -p internal -r backup.rom
|
||||
|
||||
AGAIN: make sure to use `-C` accordingly, if you need to pick a chip (where
|
||||
flashprog has detected multiple chip definitions). Just pick one, any of them
|
||||
flashrom 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:
|
||||
|
||||
flashprog -p internal
|
||||
flashrom -p internal
|
||||
|
||||
Flashing instructions {#clip}
|
||||
=====================
|
||||
|
@ -52,11 +52,11 @@ Linux. There are 2 flash chips (one is backup).
|
|||
|
||||
Flash the first chip:
|
||||
|
||||
./flashprog -p internal:dualbiosindex=0 -w libreboot.rom
|
||||
./flashrom -p internal:dualbiosindex=0 -w libreboot.rom
|
||||
|
||||
Flash the second chip:
|
||||
|
||||
./flashprog -p internal:dualbiosindex=1 -w libreboot.rom
|
||||
./flashrom -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: Libreboot standardises on [flashprog](https://flashprog.org/wiki/Flashprog)
|
||||
now, as of 27 January 2024, which is a fork of flashrom.
|
||||
NOTE: You need the latest flashrom. Just get it on flashrom.org from
|
||||
their SVN or Git repos.
|
||||
|
|
|
@ -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 `flashprog -p internal` in your operating system running on
|
||||
re-flash using `flashrom -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/\#flashprog](../install/#flashprog) for how to flash
|
||||
back to [../install/\#flashrom](../install/#flashrom) 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 flashprog, and the default
|
||||
The ME interferes with flash read/write in flashrom, and the default
|
||||
descriptor locks some regions. The idea is that doing this will remove
|
||||
all of those restrictions.
|
||||
|
||||
|
|
|
@ -3,77 +3,19 @@ title: Installation instructions
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**SAFETY WARNING!**
|
||||
This section relates to installing libreboot on supported targets.
|
||||
|
||||
NOTE: if running `flashrom -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
|
||||
has `CONFIG_STRICT_DEVMEM` not enabled.
|
||||
|
||||
SAFETY WARNING!
|
||||
====================================================================
|
||||
|
||||
**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING
|
||||
LIBREBOOT](../../news/safety.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.
|
||||
|
||||
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.
|
||||
|
||||
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 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).
|
||||
|
||||
PRECAUTIONS
|
||||
===========
|
||||
|
||||
|
@ -199,16 +141,48 @@ an option in the boot menu.
|
|||
ROM images that have `seabios_withgrub` in the file name start with SeaBIOS
|
||||
first, but also have GRUB available in the boot menu when you press ESC.
|
||||
|
||||
ROM images with this and `grubonly` in the image start SeaBIOS, but only load
|
||||
GRUB from SeaBIOS and the SeaBIOS menu is disabled. Use these images if you
|
||||
only want GRUB; they are provided on systems that only have VGA ROM-based
|
||||
initialisation, usually discrete graphics cards on desktop machines.
|
||||
### seabios\_grubfirst (DEFUNCT)
|
||||
|
||||
**DEFUNCT**
|
||||
|
||||
This build option is obsolete, and should not be used. It was deleted
|
||||
in lbmk revision `e1bbdadc9584291cf062660d67128e9f17ab788e`.
|
||||
|
||||
It was believed, in earlier theory, that VGA ROM initialisation could
|
||||
be used in SeaBIOS and then SeaBIOS boots into a GRUB payload (built
|
||||
for coreboot), where the initialisation would continue to be used, but
|
||||
it didn't work that way.
|
||||
|
||||
It's best to use PC GRUB (normal BIOS GRUB), but compile it into a floppy
|
||||
image to insert inside CBFS, to then be executed by SeaBIOS. This is referred
|
||||
to as SeaGRUB by the Libreboot project, and it would be quite useful
|
||||
for desktop users, but it's largely irrelevant on laptops where
|
||||
coreboot's own `libgfxinit` is usually available (or the option ROM is
|
||||
easy to extract from vendor firmware and insert).
|
||||
|
||||
Where direct bare metal GRUB is desired, but you use a desktop system with
|
||||
an add-on graphics card, you must extract the VGA ROM for your card and
|
||||
insert it into the coreboot ROM, for coreboot itself to execute. This will
|
||||
require custom configuration on your part, and it is thus beyond the scope
|
||||
of the Libreboot project, in context of lbmk (automated build system).
|
||||
|
||||
Some older Libreboot releases included ROM images built using this option,
|
||||
and those specific ROM images (`seabios_grubfirst` ones) should not be
|
||||
used; you should only use `seabios_grubfirst` or `seabios`, in most
|
||||
scenarios, if SeaBIOS is required.
|
||||
|
||||
For most desktop users, if running an external graphics card, it's easier
|
||||
to simply boot in text mode with a SeaBIOS payload and use only that. This
|
||||
will Just Work with almost all graphics cards, allowing you to use an
|
||||
operating system with a full display and (drivers permitting) full 2D/3D
|
||||
acceleration.
|
||||
|
||||
Which systems are supported?
|
||||
============================
|
||||
|
||||
[Refer to the hardware compatibility page](../hardware/)
|
||||
|
||||
Sandy/Ivybridge/Haswell MAC address (e.g. X230, X220, T440p, W541, hp8200sff)
|
||||
Intel GbE MAC address (IFD-based systems)
|
||||
=====================================================================
|
||||
|
||||
|
@ -238,18 +212,6 @@ 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)
|
||||
========================================
|
||||
|
||||
|
@ -259,7 +221,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 `flashprog`, to read/erase/write the contents of the boot flash from a
|
||||
namely `flashrom`, 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,
|
||||
|
@ -270,11 +232,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 flashprog on host CPU
|
||||
Run flashrom 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 flashprog.
|
||||
Boot a Linux distribution on the target device, and install flashrom.
|
||||
|
||||
In some cases, this is not possible or there are other considerations. Please
|
||||
read this section *carefully*.
|
||||
|
@ -283,7 +245,7 @@ read this section *carefully*.
|
|||
|
||||
Use this to find out:
|
||||
|
||||
flashprog -p internal
|
||||
flashrom -p internal
|
||||
|
||||
In the output will be information pertaining to your boot flash.
|
||||
|
||||
|
@ -291,14 +253,14 @@ In the output will be information pertaining to your boot flash.
|
|||
|
||||
How to read the current chip contents:
|
||||
|
||||
sudo flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -r dump.bin
|
||||
sudo flashrom -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 flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w libreboot.rom
|
||||
sudo flashrom -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
|
||||
|
@ -307,13 +269,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 flashprog. Flashrom and coreboot change a lot, over the years,
|
||||
the safety checks in flashrom. 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 flashprog. These extra options just disable the safetyl checks in flashprog.
|
||||
to run flashrom. These extra options just disable the safetyl checks in flashrom.
|
||||
There is nothing to worry about.
|
||||
|
||||
If successful, it will either say `VERIFIED` or it will say that the chip
|
||||
|
@ -328,34 +290,14 @@ the sections below:
|
|||
|
||||
[You must flash it externally](spi.md)
|
||||
|
||||
#### DELL Latitude E6400 laptop
|
||||
#### DELL Latitude E6400 laptop (easy to flash, similar to X200/T400)
|
||||
|
||||
See: [Dell Latitude E6400 Libreboot Installation Guide](e6400.md)
|
||||
|
||||
#### DELL Latitude E6420 laptop
|
||||
|
||||
See: [Dell Latitude E6420 Libreboot Installation Guide](e6430.md)
|
||||
|
||||
#### DELL Latitude E6430 laptop
|
||||
#### DELL Latitude E6430 laptop (easy to flash, no disassembly)
|
||||
|
||||
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
|
||||
|
@ -373,9 +315,10 @@ Intel NIC.
|
|||
TARGET: ThinkPad X201/X201S/X201 Tablet
|
||||
--------------------------------
|
||||
|
||||
**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.**
|
||||
**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)
|
||||
|
||||
#### Intel D510MO and D410PT running original Intel BIOS
|
||||
|
||||
|
@ -438,13 +381,6 @@ 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
|
||||
|
@ -477,12 +413,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. 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.
|
||||
CPU. However, there are some considerations.
|
||||
|
||||
Firstly, make sure that the yellow CMOS battery is installed, and functioning
|
||||
correctly. You could check the voltage. The battery is a CR2032
|
||||
|
@ -507,7 +443,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 use the Libreboot 20160907 utils archive, there will be three
|
||||
If you build flashrom using the libreboot build system, there will be three
|
||||
binaries:
|
||||
|
||||
* `flashrom`
|
||||
|
@ -527,7 +463,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 from the Libreboot 20160907 utils archive (for SST):
|
||||
Now run flashrom (for SST):
|
||||
|
||||
sudo ./flashrom_i945_sst -p internal -w coreboot.rom
|
||||
|
||||
|
@ -564,8 +500,7 @@ 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 (from Libreboot 20160907 utils) complains
|
||||
about `/dev/mem` access, please
|
||||
**WARNING: if flashrom 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
|
||||
|
@ -582,24 +517,17 @@ volatile memory, powered by that CR2032 coin-cell battery.
|
|||
|
||||
Assuming that everything went well:
|
||||
|
||||
Switch to flashprog now! (avoid flashrom)
|
||||
---------------------------------------
|
||||
|
||||
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:
|
||||
64KiB bootblock is now read-write. Use the *unpatched* flashrom 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).
|
||||
sudo ./flashrom -p internal -w libreboot.rom
|
||||
|
||||
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 flashprog said VERIFIED when running the above
|
||||
flashed. It is flashed if flashrom said VERIFIED when running the above
|
||||
command.
|
||||
|
||||
If it said VERIFIED, shut down. If it didn't say VERIFIED, make sure bucts is
|
||||
|
@ -645,24 +573,19 @@ 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 flashprog on a new chip as described above.
|
||||
and using flashrom 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
|
||||
[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)
|
||||
[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)
|
||||
|
||||
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)
|
||||
----------------------------------------------------------------
|
||||
|
||||
|
@ -686,8 +609,6 @@ 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,6 +6,12 @@ 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
|
||||
|
@ -66,7 +72,8 @@ Libreboot build system:
|
|||
target name.
|
||||
* SMSC SCH5545 fan control firmware (for Dell T1650): `vendor/t1650/sch5545ec.bin`
|
||||
* SMSC KBC1126 embedded controller firmware, on HP EliteBooks: `ec/`
|
||||
* Intel MRC firmware, provides raminit on HP EliteBook 820 G2
|
||||
* Intel MRC firmware, used for ram/peripheral init on Haswell machines such as
|
||||
thinkpad t440p/w541: `mrc/`
|
||||
|
||||
The above list refers to the *non-redistributable files*, and these are not
|
||||
directly included in releases. These are auto-downloaded during the build.
|
||||
|
@ -81,12 +88,16 @@ generated when running this command:
|
|||
|
||||
./build roms list
|
||||
|
||||
For example, `t440pmrc_12mb` corresponds to ThinkPad T440p with MRC firmware.
|
||||
Whereas `t440plibremrc_12mb` corresponds to T440p with libre MRC firmware.
|
||||
Another example: `x230_12mb` corresponds to Thinkpad X230.
|
||||
|
||||
In order to inject the necessary files into a rom image, run the script from the root of lbmk and point to the rom image.
|
||||
|
||||
If you only wish to flash a release rom then the process of injecting the necessary files is quite simple.
|
||||
Run the injection script pointing to the release archive you downloaded:
|
||||
|
||||
./vendor inject libreboot-RELEASE_targetname.tar.xz
|
||||
./vendor inject /path/to/libreboot-20230319-18-g9f76c92_t440pmrc_12mb.tar.xz
|
||||
|
||||
The script can automatically detect the board as long as you do not change the file name.
|
||||
You can then find flash-ready ROMs in `/bin/release/`
|
||||
|
@ -136,31 +147,14 @@ You'll note the small size of the Intel ME, e.g. 84KB on sandybridge platforms.
|
|||
This is because lbmk *automatically* neuters it, disabling it during
|
||||
early boot. This is done using `me_cleaner`, which lbmk imports.
|
||||
|
||||
NOTE: the MAC changer makes use of `nvmutil`, which you can read more about in
|
||||
the [nvmutil documentation](nvmutil.md).
|
||||
|
||||
Errata
|
||||
======
|
||||
|
||||
NOTE: As of Libreboot releases from May 2024 onward, the Intel MRC is no longer
|
||||
included for Haswell; MRC is a blob for raminit, but we now provide libre
|
||||
raminit. The following targets no longer exist in the build system:
|
||||
|
||||
* `t440pmrc_12mb` (use `t440plibremrc_12mb` instead)
|
||||
* `t440pbmrc_12mb` (use `t440plibremrc_12mb` instead)
|
||||
* `w541mrc_12mb` (use `w541_12mb` instead)
|
||||
* `w541bmrc_12mb` (use `w541_12mb` instead)
|
||||
* `dell9020sff_12mb` (use `dell9020sff_nri_12mb` instead)
|
||||
* `dell9020sffbmrc` (use `dell9020sff_nri_12mb` instead)
|
||||
* `dell9020mt_12mb` (use `dell9020mt_nri_12mb` instead)
|
||||
* `dell9020mtbmrc` (use `dell9020mt_nri_12mb` instead)
|
||||
|
||||
This is written as errata because some users may still be using older release
|
||||
images but on the newer build system from May 2024 onward; you must use the
|
||||
Libreboot 20240225 release if you want to inject MRC and so on, for these older
|
||||
targets.
|
||||
|
||||
Libreboot's [binary blob reduction policy](../../news/policy.md) is very strict,
|
||||
and states: if a blob can be avoided, it must be avoided. Therefore, the MRC
|
||||
is removed on Haswell and Libreboot will only use the libre raminit (called
|
||||
NRI, short for Native Ram Initialisation).
|
||||
**NOTE: Haswell machines come with `mrc.bin` or without, depending on the
|
||||
ROM image configuration. These ROM configs have `mrc.bin`: `t440pmrc_12mb`
|
||||
and `w541mrc_12mb`. These ROM configs have libre MRC: `t440p_12mb`
|
||||
and `w541_12mb` - it is critical that you choose the right one, when using
|
||||
the `-b` flag in the `./vendor inject` command. For example, if you
|
||||
used `-b t440p_12mb` on a ROM image that actually corresponds
|
||||
to `t440pmrc_12mb`, then the required `mrc.bin` file would not be added
|
||||
and that ROM would not boot when flashed.**
|
||||
|
|
|
@ -9,6 +9,12 @@ 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
|
||||
|
@ -70,7 +76,8 @@ Libreboot build system:
|
|||
target name.
|
||||
* SMSC SCH5545 fan control firmware (for Dell T1650): `vendor/t1650/sch5545ec.bin`
|
||||
* SMSC KBC1126 embedded controller firmware, on HP EliteBooks: `ec/`
|
||||
* Intel MRC firmware, provides raminit on HP EliteBook 820 G2
|
||||
* Intel MRC firmware, used for ram/peripheral init on Haswell machines such as
|
||||
thinkpad t440p/w541: `mrc/`
|
||||
|
||||
The above list refers to the *non-redistributable files*, and these are not
|
||||
directly included in releases. These are auto-downloaded during the build.
|
||||
|
@ -85,6 +92,10 @@ generated when running this command:
|
|||
|
||||
./build roms list
|
||||
|
||||
For example, `t440pmrc_12mb` corresponds to ThinkPad T440p with MRC firmware.
|
||||
Whereas `t440plibremrc_12mb` corresponds to T440p with libre MRC firmware.
|
||||
Another example: `x230_12mb` corresponds to Thinkpad X230.
|
||||
|
||||
In order to inject the necessary files into a rom image, run the script from the root of lbmk and point to the rom image.
|
||||
|
||||
If you only wish to flash a release rom then the process of injecting the necessary files is quite simple.
|
||||
|
@ -140,31 +151,17 @@ You'll note the small size of the Intel ME, e.g. 84KB on sandybridge platforms.
|
|||
This is because lbmk *automatically* neuters it, disabling it during
|
||||
early boot. This is done using `me_cleaner`, which lbmk imports.
|
||||
|
||||
NOTE: the MAC changer makes use of `nvmutil`, which you can read more about in
|
||||
the [nvmutil documentation](nvmutil.md).
|
||||
|
||||
Errata
|
||||
======
|
||||
|
||||
NOTE: As of Libreboot releases from May 2024 onward, the Intel MRC is no longer
|
||||
included for Haswell; MRC is a blob for raminit, but we now provide libre
|
||||
raminit. The following targets no longer exist in the build system:
|
||||
**NOTE: Haswell machines come with `mrc.bin` or without, depending on the
|
||||
ROM image configuration. These ROM configs have `mrc.bin`: `t440pmrc_12mb`
|
||||
and `w541mrc_12mb`. These ROM configs have libre MRC: `t440p_12mb`
|
||||
and `w541_12mb` - it is critical that you choose the right one, when using
|
||||
the `-b` flag in the `./vendor inject` command. For example, if you
|
||||
used `-b t440p_12mb` on a ROM image that actually corresponds
|
||||
to `t440pmrc_12mb`, then the required `mrc.bin` file would not be added
|
||||
and that ROM would not boot when flashed.**
|
||||
|
||||
* `t440pmrc_12mb` (use `t440plibremrc_12mb` instead)
|
||||
* `t440pbmrc_12mb` (use `t440plibremrc_12mb` instead)
|
||||
* `w541mrc_12mb` (use `w541_12mb` instead)
|
||||
* `w541bmrc_12mb` (use `w541_12mb` instead)
|
||||
* `dell9020sff_12mb` (use `dell9020sff_nri_12mb` instead)
|
||||
* `dell9020sffbmrc` (use `dell9020sff_nri_12mb` instead)
|
||||
* `dell9020mt_12mb` (use `dell9020mt_nri_12mb` instead)
|
||||
* `dell9020mtbmrc` (use `dell9020mt_nri_12mb` instead)
|
||||
|
||||
This is written as errata because some users may still be using older release
|
||||
images but on the newer build system from May 2024 onward; you must use the
|
||||
Libreboot 20240225 release if you want to inject MRC and so on, for these older
|
||||
targets.
|
||||
|
||||
Libreboot's [binary blob reduction policy](../../news/policy.md) is very strict,
|
||||
and states: if a blob can be avoided, it must be avoided. Therefore, the MRC
|
||||
is removed on Haswell and Libreboot will only use the libre raminit (called
|
||||
NRI, short for Native Ram Initialisation).
|
||||
NOTE: the MAC changer makes use of `nvmutil`, which you can read more about in
|
||||
the [nvmutil documentation](nvmutil.md).
|
||||
|
|
|
@ -111,26 +111,23 @@ 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 flashprog
|
||||
Use flashrom
|
||||
------------
|
||||
|
||||
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 flashprog here:
|
||||
Download flashrom here:
|
||||
|
||||
* <https://flashprog.org/>
|
||||
* <https://flashrom.org/>
|
||||
|
||||
Using recent flashprog versions, you can extract this region. If
|
||||
your regions are unlocked, you can run flashprog on the target
|
||||
Using recent flashrom versions, you can extract this region. If
|
||||
your regions are unlocked, you can run flashrom on the target
|
||||
system, like so:
|
||||
|
||||
flashprog -p internal -r rom.bin
|
||||
flashrom -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
|
||||
|
@ -148,7 +145,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 flashprog
|
||||
option should be changed accordingly. Read flashrom
|
||||
documentation, and make sure you have everything
|
||||
properly configured.
|
||||
|
||||
|
@ -204,18 +201,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 flashprog documentation. You may flash the new ROM
|
||||
Refer to flashrom documentation. You may flash the new ROM
|
||||
like so, if running on the same system and the regions are
|
||||
read-write:
|
||||
|
||||
flashprog -p internal -w rom.bin.new
|
||||
flashrom -p internal -w rom.bin.new
|
||||
|
||||
Newer versions of flashprog support flashing just the specified
|
||||
Newer versions of flashrom support flashing just the specified
|
||||
region, like so:
|
||||
|
||||
flashprog -p internal --ifd -i gbe -w rom.bin.new
|
||||
flashrom -p internal --ifd -i gbe -w rom.bin.new
|
||||
|
||||
If you're running flashprog from host CPU on the target
|
||||
If you're running flashrom 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,10 +64,7 @@ Flash chip size {#flashchips}
|
|||
|
||||
Use this to find out:
|
||||
|
||||
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.
|
||||
flashrom -p internal
|
||||
|
||||
MAC address {#macaddress}
|
||||
===========
|
||||
|
|
|
@ -3,25 +3,6 @@ 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)**
|
||||
|
||||
|
@ -33,7 +14,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 [flashprog](https://flashprog.org/Flashrom) software which is written to
|
||||
the [flashrom](https://flashrom.org/Flashrom) software which is written to
|
||||
dump, erase and rewrite these flash chips.
|
||||
|
||||
libreboot currently documents how to use these SPI programmers:
|
||||
|
@ -55,7 +36,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 flashprog.
|
||||
from Linux, with flashrom.
|
||||
|
||||
*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.
|
||||
|
@ -86,13 +67,9 @@ You can download the serprog firmware here:\
|
|||
or here:\
|
||||
<https://notabug.org/libreboot/pico-serprog>
|
||||
|
||||
You can also find the source code for these, under `src/` in Libreboot release
|
||||
archives (source code tarball), and/or under `src/` in `lbmk.git` if downloading
|
||||
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
|
||||
|
@ -108,9 +85,6 @@ 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)
|
||||
|
||||
|
@ -130,7 +104,7 @@ will appear:
|
|||
Take note of the ttyACMx. Flashrom is now usable
|
||||
(substitute ttyACMx with what you observed earlier).
|
||||
|
||||
flashprog -p serprog:dev=/dev/ttyACMx,spispeed=16M
|
||||
flashrom -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.
|
||||
|
@ -231,8 +205,8 @@ SOIC16
|
|||
|
||||
| Pin | Function |
|
||||
|-----|----------|
|
||||
| 1 | HOLD |
|
||||
| 2 | VCC |
|
||||
| 3 | HOLD |
|
||||
| 7 | CS |
|
||||
| 8 | MISO |
|
||||
| 9 | WP |
|
||||
|
@ -289,7 +263,7 @@ BeagleBone Black (BBB)
|
|||
----------------------
|
||||
|
||||
SSH into your BeagleBone Black. It is assumed that you are running Debian 9 on
|
||||
your BBB. You will run `flashprog` from your BBB.
|
||||
your BBB. You will run `flashrom` from your BBB.
|
||||
|
||||
NOTE: This section is out of date, because it is written for Debian 9 (running
|
||||
on the BBB)
|
||||
|
@ -330,9 +304,9 @@ RemainAfterExit=yes
|
|||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
Now test flashprog:
|
||||
Now test flashrom:
|
||||
|
||||
./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512
|
||||
./flashrom -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.
|
||||
|
@ -342,7 +316,7 @@ Example output:
|
|||
```
|
||||
Calibrating delay loop... OK.
|
||||
No EEPROM/flash device found.
|
||||
Note: flashprog can never write if the flash chip isn't found automatically.
|
||||
Note: flashrom 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
|
||||
|
@ -361,7 +335,7 @@ TODO: document other SPI flashers
|
|||
Rasberry Pi (RPi)
|
||||
-----------------
|
||||
|
||||
SSH into your Raspberry Pi. You will run `flashprog` from your Raspberry Pi.
|
||||
SSH into your Raspberry Pi. You will run `flashrom` 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`.
|
||||
|
@ -469,7 +443,7 @@ Website:
|
|||
|
||||
<https://librerpi.github.io/>
|
||||
|
||||
Install flashprog
|
||||
Install flashrom
|
||||
----------------
|
||||
|
||||
If you're using a BBB or RPi, you will do this while SSH'd into those.
|
||||
|
@ -478,7 +452,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 flashprog. Do this after downloading the
|
||||
install flashrom. Do this after downloading the
|
||||
[lbmk Git repository](https://codeberg.org/libreboot/lbmk):
|
||||
|
||||
cd lbmk
|
||||
|
@ -487,7 +461,7 @@ install flashprog. 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 flashprog
|
||||
./update trees -b flashrom
|
||||
|
||||
If the `ubuntu2004` script complains about missing dependencies, just modify
|
||||
the dependencies config to remove those dependencies. The script is located
|
||||
|
@ -495,29 +469,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 `flashprog/` directory will be present, with a `flashprog` executable inside
|
||||
A `flashrom/` directory will be present, with a `flashrom` 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 flashprog directly from upstream
|
||||
at <https://flashprog.org/Flashrom>
|
||||
Alternatively, you may download flashrom directly from upstream
|
||||
at <https://flashrom.org/Flashrom>
|
||||
|
||||
If you're flashing a Macronix flashchip on a ThinkPad X200, you will want to
|
||||
use a special patched version of flashprog, which you can download here:
|
||||
use a special patched version of flashrom, 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 flashprog. This mitigates stability issues.
|
||||
argument in flashrom. This mitigates stability issues.
|
||||
|
||||
If you downloaded the flashprog source code directly, you can go into the
|
||||
If you downloaded the flashrom 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 flashprog
|
||||
How to use flashrom
|
||||
===================
|
||||
|
||||
Read past these sections, further down this page, to learn about specific chip
|
||||
|
@ -532,11 +506,11 @@ current chip contents to a file.
|
|||
Run this command to see if 25xx flash is detected, with your RPi properly
|
||||
wired.
|
||||
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768
|
||||
|
||||
For BBB, you must use a lower speed and a different device path:
|
||||
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512
|
||||
sudo ./flashrom -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
|
||||
|
@ -554,11 +528,11 @@ or you can try flashing it with a new ROM.
|
|||
|
||||
Dump it like so (RPi):
|
||||
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r dump.bin
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r dump.bin
|
||||
|
||||
For BBB, do this:
|
||||
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r dump.bin
|
||||
sudo ./flashrom -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:
|
||||
|
||||
|
@ -589,11 +563,11 @@ Writing
|
|||
|
||||
Next, run this command (RPi):
|
||||
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
|
||||
|
||||
If using BBB:
|
||||
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/libreboot.rom
|
||||
sudo ./flashrom -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.
|
||||
|
@ -966,9 +940,6 @@ 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,27 +3,11 @@ 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,你可以在供应商固件启动后,对其进行热切换,然后再内部刷入。十分简单!
|
||||
|
||||
我们会用到 [flashprog](https://flashprog.org/Flashrom) 软件,这个软件可以读出、擦除及重写这些 flash 芯片。
|
||||
我们会用到 [flashrom](https://flashrom.org/Flashrom) 软件,这个软件可以读出、擦除及重写这些 flash 芯片。
|
||||
|
||||
libreboot 目前记录了这些 SPI 编程器的使用方法:
|
||||
|
||||
|
@ -36,7 +20,7 @@ libreboot 目前记录了这些 SPI 编程器的使用方法:
|
|||
|
||||
大部分支持 libreboot 机器,都需要在第一次刷写的时候,借助这里的教程或是类似教程,对其进行外部再刷写。不过,目前支持的所有机器,你都可以在 libreboot 运行时,对其进行内部再刷写。
|
||||
|
||||
*内部*刷写是指,主机上的 CPU 可以使用板载 SPI 编程器(每个主板都有)对 SPI flash 进行再编程。这可以在 Linux 上使用 flashprog 做到。
|
||||
*内部*刷写是指,主机上的 CPU 可以使用板载 SPI 编程器(每个主板都有)对 SPI flash 进行再编程。这可以在 Linux 上使用 flashrom 做到。
|
||||
|
||||
你在读的*这个*教程,使用的是*外部*编程器。之所以叫*外部*,是因为用的不是主板上的*内部*编程器。
|
||||
|
||||
|
@ -68,7 +52,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
|
||||
|
@ -101,7 +85,7 @@ will appear:
|
|||
Take note of the ttyACMx. Flashrom is now usable
|
||||
(substitute ttyACMx with what you observed earlier).
|
||||
|
||||
flashprog -p serprog:dev=/dev/ttyACMx,spispeed=16M
|
||||
flashrom -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.
|
||||
|
@ -189,7 +173,7 @@ DIP8
|
|||
BeagleBone Black(BBB)
|
||||
----------------------
|
||||
|
||||
SSH 连接到你的 BeagleBone Black。假定你在 BBB 上用的是 Debian 9。你将在 BBB 上运行 `flashprog`。
|
||||
SSH 连接到你的 BeagleBone Black。假定你在 BBB 上用的是 Debian 9。你将在 BBB 上运行 `flashrom`。
|
||||
|
||||
注意:该部分已过时,因为它是写给 BBB 上运行的 Debian 9 的。
|
||||
|
||||
|
@ -228,9 +212,9 @@ RemainAfterExit=yes
|
|||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
现在测试 flashprog:
|
||||
现在测试 flashrom:
|
||||
|
||||
./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512
|
||||
./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
|
||||
|
||||
重要的一点是,要使用 `spispeed=512` 或者更低的速度,例如 256 或 128,否则 BBB 会十分不稳定。
|
||||
|
||||
|
@ -239,7 +223,7 @@ WantedBy=multi-user.target
|
|||
```
|
||||
Calibrating delay loop... OK.
|
||||
No EEPROM/flash device found.
|
||||
Note: flashprog can never write if the flash chip isn't found automatically.
|
||||
Note: flashrom can never write if the flash chip isn't found automatically.
|
||||
```
|
||||
|
||||
这表示正常工作了(夹子没连接任何 flash 芯片,所以出错是正常的)。
|
||||
|
@ -254,7 +238,7 @@ BBB 注意事项
|
|||
Rasberry Pi(RPi)
|
||||
-----------------
|
||||
|
||||
SSH 连接到树莓派。你将在树莓派上运行 `flashprog`。
|
||||
SSH 连接到树莓派。你将在树莓派上运行 `flashrom`。
|
||||
|
||||
你必须在树莓派上配置 `spidev`。这是 Linux 内核的一个特别驱动;它严谨的名字叫做 `spi-bcm2835`。
|
||||
|
||||
|
@ -272,7 +256,7 @@ SSH 连接到树莓派。你将在树莓派上运行 `flashprog`。
|
|||
RPi 驱动强度(Drive Strength)
|
||||
------------------
|
||||
|
||||
RPi 的 flashprog 可能无法检测到一些系统的 SPI flash,即使你已经完美地连好了线并夹住了芯片。这可能是因为树莓派 GPIO 的驱动强度,它默认是 8mA。驱动强度本质上就是,在保持高电平最低电压的同时,引脚最高能输出的电流。对树莓派而言,这个电压是 3.0 V。
|
||||
RPi 的 flashrom 可能无法检测到一些系统的 SPI flash,即使你已经完美地连好了线并夹住了芯片。这可能是因为树莓派 GPIO 的驱动强度,它默认是 8mA。驱动强度本质上就是,在保持高电平最低电压的同时,引脚最高能输出的电流。对树莓派而言,这个电压是 3.0 V。
|
||||
|
||||
类似地,也要满足一个最低电压,SPI flash 芯片才会把它当成高逻辑电平。这个值一般是 SPI flash 的 0.7*VCC,对 3.3V 的芯片而言也就是 2.31V。如果驱动强度太低了,那 flash 芯片的引脚处的电压可能会低于最低电压,导致它被视为发送了低逻辑电平,而不是高逻辑电平。
|
||||
|
||||
|
@ -325,33 +309,33 @@ RPi 的自由固件
|
|||
|
||||
<https://librerpi.github.io/>
|
||||
|
||||
安装 flashprog
|
||||
安装 flashrom
|
||||
----------------
|
||||
|
||||
如果你在使用 BBB 或者 RPi,你需要在 SSH 进去之后再这么做。
|
||||
|
||||
Flashrom 是用来读出、擦除、重写 NOR flash 内容的软件。
|
||||
|
||||
使用 Git 仓库中的 libreboot 构建系统,你可以下载并安装 flashprog。首先下载 [lbmk Git 仓库](https://codeberg.org/libreboot/lbmk),然后执行:
|
||||
使用 Git 仓库中的 libreboot 构建系统,你可以下载并安装 flashrom。首先下载 [lbmk Git 仓库](https://codeberg.org/libreboot/lbmk),然后执行:
|
||||
|
||||
cd lbmk
|
||||
sudo ./build dependencies ubuntu2004
|
||||
|
||||
注意:你可以输入 debian、arch 或 void 来替换 ubuntu。debian 脚本也可以用于新版 ubuntu。
|
||||
|
||||
./update trees -b flashprog
|
||||
./update trees -b flashrom
|
||||
|
||||
如果 `ubuntu2004` 报告了依赖缺失,编辑一下这个脚本,把缺失的依赖移除就行了。脚本位于 `config/dependencies/ubuntu2004`,它是写给 Ubuntu 20.04 的,但在其他使用 `apt-get` 包管理器的 Linux 发行版应该也能用。
|
||||
|
||||
接下来,会出现一个 `flashprog/` 目录,其中有一个 `flashprog` 可执行文件。如果你在运行上面的依赖命令的时候,出现了缺失包的错误,则修改 `config/dependencies/ubuntu2004`。那个脚本会在 apt-get 中下载并安装构建依赖,它是为运行 Ubuntu 的 x86-64 系统写的,但在树莓派上的 Raspbian 应该能用。
|
||||
接下来,会出现一个 `flashrom/` 目录,其中有一个 `flashrom` 可执行文件。如果你在运行上面的依赖命令的时候,出现了缺失包的错误,则修改 `config/dependencies/ubuntu2004`。那个脚本会在 apt-get 中下载并安装构建依赖,它是为运行 Ubuntu 的 x86-64 系统写的,但在树莓派上的 Raspbian 应该能用。
|
||||
|
||||
或者,你可以直接从上游下载 flashprog,位于:<https://flashprog.org/Flashrom>
|
||||
或者,你可以直接从上游下载 flashrom,位于:<https://flashrom.org/Flashrom>
|
||||
|
||||
如果你是在 ThinkPad X200 上刷写 Macronix flash 芯片,则要使用一个 flashprog 的特别修改版,下载地址在这里:<https://vimuser.org/hackrom.tar.xz> —— 其中有修改版的源代码,也有可以直接运行的二进制文件。将 `--workaround-mx` 参数传给 flashprog。这会缓解稳定性问题。
|
||||
如果你是在 ThinkPad X200 上刷写 Macronix flash 芯片,则要使用一个 flashrom 的特别修改版,下载地址在这里:<https://vimuser.org/hackrom.tar.xz> —— 其中有修改版的源代码,也有可以直接运行的二进制文件。将 `--workaround-mx` 参数传给 flashrom。这会缓解稳定性问题。
|
||||
|
||||
如果你直接下载了 flashprog 源代码,你可以进入目录并直接运行 `make`。在 libreboot 构建系统中,`config/dependencies/` 处的脚本写明了构建依赖,你可以直接使用 `apt-get` 软件安装。
|
||||
如果你直接下载了 flashrom 源代码,你可以进入目录并直接运行 `make`。在 libreboot 构建系统中,`config/dependencies/` 处的脚本写明了构建依赖,你可以直接使用 `apt-get` 软件安装。
|
||||
|
||||
如何使用 flashprog
|
||||
如何使用 flashrom
|
||||
===================
|
||||
|
||||
请先阅读本页更下方的部分,了解特定的芯片类型及其接线方法。
|
||||
|
@ -363,11 +347,11 @@ Flashrom 是用来读出、擦除、重写 NOR flash 内容的软件。
|
|||
|
||||
树莓派正确接线后,运行这个命令来查看是否检测到 25xx flash:
|
||||
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768
|
||||
|
||||
对 BBB 而言,必须使用更慢的速度及不同的设备路径:
|
||||
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512
|
||||
|
||||
在 BBB 上,绝对不要使用高于 `spispeed=512` 的速度。有时候,你可能还要低到 `spispeed=128` 的速度。BBB 对 SPI 刷写而言非常不稳定、不可靠。在读取的时候,要多次读出,并检查它们的 checksum 是否一致,然后再刷。你可能需要多次刷写芯片!
|
||||
|
||||
|
@ -377,11 +361,11 @@ Flashrom 是用来读出、擦除、重写 NOR flash 内容的软件。
|
|||
|
||||
在 RPi 上,这样读出:
|
||||
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r dump.bin
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r dump.bin
|
||||
|
||||
BBB 的话,这样:
|
||||
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r dump.bin
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r dump.bin
|
||||
|
||||
建议读出*两次*,比如弄一个 `dump2.bin`,然后检查 sha1sum:
|
||||
|
||||
|
@ -402,11 +386,11 @@ BBB 的话,这样:
|
|||
|
||||
接下来,运行这个命令(RPi):
|
||||
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
|
||||
|
||||
如果用的是 BBB:
|
||||
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/libreboot.rom
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/libreboot.rom
|
||||
|
||||
用 BBB 的时候,可能得使用低于 512 的速度。你也许还得多次重复刷写,才能完全工作。
|
||||
|
||||
|
@ -643,9 +627,6 @@ 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,9 +3,6 @@ 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)**
|
||||
|
||||
|
@ -86,24 +83,24 @@ sudo ldto merge spicc spicc-spidev
|
|||
Using Flashrom
|
||||
==============
|
||||
|
||||
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)
|
||||
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)
|
||||
Here is an example using raspbian:
|
||||
|
||||
```
|
||||
sudo apt update
|
||||
sudo apt install flashprog
|
||||
sudo apt install flashrom
|
||||
```
|
||||
|
||||
Reading/writing from SPI works respectively as such:
|
||||
|
||||
```
|
||||
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
|
||||
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
|
||||
```
|
||||
|
||||
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 ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=512 -r /path/to/read.bin
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=512 -r /path/to/read.bin
|
||||
|
|
|
@ -3,9 +3,6 @@ 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
|
||||
===================
|
||||
|
||||
|
@ -80,7 +77,7 @@ Flash chip size {#flashchips}
|
|||
|
||||
Use this to find out:
|
||||
|
||||
flashprog -p internal
|
||||
flashrom -p internal
|
||||
|
||||
MAC address {#macaddress}
|
||||
===========
|
||||
|
|
|
@ -3,18 +3,6 @@ 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)**
|
||||
|
||||
|
@ -40,20 +28,29 @@ In order to inject the necessary files into a rom image, run the script from the
|
|||
If you only wish to flash a release rom then the process of injecting the necessary files is quite simple.
|
||||
Run the injection script pointing to the release archive you downloaded:
|
||||
|
||||
./vendor inject /path/to/libreboot-RELEASE_targetname.tar.xz
|
||||
./vendor inject /path/to/libreboot-20230319-18-g9f76c92_t440_12mb.tar.xz
|
||||
|
||||
The script can automatically detect the board as long as you do not change the file name.
|
||||
You can then find flash-ready ROMs in `/bin/release/`
|
||||
|
||||
Alternatively, you may patch only a single rom file.
|
||||
For example:
|
||||
For example (libre replacement of `mrc.bin`):
|
||||
|
||||
./vendor inject -r t440p_libreboot.rom -b t440plibremrc_12mb
|
||||
./vendor inject -r t440p_libreboot.rom -b t440p_12mb
|
||||
|
||||
Optionally, you can use this script to modify the mac address of the rom with the `-m` flag.
|
||||
For example:
|
||||
|
||||
./vendor inject -r t440p_libreboot.rom -b t440plibremrc_12mb -m 00:f6:f0:40:71:fd
|
||||
./vendor inject -r t440p_libreboot.rom -b t440p_12mb -m 00:f6:f0:40:71:fd
|
||||
|
||||
If you're flashing a ROM that needs vendor file `mrc.bin`, you would do one of these
|
||||
instead, for example:
|
||||
|
||||
./vendor inject -r t440p_libreboot.rom -b t440pmrc_12mb
|
||||
|
||||
or (inserting a different MAC address)
|
||||
|
||||
./vendor inject -r t440p_libreboot.rom -b t440pmrc_12mb -m 00:f6:f0:40:71:fd
|
||||
|
||||
NOTE: this makes use of `nvmutil`, which you can read more about in
|
||||
the [nvmutil documentation](nvmutil.md).
|
||||
|
@ -68,7 +65,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; flashprog will let you know if the
|
||||
Don't worry about knowing which chip is which on a standard setup; flashrom will let you know if the
|
||||
image size is incorrect for the chip you're flashing.
|
||||
|
||||
|
||||
|
@ -98,29 +95,3 @@ You should now be able to see the two flash chips near the RAM.\
|
|||
<img tabindex=1 src="https://av.libreboot.org/board/t440p/t440p_chipLocation.jpg" /><span class="f"><img src="https://av.libreboot.org/board/t440p/t440p_chipLocation_orig.jpg" /></span>
|
||||
|
||||
You can now proceed to [flashing](/docs/install/spi.html) this machine.
|
||||
|
||||
Errata
|
||||
======
|
||||
|
||||
NOTE: As of Libreboot releases from May 2024 onward, the Intel MRC is no longer
|
||||
included for Haswell; MRC is a blob for raminit, but we now provide libre
|
||||
raminit. The following targets no longer exist in the build system:
|
||||
|
||||
* `t440pmrc_12mb` (use `t440plibremrc_12mb` instead)
|
||||
* `t440pbmrc_12mb` (use `t440plibremrc_12mb` instead)
|
||||
* `w541mrc_12mb` (use `w541_12mb` instead)
|
||||
* `w541bmrc_12mb` (use `w541_12mb` instead)
|
||||
* `dell9020sff_12mb` (use `dell9020sff_nri_12mb` instead)
|
||||
* `dell9020sffbmrc` (use `dell9020sff_nri_12mb` instead)
|
||||
* `dell9020mt_12mb` (use `dell9020mt_nri_12mb` instead)
|
||||
* `dell9020mtbmrc` (use `dell9020mt_nri_12mb` instead)
|
||||
|
||||
This is written as errata because some users may still be using older release
|
||||
images but on the newer build system from May 2024 onward; you must use the
|
||||
Libreboot 20240225 release if you want to inject MRC and so on, for these older
|
||||
targets.
|
||||
|
||||
Libreboot's [binary blob reduction policy](../../news/policy.md) is very strict,
|
||||
and states: if a blob can be avoided, it must be avoided. Therefore, the MRC
|
||||
is removed on Haswell and Libreboot will only use the libre raminit (called
|
||||
NRI, short for Native Ram Initialisation).
|
||||
|
|
|
@ -3,9 +3,6 @@ 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
|
||||
|
@ -76,7 +73,7 @@ Flash chip size {#flashchips}
|
|||
|
||||
Use this to find out:
|
||||
|
||||
flashprog -p internal
|
||||
flashrom -p internal
|
||||
|
||||
MAC address {#macaddress}
|
||||
===========
|
||||
|
|
|
@ -3,9 +3,6 @@ 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.
|
||||
|
||||
|
@ -163,16 +160,16 @@ which all draw a lot of current, more than your flasher can provide.
|
|||
|
||||
Example command:
|
||||
|
||||
sudo ./flashprog -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w libreboot.rom -V
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w libreboot.rom -V
|
||||
|
||||
If flashprog complains about multiple flash chips detected, just pass the `-c`
|
||||
If flashrom 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 flashprog
|
||||
It should be `Verifying flash... VERIFIED` at the end. If flashrom
|
||||
complains about multiple flash chip definitions detected, then choose
|
||||
one of them following the instructions in the output.
|
||||
|
||||
|
|
|
@ -3,9 +3,6 @@ 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
|
||||
|
@ -28,7 +25,7 @@ Flash chip size
|
|||
|
||||
Run this command on x200 to find out flash chip model and its size:
|
||||
|
||||
flashprog -p internal
|
||||
flashrom -p internal
|
||||
|
||||
MAC address
|
||||
===========
|
||||
|
@ -109,7 +106,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 flashprog -p
|
||||
By default we would see this in lenovobios, when trying flashrom -p
|
||||
internal -w rom.rom:
|
||||
|
||||
```
|
||||
|
@ -150,7 +147,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 flashprog binary into memory and the ROM to flash (for the BIOS
|
||||
then load a flashrom 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,9 +3,6 @@ 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
|
||||
|
@ -28,7 +25,7 @@ same hardware generation (GM45), with same CPUs, video processor, etc.**
|
|||
|
||||
Виконайте цю команду на x200, щоб дізнатися модель флеш-чіпа та його розмір:
|
||||
|
||||
flashprog -p internal
|
||||
flashrom -p internal
|
||||
|
||||
MAC адреса
|
||||
===========
|
||||
|
@ -109,7 +106,7 @@ sgsit дізнався про контакт під назвою GPIO33, яки
|
|||
|
||||
![](https://av.libreboot.org/x200/gpio33_location.jpg)
|
||||
|
||||
Це замовчуванням ми побачимо це в lenovobios, під час спроби flashprog -p
|
||||
Це замовчуванням ми побачимо це в lenovobios, під час спроби flashrom -p
|
||||
internal -w rom.rom:
|
||||
|
||||
FREG0: Warning: Flash Descriptor region (0x00000000-0x00000fff) is read-only.
|
||||
|
@ -144,7 +141,7 @@ internal -w rom.rom:
|
|||
встановлення PRx і переходу до нормального завантаження. Теоретично можливо, що ми
|
||||
зможемо дізнатися, як це працює, налагодивши утиліту оновлення BIOS Lenovo (у
|
||||
Windows), а потім відтворивши її дії за допомогою якогось інструменту для Linux,
|
||||
а потім завантаживши двійковий файл flashprog в пам'ять та ROM для прошивки (для BIOS
|
||||
а потім завантаживши двійковий файл flashrom в пам'ять та ROM для прошивки (для BIOS
|
||||
регіона). Ви б зробили це з заземленням GPIO33, і програма корисного навантаження
|
||||
фактично прошиє весь чіп, лише звичайним образом libreboot.
|
||||
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
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,12 +3,6 @@ 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)**
|
||||
|
||||
|
@ -64,7 +58,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; flashprog will let you know if the
|
||||
Don't worry about knowing which chip is which on a standard setup; flashrom will let you know if the
|
||||
image size is incorrect for the chip you're flashing.
|
||||
|
||||
|
||||
|
|
|
@ -3,9 +3,6 @@ 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.
|
||||
|
||||
|
@ -30,7 +27,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 flashprog and cbfstool
|
||||
Compile flashrom and cbfstool
|
||||
=============================
|
||||
|
||||
libreboot does not currently distribute utilities pre-compiled. It only
|
||||
|
@ -78,34 +75,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 `flashprog` which libreboot recommends for reading
|
||||
You will also want to build `flashrom` 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 flashprog
|
||||
./update trees -b flashrom
|
||||
|
||||
An executable will be available at `src/flashprog/flashprog` after you have done
|
||||
An executable will be available at `src/flashrom/flashrom` 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 `flashprog` to acquire it.
|
||||
your computer, you can use `flashrom` to acquire it.
|
||||
|
||||
Simply run the following, after using libreboot's build system to compile
|
||||
flashprog:
|
||||
flashrom:
|
||||
|
||||
sudo ./src/flashprog/flashprog -p internal -r dump.bin
|
||||
sudo ./src/flashrom/flashrom -p internal -r dump.bin
|
||||
|
||||
If flashprog complains about multiple flash chip definitions, do what it says to
|
||||
If flashrom 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 flashprog, which is sometimes necessary depending on what ROM was already
|
||||
in flashrom, 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
|
||||
|
@ -198,17 +195,17 @@ Flash the modified ROM image
|
|||
Your modified `dump.bin` or other modified libreboot ROM can then be re-flashed
|
||||
using:
|
||||
|
||||
sudo ./flashprog -p internal -w dump.bin
|
||||
sudo ./flashrom -p internal -w dump.bin
|
||||
|
||||
If a `-c` option is required, use it and specify a flash chip name. This is
|
||||
only useful when `flashprog` complains about multiple flash chips being
|
||||
only useful when `flashrom` complains about multiple flash chips being
|
||||
detected.
|
||||
|
||||
If flashprog complains about wrong chip/board, make sure that your ROM is for
|
||||
If flashrom 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 ./flashprog -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w dump.bin
|
||||
sudo ./flashrom -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.
|
||||
|
|
|
@ -221,52 +221,6 @@ of user-friendliness.
|
|||
|
||||
That just about covers it, where password setup is concerned!
|
||||
|
||||
SeaBIOS first?
|
||||
==============
|
||||
|
||||
In releases after Libreboot 20240504, SeaBIOS is the primary payload on
|
||||
all images, but GRUB is available in the boot menu. Select a ROM image
|
||||
with `grubfirst` at the end, and do this to the ROM image:
|
||||
|
||||
cbfstool libreboot.rom add-int -i 0 -n etc/show-boot-menu
|
||||
|
||||
This disables the SeaBIOS menu, so that it only loads GRUB. The `grubfirst`
|
||||
image had this done to it by lbmk (Libreboot build system) during build:
|
||||
|
||||
cbfstool libreboot.rom add -f config/grub/bootorder -n bootorder -t raw
|
||||
|
||||
This `bootorder` file has the following contents:
|
||||
|
||||
```
|
||||
/rom@img/grub2
|
||||
```
|
||||
|
||||
You can add it yourself if your image doesn't have it. With this, SeaBIOS
|
||||
only loads GRUB first. You can still put a GRUB config in CBFS to override
|
||||
the default one, as of Libreboot 20240612.
|
||||
|
||||
NOTE: Before disabling the boot menu, make sure GRUB works. Access it using
|
||||
the `bootorder` file and/or press ESC in the SeaBIOS menu. Then disable the
|
||||
SeaBIOS menu.
|
||||
|
||||
Alternative: GRUB as primary
|
||||
----------------------------
|
||||
|
||||
The *SeaBIOS first* policy is now law, in Libreboot releases. The only
|
||||
exception is the x86 QEMU target. You can do this if building from source:
|
||||
|
||||
./build roms -p grub targetname
|
||||
|
||||
Where `targetname` is e.g. `x200_8mb` (use the correct one for your board).
|
||||
|
||||
Again: make sure GRUB works. Also: don't do this if you're using a non-Intel
|
||||
graphics card because only the Intel graphics have native video initialisation
|
||||
in Libreboot, and we rely on SeaBIOS to execute the VGA ROM for others.
|
||||
|
||||
(it is assumed that you know to add the VGA ROM in CBFS if needed, if using
|
||||
a dGPU, or that you're using a graphics card on a desktop so SeaBIOS will use
|
||||
that automatically)
|
||||
|
||||
GPG keys
|
||||
========
|
||||
|
||||
|
|
|
@ -46,11 +46,6 @@ 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,9 +3,6 @@ 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).
|
||||
|
||||
|
@ -85,31 +82,6 @@ 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
|
||||
=======================
|
||||
|
||||
XBMK\_THREADS
|
||||
-------------
|
||||
|
||||
For example:
|
||||
|
||||
export XBMK_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.
|
||||
|
||||
XBMK\_RELEASE
|
||||
-------------
|
||||
|
||||
If set to `y`, it signals to `script/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 XBMK_RELEASE=y
|
||||
|
||||
Projects/files downloaded/generated by lbmk
|
||||
===========================================
|
||||
|
||||
|
@ -127,8 +99,8 @@ This directory is created when running any of the following commands, with the
|
|||
right arguments:
|
||||
|
||||
./build roms ARGUMENTS_HERE
|
||||
./build roms serprog stm32
|
||||
./build roms serprog rp2040
|
||||
./build serprog stm32
|
||||
./build serprog rp2040
|
||||
|
||||
Simply speaking, `bin/` shall contain finished ROM images or firmware, that
|
||||
can then be installed (flashed) to the target device.
|
||||
|
@ -138,6 +110,12 @@ The files under `bin/` are provided in regular Libreboot releases.
|
|||
**These** are the ROM images that you should flash. Do *not* flash the ROM
|
||||
images contained under `elf/`!
|
||||
|
||||
cbutils/
|
||||
---------------
|
||||
|
||||
The build system compiles `cbfstool` and `ifdtool`, from coreboot, and then
|
||||
places the executables here for use on coreboot ROM images.
|
||||
|
||||
ec/
|
||||
---------------
|
||||
|
||||
|
@ -167,14 +145,18 @@ lbmk in your own custom coreboot ROM (that you didn't build with lbmk).
|
|||
This is only used by the build system, but these images are *not* provided in
|
||||
releases (only the images under `bin/` are provided).
|
||||
|
||||
As of Libreboot 20240612, the `elf/` directory must be used by default for all
|
||||
builds, in an effort to make exclusive use of *out-of-source builds*. As such,
|
||||
the `cbutils` directory is no longer used.
|
||||
|
||||
mrc/
|
||||
---------------
|
||||
|
||||
Intel System Agent downloaded at build time for HP EliteBook 820 G2.
|
||||
Please also
|
||||
visit: <https://doc.coreboot.org/northbridge/intel/haswell/mrc.bin.html> - the
|
||||
handling of this, in Libreboot, is based largely on the information there.
|
||||
|
||||
This contains the Intel MRC firmware, auto-downloaded during build
|
||||
by `script/vendor/download`.
|
||||
|
||||
In some cases, libre MRC firmware is also available, and provided
|
||||
by Libreboot as an alternative choice.
|
||||
|
||||
pciroms/
|
||||
---------------
|
||||
|
@ -186,7 +168,7 @@ currently only initialises Intel GPUs natively, on Libreboot systems.
|
|||
release/
|
||||
---------------
|
||||
|
||||
The script at `build` create tarballs in here, which
|
||||
The script at `script/update/release` create tarballs in here, which
|
||||
constitute regular Libreboot releases. It is meticulously maintained, as per
|
||||
current lbmk behaviour, and executed so as to provide Libreboot release
|
||||
archives.
|
||||
|
@ -196,26 +178,6 @@ containing non-redistributable vendor code are *scrubbed* such that these files
|
|||
in regular releases, be [re-added manually](../install/ivy_has_common.md) by
|
||||
the user.
|
||||
|
||||
You can create release archives by doing:
|
||||
|
||||
./update release
|
||||
|
||||
By default, this creates a release under `release/`, but you can change the
|
||||
directory, for example:
|
||||
|
||||
./update release -d path
|
||||
|
||||
You can also specify that only a *source archive* be created, like so:
|
||||
|
||||
./update release -m src
|
||||
|
||||
Or with a custom directory:
|
||||
|
||||
./update release -d path -m src
|
||||
|
||||
The build system expects there to be a *git tag*, so make sure there is one.
|
||||
This is used to create the version number for a given release.
|
||||
|
||||
src/
|
||||
----
|
||||
|
||||
|
@ -227,9 +189,8 @@ src/bios\_extract/
|
|||
Used by the vendor file handler scripts. The upstream that we use is here:
|
||||
<https://review.coreboot.org/bios_extract>
|
||||
|
||||
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/biosutilities/
|
||||
---------------
|
||||
|
@ -237,8 +198,9 @@ src/biosutilities/
|
|||
Used by the vendor file handler scripts. The upstream that we use is here:
|
||||
<https://github.com/platomav/BIOSUtilities>
|
||||
|
||||
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/coreboot/
|
||||
---------------
|
||||
|
@ -260,12 +222,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/flashprog/
|
||||
src/flashrom/
|
||||
---------------
|
||||
|
||||
Please also visit: <https://flashprog.org/>
|
||||
Please also visit: <https://flashrom.org/>
|
||||
|
||||
Although currently unused by any part of lbmk, we provide flashprog for the
|
||||
Although currently unused by any part of lbmk, we provide flashrom 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.
|
||||
|
@ -288,6 +250,23 @@ GRUB image under `elf/grub/`.
|
|||
NOTE: This is *only* provided for x86 machines, in Libreboot. For ARM, we ship
|
||||
U-Boot instead.
|
||||
|
||||
src/me\_cleaner/
|
||||
---------------
|
||||
|
||||
Please also visit: <https://github.com/corna/me_cleaner/>
|
||||
|
||||
This is used by Libreboot, to *neuter* Intel ME images. The intel ME images
|
||||
are auto-downloaded from the vendor during each build process, cached on
|
||||
disk and processed by `me_cleaner`. It removes almost all code from Intel ME,
|
||||
leaving only the basic bringup code (analogous to running coreboot without a
|
||||
payload). More information available at these pages:
|
||||
|
||||
* <https://github.com/corna/me_cleaner/>
|
||||
* Libreboot [freedom status page](../../freedom-status.md)
|
||||
|
||||
The *vendor file* scripts are what handle this, specifically the download script
|
||||
located at `script/vendor/download`.
|
||||
|
||||
src/memtest86plus/
|
||||
---------------
|
||||
|
||||
|
@ -328,7 +307,7 @@ src/uefitool/
|
|||
Please also visit: <https://github.com/LongSoft/UEFITool>
|
||||
|
||||
This is compiled, so as to provide `UEFIExtract`. Currently used by the
|
||||
vendor download logic within `include/vendor.sh`, to download SCH5545 EC
|
||||
vendor download script at `script/vendor/download`, to download SCH5545 EC
|
||||
firmware (used for fan control on Dell Precision T1650).
|
||||
|
||||
src/pico-serprog
|
||||
|
@ -392,6 +371,9 @@ desirable, `lbmk.git` provides a few utilities as part of itself, namely:
|
|||
util/dell-flash-unlock/
|
||||
---------------
|
||||
|
||||
**NOTE (15 October 2023): The util is now called `dell-flash-unlock`, but it
|
||||
was previously called `e6400-flash-unlock`. Links have been updated.**
|
||||
|
||||
This program, written by Nicholas Chin, unlocks the boot flash on Dell Latitude
|
||||
E6400; it permits internal flashing, from factory firmware to Libreboot, so that
|
||||
the user need not disassemble and flash externally.
|
||||
|
@ -476,25 +458,6 @@ config/
|
|||
This directory contains configuration files, used by the Libreboot build
|
||||
system. These next sections will cover specific configuration files.
|
||||
|
||||
config/PROJECT\*/nuke.list
|
||||
--------------------------
|
||||
|
||||
The script `include/git.sh` handles deletion of certain files, for downloaded
|
||||
projects, based on a `nuke.list` file that can (for single-tree projects) be
|
||||
included at `config/PROJECT/nuke.list` or (multi-tree project)
|
||||
at `config/PROJECT/TREE/nuke.list` (entries are relative links from the root
|
||||
directory of the given source tree e.g. `src/coreboot/default/`).
|
||||
|
||||
So, if `src/coreboot/default/` contained foo/bar.txt, you could add to
|
||||
the `nuke.list` file as follows:
|
||||
|
||||
```
|
||||
foo/bar.txt
|
||||
```
|
||||
|
||||
Ditto `src/flashprog/`, if you wanted to delete a file from in there, as one
|
||||
other example. Deletions occur when the source tree is created.
|
||||
|
||||
config/vendor/
|
||||
---------------
|
||||
|
||||
|
@ -523,7 +486,7 @@ When a given coreboot tree is compiled, for a given target, this file defines
|
|||
which files to copy from the coreboot directory, which are then copied to
|
||||
a location under `elf/coreboot`.
|
||||
|
||||
The presence of this file affects behaviour in `./update release` commands;
|
||||
The presence of this file affects behaviour in `script/update/release`;
|
||||
specifically, PROJECT is then downloaded to `src/PROJECT/PROJECT`, and files
|
||||
under `config/PROJECT/TARGET/target.cfg` define which tree to use, which then
|
||||
looks under `config/PROJECT/TREE/target.cfg` to get the git revision; then
|
||||
|
@ -564,8 +527,9 @@ 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)
|
||||
* `xarch="i386-elf"` (example entry)
|
||||
* `arch="x86_64"` (example entry)
|
||||
* `payload_grub="y"` (example entry)
|
||||
* `payload_grub_withseabios="y"` (example entry)
|
||||
* `payload_seabios="y"` (example entry)
|
||||
|
@ -575,23 +539,26 @@ as:
|
|||
* `payload_seabios_grubonly="y"` (example entry)
|
||||
* `grub_scan_disk="ata"`
|
||||
* `uboot_config=default` (specify which U-Boot tree to use)
|
||||
* `release="n"` (example entry)
|
||||
* `xtree="default"` (example entry)
|
||||
* `tree_depend="default"` (example entry)
|
||||
* `grubtree="nvme" (example entry)`
|
||||
* `vendorfiles="n"`
|
||||
* `microcode_required="y"`
|
||||
|
||||
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 `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 `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 `payload_grub` entry specifies whether or not GRUB is to be included in
|
||||
ROM images.
|
||||
|
@ -630,20 +597,12 @@ 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 `release` variable can be set to n, which makes the `./update release`
|
||||
call 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 `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.
|
||||
|
||||
The `grubtree` option specifies which GRUB tree to use. If unset, it defers to
|
||||
the `default` GRUB tree.
|
||||
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).
|
||||
|
||||
### config/coreboot/BOARDNAME/config/
|
||||
|
||||
|
@ -751,18 +710,18 @@ of their own; for example, `config/grub/` exists.
|
|||
Multiple files exist here, and they are *concatenated* in a temporary file by
|
||||
lbmk, which is then scanned to find information about projects.
|
||||
|
||||
GRUB config
|
||||
config/grub/
|
||||
---------------
|
||||
|
||||
### config/data/grub/background
|
||||
### config/grub/background
|
||||
|
||||
Splash screen images applied duing startup when using the GRUB payload.
|
||||
|
||||
### config/data/grub/background/background1024x768.png
|
||||
### config/grub/background/background1024x768.png
|
||||
|
||||
Used on ThinkPad X60 and T60.
|
||||
|
||||
### config/data/grub/background/background1280x800.png
|
||||
### config/grub/background/background1280x800.png
|
||||
|
||||
Used on all other machines, besides X60 and T60 thinkpads.
|
||||
|
||||
|
@ -772,11 +731,11 @@ example, `config/coreboot/x60/target.cfg` specifies this:
|
|||
|
||||
grub_background="background1024x768.png"
|
||||
|
||||
### config/data/grub/background/COPYING
|
||||
### config/grub/background/COPYING
|
||||
|
||||
Licensing info for GRUB bootsplash images.
|
||||
|
||||
### config/grub/TREE/config/
|
||||
### config/grub/config/
|
||||
|
||||
GRUB configuration files.
|
||||
|
||||
|
@ -788,7 +747,7 @@ Author info for GRUB configuration files.
|
|||
|
||||
Licensing info for GRUB configuration files.
|
||||
|
||||
### config/grub/TREE/config/grub.cfg
|
||||
### config/grub/config/grub.cfg
|
||||
|
||||
This is a configuration file. It is used to program GRUB's shell.
|
||||
|
||||
|
@ -802,7 +761,7 @@ A `grubtest.cfg` can be inserted into CBFS, but it will not override the
|
|||
default `grub.cfg` (either in CBFS or on memdisk); however, the one in memdisk
|
||||
will provide a menuentry for switching to this, if available.
|
||||
|
||||
### config/data/grub/config/memdisk.cfg
|
||||
### config/grub/config/grub\_memdisk.cfg
|
||||
|
||||
This GRUB configuration checks whether `grub.cfg` exists in CBFS and switches
|
||||
to that first (not provided by default) or, if one is not available in CBFS,
|
||||
|
@ -812,12 +771,12 @@ The GRUB memdisk is a file system within `grub.elf`, itself stored within the
|
|||
coreboot file system named *CBFS*, which is part of the coreboot ROM image on
|
||||
every coreboot target.
|
||||
|
||||
### config/data/grub/keymap/
|
||||
### config/grub/keymap/
|
||||
|
||||
Keymap files used by GRUB. They can alter the character set corresponding to
|
||||
inputted scancodes.
|
||||
|
||||
### config/data/grub/keymap/\*.gkb
|
||||
### config/grub/keymap/\*.gkb
|
||||
|
||||
The keymap files themselves. These are inserted into the GRUB memdisk, and
|
||||
the `grub.cfg` file can specify which one is to be used.
|
||||
|
@ -826,7 +785,7 @@ These files are binary-encoded, defining which characters correspond to which
|
|||
scancodes. It is handled by `grub-core/commands/keylayouts.c` in the GRUB source
|
||||
code.
|
||||
|
||||
### config/grub/TREE/modules.list
|
||||
### config/grub/modules.list
|
||||
|
||||
This defines which modules are inserted into `grub.elf`. These modules can be
|
||||
anything from file systems, small applications/utilities, launchers (e.g.
|
||||
|
@ -992,56 +951,6 @@ Another interesting config option is `CONFIG_POSITION_INDEPENDENT` for ARM
|
|||
boards, which has been so far enabled in the ones `lbmk` supports, just to be
|
||||
safe.
|
||||
|
||||
config/submodule
|
||||
----------------
|
||||
|
||||
In here you can find submodule configurations for projects. It works for both
|
||||
single- and multi-tree projects. Use the existing examples as reference.
|
||||
|
||||
Files, in each directory:
|
||||
|
||||
* `module.list` lists paths (files and directories) for given modules, which
|
||||
can be files(via URL) or Git repositories, or both.
|
||||
* NAME/module.cfg
|
||||
|
||||
NAME is the file/directory name for the module, with everything up to the
|
||||
final forward slash removed. E.g. foo/bar/thing.zip would be thing.zip as
|
||||
NAME.
|
||||
|
||||
In `module.cfg` there can be either, file:
|
||||
|
||||
```
|
||||
subfile="url"
|
||||
subfile_bkup="url"
|
||||
subhash="sha512sum for file"
|
||||
```
|
||||
|
||||
or, git repository:
|
||||
|
||||
```
|
||||
subrepo="url"
|
||||
subrepo_bkup="url"
|
||||
subhash="sha1 git commit id"
|
||||
```
|
||||
|
||||
You must only use `subfile` or `subrepo`, not both, and there must be a backup
|
||||
URL. The build system intentionally *avoids* using Git's actual submodules
|
||||
feature, instead opting to download such repositories manually, because the
|
||||
official submodules feature doesn't have very good redundancy.
|
||||
|
||||
Additionally, a `patches` directory can be included alongside `module.cfg`,
|
||||
which can be used to patch the submodule (only supported for Git repositories
|
||||
because files are not extracted, only placed at their configured destination).
|
||||
|
||||
The destination path in `module.list` is relative to the location of the main
|
||||
Git repository under which it is placed.
|
||||
|
||||
config/data/PROJECT
|
||||
-------------------
|
||||
|
||||
Random configuration data provided on a per-project basis. Complements
|
||||
the `config/PROJECT` directory.
|
||||
|
||||
U-Boot build system
|
||||
-------------------
|
||||
|
||||
|
@ -1106,37 +1015,44 @@ Scripts in root directory of lbmk
|
|||
build
|
||||
---------------
|
||||
|
||||
This is the main script. Symlinks `vendor` and `update` also point to it.
|
||||
This is the main script in lbmk, Libreboot's build system. It is what executes
|
||||
all other parts of the Libreboot build system. The rules are as follows:
|
||||
|
||||
Take any given file under `script/` and you can do:
|
||||
* Argument zero, representing the name of the symlink, will be used to
|
||||
execute `script/LINKNAME/COMMAND` - for example: `./build roms all`
|
||||
would execute `script/build/roms all` in `sh`.
|
||||
* In the above example, `LINKNAME` could also be `vendor`. In examples below,
|
||||
symlinks are described pointing to `build` (the actual script). The script
|
||||
works by checking argument zero, so it would look in a different directory
|
||||
under `script/` matching `LINKNAME` - in this case, `script/vendor/`
|
||||
* `TMPDIR` is exclicitly set, providing a constant location where temporary
|
||||
files and directories can be made. `TMPDIR` is exported by the parent to
|
||||
all children; for example, `./build roms all` would export it
|
||||
to `script/build/roms`, and then anything called by *that* will also
|
||||
inherit it - the main parent process running `lbmk` will then clean up this
|
||||
`TMPDIR` directory upon any exit.
|
||||
* All exits from lbmk are handled by this script. *All* exits, zero or non-zero,
|
||||
are engineered such that *this* script, in the parent process (the very first
|
||||
instance) is what ultimately exits back to the user's shell prompt.
|
||||
* This script is programmed to *exit* with non-zero status, when run as root,
|
||||
unless the `./build dependencies *` commands are used,
|
||||
referencing files under `config/dependencies/`
|
||||
* Under fault conditions, each child process shall output to stderr, and the
|
||||
main parent process running `lbmk` will output the final error message.
|
||||
|
||||
./build file # (THIS IS NOT A VALID COMMAND)
|
||||
tl;dr break this script and you *break Libreboot*.
|
||||
|
||||
For example:
|
||||
update
|
||||
---------------
|
||||
|
||||
./build roms
|
||||
./update trees
|
||||
Symbolic link, pointing to the `build` script. This is executed by the user, or
|
||||
by lbmk, referencing scripts under `script/update/`.
|
||||
|
||||
Special commands available (not provided by files under `script/`):
|
||||
vendor
|
||||
---------------
|
||||
|
||||
./update release
|
||||
./vendor download
|
||||
./vendor inject
|
||||
|
||||
The `vendor` commands are handled by the `build` script, calling functions
|
||||
inside `include/vendor.sh`, and the `./update release` logic is handled
|
||||
directly by the `build` script.
|
||||
|
||||
More information about `./vendor` commands can be found
|
||||
here: [inserting vendor files](../install/ivy_has_internal.md)
|
||||
|
||||
Information about `./update release` is written elsewhere on this page.
|
||||
|
||||
You can also know what build system revision you have by running:
|
||||
|
||||
./build version
|
||||
|
||||
This script is the beating heart of Libreboot. Break it and you break Libreboot.
|
||||
Symbolic link, pointing to the `build` script. This is executed by the user, or
|
||||
by lbmk, referincing scripts under `script/vendor/`
|
||||
|
||||
include/
|
||||
===============
|
||||
|
@ -1145,6 +1061,27 @@ 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
|
||||
--------------
|
||||
|
||||
|
@ -1171,31 +1108,37 @@ it is provided as an include to bypass license incompatibility. It has been
|
|||
heavily modified to use the same style of logic and general control flow used
|
||||
in the script at `script/vendor/download`, and it is used from there.
|
||||
|
||||
include/lib.sh
|
||||
include/option.sh
|
||||
---------------
|
||||
|
||||
Functions used by scripts under `script/vendor/`, for checking defconfig
|
||||
files. These files are checked because the scripts need to know whether a given
|
||||
file is used; if it is, a path is then specified in defconfig, telling the vendor
|
||||
script either where it is, or where it should be downloaded to.
|
||||
|
||||
Several other parts of lbmk also use this file. It is added to as little as
|
||||
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/
|
||||
=======
|
||||
|
||||
script/roms
|
||||
-----------
|
||||
*All* scripts under `script/` are executed only by the main `lbmk` script,
|
||||
conforming to the standard `buildpath/option` e.g. `build/roms` - so,
|
||||
running `./build roms` would run `script/build/roms`.
|
||||
|
||||
script/build/
|
||||
---------------
|
||||
|
||||
These are highly specialised build scripts, written for specific tasks, almost
|
||||
entirely in the context of building firmware images themselves, but some utils
|
||||
are also handled.
|
||||
|
||||
The scripts that create release archives are also located under this directory.
|
||||
|
||||
### script/build/roms
|
||||
|
||||
This builds coreboot ROM images.
|
||||
|
||||
|
@ -1237,6 +1180,28 @@ It creates ROM images with GRUB, SeaBIOS, U-Boot, optionally with Memtest86+
|
|||
also included, in various separate configurations in many different ROM images
|
||||
for user installation.
|
||||
|
||||
The `romtype` entry in `target.cfg` tells this script what to do with the ROM,
|
||||
after it has been built. Currently, it operates based on these possible values
|
||||
for `romtype`:
|
||||
|
||||
* `d8d16sas` will cause *fake* (empty) files named `pci1000,0072.rom`
|
||||
and `pci1000,3050.rom` to be inserted in CBFS. This prevents SeaBIOS from
|
||||
loading or executing the option ROM stored on PIKE2008 modules, present on
|
||||
certain configurations with the ASUS KCMA-D8 or KGPE-D16 mainboards. Those
|
||||
option ROMs cause the system to hang, so they should never be executed (this
|
||||
means however that booting Linux kernels from SAS devices is impossible on
|
||||
those boards, unless a Linux payload is used; Linux can use those SAS drives,
|
||||
without relying on the PIKE2008 option ROMs). When SeaBIOS runs, it will
|
||||
default to loading the corresponding option ROM from CBFS, if it exists, for
|
||||
a given PCI device, overriding whatever option ROM is present on the device
|
||||
itself, but if the option ROM is invalid/empty, SeaBIOS will not attempt to
|
||||
load another one, until the empty/invalid one (in CBFS) is deleted.
|
||||
* `i945 laptop`: in this configuration, the upper 64KB section of the ROM is
|
||||
copied into the 64KB section below that. This results in there being two
|
||||
bootblocks in the ROM, and you can decide which one is used by setting `bucts`
|
||||
* If no declaration is made, or a declaration is made contrary to the above,
|
||||
no special modifications will be made.
|
||||
|
||||
If no payload is defined in `target.cfg`, the `build/roms` script will exit
|
||||
with error status.
|
||||
|
||||
|
@ -1265,25 +1230,71 @@ 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!
|
||||
|
||||
Serprog images:
|
||||
### 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
|
||||
|
||||
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 roms serprog stm32`
|
||||
Example command: `./build serprog stm32`
|
||||
|
||||
Example command: `./build roms serprog rp2040`
|
||||
Example command: `./build serprog rp2040`
|
||||
|
||||
The `list` argument is available:
|
||||
|
||||
./build roms serprog stm32 list
|
||||
./build roms serprog rp2040 list
|
||||
./build serprog stm32 list
|
||||
|
||||
Without arguments, all targets would be compiled, but you can specify a short
|
||||
list of targets instead, based on the output of `list`.
|
||||
|
||||
script/trees
|
||||
------------
|
||||
script/update/
|
||||
--------------
|
||||
|
||||
This handles most actual building of source trees, called into by scripts
|
||||
under `script/build/fw` - it also contains logic for downloading source trees
|
||||
or vendor files.
|
||||
|
||||
### script/update/release
|
||||
|
||||
This script builds the release archives, which are then provided in a new
|
||||
Libreboot release. Most users do not need to look at this file at all, but it
|
||||
is provided under free license for curious souls.
|
||||
|
||||
Command: `./update release`
|
||||
|
||||
NOTE: if the `-d` option is used, you can specify a directory other
|
||||
than `release`. For example:
|
||||
|
||||
./update release -d /media/stuff/libreboot_release_test
|
||||
|
||||
If `-d` is not passed, they will go under `release/` in your lbmk repository.
|
||||
The script is engineered to re-initialise git if ran from a release archive.
|
||||
Libreboot releases after 20230625 include `.gitignore` in the src archive.
|
||||
|
||||
This builds release archives, containing ROM images for coreboot and/or serprog
|
||||
programmers. It works simply: lbmk clones *itself*, and builds itself in its
|
||||
clone, then cleans itself up and creates tarballs. If you run this script, you
|
||||
should expect it to take at least 4 hours; slower on really old systems. On
|
||||
really fast systems, it might take 2-3 hours.
|
||||
|
||||
NOTE: This script *scrubs* certain vendor firmware from release ROMs, such as
|
||||
Intel ME or MRC firmware. The release ROMs shall then exclude these files
|
||||
within them, requiring manual insertion by the user post-release. See:
|
||||
|
||||
[Insert vendor files
|
||||
on Sandybridge/Ivybridge/Haswell](../install/ivy_has_common.md)
|
||||
|
||||
### script/update/trees
|
||||
|
||||
*This* is the other beating heart of Libreboot. Used heavily by Libreboot, this
|
||||
script is what handles defconfig files for SeaBIOS, U-Boot *and* coreboot; it
|
||||
|
@ -1403,3 +1414,37 @@ All of this used to about 20 different scripts, all with much-duplicated logic.
|
|||
Now it is unified, efficiently, under a single script.
|
||||
|
||||
Remember: code equals bugs, so less code equals fewer bugs.
|
||||
|
||||
script/vendor/
|
||||
--------------
|
||||
|
||||
### script/vendor/download
|
||||
|
||||
This downloads vendor code when needed, on a given coreboot target. It does
|
||||
this by scanning the defconfig files of that board, to know where the files
|
||||
are (or where they should be) within lbmk. Based on this, it then knows which
|
||||
files to download.
|
||||
|
||||
These files are then inserted at build time by the coreboot build system (as
|
||||
defined by defconfigs), or post-release by running the `inject` script.
|
||||
|
||||
It looks inside `config/vendor/` at the files in there, concatenating them and
|
||||
then scanning that to find info about the given board; for example, info like
|
||||
where to download a Lenovo BIOS updater to extract `me.bin` from, to run through
|
||||
the `me_cleaner` program.
|
||||
|
||||
More information is available [here](../install/ivy_has_common.md).
|
||||
|
||||
This script is executed automatically, when you compile ROM images, if the given
|
||||
mainboard requires vendor code to be inserted. In this way, you do not need to
|
||||
manually extract such files from your original vendor image.
|
||||
|
||||
### script/vendor/inject
|
||||
|
||||
This is not used during the build process, but it can be run by the user on
|
||||
release ROMs (which do not contain non-redistributable code handled by these
|
||||
vendor scripts, even if they are required). This script inserts those files
|
||||
into the coreboot ROM image; if you're building from source, using lbmk, you
|
||||
do not need to run the inject script at all.
|
||||
|
||||
More information is available [here](../install/ivy_has_common.md).
|
||||
|
|
|
@ -2,9 +2,6 @@
|
|||
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)
|
||||
|
||||
|
@ -96,7 +93,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, flashprog will let you know the size of the flash chip you're flashing.
|
||||
Thankfully, flashrom 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,9 +2,6 @@
|
|||
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.
|
||||
|
@ -93,7 +90,7 @@ libreboot як `плата.`
|
|||
|
||||
Різні плати мають різні налаштування чіпів флеш-пам'яті.
|
||||
Загалом, ви маєте один або два флеш-пам'яті з сумарним розміром в 4-16Мбайт.
|
||||
На щастя, flashprog дасть вам знати розмір флеш-чіпа, який ви прошиваєте.
|
||||
На щастя, flashrom дасть вам знати розмір флеш-чіпа, який ви прошиваєте.
|
||||
Наприклад: коли прошиваєте X230, ви побачите, що один чіп 8192, та інший 4096.
|
||||
Сумарний розмір rom тоді має бути встановлено на 12Мбайт.
|
||||
|
||||
|
|
|
@ -23,16 +23,16 @@ In order to test the resulting roms, you must have qemu installed on the host ma
|
|||
Test the roms by pointing qemu to the rom in bios mode.
|
||||
For example:
|
||||
|
||||
`qemu-system-x86_64 -bios bin/qemu_x86_12mb/grub_qemu_x86_12mb_libgfxinit_corebootfb_usqwerty.rom`
|
||||
`qemu-system-x86_64 -bios bin/qemu_x86_12mb/grub_qemu_x86_12mb_libgfxinit_corebootfb_usqwerty_noblobs.rom`
|
||||
|
||||
`qemu-system-x86_64 -bios bin/qemu_x86_12mb/uboot_payload_qemu_x86_12mb_libgfxinit_corebootfb.rom -serial stdio`
|
||||
`qemu-system-x86_64 -bios bin/qemu_x86_12mb/uboot_payload_qemu_x86_12mb_libgfxinit_corebootfb_noblobs.rom -serial stdio`
|
||||
|
||||
There is basic support for an arm64 virtual machine as well, although the payloads are not as developed as the x86 one:
|
||||
|
||||
./build roms qemu_arm64_12mb
|
||||
|
||||
```
|
||||
qemu-system-aarch64 -bios bin/qemu_arm64_12mb/uboot_payload_qemu_arm64_12mb_libgfxinit_corebootfb.rom \
|
||||
qemu-system-aarch64 -bios bin/qemu_arm64_12mb/uboot_payload_qemu_arm64_12mb_libgfxinit_corebootfb_noblobs.rom \
|
||||
-M virt,secure=on,virtualization=on,acpi=on -cpu cortex-a53 -m 768M -serial stdio -vga none -display none
|
||||
```
|
||||
|
||||
|
|
|
@ -11,17 +11,6 @@ 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
|
||||
--------------
|
||||
|
||||
|
@ -31,41 +20,26 @@ LIBREBOOT](news/safety.md).**
|
|||
GPG signing key
|
||||
---------------
|
||||
|
||||
**The latest release is Libreboot 20240612, under the `stable` directory.**
|
||||
**The latest release is Libreboot 20231101, under the `testing` directory.**
|
||||
|
||||
### NEW KEY
|
||||
|
||||
Full key fingerprint: `8BB1 F7D2 8CF7 696D BF4F 7192 5C65 4067 D383 B1FF`
|
||||
Full key fingerprint: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856`
|
||||
|
||||
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.
|
||||
This key is for Libreboot releases *after* the 20160907 release.
|
||||
|
||||
Download the key here: [lbkey.asc](lbkey.asc)
|
||||
|
||||
Libreboot releases are signed using GPG.
|
||||
|
||||
### 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:
|
||||
### 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](lbkeyoldold.asc).
|
||||
pubkey: [lbkeyold.asc](lbkeyold.asc).
|
||||
|
||||
sha512sum -c sha512sum.txt
|
||||
gpg --verify sha512sum.txt.sig
|
||||
|
@ -83,18 +57,18 @@ there is a Git repository that you can download from. Go here:
|
|||
HTTPS mirrors {#https}
|
||||
-------------
|
||||
|
||||
**The latest release is Libreboot 20240612, under the `stable` directory.**
|
||||
**The latest release is Libreboot 20231101, under the `testing` 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)
|
||||
|
@ -107,7 +81,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.website/libreboot/> (shapovalov.website, Ukraine)
|
||||
* <rsync://rsync.shapovalov.tech/libreboot/> (shapovalov.tech, 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)
|
||||
|
@ -174,7 +148,7 @@ crontab. This page tells you how to use crontab:
|
|||
HTTP mirrors {#http}
|
||||
------------
|
||||
|
||||
**The latest release is Libreboot 20240612, under the `stable` directory.**
|
||||
**The latest release is Libreboot 20231101, under the `testing` directory.**
|
||||
|
||||
WARNING: these mirrors are non-HTTPS which means that they are
|
||||
unencrypted. Your traffic could be subject to interference by
|
||||
|
@ -188,7 +162,7 @@ if using HTTPS.
|
|||
FTP mirrors {#ftp}
|
||||
-----------
|
||||
|
||||
**The latest release is Libreboot 20240612, under the `stable` directory.**
|
||||
**The latest release is Libreboot 20231101, under the `testing` directory.**
|
||||
|
||||
WARNING: FTP is also unencrypted, like HTTP. The same risks are present.
|
||||
|
||||
|
@ -213,4 +187,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 `flashprog`.
|
||||
These executables are utilities such as `flashrom`.
|
||||
|
|
|
@ -11,17 +11,6 @@ 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
|
||||
--------------
|
||||
|
||||
|
@ -31,41 +20,26 @@ LIBREBOOT](news/safety.md).**
|
|||
Код підпису GPG
|
||||
---------------
|
||||
|
||||
**Останнім випуском є Libreboot 20240612, в директорії `stable`.**
|
||||
**Останнім випуском є Libreboot 20231101, в директорії `testing`.**
|
||||
|
||||
### НОВИЙ КЛЮЧ
|
||||
|
||||
Повний відбиток ключа: `8BB1 F7D2 8CF7 696D BF4F 7192 5C65 4067 D383 B1FF`
|
||||
Повний відбиток ключа: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856`
|
||||
|
||||
Вищезазначений ключ для 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.
|
||||
Вищезазначений ключ для Libreboot 20231101, та наступних випусків.
|
||||
|
||||
Завантажте ключ тут: [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 20240612 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](lbkeyoldold.asc).
|
||||
публічного ключа: [lbkeyold.asc](lbkeyold.asc).
|
||||
|
||||
sha512sum -c sha512sum.txt
|
||||
gpg --verify sha512sum.txt.sig
|
||||
|
@ -83,18 +57,18 @@ Libreboot 20240126.
|
|||
Дзеркала HTTPS {#https}
|
||||
-------------
|
||||
|
||||
**Останнім випуском є Libreboot 20240612, в директорії `stable`.**
|
||||
**Останнім випуском є Libreboot 20231101, в директорії `testing`.**
|
||||
|
||||
Дані дзеркала є рекомендованими, оскільки використовують 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, Франція)
|
||||
|
@ -107,7 +81,7 @@ Libreboot 20240126.
|
|||
* <rsync://rsync.mirrorservice.org/libreboot.org/release/> (Кентський університет,
|
||||
Великобританія)
|
||||
* <rsync://mirror.math.princeton.edu/pub/libreboot/> (Прінстонський університет, США)
|
||||
* <rsync://rsync.shapovalov.website/libreboot/> (shapovalov.website, Україна)
|
||||
* <rsync://rsync.shapovalov.tech/libreboot/> (shapovalov.tech, Україна)
|
||||
* <rsync://ftp.linux.ro/libreboot/> (linux.ro, Румунія)
|
||||
* <rsync://mirror.koddos.net/libreboot/> (koddos.net, Нідерланди)
|
||||
* <rsync://mirror-hk.koddos.net/libreboot/> (koddos.net, Гонконг)
|
||||
|
@ -174,7 +148,7 @@ crontab. Ця сторінка розповідає вам, як викорис
|
|||
Дзеркала HTTP {#http}
|
||||
------------
|
||||
|
||||
**Останнім випуском є Libreboot 20240612, під директорією `stable`.**
|
||||
**Останнім випуском є Libreboot 20231101, під директорією `testing`.**
|
||||
|
||||
УВАГА: ці дзеркала є не-HTTPS, що означає, що вони
|
||||
незашифровані. Ваш трафік може бути об'єктом втручання
|
||||
|
@ -188,7 +162,7 @@ crontab. Ця сторінка розповідає вам, як викорис
|
|||
Дзеркала FTP {#ftp}
|
||||
-----------
|
||||
|
||||
**Останнім випуском є Libreboot 20240612, під директорією `stable`.**
|
||||
**Останнім випуском є Libreboot 20231101, під директорією `testing`.**
|
||||
|
||||
УВАГА: FTP є також незашифрованим, подібно HTTP. Ті ж самі ризики присутні.
|
||||
|
||||
|
@ -213,4 +187,4 @@ Libreboot включає статично зв'язані виконувані
|
|||
випуски натомість автоматизують встановлення залежностей побудови, з інструкцієї
|
||||
в документації для побудови різних утиліт з джерельного коду.
|
||||
|
||||
Ці виконувані файли є утилітами, подібними `flashprog`.
|
||||
Ці виконувані файли є утилітами, подібними `flashrom`.
|
||||
|
|
92
site/faq.md
92
site/faq.md
|
@ -3,25 +3,27 @@ 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
|
||||
------------------------------------
|
||||
|
||||
|
@ -58,15 +60,15 @@ if you are interested in testing roms before they are released.
|
|||
Flashrom complains about DEVMEM access
|
||||
--------------------------------------
|
||||
|
||||
If running `flashprog -p internal` for software based flashing, and
|
||||
If running `flashrom -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 flashprog, or use a kernel
|
||||
`iomem=relaxed` kernel parameter before running flashrom, or use a kernel
|
||||
that has `CONFIG_STRICT_DEVMEM` and `CONFIG_IO_STRICT_DEVMEM` not enabled.
|
||||
|
||||
Example flashprog output with both `CONFIG_STRICT_DEVMEM` and `CONFIG_IO_STRICT_DEVMEM` enabled:
|
||||
Example flashrom output with both `CONFIG_STRICT_DEVMEM` and `CONFIG_IO_STRICT_DEVMEM` enabled:
|
||||
```
|
||||
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
|
||||
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
|
||||
|
||||
Calibrating delay loop... OK.
|
||||
Error accessing high tables, 0x100000 bytes at 0x000000007fb5d000
|
||||
|
@ -76,8 +78,8 @@ Error accessing DMI Table, 0x1000 bytes at 0x000000007fb27000
|
|||
/dev/mem mmap failed: Operation not permitted
|
||||
```
|
||||
|
||||
Uneven backlight on GM45 ThinkPads
|
||||
----------------------------------
|
||||
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
|
||||
---------------------------------------------------------------------------------------------------------------
|
||||
|
||||
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
|
||||
|
@ -86,8 +88,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).
|
||||
|
||||
GM45 thinkpad ethernet port doesn't autoconnect
|
||||
-----------------------------------------------
|
||||
The ethernet doesn't work on my X200/T400/X60/T60 when I plug in it
|
||||
-------------------------------------------------------------------
|
||||
|
||||
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
|
||||
|
@ -103,8 +105,8 @@ On systemd-based distros, you might try:
|
|||
(the service name might be different for you, depending on your
|
||||
configuration)
|
||||
|
||||
PIKE2008 module hangs KGPE-D16 / KCMA-D8
|
||||
-----------------------------------------
|
||||
My KCMA-D8 or KGPE-D16 doesn't boot with the PIKE2008 module installed
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
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
|
||||
|
@ -624,7 +626,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=flashprogread.rom of=yourrom.rom ibs=14MiB skip=1
|
||||
dd if=flashromread.rom of=yourrom.rom ibs=14MiB skip=1
|
||||
|
||||
With padding removed cbfstool will be able to operate on the image as usual.
|
||||
|
||||
|
@ -957,44 +959,6 @@ 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,25 +3,27 @@ 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 з джерельного коду
|
||||
------------------------------------
|
||||
|
||||
|
@ -44,15 +46,15 @@ operates Minifree Ltd; sales provide funding for the Libreboot project.
|
|||
Flashrom скаржиться на доступ DEVMEM
|
||||
--------------------------------------
|
||||
|
||||
Якщо запущено `flashprog -p internal` для програмної перепрошивки та
|
||||
Якщо запущено `flashrom -p internal` для програмної перепрошивки та
|
||||
ви отримуєте помилку, пов'язану з доступом до /dev/mem, вам слід перезавантажити систему з
|
||||
параметром ядра `iomem=relaxed` перед виконанням flashprog, або використовуйте ядро,
|
||||
параметром ядра `iomem=relaxed` перед виконанням flashrom, або використовуйте ядро,
|
||||
для якого не ввімкнено `CONFIG_STRICT_DEVMEM` та `CONFIG_IO_STRICT_DEVMEM`.
|
||||
|
||||
Приклад виводу flashprog з обома `CONFIG_STRICT_DEVMEM` та `CONFIG_IO_STRICT_DEVMEM` ввімкненими:
|
||||
Приклад виводу flashrom з обома `CONFIG_STRICT_DEVMEM` та `CONFIG_IO_STRICT_DEVMEM` ввімкненими:
|
||||
```
|
||||
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
|
||||
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
|
||||
|
||||
Calibrating delay loop... OK.
|
||||
Error accessing high tables, 0x100000 bytes at 0x000000007fb5d000
|
||||
|
@ -62,7 +64,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
|
||||
---------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Ми не знаємо, як визначити правильне значення ШІМ для використання в
|
||||
|
@ -646,7 +648,7 @@ ROM та флеш-чіпом. Випадок вище, наприклад:
|
|||
наведені вище приклади, щоб видобути ROM без дескрипторів 2 МБ x86 із доповненого
|
||||
образа 16 МБ, виконайте наступне:
|
||||
|
||||
dd if=flashprogread.rom of=вашrom.rom ibs=14MiB skip=1
|
||||
dd if=flashromread.rom of=вашrom.rom ibs=14MiB skip=1
|
||||
|
||||
Після видалення заповнення cbfstool зможе працювати із образом як зазвичай.
|
||||
|
||||
|
@ -979,44 +981,6 @@ 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,7 +2,6 @@
|
|||
-------------------------------------------------------------------------------
|
||||
|
||||
* [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)
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
-------------------------------------------------------------------------------
|
||||
|
||||
* [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)
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
-------------------------------------------------------------------------------
|
||||
|
||||
* [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)
|
||||
|
|
|
@ -2,13 +2,12 @@
|
|||
-------------------------------------------------------------------------------
|
||||
|
||||
* [Політика бінарних блобів](/news/policy.md)
|
||||
* [Статус свободи](/freedom-status.md)
|
||||
* [Редагувати цю сторінку](/git.md)
|
||||
* [Хто розробляє Libreboot?](/who.uk.md)
|
||||
* [Ліцензія](/license.md)
|
||||
* [Шаблон](/template-license.uk.md)
|
||||
* [Логотип](/logo-license.uk.md)
|
||||
* [Автори](/contrib.md)
|
||||
* [Автори](/contrib.uk.md)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
-------------------------------------------------------------------------------
|
||||
|
||||
* [二进制 blob 政策](/news/policy.md)
|
||||
* [自由度现状](/freedom-status.md)
|
||||
* [编辑本页面](/git.md)
|
||||
* [谁在开发 Libreboot?](/who.md)
|
||||
* [许可证](/license.md)
|
||||
|
|
|
@ -214,7 +214,7 @@ Mostly free software, except for the requirement on `daisy` and `peach` mainboar
|
|||
to include BL1 bootloader files from the vendor. These are:
|
||||
|
||||
* HP Chromebook 11 G1 (daisy-spring) **(board removed from Libreboot, due to
|
||||
issues (will be re-added at a later date))**
|
||||
issues (will be re-added at a later date)**
|
||||
* Samsung Chromebook XE303 (daisy-snow) **(ditto)**
|
||||
* Samsung Chromebook 2 13” (peach-pi) **(ditto)**
|
||||
* Samsung Chromebook 2 11” (peach-pit) **(ditto)**
|
||||
|
@ -239,12 +239,11 @@ Intel/x86
|
|||
### Intel ME:
|
||||
|
||||
Neutered ME required on these targets: `t420_8mb`, `t420s_8mb`, `t430_12mb`,
|
||||
`t440plibremrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`,
|
||||
`w541_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`,
|
||||
`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`,
|
||||
`hp820g2_12mb`, `t1650_12mb` and the OptiPlex 9020 ports, also
|
||||
Sandybridge/Ivybridge/Haswell Dell Latitude.
|
||||
`hp2570p_16mb`, `hp8300usdt_16mb`, `hp2170p_16mb`, `hp9470m_16mb`
|
||||
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
|
||||
|
|
|
@ -330,11 +330,10 @@ Intel/x86
|
|||
### Intel ME:
|
||||
|
||||
Нейтралізований ME потрібен на цих цілях: `t420_8mb`, `t420s_8mb`, `t430_12mb`,
|
||||
`t440plibremrc_12mb`, `t520_8mb`, `t530_12mb`, `w530_12mb`,
|
||||
`w541_12mb`, `x220_8mb`, `x230_12mb`, `x230_16mb`,
|
||||
`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`, `hp820g2_12mb`, `t1650_12mb` та
|
||||
Dell OptiPlex 9020, Sandybridge/Ivybridge/Haswell Dell Latitude.
|
||||
`hp2570p_16mb`, `hp2170p_16mb`, `hp9470m_16mb` та `t1650_12mb`.
|
||||
|
||||
Як заявлено, Libreboot надає це в стані, де ME більше не є
|
||||
загрозою для безпеки. Він ініціалізує себе, але потім нічого не робить, тому його
|
||||
|
|
|
@ -252,14 +252,6 @@ 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
|
||||
===================
|
||||
|
||||
|
@ -269,7 +261,6 @@ 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>
|
||||
|
@ -295,7 +286,6 @@ 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,14 +232,6 @@ 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
|
||||
===================
|
||||
|
||||
|
@ -249,7 +241,6 @@ 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>
|
||||
|
@ -275,7 +266,6 @@ 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,14 +232,6 @@ 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
|
||||
===================
|
||||
|
||||
|
@ -249,7 +241,6 @@ The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreb
|
|||
Ви можете виконати `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>
|
||||
|
@ -275,7 +266,6 @@ The email address is [~libreboot/libreboot@lists.sr.ht](mailto:~libreboot/libreb
|
|||
Ви можете виконати `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](https://writefreesoftware.org/) *Boot
|
||||
eine [freie](freedom-status.md) *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,15 +15,9 @@ 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>
|
||||
|
||||
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 20240612, veröffentlicht
|
||||
am 12. June 2024.
|
||||
Siehe auch: [Libreboot 20240612 release announcement](news/libreboot20240612.md).**
|
||||
**NEUESTE VERSION: Die neueste Version von Libreboot ist 20231101, veröffentlicht
|
||||
am 1. November 2023.
|
||||
Siehe auch: [Libreboot 20231101 release announcement](news/libreboot20231101.md).**
|
||||
|
||||
Warum solltest Du *Libreboot* verwenden?
|
||||
----------------------------
|
||||
|
@ -71,7 +65,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
|
||||
ein script ausführen, und es wird komplette ROM Images herstellen, ohne das Benutzer
|
||||
`make` 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é](https://writefreesoftware.org/)
|
||||
Libreboot est un micrologiciel de démarrage [libéré](freedom-status.md)
|
||||
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,14 +13,8 @@ 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>
|
||||
|
||||
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 20240612](news/libreboot20240612.md), sortie
|
||||
le 12 June 2024.**
|
||||
**NOUVELLE VERSION: La dernière version est [Libreboot 20231101](news/libreboot20231101.md), sortie
|
||||
le 1 novembre 2023.**
|
||||
|
||||
Pourquoi devriez-vous utiliser *Libreboot*?
|
||||
-----------------------------------
|
||||
|
@ -68,7 +62,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
|
||||
and a script etça compilera une image ROM entières. Le système de compilation
|
||||
`make` 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](https://writefreesoftware.org/)
|
||||
Il progetto *Libreboot* fornisce avvio [libero e open source](freedom-status.md)
|
||||
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,14 +14,8 @@ 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>
|
||||
|
||||
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 20240612, rilasciato il 12 June 2024.
|
||||
Vedi: [Libreboot 20240612 annuncio di rilascio](news/libreboot20240612.md).**
|
||||
**ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 20231101, rilasciato il 1 novembre 2023.
|
||||
Vedi: [Libreboot 20231101 annuncio di rilascio](news/libreboot20231101.md).**
|
||||
|
||||
Per quale ragione utilizzare *Libreboot*?
|
||||
-----------------------------------------
|
||||
|
@ -66,7 +60,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 *a script*,
|
||||
che puoi scaricare da Git o da un archivio di codici sorgenti, puoi far partire `make`,
|
||||
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.
|
||||
|
|
120
site/index.md
120
site/index.md
|
@ -4,114 +4,56 @@ x-toc-enable: true
|
|||
...
|
||||
|
||||
The *Libreboot* project provides
|
||||
[free, open source](https://writefreesoftware.org/) (*libre*) boot
|
||||
[free, open source](freedom-status.md) (*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. The [tasks page](tasks/) lists what
|
||||
we are working on (contributions are welcome, if you want to work on some of
|
||||
them yourself).
|
||||
on [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>
|
||||
|
||||
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 20231101, released on
|
||||
1 November 2023.
|
||||
See: [Libreboot 20231101 release announcement](news/libreboot20231101.md).**
|
||||
|
||||
**NEW RELEASE: The latest release is Libreboot 20240612, released on
|
||||
12 June 2024.
|
||||
See: [Libreboot 20240612 release announcement](news/libreboot20240612.md).**
|
||||
Why should you use *Libreboot*?
|
||||
----------------------------
|
||||
|
||||
Libreboot gives you [freedoms](https://writefreesoftware.org/) that
|
||||
you otherwise can't get with most other boot firmware, plus faster boot speeds
|
||||
and [better security](docs/linux/grub_hardening.md). It's extremely powerful
|
||||
and [configurable](docs/maintain/) for many use cases.
|
||||
|
||||
*We* believe the freedom to [study, share, modify and use
|
||||
software](https://writefreesoftware.org/), without any
|
||||
restriction, is one of the fundamental human rights that everyone must have.
|
||||
In this context, *software freedom* matters. Your freedom matters. Education
|
||||
matters.
|
||||
[Right to repair](https://yewtu.be/watch?v=Npd_xDuNi9k) matters; Libreboot lets
|
||||
you continue to use your hardware, with continued firmware updates. All of this
|
||||
is *why* Libreboot exists.
|
||||
|
||||
Overview of Libreboot design
|
||||
============================
|
||||
|
||||
<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 provides [coreboot](https://coreboot.org/) for [machine
|
||||
initialisation](https://doc.coreboot.org/getting_started/architecture.html),
|
||||
which then jumps to a [payload](https://doc.coreboot.org/payloads.html) in
|
||||
the boot flash; coreboot works with many programs, but Libreboot specifically
|
||||
provides SeaBIOS, GNU GRUB and U-Boot as options. Memtest86+ is also provided
|
||||
in flash, on some mainboards. The payload is the program in flash that provides
|
||||
the early user interface, for booting an operating system. This *payload*
|
||||
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 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
|
||||
regular binary releases that provide pre-compiled ROM images for installation
|
||||
on supported hardware. Without automation such as that provided by Libreboot,
|
||||
coreboot would be inaccessible for most users; you can also
|
||||
still [reconfigure](docs/maintain/) Libreboot however you wish.
|
||||
|
||||
Why use Libreboot?
|
||||
==================
|
||||
|
||||
<img tabindex=1 class="r" style="max-width:25%;" src="https://av.libreboot.org/hp2170p/hp2170p.jpg" /><span class="f"><img src="https://av.libreboot.org/hp2170p/hp2170p.jpg" /></span>
|
||||
|
||||
If you're already inclined towards free software, maybe already a coreboot user,
|
||||
Libreboot makes it easier to either get started or otherwise maintain coreboot
|
||||
on your machine, via build automation. It provides regular tested releases,
|
||||
pre-assembled, often with certain patches on top of coreboot (and other code)
|
||||
to ensure stability. By comparison, coreboot uses a rolling-release model, with
|
||||
a snapshot of the codebase every few months; it is very much developer-oriented,
|
||||
whereas Libreboot is specifically crafted for end users. In other words, the
|
||||
purpose of Libreboot is to *Just Work*. Direct configuration and installation
|
||||
of coreboot is also possible, but Libreboot makes it *much* easier.
|
||||
|
||||
Libreboot gives you [freedoms](https://writefreesoftware.org/) that
|
||||
you otherwise can't get with most other boot firmware, plus faster boot speeds
|
||||
and [better security](docs/linux/grub_hardening.md). It's extremely powerful
|
||||
and [configurable](docs/maintain/) for many use cases. If you're unhappy with
|
||||
the restrictions (not to mention, security issues) imposed on you by proprietary
|
||||
BIOS vendors, then Libreboot is one possible choice for you. Since it inherits
|
||||
coreboot, it doesn't have any known backdoors in the code, nor does it contain
|
||||
legacy cruft from the 1980s. Libreboot provides a sleek, fast boot experience
|
||||
for Linux/BSD systems, based on coreboot which is regularly audited and improved.
|
||||
|
||||
Libreboot is more reliable than proprietary firmware. Many people use proprietary
|
||||
(non-libre) boot firmware, even if they use [a libre OS](https://www.openbsd.org/).
|
||||
[Right to repair](https://yewtu.be/watch?v=Npd_xDuNi9k) matters.
|
||||
Many people use proprietary (non-libre)
|
||||
boot firmware, even if they use [a libre OS](https://www.openbsd.org/).
|
||||
Proprietary firmware often [contains](faq.html#intel) [backdoors](faq.html#amd),
|
||||
and can be buggy. The Libreboot project was founded in December 2013, with the
|
||||
express purpose of making coreboot firmware accessible for non-technical users.
|
||||
|
||||
Libreboot is a community-oriented project, with a focus on helping users escape
|
||||
proprietary boot firmware; we ourselves want to live in a world where all software
|
||||
is [free](https://writefreesoftware.org/), and so, Libreboot is an effort to
|
||||
help get closer to that world. Unlike the big vendors, we don't try to stifle
|
||||
you in any way, nor do we see you as a security threat; we regard the ability
|
||||
to use, study, modify and redistribute software freely to be a human right that
|
||||
everyone must have. Extended to computers, these are products that you purchased,
|
||||
and so you should have the freedom to change them in any way you like. When you
|
||||
see Intel talk about their *Boot Guard* (which prevents coreboot by only letting
|
||||
firmware signed by them be executed) or other vendors imposing similar
|
||||
restrictions, and you hear them talk about "security", they are only talking
|
||||
about *their* security, not yours. In the Libreboot project, it is reversed; we
|
||||
see Intel Boot Guard and similar such technologies as an attack on your freedom
|
||||
over your own property (your computer), and so, we make it our mission to help
|
||||
you [wrest](https://trmm.net/TOCTOU/) back such control.
|
||||
The Libreboot project uses [coreboot](https://www.coreboot.org/) for [hardware
|
||||
initialisation](https://doc.coreboot.org/getting_started/architecture.html).
|
||||
Coreboot is notoriously difficult to install for most non-technical users; it
|
||||
handles only basic initialization and jumps to a separate
|
||||
[payload](https://doc.coreboot.org/payloads.html) program (e.g.
|
||||
[GRUB](https://www.gnu.org/software/grub/),
|
||||
[Tianocore](https://www.tianocore.org/)), which must also be configured.
|
||||
*Libreboot solves this problem*; it is a *coreboot distribution* with
|
||||
an [automated build system](docs/build/) that builds complete *ROM images*, for
|
||||
more robust installation. Documentation is provided.
|
||||
|
||||
Libreboot is not a fork of coreboot
|
||||
===================================
|
||||
-----------------------------------
|
||||
|
||||
<img tabindex=1 class="r" style="max-width:25%;" src="https://av.libreboot.org/t1650/t1650_grub.jpg" /><span class="f"><img src="https://av.libreboot.org/t1650/t1650_grub.jpg" /></span>
|
||||
<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>
|
||||
|
||||
In fact, Libreboot tries to stay as close to *stock* coreboot as possible,
|
||||
for each board, but with many different types of configuration provided
|
||||
|
@ -121,8 +63,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 a simple script,
|
||||
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 `make`, 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.
|
||||
|
||||
|
@ -139,10 +81,6 @@ 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* надає
|
||||
[вільну](https://writefreesoftware.org/) *завантажувальну
|
||||
[вільну](freedom-status.uk.md) *завантажувальну
|
||||
прошивку*, яка ініціалізує апаратне забезпечення (наприклад, контролер пам'яті, ЦП,
|
||||
периферію) на [конкретних цілях Intel/AMD x86 та ARM](docs/hardware/), що
|
||||
потім розпочинає завантажувач для вашої операційної системи. [Linux](docs/linux/)
|
||||
|
@ -15,14 +15,8 @@ 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>
|
||||
|
||||
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 20240612, випущено 12 червень 2024.
|
||||
Дивіться: [Оголошення про випуск Libreboot 20240612](news/libreboot20240612.md).**
|
||||
**НОВИЙ ВИПУСК: Останній випуск Libreboot 20231101, випущено 1 Листопад 2023.
|
||||
Дивіться: [Оголошення про випуск Libreboot 20231101](news/libreboot20231101.md).**
|
||||
|
||||
Чому вам варто використовувати *Libreboot*?
|
||||
----------------------------
|
||||
|
@ -61,7 +55,7 @@ Coreboot помітно складний для встановлення для
|
|||
*дистрибутив coreboot*. Якщо ви хочете зібрати образ ROM з нуля, вам
|
||||
інакше довелось би виконати налаштування експертного рівня coreboot, GRUB та
|
||||
будь-якого іншого потрібного програмного забезпечення, для підготування образа ROM. З *Libreboot*,
|
||||
ви можете буквально завантажити з Git або архіву джерельного коду, та запустити a script, і це
|
||||
ви можете буквально завантажити з Git або архіву джерельного коду, та запустити `make`, і це
|
||||
побудує всі образи ROM. Автоматизована система побудови, названа `lbmk`
|
||||
(Libreboot MaKe), збирає ці образи ROM автоматично, без будь-якого вводу користувача
|
||||
або потрібного втручання. Налаштування вже виконано заздалегідь.
|
||||
|
|
|
@ -3,45 +3,40 @@ title: Libreboot 项目
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
*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) 频道。
|
||||
*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) 频道。
|
||||
|
||||
<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>
|
||||
|
||||
你也可以从 Minifree Ltd [购买特定硬件的 Libreboot 电脑](https://minifree.org/),
|
||||
或者将兼容硬件寄来预装 Libreboot。
|
||||
Libreboot 的创始人和主要开发者,Leah Rowe,也是 Minifree 的所有者和经营者;
|
||||
销售电脑为 Libreboot 提供资金。
|
||||
|
||||
**新版发布: 最新版本 Libreboot 20240612 已在 2024 年 06 月 12 日发布。详见: [Libreboot 20240612 发布公告](news/libreboot20240612.md).**
|
||||
**新版发布: 最新版本 Libreboot 20231101 已在 2023 年 11 月 01 日发布。详见: [Libreboot 20231101 发布公告](news/libreboot20231101.md).**
|
||||
|
||||
为什么要使用 *Libreboot*?
|
||||
----------------------------
|
||||
|
||||
Libreboot 赋予了你从其他大多数引导固件得不到的[自由](https://writefreesoftware.org/)。同时,它启动速度更快,[安全性也更好](docs/linux/grub_hardening.md)。它功能强大,可针对多种使用情况进行配置。
|
||||
Libreboot 赋予了你[自由](https://writefreesoftware.org/),而这等自由,是你用其他引导固件得不到的。同时,它的启动速度更加快,[安全性也更加高](docs/linux/grub_hardening.md)。在各种情况下使用,它都十分强大,具有高度[可配置性](docs/maintain/)。
|
||||
|
||||
*我们*相信,不受限制地[研究、分享、修改及使用软件](https://writefreesoftware.org/)的自由,是每个人都必须享有的基本人权的一部分。这时,*软件自由*至关重要。你的自由至关重要。教育至关重要。[修理权](https://yewtu.be/watch?v=Npd_xDuNi9k)至关重要。尽管许多人在用[自由的操作系统](https://www.openbsd.org/),但他们用的引导固件却是专有(非自由)的。专有固件常常[包含](faq.html#intel)了[后门](faq.html#amd),而且可能有很多缺陷。为了让不懂技术的用户也能使用 coreboot 固件,我们于 2013 年 12 月成立了 Libreboot 项目,
|
||||
*我们*相信,不受限制地[研究、分享、修改及使用软件](https://writefreesoftware.org/)的自由,是每个人都必须享有的基本人权的一部分。这时,*软件自由*至关重要。你的自由至关重要。教育至关重要。[修理权](https://yewtu.be/watch?v=Npd_xDuNi9k)至关重要。尽管许多人在用[自由的操作系统](https://www.openbsd.org/),但他们用的引导固件却是专有(非自由)的。专有固件常常[包含](faq.html#intel)了[后门](faq.html#amd),并且也可能出问题。2013 年 12 月,我们建立了 Libreboot 项目,目的是让不懂技术的用户能使用 coreboot 固件。
|
||||
|
||||
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)
|
||||
|
@ -51,19 +46,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,52 +1,54 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBGWN15sBEADECGPEe37tdU3xe7OshKU19xVOPuJRMveCO5DHfv/lsZMXLWXw
|
||||
MMpbG+2xSMQZcdZc0HCUq6TQE9fU0rA3kcFz0miMOuB2WJbYy9guvg9pAjLa0LUy
|
||||
b2T/HPDDy0ifYtqrOzwETwWRiWQcTHjJ0knwNReaEterpPki1MbK79EwSuQBIgq9
|
||||
lQ611qLn5SmE7sBRB5kze7q3KdTvY/CTfvOpVizgRF8kqqG4r4XkI0dTyrvC3i3E
|
||||
ub3F3YPWNjN06rECG6wO+TPzRo7em+0CdPYDgtqq4Srf050KNZsVt10Plty5VpJm
|
||||
2GfoXFh6SZBO1zSbBpTGU+7vBsR731ye2ouQdcIs06Qi4wHmJ71liqJwxZ0ju2F5
|
||||
edC7jDzdk4jAIaCiSiU+iGg28RsxoUdLkJl5Q4yW507Gr0psHIBJBAWJo1i75qKV
|
||||
hrmN25xjJLv0MjgaR7RgT1T7uuX1KPuo8NbHbRlkIv7987NeJzgbUzzpka2MJjTE
|
||||
d1ova9kPyICVmKCfBnT+bO3vfJAuQXRlf3qjXSLsxCD7Jmu07if0jXFIvjy/nC4H
|
||||
0QPlwd/sVS7Svfn4rEGEnulrtBvVdOr6I+LmDedbSsSlYNlqagdyGsdKZfWSGxhj
|
||||
fz4oAkVy+y39s1qAnM5191m+u72dmnQPtxI8lEH/G+j+hK8NxDvV5ri3owARAQAB
|
||||
tB1MZWFoIFJvd2UgPGluZm9AbWluaWZyZWUub3JnPokCVAQTAQoAPhYhBIux99KM
|
||||
92ltv09xklxlQGfTg7H/BQJljdebAhsDBQkJZgGABQsJCAcCBhUKCQgLAgQWAgMB
|
||||
Ah4BAheAAAoJEFxlQGfTg7H/PKoQAIB8z2Rg+R0417YRTBXvbVG5kPpKOO3DWUaQ
|
||||
CJx6uypBUpgw2giKDsDz59c2vNaADs7Zh5xQ+2bzB+jkCjVSuzguApT3gxTnICvL
|
||||
eM72d5ZEF6Q8/YC6s9IiIHssCujbxtNN5yDU/Kn9Qd3gb+Bn9t/ZYT+L/SGLU3Ze
|
||||
rq57lSt8ixU7JOvAolgqRzaPwTFvi1GPZbE5Gynj9riTxZc3KLFROWYNiiO33T+X
|
||||
17TepTUaubkoA3DgWcQ6tw2dsJ8MT0DtZH8KlU/ufq0NBfFIw79uCQ+m/GbiW9Sm
|
||||
KtppayLUJyJndlf5fQ/NaNJw9RS+yF5ellGKWWAwh+Drv0PITzJ1dLeWOF5degty
|
||||
n9+HaMSMRIs5G6m69UxZmLJ9TQF1Lt1u0l1EH7yHIAf69MX4nlcDIx6moIJgo2UJ
|
||||
9u2D7odDUKlPG8X4lbc5cvGx9l/Hy6WF8dOYUiU1avU65uhggaNXGXC6JbDiChCe
|
||||
uWTnzKXqlvae8rU9jSpDBSQFlOOgvi3NifDLM7xFByDtFabnJHniNO1B6kS0V0nv
|
||||
6sJlRuB584kQUQ+PaRUj8QvXjsLvYhxYTw2G7jzQkXEOBZq3jenVzAg5ejOB7mTN
|
||||
oZOYOWoFY7XDRUGOmGDvH2qQGVNhedhSBJilAiu6K0NyjkaFAGufvgXDjLImPav/
|
||||
kWdbTDvNuQINBGWN15sBEADj4Dhn29Z0LVU+B1Wc8U0wdV7NbDIjbhEvJ0Yc+FTN
|
||||
orQq7avY9jTkGtcnKPUti6cJxuQOZPxaIzP1mMK9BlsGbB8bTJ7oqpsIXuvGKOOZ
|
||||
QMb7i+qEIfJw6ZAXSwuKq4xBciJU52WdX8OaSWJ6KZX74yrE1SXW+7yj3ENZNWuT
|
||||
N2kAPF595XYpZwTAaJRy/ojfORu8WFXvo5osZJI1TlrJeDFecBntPkCgvI1VPTF3
|
||||
fUU3lGZc8rVascaGaJ6tBd5mTx/RrRyJrrJMEd1dca0MHV4WIDbNeINpbEhS2Sbq
|
||||
Oj/9q9z8tfmleqXVjb+gKjSDpD8Nsxv9+2gq29tevMLqZ5R3NA4jj4rOnyIuq+YF
|
||||
tkZuBuEc04UX3ApixdAQ0jINhIBfT8YcMC+wwTvl4jG4Rhzrc4jOX8igOe9wkstb
|
||||
l7JxGJU28x4htskAyM2CMxPaUrorm64cU2S0UoJGrvLfjItGud8dyM+RgtaO5wTF
|
||||
NO2A0dnq2/thIIgoEaiQfKMq2ilISsnf6x8as0FV3c7mGO8pDJlRwjoNg/89CMhx
|
||||
VbgO+5JQ+JHLfoMA++R+QaYy1ZLY51h5Ax6OtVWpZh67EuVDLx/5EFiyM25UTpqv
|
||||
H7t0ae2oLbAwQtIv1fRLhHP4aVSsP793of92/1lpybbpRD7/7ruVQ64d+/N49db6
|
||||
mQARAQABiQI8BBgBCgAmFiEEi7H30oz3aW2/T3GSXGVAZ9ODsf8FAmWN15sCGwwF
|
||||
CQlmAYAACgkQXGVAZ9ODsf8EqQ/8CjAQTza1pvd/GmKYHtldSA1odPB7AQkB+j4o
|
||||
yu5gDqtM/fFRv3uGVYLcyZwC3XF69KL+NpcUYG22RQWokt+z3OiVYfP5LyKjXe2c
|
||||
PMS2cmyXBHEcCP8QSffNQNoC2VYzaVXH4P6cBVmkDG3yPtQ2cH1Al6jhMS4Fa0TC
|
||||
e6kgA7qROSoapdZuwbxEE7FeaYZIXQUBLpe2C6SexljD65DLhbDE5p4N56VbncO6
|
||||
IAqr9JQSlEXBgvgXGhXqfOmZkmCjXJU7Sgy8sIyF4b1uEOkcWxUUfvfrO1yrcWyx
|
||||
vTlZdPCJy802B7UVFPWTbKwFoyIq5Lr8wk2npzAmDy/hKZlIV72Vk0eIcrTCfpbj
|
||||
0GehrIIYcpW7Z2IUtETNkyuQs+OScIdrP3PItajNwktQJrhz+UGbF9MuT+CHuruh
|
||||
w5KzymkzcnEzCNaYvY4eG8IXP6VpX1GCs9eUvCWEnjP0OkmhQniWvS3vAB7DfZSm
|
||||
0NAoDX0ZvNzzIRbiM5uhYqDUSIsmOwUiJLjveLysmIRaAc/K/Euml0obCUJfanD7
|
||||
KSs7SZYp24ZTDNsvsWbsk1y8QvAGkZBfuykfRCMxsmGRyN2hS6H/ftttCUrj8Qn1
|
||||
/hJDBegEUJgYDItHpE7KJeBHMFNUB2sTHPbzx+a5WPYxeYJevAeTwAg0/nRobXRz
|
||||
ER7BLIU=
|
||||
=fknq
|
||||
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
|
||||
nd5Eh2s/b3erYjM=
|
||||
=0LXq
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
|
@ -1,54 +1,52 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1
|
||||
|
||||
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
|
||||
nd5Eh2s/b3erYjM=
|
||||
=0LXq
|
||||
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
|
||||
cK2uJIvCCmu0fWYvqD36xKor+/g=
|
||||
=rMte
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
|
|
@ -1,52 +0,0 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1
|
||||
|
||||
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
|
||||
cK2uJIvCCmu0fWYvqD36xKor+/g=
|
||||
=rMte
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
@ -1,15 +1,5 @@
|
|||
libreboot20240612.md
|
||||
audit5.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
|
||||
|
@ -17,7 +7,9 @@ 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,9 +2,6 @@
|
|||
% 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
|
||||
============
|
||||
|
||||
|
@ -156,7 +153,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 blob-free but (in Libreboot)
|
||||
Dell Latitude E6400, which is otherwise FSDG-compatible 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.
|
||||
|
@ -198,8 +195,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 that
|
||||
can run without blobs, in other words.
|
||||
platfroms such as GM45 (ThinkPad X200/T400, Dell E6400, etc); anything FSDG
|
||||
compatible, 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
|
||||
|
@ -351,12 +348,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 flashprog revision
|
||||
* af1c1e10 add backup git repo for flashprog
|
||||
* 18364822 Revert "config/git: don't download flashprog"
|
||||
* 52c9416b update flashrom revision
|
||||
* af1c1e10 add backup git repo for flashrom
|
||||
* 18364822 Revert "config/git: don't download flashrom"
|
||||
* ac442808 config/git: add more backup repos
|
||||
* 75980052 git/config: don't use github on main repos
|
||||
* bf4ea810 config/git: don't download flashprog
|
||||
* bf4ea810 config/git: don't download flashrom
|
||||
* 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
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue