nonGeNUine Boot 20230717 website

Signed-off-by: Leah Rowe <leah@libreboot.org>
master
Leah Rowe 2023-07-17 16:45:56 +01:00
parent 6a52fb9f57
commit b1d84fda49
141 changed files with 1833 additions and 9447 deletions

View File

@ -1,5 +1,5 @@
TITLE="-T Censored-libreboot"
DOMAIN="https://censored.libreboot.org/"
TITLE="-T nonGeNUine&nbsp;Boot"
DOMAIN="https://notgnuboot.vimuser.org/"
BLOGDIR="news/" # leave as empty string if you want the blog to be the homepage
CSS="--css /global.css"
LAZY="y"

View File

@ -1,136 +0,0 @@
---
title: How is Censored Libreboot implemented (ie. censored)?
x-toc-enable: true
...
Introduction
============
For more context, please read the [Censored Libreboot c20230710 release
announcement](https://libreboot.org/news/censored-libreboot20230710.html)
*Censored Libreboot* is a glimpse of the state Libreboot would
be in, if it had never adopted the
[Binary Blob Reduction Policy](https://libreboot.org/news/policy.html). In
order to do this, many pages, and sources of information, were removed or
heavily re-worded (censored) in this version, compared to regular Libreboot. The
censored information/code would have never been permitted, under Libreboot's
previous [Binary Blob Extermination Policy](https://web.archive.org/web/20221107235850/https://libreboot.org/news/policy.html)
Support for many mainboards has been removed, in this censored version. The
website that you're reading
is based on the regular Libreboot website at the time of the
[Libreboot 20230625 release](https://libreboot.org/news/libreboot20230625.html).
Changes made in *Censored Libreboot*
====================================
Almost all of the website changes can be seen here, in this diff:
<https://codeberg.org/libreboot/lbwww/commit/23bf3b4c3d9473fd3fa6ee80907076667ea28ae7?style=split&whitespace=show-all>
The changes are so vast (about 8000 lines of text removed), that not all of them
show by default in the above link, but you can click "Show More" at the bottom
of that page. Codeberg is Libreboot's hosting provider for Git repositories, and
the website is hosted in Git.
For a list of code changes, you can refer to the [Censored Libreboot c20230710
release announcement](https://libreboot.org/news/censored-libreboot20230710.html)
The above link, and this page, demonstrate the *damage* that could be done to
Libreboot, in the name of cult-like ideological purity. Libreboot's policy is
simply to help as many people as possible install coreboot, with as few (or no)
binary blobs as possible.
Deleted web pages, in *Censored Libreboot*:
-------------------------------------------
All of these pages, which exist in the regular Libreboot website,
do not exist in the *censored* Libreboot website:
* <https://libreboot.org/docs/hardware/hp2560p.html>
* <https://libreboot.org/docs/hardware/hp2570p.html>
* <https://libreboot.org/docs/hardware/hp8200sff.html>
* <https://libreboot.org/docs/hardware/hp8300usdt.html>
* <https://libreboot.org/docs/hardware/hp9470m.html>
* <https://libreboot.org/docs/install/ivy_has_common.html>
* <https://libreboot.org/docs/install/ivy_has_common.uk.html>
* <https://libreboot.org/docs/install/ivy_internal.html>
* <https://libreboot.org/docs/install/nvmutilimport.html>
* <https://libreboot.org/docs/install/t420_external.html>
* <https://libreboot.org/docs/install/t440p_external.html>
* <https://libreboot.org/docs/install/x220_external.html>
* <https://libreboot.org/docs/install/x230_external.html>
* <https://libreboot.org/docs/linux/zfsbootmenu.html>
* <https://libreboot.org/docs/maintain/porting.html>
* <https://libreboot.org/docs/maintain/porting.uk.html>
* <https://libreboot.org/freedom-status.html>
* <https://libreboot.org/freedom-status.uk.html>
* <https://libreboot.org/news/e6400nvidia.html>
* <https://libreboot.org/news/freedom.html>
* <https://libreboot.org/news/gm45microcode.html>
* <https://libreboot.org/news/hp8200sff.html>
* <https://libreboot.org/news/hp8200sff.uk.html>
* <https://libreboot.org/news/hp_elitebooks.html>
* <https://libreboot.org/news/libreboot20221214.html>
* <https://libreboot.org/news/libreboot20230319.html>
* <https://libreboot.org/news/libreboot20230413.html>
* <https://libreboot.org/news/libreboot20230423.html>
* <https://libreboot.org/news/libreboot20230625.html>
* <https://libreboot.org/news/microcode.html>
* <https://libreboot.org/news/policy.de.html>
* <https://libreboot.org/news/policy.html>
* <https://libreboot.org/news/policy.uk.html>
* <https://libreboot.org/news/safety.html>
Heavily modified pages (not deleted)
------------------------------------
These pages have been modified heavily (a few of these aren't pages, but are
instead files like pandoc templates, used by Libreboot's static site
generator, namely the [Untitled Static Site Generator](https://untitled.vimuser.org)):
* [/contrib.md](/contrib.html) (censored version), versus original: <https://libreboot.org/contrib.html>
* [/contrib.uk.md](/contrib.uk.html) (censored version), versus original: <https://libreboot.org/contrib.uk.html>
* [/docs/bsd/index.md](/docs/bsd/index.html) (censored version), versus original: <https://libreboot.org/docs/bsd/index.html>
* [/docs/build/index.md](/docs/build/index.html) (censored version), versus original: <https://libreboot.org/docs/build/index.html>
* [/docs/build/index.uk.md](/docs/build/index.uk.html) (censored version), versus original: <https://libreboot.org/docs/build/index.uk.html>
* [/docs/hardware/e6400.md](/docs/hardware/e6400.html) (censored version), versus original: <https://libreboot.org/docs/hardware/e6400.html>
* [/docs/hardware/ga-g41m-es2l.md](/docs/hardware/ga-g41m-es2l.html) (censored version), versus original: <https://libreboot.org/docs/hardware/ga-g41m-es2l.html>
* [/docs/hardware/index.md](/docs/hardware/index.html) (censored version), versus original: <https://libreboot.org/docs/hardware/index.html>
* [/docs/hardware/kgpe-d16.md](/docs/hardware/kgpe-d16.html) (censored version), versus original: <https://libreboot.org/docs/hardware/kgpe-d16.html>
* [/docs/hardware/mac\_address.md](/docs/hardware/mac_address.html) (censored version), versus original: <https://libreboot.org/docs/hardware/mac_address.html>
* [/docs/install/chromebooks.md](/docs/install/chromebooks.html) (censored version), versus original: <https://libreboot.org/docs/install/chromebooks.html>
* [/docs/install/e6400.md](/docs/install/e6400.html) (censored version), versus original: <https://libreboot.org/docs/install/e6400.html>
* [/docs/install/index.md](/docs/install/index.html) (censored version), versus original: <https://libreboot.org/docs/install/index.html>
* [/docs/install/kgpe-d16.md](/docs/install/kgpe-d16.html) (censored version), versus original: <https://libreboot.org/docs/install/kgpe-d16.html>
* [/docs/install/nvmutil.md](/docs/install/nvmutil.html) (censored version), versus original: <https://libreboot.org/docs/install/nvmutil.html>
* [/docs/install/spi.md](/docs/install/spi.html) (censored version), versus original: <https://libreboot.org/docs/install/spi.html>
* [/docs/install/spi\_generic.md](/docs/install/spi_generic.html) (censored version), versus original: <https://libreboot.org/docs/install/spi_generic.html>
* [/docs/linux/index.md](/docs/linux/index.html) (censored version), versus original: <https://libreboot.org/docs/linux/index.html>
* [/docs/maintain/index.md](/docs/maintain/index.html) (censored version), versus original: <https://libreboot.org/docs/maintain/index.html>
* [/docs/maintain/testing.md](/docs/maintain/testing.html) (censored version), versus original: <https://libreboot.org/docs/maintain/testing.html>
* [/docs/uboot/index.md](/docs/uboot/index.html) (censored version), versus original: <https://libreboot.org/docs/uboot/index.html>
* [/docs/uboot/uboot-archlinux.md](/docs/uboot/uboot-archlinux.html) (censored version), versus original: <https://libreboot.org/docs/uboot/uboot-archlinux.html>
* [/download.md](/download.html) (censored version), versus original: <https://libreboot.org/download.html>
* [/download.uk.md](/download.uk.html) (censored version), versus original: <https://libreboot.org/download.uk.html>
* [/faq.md](/faq.html) (censored version), versus original: <https://libreboot.org/faq.html>
* [/faq.uk.md](/faq.uk.html) (censored version), versus original: <https://libreboot.org/faq.uk.html>
* [/footer.de.include](/footer.de.include) (censored version), versus original: <https://libreboot.org/footer.de.include>
* [/footer.include](/footer.include) (censored version), versus original: <https://libreboot.org/footer.include>
* [/footer.uk.include](/footer.uk.include) (censored version), versus original: <https://libreboot.org/footer.uk.include>
* [/footer.zh-cn.include](/footer.zh-cn.include) (censored version), versus original: <https://libreboot.org/footer.zh-cn.include>
* [/index.de.md](/index.de.html) (censored version), versus original: <https://libreboot.org/index.de.html>
* [/index.fr.md](/index.fr.html) (censored version), versus original: <https://libreboot.org/index.fr.html>
* [/index.md](/index.html) (censored version), versus original: <https://libreboot.org/index.html>
* [/index.uk.md](/index.uk.html) (censored version), versus original: <https://libreboot.org/index.uk.html>
* [/index.zh-cn.md](/index.zh-cn.html) (censored version), versus original: <https://libreboot.org/index.zh-cn.html>
* [/news/MANIFEST](/news/MANIFEST) (censored version), versus original: <https://libreboot.org/news/MANIFEST>
* [/news/audit.md](/news/audit.html) (censored version), versus original: <https://libreboot.org/news/audit.html>
* [/news/e6400.md](/news/e6400.html) (censored version), versus original: <https://libreboot.org/news/e6400.html>
* [/news/e6400.uk.md](/news/e6400.uk.html) (censored version), versus original: <https://libreboot.org/news/e6400.uk.html>
* [/news/usa-libre-part2.md](/news/usa-libre-part2.html) (censored version), versus original: <https://libreboot.org/news/usa-libre-part2.html>
* [/template.de.include](/template.de.include) (censored version), versus original: <https://libreboot.org/template.de.include>
* [/template.include](/template.include) (censored version), versus original: <https://libreboot.org/template.include>
* [/template.uk.include](/template.uk.include) (censored version), versus original: <https://libreboot.org/template.uk.include>
* [/template.zh-cn.include](/template.zh-cn.include) (censored version), versus original: <https://libreboot.org/template.zh-cn.include>

View File

@ -3,70 +3,4 @@ title: Kontakt
x-toc-enable: true
...
**TODO: mailing lists, mastodon server and peertube account.**
User support
============
IRC oder Reddit werden bevorzugt, sofern Du eine Support Anfrage hast (IRC empfohlen).
Für Informationen bzgl. IRC and Reddit siehe unten.
Entwicklungs Diskussion
======================
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).
IRC Chatraum
============
IRC ist hauptsächlich der Weg um Kontakt Libreboot Projekt aufzunehmen. `#libreboot` auf Libera
IRC.
Webchat:
<https://web.libera.chat/#libreboot>
Libera ist eines der grössten IRC Netzwerke, welches für Libre Software Projekte verwendet wird.
Mehr Infos gibt es hier: <https://libera.chat/>
Wenn Du dich mit deinem bevorzugten IRC Klienten verbinden möchtest (z.B. weechat or irssi),
anbei die Verbindungsdetails:
* Server: `irc.libera.chat`
* Channel: `#libreboot`
* Port (TLS): `6697`
* Port (non-TLS): `6667`
Wir empfehlen, dass Du Port `6697` mit aktivierter TLS Verschlüsselung verwendest.
Es wird empfohlen SASL für die Authentifizierung zu verwenden. Diese Seiten auf der Libera
Website erläutern wie dies funktioniert:
* WeeChat SASL Anleitung: <https://libera.chat/guides/weechat>
* Irssi SASL Anleitung: <https://libera.chat/guides/irssi>
* HexChat SASL Anleitung: <https://libera.chat/guides/hexchat>
Grundsätzlich solltest Du die Dokumentation der von Dir verwendeten IRC Software konsultieren.
Soziale Medien
============
Libreboot existiert offiziell an vielen Orten.
Mastodon
--------
Gründerin und Haupt-Entwicklerin, Leah Rowe, ist auf Mastodon:
* <https://mas.to/@libreleah>
Leah kann zudem unter dieser eMail kontaktiert werden:
[leah@libreboot.org](mailto:leah@libreboot.org)
Reddit
------
Hauptsächlich verwendet als Support Kanal und für Veröffentlichung von Neuigkeiten:
<https://www.reddit.com/r/libreboot/>
Nein.

View File

@ -3,70 +3,4 @@ title: Contact
x-toc-enable: true
...
**TODO: mailing lists, mastodon server and peertube account.**
User support
============
IRC or Reddit are recommended, if you wish to ask for support (IRC recommended).
See below for information about IRC and Reddit.
Development discussion
======================
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).
IRC chatroom
============
IRC is the main way to contact the libreboot project. `#libreboot` on Libera
IRC.
Webchat:
<https://web.libera.chat/#libreboot>
Libera is one of the largest IRC networks, used for Libre Software projects.
Find more about them here: <https://libera.chat/>
If you wish to connect using your preferred client (such as weechat or irssi),
the connection info is as follows:
* Server: `irc.libera.chat`
* Channel: `#libreboot`
* Port (TLS): `6697`
* Port (non-TLS): `6667`
We recommend that you use port `6697` with TLS encryption enabled.
It is recommend that you use SASL for authentication. These pages on the Libera
website tells you how:
* WeeChat SASL guide: <https://libera.chat/guides/weechat>
* Irssi SASL guide: <https://libera.chat/guides/irssi>
* HexChat SASL guide: <https://libera.chat/guides/hexchat>
In general, you should check the documentation provided by your IRC software.
Social media
============
libreboot exists officially on many places.
Mastodon
--------
The founder and lead developer, Leah Rowe, is on Mastodon:
* <https://mas.to/@libreleah>
Leah can also be contacted by this email address:
[leah@libreboot.org](mailto:leah@libreboot.org)
Reddit
------
Mostly used as a support channel, and also for news announcements:
<https://www.reddit.com/r/libreboot/>
No.

View File

@ -3,70 +3,4 @@ title: Зв'язок
x-toc-enable: true
...
**TODO: списки розсилки, сервер mastodon та обліковий запис peertube.**
Підтримка користувачів
============
IRC або Reddit рекомендовані, якщо ви бажаєте попросити про допомогу (найкраще IRC).
Дивіться інформацію нижче щодо IRC та Reddit.
Обговорення розробки
======================
Списки розсилки плануються на майбутнє. Зараз, подивіться нотатки
на [сторінці Git](git.md) для інформації щодо допомоги з розробкою.
На цій сторінці також знаходяться інструкції по відправці патчів (через pull request'и).
Кімната IRC
============
IRC це головний спосіб зв'язку з проектом Libreboot. `#libreboot` на Libera
IRC.
Веб-версія:
<https://web.libera.chat/#libreboot>
Libera є однією з найбільших мереж IRC, використовуємих для проектів вільного програмного
забезпечення. Знайти про них більше можна тут: <https://libera.chat/>
Якщо ви бажаєте під'єднатися за допомогою вашого улюбленного клієнта (такого як weechat або irssi),
інформація для під'єднання наступна:
* Сервер: `irc.libera.chat`
* Канал: `#libreboot`
* Порт (TLS): `6697`
* Порт (не TLS): `6667`
Ми радимо вам використовувати порт `6697` з увімкненим TLS шифруванням.
Рекомендовано використовувати SASL для аутентифікації. Ці сторінки на веб-сайті Libera
пояснять вам як:
* Керівництво WeeChat SASL: <https://libera.chat/guides/weechat>
* Керівництво Irssi SASL: <https://libera.chat/guides/irssi>
* Керівництво HexChat SASL: <https://libera.chat/guides/hexchat>
Взагалі, вам варто перевірити документацію, яка передбачена вашою програмою IRC.
Соціальні мережі
============
Libreboot офіційно існує в багатьох місцях.
Mastodon
--------------------
Засновник та головний розробник, Лія Роу, є в Mastodon:
* <https://mas.to/@libreleah>
Також можливо зв'язатися з Лією за ії електронною адресою:
[leah@libreboot.org](mailto:leah@libreboot.org)
Reddit
------
Найбільше використовується як канал підтримки, та також для оголошення новин:
<https://www.reddit.com/r/libreboot/>
немає

View File

@ -3,451 +3,8 @@ title: Project contributors
x-toc-enable: true
...
This list does not necessarily reflect who is currently working on the project,
but it lists some people who have contributed to the project in meaningful ways.
Leah Rowe made this website for fun, based on Libreboot.
If we forgot to mention you here, let us know and we'll add you. (or if
you don't want to be mentioned, let us know and we'll remove your
entry)
It is only a proof of concept. You should otherwise use Libreboot:
Information about who works on libreboot, and how the project is run, can
be found on this page: [who.md](who.md)
You can know the history of the libreboot project, simply by reading this page.
It goes into detail about all of the major contributions to the project, and in
general how the project was created (and who helped create it).
Leah Rowe
---------
**Founder of the Libreboot project, and currently the lead developer.** Leah
works on all aspects of libreboot, such as:
* General management. Leah handles all outside contributions to libreboot,
reviews pull requests, deals with bug reports, delegates tasks when necessary
or desirable. Leah controls the libreboot.org server infrastructure, hosted
in her lab.
* Leah has the final say on all decisions, taking input via discussion with
members of the public, mostly on IRC. Leah oversees releases of libreboot,
and generally keeps the project going. Without Leah, there would be no Libreboot!
* The build system (lbmk, short for libreboot Make). This is the automated build
system that sits at the heart of libreboot; it downloads, patches, configures
and compiles the relevant components like coreboot, GRUB and generates
the libreboot ROM images that you can find in release archives.
* Upstream work on coreboot, when necessary (and other projects that libreboot
uses). This means also working with people from outside of the libreboot
project, to get patches merged (among other things) on the upstream projects
that libreboot uses
* Providing user support on IRC
Caleb La Grange
---------------
**Secondary developer, number two to Leah.** Caleb is a full time libreboot developer
with a narrower focus. Caleb focuses on several areas of development:
* Build system. Caleb is responsible for improving and fixing the libreboot Make build
system. Specifically: binary blob management, automation, and reproducibility.
* Hardware modification. Caleb has a passion for hardware alteration; soldering,
desoldering, and testing libreboot software on the resulting hardware.
* Board porting. Anything supported in Coreboot can be ported to libreboot, Caleb
will test and port any board he can get his hands on. Additionally, anyone can
contact Caleb to generate libreboot roms for testing on their board.
* Documentation. Caleb actively maintains documentation on the above areas of
interest. Additionally, Caleb is responsible for disassembly guides with his own
pictures and diagrams for several boards.
* User support. Caleb is active on irc and willing to help any user interested in
using libreboot or in need of help.
* Project goals. Caleb collaborates with Leah on determining project goals.
Leah has the final say in every decision.
External projects
=================
Coreboot project
----------------
Without coreboot, the libreboot project simply would not be possible.
The people and companies that work on coreboot are numerous, and they make the
libreboot project what it is. The libreboot project makes heavy use of coreboot, to
provide hardware initialization.
GRUB
--------
GRUB is the bootloader used by libreboot. It goes without saying that the GRUB
developers enable libreboot, through their work.
SeaBIOS
-------
The libreboot firmware provides SeaBIOS as a payload option. SeaBIOS provides a
legacy x86 BIOS implementation.
U-Boot
------
Libreboot uses U-Boot as the coreboot payload on supported ARM Chromebooks.
Contributors in alphabetical order
==================================
Alper Nebi Yasak
----------------
Contributed the build system integration and documentation for using
U-Boot as payload, and initial Libreboot ports of some ARM Chromebooks
based on that.
Alper also does upstream development on U-Boot, e.g. continued an almost
complete port of the `gru-kevin` board and got it merged upstream.
Alyssa Rosenzweig
-----------------
Switched the website to use markdown in lieu of handwritten HTML and custom
PHP. **Former libreboot project maintainer (sysadmin for libreboot.org).**
Alyssa wrote the original static site generator (shell scripts converting
markdown to html, via pandoc) for libreboot.org. This static site generator has
now been heavily modified and forked into a formal project, by Leah Rowe:
<https://untitled.vimuser.org/> (untitled is Leah's work, not Alyssa's, but it's based on
Alyssa's original work on the static site generator that Libreboot used to use;
the Libreboot website is now built with Untitled)
Andrew Robbins
--------------
Worked on large parts of Libreboot's old build system and related documentation.
Andrew joined the Libreboot project as a full time developer during June 2017,
until his departure in March 2021.
I, Leah Rowe, am very grateful to Andrew Robbins for his numerous contributions
over the years.
Arthur Heymans
--------------
Merged a patch from coreboot into libreboot, enabling C3 and C4 power
states to work correctly on GM45 laptops. This was a long-standing issue
before Arthur's contribution. Arthur also fixed VRAM size on i945 on
GM45 systems, allowing maximum VRAM allocation for the onboard GPUs on
these systems, another longstanding issue in libreboot.
Arthur also did work on the Libreboot build system, when he was a member of the
project. He still works on coreboot, to this day, and Libreboot greatly
benefits from his work. His contributions to the coreboot project, and Libreboot,
are invaluable.
Damien Zammit
-------------
Maintains the Gigabyte GA-G41M-ES2L coreboot port, which is integrated
in libreboot. Also works on other hardware for the benefit of the
libreboot project.
Damien didn't work directly on Libreboot itself, but he worked heavily with
Leah Rowe, integrating patches and new board ports into Libreboot, based on
Damien's upstream work on coreboot.
Denis Carikli
-------------
Based on the work done by Peter Stuge, Vladimir Serbinenko and others in
the coreboot project, got native graphics initialization to work on the
ThinkPad X60, allowing it to be supported in libreboot. Denis gave
a lot of advice and helped found the libreboot project.
Denis was a mentor to Leah Rowe in the early days, when she founded the
Libreboot project. A lot of the decisions taken, especially with the
Libreboot build system (lbmk), were inspired from talks with Denis.
Denis taught Leah about registers used by Intel GPUs for backlight control. In
the early days, the ThinkPad X60 and T60 laptops in Libreboot did not have
backlight control working, so the brightness was always 100%. With Denis's help,
Leah was able to get backlight controls working by reverse engineering the
correct values to write in those registers. Based on this, a simple fix was
written in coreboot; however, the fix just wrote directly to the register and
didn't work with ACPI based brightness controls. Others in coreboot later
improved it, making ACPI-based backlight controls work properly, based on this
earlier work.
Ferass El Hafidi
--------
Added cstate 3 support on macbook21, enabling higher battery life and cooler
CPU temperatures on idle usage.
Also has a series of extensive improvements to the entire Libreboot system;
for example, Ferass made the entire build system use POSIX `sh`, removing
bashisms that previously plagued it.
This is IRC nick `f_` on Libreboot IRC. Cool guy!
Jeroen Quint
------------
Contributed several fixes to the libreboot documentation, relating to
installing on Arch-based systems with full disk encryption on libreboot
systems.
Joshua Gay
----------
Joshua is former FSF staff.
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:
A project needed to exist, providing a fully free version of coreboot, without
any binary blobs. At the time (and this is still true today), coreboot was not
entirely libre software and shipped with binary blobs by default. In particular,
CPU microcode updates were included by default, on all x86 machines. Working
with Joshua who reviewed my work, I created a fully free version of coreboot.
At first, it wasn't called Libreboot, and the work was purely intended for my
company (at that time called Gluglug) to be promoted by the FSF.
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
-------------
Made many fixes and improvements to the GRUB configuration used in
libreboot, and several tweaks to the build system.
Lisa Marie Maginnis
-------------------
Lisa is a former sysadmin at the Free Software Foundation. In the early days of
the project, she provided Leah with a lot of technical advice. She initially
created Libreboot IRC channel, when Leah did not know how to
use IRC, and also handed +F founder status to Leah for the channel. As an FSF
sysadmin, it was Lisa's job to maintain a lot of the infrastructure used by
Libreboot; at the time, mailing lists on the Savannah website were used by
the Libreboot project. When Paul Kocialkowski was a member of the project in
2016, she helped him get help from the FSF; he was the leader of the Replicant
project at the time, which had funding from the FSF, and the FSF authorized him
to use some of that funding for his work on Libreboot, thanks to Lisa's
encouragement while she worked at the FSF.
Lisa 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):
<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/>
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); for example, Trisquel uses a D16 provided by the FSF
for their development server used for building Trisquel releases and testing
changes to the Trisquel GNU+Linux distribution. Trisquel is a fully free
GNU+Linux distribution, heavily promoted by the FSF.
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
--------------
Made the libreboot logo.
Nicholas Chin
-------------
[Ported Dell Latitude E6400 to Libreboot](news/e6400.md).
Patrick "P. J." McDermott
---------------------------
Patrick also did a lot of research and wrote the libreboot FAQ section
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
-----------------
Ported the ARM (Rockchip RK3288 SoC) based *Chromebook* laptops to
libreboot. Also one of the main [Replicant](http://www.replicant.us/)
developers.
Paul Menzel
-----------
Investigated and fixed a bug in coreboot on the ThinkPad X60/T60 exposed
by Linux kernel 3.12 and up, which caused 3D acceleration to stop
working and video generally to become unstable. The issue was that coreboot,
when initializing the Intel video chipset, was mapping *GTT Stolen Memory* in
the wrong place, because the code was based on kernel code and the Linux kernel
had the same bug. When Linux fixed it, it exposed the same bug in coreboot.
Paul worked with Libreboot on
this, sending patches to test periodically until the bug was fixed
in coreboot, and then helped her integrate the fix in libreboot.
Peter Stuge
-----------
Helped write the [FAQ section about DMA](../faq.md#hddssd-firmware), and provided
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).
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
workaround to flash Libreboot without using external hardware; on this machine,
with Lenovo BIOS present, it's possible to flash everything except the main
bootblock, but Intel platforms have 2 bootblocks, and you specify which one is
to be used by setting the TS bit. You then boot with only one bootblock flashed
(by the coreboot project's bootblock on that machine), and afterwards you reset
bucts before flashing the ROM again, to flash the main bootblock. Libreboot
hosts a copy of his work, because his website hosting bucts is no longer
responsive.
Steve Shenton
-------------
Steve did the early reverse engineering work on the Intel Flash Descriptor used
by ICH9M machines such as ThinkPad X200. He created a C struct defining (using
bitfields in C) this descriptor region. With some clever tricks, he was able to
discover the existence of a bit in the descriptor for *disabling* the Intel ME
(management engine) on those platforms.
His initial proof of concept only defined the descriptor, and would do this:
* Read the default descriptor and GbE regions from a Lenovo X200 ROM (default
firmware, not coreboot)
* Disable the ME, by setting 2 bits in the descriptor
* Disable the ME region
* Move descriptor+GbE (12KiB in total) next to each other
* Allocate the remaining flash space to the BIOS region
* Generated the 12KiB descriptor+GbE region, based on this, to insert into a
coreboot ROM image.
In the early days, before Libreboot supported GM45+ICH9M platforms such as
ThinkPad X200/T400, you could use those machines but to avoid the Intel ME you
had to flash it without a descriptor region. This worked fine in those days,
because the ME only handled TPM and AMT on those machines, and the system would
work normally, but that Intel Flash Descriptor also handles the Intel GbE NVM
region in flash, which is used for the Intel Gigabit Ethernet interface.
So you either had Intel ME, or no ethernet support. Steve figured out how to
disable the Intel ME via 2 toggle bits in the descriptor, and also how to
remove the Intel ME region from flash.
Based on his research, I, Leah Rowe, working alongside Steve, also reverse
engineered the layout of the Intel GbE NVM (non-volatile memory) region in the
boot flash. This region defines configuration options for the onboard Intel
GbE NIC, if present.
Based on this, I was able to take Steve's initial proof of concept and write
the `ich9gen` utility, which generates an Intel Flash Descriptor and GbE NVM
region, from scratch, without an Intel ME region defined. It is this tool,
the `ich9gen` tool, that Libreboot uses to provide ROM images for GM45+ICH9M
platforms (such as ThinkPad X200/T400/T500/W500), with a fully functional
descriptor and functional Gigabit Ethernet, but *without* needing Intel
Management Engine (ME) firmware, thus making those machines *libre* (the ME
is fully disabled, when you use a descriptor+gbe image generated by `ich9gen`).
With *my* `ich9gen` tool (Steve's tool was called `ich9deblob`), you didn't
need a dump of the original Lenovo BIOS firmware anymore! I could not have
written this tool, without Steve's initial proof of concept. I worked with him,
extensively, for many months. All GM45+ICH9M support (X200, T400, etc) in
Libreboot is made possible because of the work he did, back in 2014.
Swift Geek
----------
Contributed a patch for ich9gen to generate 16MiB descriptors.
After that, Swift Geek slowly became more involved until he became a full time
developer. Swift Geeks contributions were never really in the form of *code*,
but what he lacked in code, he made up for in providing excellent support, both
to users and other developers, helping others learn more about technology at a
low level.
When Swift Geek was a member of the project, his role was largely providing
user support (in the IRC channel), and conducting research. Swift Geek knows a
lot about hardware. Swift Geek also did some upstream development on GRUB.
Swift Geek has provided technical advice on numerous occasions, to Leah Rowe,
and helped her to improve her soldering skills in addition to teaching her
some repair skills, to the point where she can now repair most faults on
ThinkPad mainboards (while looking at the schematics and boardview).
Swiftgeek left the project in March 2021. I, Leah Rowe, wish him all the best
in his endeavours, and I'm very grateful to his numerous contributions over the
years.
Timothy Pearson
---------------
Ported the ASUS KGPE-D16 board to coreboot for the company Raptor
Engineering of which Timothy is the CEO.
Timothy maintains this code in coreboot,
helping the project with the libreboot integration for it. This person's
contact details are on the raptor site.
Vladimir Serbinenko
-------------------
Ported many of the thinkpads supported in libreboot, to coreboot, and
made many fixes in coreboot which benefited the libreboot project.
Vladimir wrote a lot of the original video initialization code used by various
Intel platforms in Libreboot, when flashing it (now rewritten
by others in Ada, for libgfxinit in coreboot, but originally it was written in
C and included directly in coreboot; libgfxinit is a 3rdparty submodule of
coreboot).
<https://libreboot.org/>

View File

@ -1,449 +0,0 @@
---
title: Учасники проекту
x-toc-enable: true
...
У цьому списку не обов'язково вказується, хто зараз працює над проектом,
але в ньому вказано людей, які зробили значний внесок у проект.
Якщо ми забули вас тут згадати, повідомте нам, і ми вас додамо. (або якщо
ви не хочете, щоб вас згадували, повідомте нас, і ми видалимо ваш
запис)
Інформацію про те, хто працює над libreboot і як працює проект, можна
знайти на цій сторінці: [who.md](who.md)
Ви можете дізнатися історію проекту libreboot, просто прочитавши цю сторінку.
Тут докладно розповідається про всі основні внески в проект і
загалом про те, як створювався проект (і хто допоміг його створити).
Лія Роу
---------
**Засновник проекту Libreboot, а зараз провідний розробник** Лія
працює над усіма аспектами libreboot, такими як:
* Загальне керівництво. Лія обробляє всі зовнішні внески до libreboot,
переглядає пул реквести, має справу із звітами про помилки, делегує завдання, коли це необхідно
або бажано. Лія контролює серверну інфраструктуру libreboot.org, розміщену
в її лабораторії.
* Лія має останнє слово щодо всіх рішень, беручи внесок через обговорення з
представниками громадськості, переважно на IRC. Лія контролює випуски libreboot
і загалом підтримує проект. Без Лії не було би Libreboot!
* Система збірки (lbmk, скорочення від libreboot Make). Це автоматизована
система збирання, яка лежить в серці libreboot; він завантажує, патчить, налаштовує
та компілює відповідні компоненти, такі як coreboot, GRUB, і генерує образи ROM
libreboot, які ви можете знайти в архівах випусків.
* Апстрім робота над coreboot, коли необхідно (та іншими проектами, які libreboot
використовує). Це також означає роботу з людьми поза межами проекту libreboot,
щоб об'єднати виправлення (між іншим) в апстрім проектах,
які libreboot використовує
* Надання підтримки користувачів на IRC
Калеб Ла Гранж
---------------
**Вторинний розробник, номер два для Лії.** Калеб - розробник libreboot на повний робочий день
з вузьким фокусом. Калеб зосереджується на кількох напрямках розвитку:
* Система побудови. Калеб відповідає за вдосконалення та виправлення системи побудови libreboot Make.
Зокрема, управління бінарними блобами, автоматизація та відтворюваність.
* Апаратна модифікація. Калеб має пристрасть до переробки апаратного забезпечення; паяння,
розпаювання, та тестування libreboot на отриманому обладнанні.
* Перенесення плати. Все, що підтримується в Coreboot, можна перенести на libreboot, Калеб
перевірить і перенесе будь-яку плату, до якої зможе потрапити. Крім того, будь-хто може
зв'язатись з Калебом, щоб створити образи libreboot для тестування на своїй платі.
* Документація. Калеб активно веде документацію щодо зазначених вище сфер
інтересу. Додатково, Калеб відповідає за посібники з розбирання з власними
малюнками та діаграмами для кількох плат.
* Підтримка користувачів. Калеб активний в irc і готовий допомогти будь-якому користувачеві, який зацікавлений в
використанні libreboot або потребує допомоги.
* Цілі проекту. Калеб співпрацює з Лією над визначенням цілей проекту.
Лія має останнє слово в кожному рішенні.
Зовнішні проекти
================
Проект Coreboot
----------------
Без coreboot проект libreboot був би просто неможливий.
Людей і компаній, які працюють над coreboot, багато, і вони роблять
проект libreboot таким, яким він є. Проект libreboot активно використовує coreboot
для ініціалізації обладнання.
GRUB
--------
GRUB - це завантажувач, який використовується libreboot. Само собою зрозуміло, що
розробники GRUB стимулюють libreboot своєю роботою.
SeaBIOS
-------
Прошивка libreboot надає SeaBIOS як опцію корисного навантаження. SeaBIOS забезпечує
застарілу реалізацію BIOS x86.
U-Boot
------
Libreboot використовує U-Boot як корисне навантаження coreboot на ноутбуках
ARM Chromebook з підтримкою coreboot.
Внески в алфавітному порядку
============================
Алісса Розенцвейг
-----------------
Переключила веб-сайт на використання розмітки замість рукописного HTML та користувацького
PHP. **Колишній супроводжувач проекту libreboot (системний адміністратор libreboot.org).**
Алісса написала оригінальний генератор статичних сайтів (скрипти `sh`, що перетворюють
markdown в html, через pandoc) для libreboot.org. Цей генератор статичних сайтів
був значно змінений і відгалужений Лією Роу у формальний проект:
<https://untitled.vimuser.org/> (untitled - це робота Лії, а не Алісси, але вона базується на
оригінальній роботі Аліси над генератором статичних сайтів, який раніше використовував Libreboot;
веб-сайт Libreboot тепер створено за допомогою Untitled)
Альпер Небі Ясак
----------------
Надав інтеграцію системи збірки та документацію для використання
U-Boot в якості корисного навантаження, та початкові порти Libreboot деяких ARM Chromebook
виходячи з того.
Альпер також займається розробкою на U-Boot, напр. продовжив майже завершений
порт плати `gru-kevin` і об'єднав його з апстрімом.
Артур Хейманс
--------------
Об'єднав патч із coreboot у libreboot, дозволяючи режимам живлення C3 та C4
правильно працювати на ноутбуках GM45. Це була давня проблема до внеску
Артура. Артур також виправив розмір відеопам'яті на i945 на системах
GM45, що дозволило максимально розподілити VRAM для вбудованих графічних процесорів
у цих системах, ще одна давня проблема в libreboot.
Артур також працював над системою збірки Libreboot, коли він був учасником
проекту. Він досі працює над coreboot, і Libreboot отримує велику
користь від його роботи. Його внесок у проект coreboot і Libreboot
неоціненний.
Володимир Сербіненко
-------------------
Перенес багато thinkpad, які підтримуються в libreboot, на coreboot, а
також зробив багато виправлень у coreboot, які принесли користь проекту libreboot.
Володимир написав багато вихідного коду ініціалізації відео, який використовується різними
платформами Intel у Libreboot, під час прошивки (зараз переписаний
іншими в Ada, для libgfxinit в coreboot, але спочатку він був написаний на
C і включений безпосередньо в coreboot; libgfxinit є субмодуль третьої сторони).
Демієн Замміт
-------------
Підтримує порт coreboot Gigabyte GA-G41M-ES2L, інтегрований у
libreboot. Також працює над іншим апаратним забезпеченням на користь
проекту libreboot.
Демієн не працював безпосередньо над самим Libreboot, але він багато працював з
Лією Роу, інтегруючи патчі та нові порти плати в Libreboot на основі
попередньої роботи Демієна над coreboot.
Денис Каріклі
-------------
На основі роботи, виконаної Пітером Стюджем, Володимиром Сербіненко та іншими
в проекті coreboot, вдалось налагодити нативну ініціалізацію графіки для роботи
на ThinkPad X60, що дозволяє підтримувати її в libreboot. Денис дав
багато порад і допоміг створити проект libreboot.
Денис був наставником Лії Роу в ранні дні, коли вона заснувала проект
Libreboot. Багато прийнятих рішень, особливо щодо системи збірки
Libreboot (lbmk), були натхненні розмовами з Денисом.
Денис навчив Лію про регістри, які використовуються графічним процесором Intel для керування підсвічуванням.
В ранні дні, ноутбуки ThinkPad X60 та T60 в Libreboot не мали працюючого
контроля підсвічуванням, тому яскравість завжди була 100%. За допомогою Дениса,
Лія змогла налаштувати керування підсвічуванням шляхом зворотньої розробки
правильних значень для запису в ці регістри. На основі цього в coreboot
було написано просте виправлення; однак виправлення перезаписувало безпосередньо регістр
і не працювало з елементами керування яскравістю на основі ACPI. Інші в coreboot
пізніше вдосконалили його, змусивши елементи керування підсвічуванням на основі ACPI працювати належним чином, на основі цієї
попередньої роботи.
Джерун Квінт
------------
Додав кілька виправлень до документації libreboot, пов'язаної зі
встановленням Arch з повним дисковим шифруванням у системах libreboot.
Джошуа Гей
----------
Джошуа колишній співробітник FSF.
Джошуа допоміг із раннім заснуванням проекту Libreboot, будучи
(на той час) менеджером з ліцензування та відповідності FSF. Його роботою було
переглядати продукти, надіслані до FSF для перевірки; FSF має програму
сертифікації, під назвою *Поважає Вашу Свободу* (Respects Your Freedom), за якою FSF рекламуватиме
продукти вашої компанії, якщо вони постачаються з усім вільним програмним
забезпеченням.
Я, Лія Роу, спочатку просто продавала ноутбуки ThinkPad X60 із звичайним
coreboot, і це включало оновлення мікрокоду ЦП. У той час
я не дуже про це думала. Джошуа зв'язався зі мною, в своїх повноваженнях FSF, і спитав,
чи зацікавить мене програма RYF FSF; Я була дуже здивована, що FSF
сприйме мене серйозно, і я сказала так. Саме з цього почалася рання робота
над Libreboot. Джошуа показав мені всі проблеми з моїми продуктами, і з
цього, рішення було очевидним:
Необхідно, щоб існував проект із повністю вільною версією coreboot без будь-яких
бінарних блобів. У той час (і це актуально й сьогодні) coreboot не був
повністю вільним програмним забезпеченням і за замовчуванням постачався з двійковими блобами. Зокрема,
оновлення мікрокоду ЦП включено за замовчуванням на всіх машинах x86. Працюючи
з Джошуа, я створила повністю вільну версію coreboot.
Спочатку він не називався Libreboot, і робота була призначена виключно для моєї
компанії (на той час вона називалася Gluglug), яку просувала FSF.
Джошуа використовував свої медійні зв'язки в FSF, щоб активно рекламувати мою роботу, і
13 грудня 2013 року народився проект Libreboot (але не названий так).
Джошуа переконався, щоб всі знали, що я роблю!
Через кілька місяців було створено назву *Libreboot* і зареєстровано доменне ім'я
*libreboot.org*. У цей момент офіційно народився проект Libreboot (на початку
2014 року). Знову Джошуа надав всю можливу допомогу,
активно просуваючи проект, і навіть написав цю статтю на веб-сайті FSF
оголосивши про це:
<https://web.archive.org/web/20171222063358/https://www.fsf.org/blogs/licensing/replace-your-proprietary-bios-with-libreboot>
Ендрю Роббінс
--------------
Працював над великими частинами старої системи збірки Libreboot і пов'язаною документацією.
Ендрю приєднався до проекту Libreboot як штатний розробник у червні 2017,
до моменту свого відходу в березні 2021 року.
Я, Лія Роу, дуже вдячна Ендрю Роббінсу за його численні внески
протягом багатьох років.
Клеменс Нанні
-------------
Внесено багато виправлень і покращень у конфігурацію GRUB, яка використовується в
libreboot, а також кілька змін у системі збірки.
Ліза Марі Магінніс
-------------------
Ліза - колишній системний адміністратор Free Software Foundation. На перших днях
проекту вона давала Лії багато технічних порад. Спочатку вона створила
IRC-канал Libreboot, коли Лія не знала, як користуватися
IRC, а також передала +F статус засновника для каналу. Як системний
адміністратор FSF, роботою Лізи було підтримувати велику частину інфраструктури,
яку використовує Libreboot; на той час списки розсилки на веб-сайті Savannah
використовувалися проектом Libreboot. Коли Пол Коціалковскі був
учасником проекту в 2016 році, вона допомогла йому отримати допомогу від FSF; на той час він був
керівником проекту Replicant, який фінансував FSF, і FSF дозволив
йому використати частину цього фінансування для його роботи над Libreboot, завдяки Лізи
підтримці, коли вона працювала у FSF.
Ліза також втрутилася, коли Лія Роу пропустила виступ на LibrePlanet 2016. Лія мала
виступити з доповіддю про Libreboot, але не з'явилася вчасно. Ліза разом
із Патріком Макдермоттом (колишнім розробником Libreboot, який був присутній
на тій конференції) виступили замість Лії. Розмова ніколи не була записана, але
Фонд вільного програмного забезпечення має ці фотографії цієї розмови на веб-сайті LibrePlanet
(жінка з блакитним волоссям - Ліза, а довговолосий хлопець із вусами -
Патрік):
<http://web.archive.org/web/20170319043913/https://media.libreplanet.org/u/libreplanet/m/session-02-c-mws-png-libreplanet-2016-sessions/>
<http://web.archive.org/web/20170319043915/https://media.libreplanet.org/u/libreplanet/m/session-02-c-wide-png-libreplanet-2016-sessions/>
Цікавий факт: Патрік також є провідним розробником ProteanOS, проекту вбудованої
ОС, схваленого FSF: <http://proteanos.com/> (використовує BusyBox і Linux-libre)
Лія Роу провела *2* семінари LibrePlanet; один у 2015 році та інший у 2016 році,
відвідуючи Бостон, Массачусетс, США в обох випадках для участі в цих конференціях. Ці
семінари стосувалися встановлення Libreboot. Люди приходили на обидва семінари, щоб
встановити Libreboot на свої комп'ютери. Як системний адміністратор FSF, на той час,
Ліза забезпечила всю інфраструктуру та обладнання, яке використовувалося на цих семінарах.
Без її допомоги ці майстер-класи були б неможливими.
Коли материнська плата ASUS KGPE-D16 (серверна плата високого класу) була перенесена на Libreboot,
Лія, працюючи з Тімоті Пірсоном (той, хто її переніс),
приблизно в середині 2016 року поділилася з Лізою виправленнями, в основному виправленнями raminit, щоб отримати плату, яка працює в офісах FSF. Ця робота
зрештою призвела до чудового досягнення:
Веб-сайти FSF і GNU тепер працюють на, з встановленим Libreboot,
заснованих на ASUS KGPE-D16 серверах, на повністю вільному GNU+Linux дистрибутиві. Це
означає, що FSF тепер має повну свободу програмного забезпечення для своєї
інфраструктури хостингу.
FSF також надає доступ до цієї інфраструктури для багатьох інших проектів
(крім проектів GNU); наприклад, Trisquel використовує D16, наданий FSF
для свого сервера розробки, який використовується для створення випусків Trisquel і тестування
змін у дистрибутиві Trisquel GNU+Linux. Trisquel - це повністю вільний
GNU+Linux дистрибутив, активно просуваний FSF.
Ліза була сильною прихильницею 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.
Стів Шентон
-------------
Стів виконав першу роботу зі зворотньої розробки 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

View File

@ -8,8 +8,8 @@ Guide last updated on 16 November 2022.
NOTE: This guide pertains to x86 hosts, and does not cover supported CrOS/ARM
chromebooks. For ARM targets, you should refer to u-boot documentation.
libreboot is capable of booting many BSD systems. This section mostly documents
the peculiarities of libreboot as it pertains to BSD; you can otherwise refer to
nonGeNUine Boot is capable of booting many BSD systems. This section mostly documents
the peculiarities of nonGeNUine Boot as it pertains to BSD; you can otherwise refer to
the official documentation for whatever BSD system you would like to use.
Kernel Mode Setting
@ -22,12 +22,12 @@ you read this article.
Boot BSD, using SeaBIOS
=======================
On x86 platforms, Libreboot provides the choice of GRUB and/or
On x86 platforms, nonGeNUine Boot provides the choice of GRUB and/or
SeaBIOS payload. GRUB can technically boot BSD kernels, but the code is
poorly maintained and unreliable for this use-case scenario; on BIOS systems,
GRUB can chainload BSD bootloaders, but on bare metal (as coreboot payload),
GRUB can only chainload other coreboot payloads or boot Linux/BSD kernels
directly (but direct booting is only really reliable for Linux, in GRUB).
GRUB can only chainload other coreboot payloads or boot GNU+Linux/BSD kernels
directly (but direct booting is only really reliable for GNU+Linux, in GRUB).
It is recommended that you boot in text mode, with SeaBIOS. You can literally
just follow the official installation guides for your BSD system, whether it
@ -42,7 +42,7 @@ OpenBSD and corebootfb
It's still recommended to use SeaBIOS in text mode, but OpenBSD specifically
can work with SeaBIOS booting in a coreboot framebuffer, with SeaVGABIOS. In
Libreboot ROM images, this would be SeaBIOS images with `corebootfb` in the
nonGeNUine Boot ROM images, this would be SeaBIOS images with `corebootfb` in the
file name.
Make sure to select MBR-style partitioning on the installer, and it will
@ -55,12 +55,12 @@ FreeBSD and corebootfb
----------------------
Assumed broken, so please ensure that you boot with SeaBIOS payload in text
mode (lbmk ROM images with `txtmode` in the file name, not `corebootfb`).
mode (gbmk ROM images with `txtmode` in the file name, not `corebootfb`).
Warnings for X11 users
----------------------
One important peculiarity of most libreboot and libreboot systems is: VGA mode
One important peculiarity of most nonGeNUine Boot systems is: VGA mode
support exists, if booting with corebootfb (coreboot's own framebuffer) and
the SeaVGABIOS option ROM used in the SeaBIOS payload; however, the ability
to switch modes is not present, which means you can't switch to text mode
@ -79,7 +79,7 @@ on most systems, but not on most coreboot systems with native video
initialisation used, due to the quirks already described. If you see any
documentation (in BSD land) pertaining to VESA modes, ignore it entirely;
unless you're using the proprietary VGA ROM for your device, it won't work,
and Libreboot doesn't distribute these (instead, coreboot's own video
and nonGeNUine Boot doesn't distribute these (instead, coreboot's own video
initialisation is used where possible, or a headless SeaBIOS payload setup
is provided, where you would either run it headless or install a graphics
card).
@ -91,7 +91,7 @@ boot in text mode, you can't set VESA modes from BSD. However, you're in luck:
At least OpenBSD and FreeBSD (possibly others) all have excellent KMS
support nowadays; short for `Kernel Mode Setting`. This avoids the inefficiency
of BIOS/UEFI methods, by having the kernel set modes directly. It is based on
KMS drivers that the BSD projects ported over from the Linux kernel. With this,
KMS drivers that the BSD projects ported over from the GNU+Linux kernel. With this,
you can use X11/Wayland in FreeBSD (and just X11 in OpenBSD, for now).
For example: on FreeBSD, you can install `graphics/drm-kmod` as a package
@ -117,7 +117,7 @@ ALWAYS READ THE MANUAL
----------------------
All of the BSDs have *excellent* documentation; it's one of the defining
characteristics, versus typical Linux distros.
characteristics, versus typical GNU+Linux distros.
Aside from this quirk in coreboot, regarding *BIOS* video modes, the BSDs
otherwise work in exactly the same way as you would expect, and you can
@ -131,27 +131,27 @@ If you're flashing a ROM for a machine where `seabios_withgrub`
and `seabios_grubfirst` ROMs are available, choose `seabios_withgrub`.
DO NOT USE ROM IMAGES WITH `seabios_grubfirst` IN THE FILE NAME! These were
present in older Libreboot releases, and supported in previous revisions
present in older nonGeNUine Boot releases, and supported in previous revisions
of the build system, but they did not work for the intended purpose. More
info is written on the [Libreboot installation guide](../install/). ROM
info is written on the [nonGeNUine Boot installation guide](../install/). ROM
images with `seabios_grubfirst` in the filename will NOT be included in
future Libreboot releases.
future nonGeNUine Boot releases.
Dubious mention: Tianocore
--------------------------
Tianocore is extremely bloated, and unauditable, so it is not included
in Libreboot firmware, but it is the reference UEFI implementation by
in nonGeNUine Boot firmware, but it is the reference UEFI implementation by
Intel and contributors. It can boot most BSD systems very well.
More robust ways to provide UEFI services in Libreboot are to be investigated.
More robust ways to provide UEFI services in nonGeNUine Boot are to be investigated.
Tianocore integration will not be provided officially, in any current or future
releases of Libreboot.
releases of nonGeNUine Boot.
Desktop users
-------------
Desktop users on Libreboot should just install a graphics card,
Desktop users on nonGeNUine Boot should just install a graphics card,
and again boot with SeaBIOS in text mode; however, when you do this,
SeaBIOS will execute the VGA option ROM on the card which will provide
early video initialisation instead of coreboot's initialisation, and that
@ -164,7 +164,7 @@ The reason to use KMS is because it's more efficient. The INT10H service can
only be called in Real Mode or Virtual 8086 mode; v8086 is unavailable in
long mode (x86\_64) and switching into Real Mode just to set VGA modes is
extremely expensive computationally speaking. This is why modern kernels
(Linux and BSD one) do mode setting themselves.
(GNU+Linux and BSD one) do mode setting themselves.
You can learn more about INT10H text/VGA modes here:

View File

@ -3,25 +3,25 @@ title: Build from source
x-toc-enable: true
...
libreboot's build system is named `lbmk`, short for `Libreboot Make`, and this
nonGeNUine Boot's build system is named `gbmk`, short for **G**nu**B**oot**M**a**K**e, and this
document describes how to use it. With this guide, you can know how to compile
libreboot from the available source code.
This version, if hosted live on libreboot.org, assumes that you are using
the `lbmk` git repository, which
nonGeNUine Boot from the available source code.
This version, if hosted live on the website, assumes that you are using
the `gbmk` git repository, which
you can download using the instructions on [the code review page](../../git.md).
If you're using a release archive of libreboot, please refer to the
documentation included with *that* release. libreboot releases are only intended
If you're using a release archive of nonGeNUine Boot, please refer to the
documentation included with *that* release. nonGeNUine Boot releases are only intended
as *snapshots*, not for development. For proper development, you should always
be working directly in the libreboot git repository.
be working directly in the nonGeNUine Boot git repository.
The following document describes how `lbmk` works, and how you can make changes
to it: [libreboot maintenance manual](../maintain/)
The following document describes how `gbmk` works, and how you can make changes
to it: [gbmk maintenance manual](../maintain/)
Git
===
Libreboot's build system uses Git, extensively. You should perform the steps
nonGeNUine Boot's build system uses Git, extensively. You should perform the steps
below, *even if you're using a release archive*.
Before you use the build system, please know: the build system itself uses
@ -41,28 +41,28 @@ You may also want to follow more of the steps here:
Python
======
Python2 is unused by lbmk or anything that it pulls down as modules. You
Python2 is unused by gbmk or anything that it pulls down as modules. You
should ensure that the `python` command runs python 3, on your system.
Make
========
libreboot Make includes a file called `Makefile`. You can still use
the `lbmk` build system directly, or you can use Make. The `Makefile`
simply runs `lbmk` commands. However, using `lbmk` directly will offer you
**G**nu**B**oot**M**a**K**e (gbmk) includes a file called `Makefile`. You can still use
the `gbmk` build system directly, or you can use Make. The `Makefile`
simply runs `gbmk` commands. However, using `gbmk` directly will offer you
much more flexibility; for example, the Makefile currently cannot build single
ROM images (it just builds all of them, for all boards).
You must ensure that all build dependencies are installed. If you're running
Ubuntu or similar distribution (Debian, Arch, etc) you can do this:
Trisquel 11, you can run this:
sudo make install-dependencies-ubuntu
One exists specifically for Debian:
One exists specifically for Debian (may also work for trisquel):
sudo make install-dependencies-debian
Another exists for Arch:
Another exists for Arch (may also work for parabola):
sudo make install-dependencies-arch
@ -71,7 +71,7 @@ Now, simply build the coreboot images like so:
make
This single command will build ROM images for *every* board integrated in
libreboot. If you only wish to build a limited set, you can use `lbmk` directly:
nonGeNUine Boot. If you only wish to build a limited set, you can use `gbmk` directly:
./build boot roms x200_8mb
@ -82,7 +82,7 @@ You can specify more than one argument:
ROM images appear under the newly created `bin/` directory in the build system.
For other commands, simply read the `Makefile` in your favourite text editor.
The `Makefile` is simple, because it merely runs `lbmk` commands, so it's very
The `Makefile` is simple, because it merely runs `gbmk` commands, so it's very
easy to know what commands are available by simply reading it.
Standard `clean` command available (cleans all modules except `crossgcc`):
@ -103,14 +103,14 @@ Build without using Make
The `Makefile` is included just for *compatibility*, so that someone who
instictively types `make` will get a result.
Actual development/testing is always done using `lbmk` directly, and this
Actual development/testing is always done using `gbmk` directly, and this
includes when building from source. Here are some instructions to get you
started:
First, install build dependencies
---------------------------------
libreboot includes a script that automatically installs apt-get dependencies
nonGeNUine Boot includes a script that automatically installs apt-get dependencies
in Ubuntu 20.04:
sudo ./build dependencies ubuntu2004
@ -123,11 +123,14 @@ Separate scripts also exist:
sudo ./build dependencies void
Technically, any Linux distribution can be used to build libreboot.
Technically, any GNU+Linux distribution can be used to build nonGeNUine Boot.
However, you will have to write your own script for installing build
dependencies.
libreboot Make (lbmk) automatically runs all necessary commands; for
**G**nu**B**oot**M**a**K**e (gbmk)
-------------------
**G**nu**B**oot**M**a**K**e (gbmk) automatically runs all necessary commands; for
example, `./build payload grub` will automatically run `./build module grub`
if the required utilities for GRUB are not built, to produce payloads.
@ -151,7 +154,7 @@ If you wish to build payloads, you can also do that. For example:
Previous steps will be performed automatically. However, you can *still* run
individual parts of the build system manually, if you choose. This may be
beneficial when you're making changes, and you wish to test a specific part of
lbmk.
gbmk.
Therefore, if you only want to build ROM images, just do the above. Otherwise,
please continue reading!
@ -161,8 +164,8 @@ Second, download all of the required software components
If you didn't simply run `./build boot roms` (with or without extra
arguments), you can still perform the rest of the build process manually. Read
on! You can read about all available scripts in `lbmk` by reading
the [libreboot maintenance manual](../maintain/); lbmk is designed to be modular
on! You can read about all available scripts in `gbmk` by reading
the [gbmk maintenance manual](../maintain/); gbmk is designed to be modular
which means that each script *can* be used on its own (if that's not true, for
any script, it's a bug that should be fixed).
@ -170,7 +173,7 @@ It's as simple as that:
./download all
The above command downloads all modules defined in the libreboot build system.
The above command downloads all modules defined in the nonGeNUine Boot build system.
However, you can download modules individually.
This command shows you the list of available modules:
@ -200,7 +203,7 @@ Again, very simple:
./build module all
This builds every module defined in the libreboot build system, but you can
This builds every module defined in the nonGeNUine Boot build system, but you can
build modules individually.
The following command lists available modules:
@ -247,7 +250,7 @@ Example of building specific payloads:
./build payload seabios
Each board has its own U-Boot build configuration in `lbmk` under
Each board has its own U-Boot build configuration in `gbmk` under
`resources/u-boot`. To build U-Boot payloads, you need to specify the
target board and maybe a cross compiler for its CPU architecture. These
are handled automatically when building ROM images, but for example:
@ -267,7 +270,7 @@ Run this command:
./build boot roms
Each board has its own configuration in `lbmk` under `resources/coreboot/`
Each board has its own configuration in `gbmk` under `resources/coreboot/`
which specifies which payloads are supported.
By default, all ROM images are built, for all boards. If you wish to build just

View File

@ -3,25 +3,25 @@ title: Побудова з джерельного коду
x-toc-enable: true
...
Система побудови libreboot, називається `lbmk`, скорочення від `Libreboot Make`, і цей
Система побудови nonGeNUine Boot, називається `gbmk`, скорочення від **G**nu**B**oot**M**a**K**e, і цей
документ описує те, як використовувати її. З цим керівництвом ви можете узнати те, як побудувати
libreboot з доступного джерельного коду.
Ця версія, якщо розміщена наживо на libreboot.org, передбачає, що ви використовуєте
сховище git `lbmk`, яке
nonGeNUine Boot з доступного джерельного коду.
Ця версія, якщо розміщена наживо на nonGeNUine Boot, передбачає, що ви використовуєте
сховище git `gbmk`, яке
ви можете завантажити, використовуючи інструкції на [сторінці огляду коду](../../git.uk.md).
Якщо ви використовуєте архів випуску libreboot, будь ласка, зверніться до
документації, включеної до *того* випуску. Випуски libreboot розраховані тільки,
Якщо ви використовуєте архів випуску nonGeNUine Boot, будь ласка, зверніться до
документації, включеної до *того* випуску. Випуски nonGeNUine Boot розраховані тільки,
як *знімки*, не для розробки. Для належної розробки ви маєте завжди
працювати безпосередньо в сховищі git libreboot.
працювати безпосередньо в сховищі git nonGeNUine Boot.
Наступний документ описує те, як працює `lbmk`, і як ви можете робити зміни
до нього: [керівництво обслуговування libreboot](../maintain/)
Наступний документ описує те, як працює `gbmk`, і як ви можете робити зміни
до нього: [керівництво обслуговування nonGeNUine Boot](../maintain/)
Git
===
Система побудови Libreboot використовує Git, обширно. Ви маєте виконати кроки
Система побудови nonGeNUine Boot використовує Git, обширно. Ви маєте виконати кроки
знизу, *навіть, якщо ви використовуєте архів випуску*.
Перед тим, як вам використовувати систему побудови, будь ласка, знайте: система побудови, сама по собі,
@ -41,28 +41,28 @@ Git
Python
======
Python2 не використовується lbmk або будь-чим, що завантажується в якості модулів. Ви
Python2 не використовується gbmk або будь-чим, що завантажується в якості модулів. Ви
маєте переконатись, що команда `python` виконує python 3 на вашій системі.
Make
========
libreboot Make включає файл, який названо `Makefile`. Ви досі можете
використовувати систему побудови `lbmk` безпосередньо, або ви можете використовувати Make. `Makefile`
просто виконує команди `lbmk`. Однак, використання `lbmk` безпосередньо запропонує вам
**G**nu**B**oot**M**a**K**e включає файл, який названо `Makefile`. Ви досі можете
використовувати систему побудови `gbmk` безпосередньо, або ви можете використовувати Make. `Makefile`
просто виконує команди `gbmk`. Однак, використання `gbmk` безпосередньо запропонує вам
набагато більше гнучкості; наприклад, Makefile наразі не може побудувати один
образ ROM (він лише будує всі з них, для всіх плат).
Ви мусите переконатись, що всі залежності побудови встановлено. Якщо ви використовуєте
Ubuntu або подібний дистрибутив (Debian, Arch і тому подібні), можете виконати це:
Trisquel або подібний дистрибутив (Debian), можете виконати це:
sudo make install-dependencies-ubuntu
Існує конкретно для Debian:
Існує конкретно для Debian/Trisquel:
sudo make install-dependencies-debian
Інша існує для Arch:
Інша існує для Arch/Parabola:
sudo make install-dependencies-arch
@ -71,7 +71,7 @@ Ubuntu або подібний дистрибутив (Debian, Arch і тому
make
Ця єдина команда побудує образи ROM для *кожної* плати, інтегрованої до
libreboot. Якщо ви тільки хочете побудувати обмежену вибірку, можете використовувати `lbmk` безпосередньо:
nonGeNUine Boot. Якщо ви тільки хочете побудувати обмежену вибірку, можете використовувати `gbmk` безпосередньо:
./build boot roms x200_8mb
@ -82,7 +82,7 @@ libreboot. Якщо ви тільки хочете побудувати обме
Образи ROM з'явяться під щойно створеною директорією `bin/` в системі побудови.
Для інших команд просто прочитайте `Makefile` в своєму улюбленому текстовому редакторі.
`Makefile` є простим, тому що він виконує виключно команди `lbmk`, таким чином дуже
`Makefile` є простим, тому що він виконує виключно команди `gbmk`, таким чином дуже
просто знати те, які команди є в доступності, просто читаючи його.
Стандартна команда `clean` доступна (чистить всі модулі, окрім `crossgcc`):
@ -103,14 +103,14 @@ libreboot. Якщо ви тільки хочете побудувати обме
`Makefile` включено лише для *сумісності*, щоб якщо хтось
інстиктивно пише `make`, то було отримано результат.
Фактична розробка/тестування завжди виконується безпосередньо за допомогою `lbmk`, і це також
Фактична розробка/тестування завжди виконується безпосередньо за допомогою `gbmk`, і це також
стосується збирання з джерельного коду. Ось кілька інструкцій, щоб
почати:
Спочатку встановіть залежності побудови
---------------------------------
libreboot включає сценарій, який автоматично встановлює apt-get залежності
nonGeNUine Boot включає сценарій, який автоматично встановлює apt-get залежності
в Ubuntu 20.04:
sudo ./build dependencies ubuntu2004
@ -123,11 +123,11 @@ libreboot включає сценарій, який автоматично вс
sudo ./build dependencies void
Технічно, будь-який дистрибутив Linux може бути використано для побудови libreboot.
Технічно, будь-який дистрибутив GNU+Linux може бути використано для побудови nonGeNUine Boot.
Однак, вам потрібно буде написано свій власний сценарій для встановлення залежностей
побудови.
libreboot Make (lbmk) автоматично виконує всі необхідні команди; наприклад,
**G**nu**B**oot**M**a**K**e (gbmk) автоматично виконує всі необхідні команди; наприклад,
`./build payload grub` автоматично виконає `./build module grub`,
якщо затребувані утиліти для GRUB не збудовано, для виготовлення корисних навантажень.
@ -151,7 +151,7 @@ libreboot Make (lbmk) автоматично виконує всі необхі
Попередні кроки буде виконано автоматично. Однак, ви можете *досі* виконати
окремі частини системи побудови власноруч, якщо виберете. Це може бути
вигідно, коли ви робите зміни, та бажаєте протестувати конкретну частину
lbmk.
gbmk.
Отже, якщо ви лише хочете побудувати образи ROM, просто зробіть наведене вище. В іншому випадку,
будь ласка, продовжіть читати!
@ -161,8 +161,8 @@ lbmk.
Якщо ви не виконали просто `./build boot roms`або без надлишкових
аргументів), ви все одно можете виконати залишок процесу побудови власноруч. Читайте
далі! Ви можете прочитати про всі доступні сценарії в `lbmk`, читаючи
[керівництво обслуговування libreboot](../maintain/); lbmk розроблено бути модулярним,
далі! Ви можете прочитати про всі доступні сценарії в `gbmk`, читаючи
[керівництво обслуговування nonGeNUine Boot](../maintain/); gbmk розроблено бути модулярним,
що означає те, що кожен сценарій *може* бути використано самостійно (якщо це не є правдою, для
будь-якого сценарія, це є помилкою, яка має бути виправлена).
@ -170,7 +170,7 @@ lbmk.
./download all
Вищезазначена команда завантажує всі модулі, які означено в системі побудови libreboot.
Вищезазначена команда завантажує всі модулі, які означено в системі побудови nonGeNUine Boot.
Однак, ви можете завантажити модулі індивідуально.
Ця команда показує вам список доступних модулів:
@ -200,7 +200,7 @@ lbmk.
./build module all
Це будує кожен модуль, означений в системі побудови libreboot, але ви можете
Це будує кожен модуль, означений в системі побудови nonGeNUine Boot, але ви можете
будувати модулі індивідуально.
Наступна команда перелічує доступні модулі:
@ -247,7 +247,7 @@ lbmk.
./build payload seabios
Кожна плата має свою власну конфігурацію побудови U-Boot в `lbmk` під
Кожна плата має свою власну конфігурацію побудови U-Boot в `gbmk` під
`resources/u-boot`. Для побудови корисних навантажень U-Boot, вам потрібно вказати
цільову плату і мабуть крос-компілятор для її архітектури ЦП. Вони
керуються автоматично під час побудови образів ROM, але для прикладу:
@ -267,7 +267,7 @@ lbmk.
./build boot roms
Кожна плата має свою власну конфігурацію в `lbmk` під `resources/coreboot/`,
Кожна плата має свою власну конфігурацію в `gbmk` під `resources/coreboot/`,
яка вказує, які корисні навантаження підтримуються.
За замовчуванням, всі образи ROM будуються, для всіх плат. Якщо ви бажаєте побудувати лише

View File

@ -1,4 +1,4 @@
# Fully Encrypted Boot and Root Partitions with Libreboot
# Fully Encrypted Boot and Root Partitions with nonGeNUine Boot
The following guide will explain how to create:

View File

@ -1,5 +1,5 @@
---
title: Installing Linux
title: Installing GNU+Linux
x-toc-enable: true
...
@ -9,17 +9,17 @@ This guide assumes that you are using the GRUB bootloader directly.
If you're using SeaBIOS, it's quite intuitive and works similarly to other BIOS
software; refer to the documentation on <https://seabios.org/SeaBIOS>.
This guide explains how to prepare a bootable USB for libreboot systems that
can be used to install several Linux distributions. For this guide, you
This guide explains how to prepare a bootable USB for nonGeNUine Boot systems that
can be used to install several GNU+Linux distributions. For this guide, you
will only need a USB flash drive and the `dd` utility (it's installed into all
Linux distributions, by default).
GNU+Linux distributions, by default).
These instructions are intended to be generic, applicable to just about any
Linux distribution.
GNU+Linux distribution.
## Prepare the USB Drive in Linux
If you downloaded your ISO while on an existing Linux system, here is how
to create the bootable Linux USB drive:
## Prepare the USB Drive in GNU+Linux
If you downloaded your ISO while on an existing GNU+Linux system, here is how
to create the bootable GNU+Linux USB drive:
Connect the USB drive. Check `lsblk`, to confirm its device name
(e.g., **/dev/sdX**):
@ -32,7 +32,7 @@ it's not mounted:
sudo umount /dev/sdb
Overwrite the drive, writing your distro ISO to it with `dd`. For example, if
we are installing *Foobarbaz* Linux, and it's located in our Downloads
we are installing *Foobarbaz* GNU+Linux, and it's located in our Downloads
folder, this is the command we would run:
sudo dd if=~/Downloads/foobarbaz.iso of=/dev/sdb bs=8M; sync
@ -44,17 +44,17 @@ That's it! You should now be able to boot the installer from your USB drive
[This page](https://wiki.netbsd.org/tutorials/how_to_install_netbsd_from_an_usb_memory_stick/)
on the NetBSD website shows how to create a NetBSD bootable USB drive, from
within NetBSD itself. You should the `dd` method documented there. This will
work with any Linux ISO image.
work with any GNU+Linux ISO image.
## Prepare the USB drive in FreeBSD
[This page](https://www.freebsd.org/doc/handbook/bsdinstall-pre.html) on the
FreeBSD website shows how to create a bootable USB drive for installing
FreeBSD. Use the `dd` method documented. This will work with any Linux ISO
FreeBSD. Use the `dd` method documented. This will work with any GNU+Linux ISO
image.
## Prepare the USB drive in LibertyBSD or OpenBSD
If you downloaded your ISO on a LibertyBSD or OpenBSD system, here is how to
create the bootable Linux USB drive:
create the bootable GNU+Linux USB drive:
Connect the USB drive. Run `lsblk` to determine which drive it is:
@ -109,7 +109,7 @@ menu, converted from the usual ISOLINUX menu provided by that distro.
## Booting ISOLINUX Images (Manual Method)
These are generic instructions. They may or may not be correct for your
distribution. You must adapt them appropriately, for whatever Linux
distribution. You must adapt them appropriately, for whatever GNU+Linux
distribution it is that you are trying to install.
If the `ISOLINUX parser` or `Search for GRUB configuration` options won't work,
@ -158,11 +158,11 @@ to distro. If you did all of that correctly, then it should now be booting your
USB drive in the way that you specified.
## Troubleshooting
Most of these issues occur when using libreboot with coreboot's `text-mode`
Most of these issues occur when using nonGeNUine Boot with coreboot's `text-mode`
with libgfxinit for video initialization. This mode is useful for text mode
payloads, like `MemTest86+`, which expect `text-mode`, but for Linux
payloads, like `MemTest86+`, which expect `text-mode`, but for GNU+Linux
distributions it can be problematic when they are trying to switch to a
framebuffer, because no mode switching support is present (Linux/BSD kernels
framebuffer, because no mode switching support is present (GNU+Linux/BSD kernels
do Kernel Mode Setting, so they are able to initialize a frame buffer in bare
metal regardless of whatever coreboot is doing).

View File

@ -12,10 +12,10 @@ on *bare metal* as a native coreboot payload and does *not* use BIOS or UEFI
services (but it *can* load and execute SeaBIOS, in addition to any other
coreboot payload, by chainloading it).
In most circumstances, this guide will not benefit you. libreboot's default
In most circumstances, this guide will not benefit you. nonGeNUine Boot's default
GRUB configuration file contains scripting logic within it that intelligently
searches for GRUB partitions installed onto a partition on your SSD, HDD or
USB drive installed on your computer. If such a file is found, libreboot's
USB drive installed on your computer. If such a file is found, nonGeNUine Boot's
default GRUB configuration is configured to switch automatically to that
configuration. While not perfect, the logic *does* work with most
configurations.
@ -30,31 +30,31 @@ a known state.
Compile flashrom and cbfstool
=============================
libreboot does not currently distribute utilities pre-compiled. It only
nonGeNUine Boot does not currently distribute utilities pre-compiled. It only
provides ROM images pre-compiled, where feasible. Therefore, you have to build
the utilities from source.
As for the ROM, there are mainly three methods for obtaining a libreboot ROM
As for the ROM, there are mainly three methods for obtaining a nonGeNUine Boot ROM
image:
1. Dump the contents of the the main *boot flash* on your system, which already
has libreboot installed (with GRUB as the default payload). Extract the
has nonGeNUine Boot installed (with GRUB as the default payload). Extract the
GRUB configuration from *that* ROM image.
2. Extract it from a libreboot ROM image supplied by the libreboot project, on
the libreboot website or mirrors of the libreboot website.
3. Build the ROM yourself, using the libreboot build system. Instructions for
2. Extract it from a nonGeNUine Boot ROM image supplied by the nonGeNUine Boot project, on
the nonGeNUine Boot website or mirrors of the nonGeNUine Boot website.
3. Build the ROM yourself, using the nonGeNUine Boot build system. Instructions for
how to do this are covered in the following article:
[How to build libreboot from source](../build/)
[How to build nonGeNUine Boot from source](../build/)
In either case, you will use the `cbfstool` supplied in the libreboot build
In either case, you will use the `cbfstool` supplied in the nonGeNUine Boot build
system.
This can be found under `coreboot/*/util/cbfstool/` as source code,
where `*` can be any coreboot source code directory for a given mainboard.
The directory named `default` should suffice.
Install the build dependencies. For Ubuntu 20.04 and similar, you can run
the following command in the libreboot build system, from the root directory
of the libreboot Git repository.
the following command in the nonGeNUine Boot build system, from the root directory
of the nonGeNUine Boot Git repository.
./build dependencies ubuntu2004
@ -73,10 +73,10 @@ For example: `coreboot/default/util/cbfstool/cbfstool`
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.
ROM image; as a *coreboot distribution*, nonGeNUine Boot inherits this technology.
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
You will also want to build `flashrom` which nonGeNUine Boot recommends for reading
from and/or writing to the boot flash. In the nonGeNUine Boot build system, you can
build it by running this command:
./build module flashrom
@ -87,10 +87,10 @@ this.
Dump the boot flash
===================
If you wish to modify your *existing* libreboot ROM, which was installed on
If you wish to modify your *existing* nonGeNUine Boot ROM, which was installed on
your computer, you can use `flashrom` to acquire it.
Simply run the following, after using libreboot's build system to compile
Simply run the following, after using nonGeNUine Boot's build system to compile
flashrom:
sudo ./flashrom/flashrom -p internal -r dump.bin
@ -107,7 +107,7 @@ flashed, versus the new ROM image.
The `internal` option assumes that internal read/write is possible; this is
when you read from and/or write to the boot flash from an operating systems
(usually Linux) that is *running on* the target system.
(usually GNU+Linux) that is *running on* the target system.
In other cases, you may need to connect an SPI programmer externally (with the
machine powered down) and read the contents of the boot flash.
@ -117,7 +117,7 @@ machine powered down) and read the contents of the boot flash.
Extract grub.cfg
================
libreboot images that use the GRUB bootloader will have *two* configuration
nonGeNUine Boot images that use the GRUB bootloader will have *two* configuration
files in CBFS:
* `grub.cfg`
@ -130,7 +130,7 @@ When that it done, copy the changes over to `grub.cfg
You can use the following commands to modify the contents of CBFS, where
GRUB's configuration file is concerned (dump.bin is the ROM that you dumped,
or it could refer to the libreboot ROM image that you compiled or otherwise
or it could refer to the nonGeNUine Boot ROM image that you compiled or otherwise
acquired).
Show the contents of CBFS, in your ROM:
@ -160,7 +160,7 @@ Add your modified `grub.cfg` (substitute with `grubtest.cfg` as desired):
Flash the modified ROM image
============================
Your modified `dump.bin` or other modified libreboot ROM can then be re-flashed
Your modified `dump.bin` or other modified nonGeNUine Boot ROM can then be re-flashed
using:
sudo ./flashrom -p internal -w dump.bin

View File

@ -5,21 +5,21 @@ x-toc-enable: true
This article only applies to those people who use the GRUB bootloader as
their default payload (options besides GRUB are also available in
libreboot). Whenever this article refers to GRUB, or configuration files
nonGeNUine Boot). Whenever this article refers to GRUB, or configuration files
used in GRUB, it is referring exclusively to those files hosted in CBFS
(coreboot file system) in the libreboot ROM image. In this configuration,
(coreboot file system) in the nonGeNUine Boot ROM image. In this configuration,
GRUB is running on *bare metal* as a coreboot payload (instead of relying on
BIOS or UEFI services, like it does on *most* x86 based configurations).
This guide deals with various ways in which you can harden your GRUB
configuration, for security purposes. These steps are optional, but *strongly*
recommended by the libreboot project.
recommended by the nonGeNUine Boot project.
GRUB provides *many* advanced security features, which most people don't
know about but are fully documented on the libreboot website. Read on!
know about but are fully documented on the nonGeNUine Boot website. Read on!
This article doesn't cover how to dump your ROM, or flash a new one. Please
read other sections in the libreboot documentation if you don't know how to do
read other sections in the nonGeNUine Boot documentation if you don't know how to do
that. As such, this is an *expert only* guide. There is a great possibility for
bricking your system if you follow this guide incorrectly, or otherwise don't
know what you're doing.
@ -31,9 +31,9 @@ GRUB contains code, based on [GPG](https://gnupg.org/), that can verify
PGP signatures on *any* type of file, on any storage medium supported by
GRUB (it supports basically everything, including CBFS which is short
for coreboot file system and it is what we will focus on in this article).
We will be using this functionality to verify the signature of a Linux kernel,
at boot time. In conjunction with reproducible builds (both libreboot and your
Linux kernel), this can greatly improve system security; Debian is an excellent
We will be using this functionality to verify the signature of a GNU+Linux kernel,
at boot time. In conjunction with reproducible builds (both nonGeNUine Boot and your
GNU+Linux kernel), this can greatly improve system security; Debian is an excellent
example of a project striving towards this goal; see:
<https://wiki.debian.org/ReproducibleBuilds>
@ -49,11 +49,11 @@ repository). More information about reproducible builds can be found here:
<https://reproducible-builds.org/>
Reproducibility is a key goal of the libreboot project, though it has not yet
Reproducibility is a key goal of the nonGeNUine Boot project, though it has not yet
achieved that goal. However, it is an important part of any secure system. We
suggest that, when securing your libreboot system as instructed by this guide,
you should also use a reproducible Linux distribution (because checking GPG
signatures on a non-reproducible binary, such as a Linux kernel, is meaningless
suggest that, when securing your nonGeNUine Boot system as instructed by this guide,
you should also use a reproducible GNU+Linux distribution (because checking GPG
signatures on a non-reproducible binary, such as a GNU+Linux kernel, is meaningless
if that binary can be compromised as a result of literally not being able to
verify that the source code *actually* corresponds to the provided binary,
which is exactly what reproducible builds allow). If *someone else* compiles an
@ -63,7 +63,7 @@ they gave you. Based on these facts, we can observe that checking GPG
signatures will improve your *operational* security, but only in specific
circumstances under *controlled conditions*.
This tutorial assumes you have a libreboot image (ROM) that you wish to modify,
This tutorial assumes you have a nonGeNUine Boot image (ROM) that you wish to modify,
which from now on we will refer to simply as *`my.rom`*. It should go without
saying that this ROM uses the GRUB bootloader as payload. This page shows
how to modify grubtest.cfg, which means that signing and password protection
@ -72,13 +72,13 @@ incorrect configuration will be impossible. After you are satisfied with the
new setup, you should transfer the new settings to grub.cfg to make your
machine truly secure.
First, extract the old grubtest.cfg and remove it from the libreboot
First, extract the old grubtest.cfg and remove it from the nonGeNUine Boot
image:
cbfstool my.rom extract -n grubtest.cfg -f my.grubtest.cfg
cbfstool my.rom remove -n grubtest.cfg
You can build `cbfstool` in the libreboot build system. Run this command:
You can build `cbfstool` in the nonGeNUine Boot build system. Run this command:
./build module cbutils
@ -87,13 +87,16 @@ This assumes that you already downloaded coreboot:
./download coreboot
This, in turn, assumes that you have installed the build dependencies for
libreboot. On Ubuntu 20.04 and other apt-get distros, you can do this:
nonGeNUine Boot. On Ubuntu 20.04 and other apt-get distros, you can do this:
./build dependencies ubuntu2004
NOTE: This script also works with *Trisquel 11*, which is based on
Ubuntu 20.04.
The `cbfstool` executables will be under each coreboot directory, under
each `coreboot/boardname/` directory for each board. Just pick one, presumably
from the coreboot directory for your board. libreboot creates multiple coreboot
from the coreboot directory for your board. nonGeNUine Boot creates multiple coreboot
archives for different board revisions, on different boards.
References:
@ -120,7 +123,7 @@ signatures in any other location (unless the software is modified accordingly).
It's worth noting that this is not your LUKS password but, rather, a password
that you must enter in order to use *restricted* functionality (such as the
GRUB terminal for executing commands). This behaviour protects your system
from an attacker simply booting a live USB key (e.g. live Linux
from an attacker simply booting a live USB key (e.g. live GNU+Linux
distribution) for the purpose of flashing modified boot firmware, which from
your perspective is *compromised* boot firmware. *This should be different than
your LUKS passphrase and user password.*
@ -152,9 +155,9 @@ done using the `grub-mkpasswd-pbkdf2` utility. You can get it by
installing GRUB version 2. Generate a key by giving it a password:
NOTE: This utility is included under the `grub/` directory, when you build
GRUB using the libreboot build system. Run the following commands (assuming
GRUB using the nonGeNUine Boot build system. Run the following commands (assuming
you have the correct build dependencies installed) to build GRUB, from the
libreboot Git repository:
nonGeNUine Boot Git repository:
./download grub
@ -198,7 +201,7 @@ function try\_user\_config:
function try_user_config {
set root="${1}"
for dir in boot grub grub2 boot/grub boot/grub2; do
for name in '' autoboot_ libreboot_ coreboot_; do
for name in '' autoboot_ nongenuineboot_ coreboot_; do
if [ -f /"${dir}"/"${name}"grub.cfg ]; then
#unset superusers
configfile /"${dir}"/"${name}"grub.cfg
@ -210,9 +213,9 @@ function try_user_config {
The `unset superusers` command disables password authentication, which will
allow the attacker to boot an arbitrary operating system, regardless of
signature checking. The default libreboot configuration is tweaked for *easy of
signature checking. The default nonGeNUine Boot configuration is tweaked for *easy of
use* by end users, and it is *not* done with security in mind (though security
is preferred). Thus, libreboot is less restrictive by default. What you are
is preferred). Thus, nonGeNUine Boot is less restrictive by default. What you are
doing, per this article, is making your system *more secure* but at the expense
of user-friendliness.
@ -244,13 +247,13 @@ Now that we have a key, we can sign some files with it. We must sign:
but, afterwards, `grubtest.cfg` is not signed and it will not load.
Suppose that we have a pair of `my.kernel` and `my.initramfs` and an
on-disk `libreboot_grub.cfg`. We will sign them by running the following
on-disk `nongenuineboot_grub.cfg`. We will sign them by running the following
commands:
```
gpg --homedir keys --detach-sign my.initramfs
gpg --homedir keys --detach-sign my.kernel
gpg --homedir keys --detach-sign libreboot_grub.cfg
gpg --homedir keys --detach-sign nongenuineboot_grub.cfg
gpg --homedir keys --detach-sign my.grubtest.cfg
```
@ -263,7 +266,7 @@ trust (cbfsdisk)/boot.key
set check_signatures=enforce
```
What remains now is to include the modifications into the libreboot image
What remains now is to include the modifications into the nonGeNUine Boot image
(ROM):
```

View File

@ -1,5 +1,5 @@
---
title: Linux guides
title: GNU+Linux guides
x-toc-enable: true
...
@ -11,7 +11,7 @@ If you're using SeaBIOS, the boot process will work similarly to traditional
BIOS systems; refer to the SeaBIOS documentation
on <https://seabios.org/SeaBIOS>
Linux is generally assumed, especially for Libreboot development, but Libreboot
GNU+Linux is generally assumed, especially for nonGeNUine Boot development, but nonGeNUine Boot
also works quite nicely with [BSD systems](../bsd/).
Useful links
@ -19,30 +19,30 @@ Useful links
Refer to the following pages:
* [How to Prepare and Boot a USB Installer in libreboot Systems](grub_boot_installer.md)
* [Modifying the GRUB Configuration in libreboot Systems](grub_cbfs.md)
* [How to Prepare and Boot a USB Installer in nonGeNUine Boot Systems](grub_boot_installer.md)
* [Modifying the GRUB Configuration in nonGeNUine Boot Systems](grub_cbfs.md)
* [How to Harden Your GRUB Configuration, for Security](grub_hardening.md)
Encrypted (LUKS/dm-crypt) installations
=======================================
A better solution for encryption would be a Linux payload in flash, handling the
encryption, at least if you want to use Linux, because then it'll have
A better solution for encryption would be a GNU+Linux payload in flash, handling the
encryption, at least if you want to use GNU+Linux, because then it'll have
perfect LUKS support.
GRUB otherwise has good filesystem support, so if you have a valid `grub.cfg`
in `/boot/grub` on your installed system, Libreboot's GRUB configuration has
in `/boot/grub` on your installed system, nonGeNUine Boot's GRUB configuration has
logic in it that will try to automatically use whatever you have installed,
by switching to it. In this way, most installations Just Work, so long as
the `/boot` partition is accessible.
Full encryption for basic LUKS2 is supported in libreboot.
Full encryption for basic LUKS2 is supported in nonGeNUine Boot.
See [the guide](encryption.md) for more detail.
Rebooting system in case of freeze
===================================
Linux kernel has a feature to do actions to the system any time, even
GNU+Linux kernel has a feature to do actions to the system any time, even
with it freezes, this is called a
[Magic SysRq keys](https://en.wikipedia.org/wiki/Reisub). You can do these
actions with Alt + Sysrq + Command. These are the actions:
@ -66,7 +66,7 @@ This may also apply to CentOS or Redhat. Chroot guide can be found on
linux16 issue
-------------
Libreboot's default GRUB config sources fedora's grub config
nonGeNUine Boot's default GRUB config sources fedora's grub config
`grub.cfg` (in `/boot/grub2/grub.cfg`), fedora by default makes use of the
`linux16` command, where it should be saying `linux`

View File

@ -7,12 +7,12 @@ TODO: this guide should be reviewed and updated. Some info might be out of
date.
GNU GRUB already has excellent
documentation, but there are aspects of libreboot that deserve special
treatment. libreboot provides the option to boot GRUB directly, running on
documentation, but there are aspects of nonGeNUine Boot that deserve special
treatment. nonGeNUine Boot provides the option to boot GRUB directly, running on
bare metal (instead of using BIOS or UEFI services).
[The Linux section](../linux/) also has libreboot-specific guides for
dealing with Linux distributions when using GRUB directly, in this
[The GNU+Linux section](../gnulinux/) also has nongenuineboot-specific guides for
dealing with GNU+Linux distributions when using GRUB directly, in this
setup. [A similar section exists for BSD operating systems](../bsd/)
GRUB keyboard layouts
@ -33,20 +33,20 @@ files:
When you build GRUB from source, you can use the `grub-mklayout` program to
create a special keymap file for GRUB. [Learn how to build GRUB](../build/)
When you've built GRUB, using `lbmk` (libreboot build system), take your kepmap
When you've built GRUB, using `gbmk` (nonGeNUine Boot build system), take your kepmap
file (generated by ckbcomp) and run it through `grub-mklayout` like so:
cat frazerty | ./grub/grub-mklayout -o frazerty.gkb
Place the newly created `.gkb` file under `resources/grub/keymap` in lbmk. When
you build libreboot, a ROM image with GRUB payload and your newly created
Place the newly created `.gkb` file under `resources/grub/keymap` in gbmk. When
you build nonGeNUine Boot, a ROM image with GRUB payload and your newly created
keymap will be available under the `bin/` directory.
[Learn how to build libreboot ROM images](../build/)
[Learn how to build nonGeNUine Boot ROM images](../build/)
Many keymaps exist in the libreboot build system, but sometimes you must
Many keymaps exist in the nonGeNUine Boot build system, but sometimes you must
manually tweak the file created by `ckbcomp`, adjusting the scan codes in that
file, before converting to a GRUB keymap file. Therefore, it would be unwise to
automatically add all keymaps in GRUB.
If you've added a keymap to lbmk, and it works,
If you've added a keymap to gbmk, and it works,
[please submit a patch!](../../git.md)

View File

@ -4,8 +4,8 @@ x-toc-enable: true
...
This is similar to Gigabyte GA-G41M-ES2L but uses an Intel NIC rather than
Realtek. Some problems with Linux on this NIC, on this board, with Libreboot,
were observed; see:
Realtek. Some problems with GNU+Linux on this NIC, on this board, with nonGeNUine Boot,
were observed; see (NOTE: Libreboot issue tracker, not nonGeNUine Boot):
<https://notabug.org/libreboot/lbmk/issues/125>
@ -14,7 +14,7 @@ That page (on notabug) has some notes about workarounds. It links to this:
<https://superuser.com/questions/1104537/how-to-repair-the-checksum-of-the-non-volatile-memory-nvm-of-intel-ethernet-co/1106641#1106641>
This page has some guidance on how to either correct the checksum (in GbE
config) or skip checksum validation in Linux, to get the onboard NIC working.
config) or skip checksum validation in GNU+Linux, to get the onboard NIC working.
Although it's talking about different hardware, the steps should be the same.
TODO: factory BIOS on this board works fine with the onboard NIC. study what

View File

@ -48,12 +48,12 @@ P*: Partially works with blobs
</div>
This is a desktop board using intel hardware (circa \~2009, ICH7
southbridge, similar performance-wise to the ThinkPad X200. It can make
for quite a nifty desktop. Powered by libreboot.
for quite a nifty desktop. Powered by nonGeNUine Boot.
NOTE: D410PT is another name and it's the same board. Flash the exact same
ROM and it should work.
NOTE: This board has a working framebuffer in Grub, but in Linux in
NOTE: This board has a working framebuffer in Grub, but in GNU+Linux in
native resolution the display is unusable due to some raminit issues.
This board can however be used for building a headless server.

View File

@ -3,9 +3,13 @@ title: Intel D945GCLF desktop board
x-toc-enable: true
...
**NOTE: This information was inherited when we forked Libreboot, but this
mainboard had been removed at that time. Further testing is required, on
this mainboard.**
<div class="specs">
<center>
<img tabindex=1 alt="D945GCLF" class="p" src="https://av.libreboot.org/d945gclf/d945gclf.jpg" /><span class="f"><img src="https://av.libreboot.org/d945gclf/d945gclf.jpg" /></span>
<img tabindex=1 alt="D945GCLF" class="p" src="https://avgnu.vimuser.org/d945gclf/d945gclf.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/d945gclf/d945gclf.jpg" /></span>
</center>
| ***Specifications*** | |
@ -58,7 +62,7 @@ Introduction
This board is a mini-itx desktop board for 2008. It uses an atom 230,
which is a singe core CPU but it is hyperthreaded so it appears to have
2 thread to the OS. The flash chip is very small, 512KiB, so grub2 does
not fit, which is why libreboot has to use seabios on this target. Full
not fit, which is why nonGeNUine Boot has to use seabios on this target. Full
disk encryption like on other supported targets will not be possible, so
plan accordingly.
@ -79,21 +83,21 @@ that it should also work but this is untested.
Remarks about vendor bios:
--------------------------
- Without coreboot/libreboot this board is completely useless, since the
- Without a coreboot firmware this board is completely useless, since the
vendor bios is very bad. It cannot boot from any HDD whether it is
connected to the SATA port or USB. With libreboot it works just
connected to the SATA port or USB. With nonGeNUine Boot, it works just
fine.
- The vendor bios write protects the flash so it requires external
flashing to install libreboot on this device. Once libreboot is
flashing to install nonGeNUine Boot on this device. Once nonGeNUine Boot is
flashed there is no problem to update the firmware internally
Here is an image of the board:\
![](https://av.libreboot.org/d945gclf/d945gclf.jpg)\
![](https://avgnu.vimuser.org/d945gclf/d945gclf.jpg)\
Here is an image of the D945GCLF2 board:\
![](https://av.libreboot.org/d945gclf/20160923_141521.jpg){width="80%" height="80%"}\
![](https://avgnu.vimuser.org/d945gclf/20160923_141521.jpg){width="80%" height="80%"}\
And SPI SOIC8 flash chip\
![](https://av.libreboot.org/d945gclf/20160923_141550.jpg){width="50%" height="50%"}
![](https://avgnu.vimuser.org/d945gclf/20160923_141550.jpg){width="50%" height="50%"}
How to replace thermal paste and fan
------------------------------------
@ -101,24 +105,24 @@ How to replace thermal paste and fan
This board comes with very crappy disposable loud fan, that one has no
bearings, which can not be repaired or oiled properly, do not waste your
time trying to fix it, just buy one chinese same size fan\
![](https://av.libreboot.org/d945gclf/20160923_141620.jpg){width="50%" height="50%"}
![](https://av.libreboot.org/d945gclf/20160923_141614.jpg){width="50%" height="50%"}\
![](https://avgnu.vimuser.org/d945gclf/20160923_141620.jpg){width="50%" height="50%"}
![](https://avgnu.vimuser.org/d945gclf/20160923_141614.jpg){width="50%" height="50%"}\
Make sure that new one has same wiring\
![](https://av.libreboot.org/d945gclf/20160923_142618.jpg){width="50%" height="50%"}\
![](https://avgnu.vimuser.org/d945gclf/20160923_142618.jpg){width="50%" height="50%"}\
This is a new one, with bearing and maintenable\
![](https://av.libreboot.org/d945gclf/20160923_141738.jpg){width="50%" height="50%"}
![](https://av.libreboot.org/d945gclf/20160923_141814.jpg){width="50%" height="50%"}\
![](https://avgnu.vimuser.org/d945gclf/20160923_141738.jpg){width="50%" height="50%"}
![](https://avgnu.vimuser.org/d945gclf/20160923_141814.jpg){width="50%" height="50%"}\
Now remove the both coolers rotating them a bit, slowly, then clean both
silicons and both coolers (removing cmos battery first is recommended)\
![](https://av.libreboot.org/d945gclf/20160923_141601.jpg){width="50%" height="50%"}\
![](https://avgnu.vimuser.org/d945gclf/20160923_141601.jpg){width="50%" height="50%"}\
Put a little bit of non conductive thermal paste on both silicons (only
cpu silicon iis shown on that image)\
![](https://av.libreboot.org/d945gclf/20160923_142031.jpg){width="50%" height="50%"}\
![](https://avgnu.vimuser.org/d945gclf/20160923_142031.jpg){width="50%" height="50%"}\
Before assembling new fan, some need new longer screws, make sure having
these (on the left is original one, too short for new fan)\
![](https://av.libreboot.org/d945gclf/20160923_141659.jpg){width="50%" height="50%"}\
![](https://avgnu.vimuser.org/d945gclf/20160923_141659.jpg){width="50%" height="50%"}\
After that, assemble your new fan into CPU cooler\
![](https://av.libreboot.org/d945gclf/20160923_141635.jpg){width="50%" height="50%"}\
![](https://avgnu.vimuser.org/d945gclf/20160923_141635.jpg){width="50%" height="50%"}\
Finally assemle both coolers on both chips, do not forget put in the CPU
fan connector back, and you are done.

View File

@ -5,7 +5,7 @@ x-toc-enable: true
<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>
<img tabindex=1 alt="Dell Latitude E6400" class="p" src="https://avgnu.vimuser.org/e6400/e6400-seabios.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/e6400/e6400-seabios.jpg" /></span> <img tabindex=1 alt="Dell Latitude E6400 XFR" class="p" style="max-width:24em" src="https://avgnu.vimuser.org/e6400/e6400xfr-seabios.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/e6400/e6400xfr-seabios.jpg" /></span>
</center>
| ***Specifications*** | |
@ -57,17 +57,17 @@ Introduction
Known supported variants: E6400, E6400 XFR and E6400 ATG.
ONLY the Intel GPU variants are supported, at present. The Nvidia ones are
not compatible, with this censored version of Libreboot.
not compatible, with this version of nonGeNUine Boot.
**To install Libreboot, see: [E6400 installation
**To install nonGeNUine Boot, see: [E6400 installation
instructions](../install/e6400.md)**
ROM images for Dell Latitude E6400 are available for flashing in Libreboot
ROM images for Dell Latitude E6400 are available for flashing in nonGeNUine Boot
releases, or you can compile a ROM image for installation via
lbmk, see: [build instructions](../build/)
gbmk, see: [build instructions](../build/)
There are two possible flash chip sizes for the E6400: 4MiB (32Mbit) or 2+4MiB
(16Mbit+32MBit). Libreboot presently supports the 4MiB version, and provides
(16Mbit+32MBit). nonGeNUine Boot presently supports the 4MiB version, and provides
8MiB images for those who upgrade their flash to 8MiB or 16MiB. There appears
to be several possible mainboard PCBs for the E6400, which we believe mostly
affects the GPU configuration and the number of available SPI flash footprints:
@ -94,23 +94,23 @@ Intel GPU: Blob-free setup (no-ME possible)
---------------
This is a GM45/PM45 platform, so completely libre initialisation in
coreboot is possible, provided by default in Libreboot.
coreboot is possible, provided by default in nonGeNUine Boot.
Intel GPU variants are GM45, and Nvidia ones are PM45.
Management Engine (ME) firmware removed
-------------------------
This port in Libreboot makes use of `ich9gen` from ich9utils, which
This port in nonGeNUine Boot makes use of `ich9gen` from ich9utils, which
you can read about in the [ich9utils manual](../install/ich9utils.md) - this
creates a no-ME setup. The Intel Management Engine firmware (ME) is completely
removed, and the ME disabled, just like on ThinkPad X200, T400 and so on.
*The E6400 laptops may come with the ME (and sometimes AMT in addition) before
flashing libreboot. Dell also sold configurations with the ME completely
flashing nonGeNUine Boot. Dell also sold configurations with the ME completely
disabled, identifiable by a yellow sticker reading "3 ME Disabled" inside the
bottom panel. This config sets the MeDisable bit in the IFD and sets the ME
region almost entirely to 1's, with the occasional 32-bit value (likely not
executable). libreboot disables and removes it by using a modified descriptor:
executable). nonGeNUine Boot disables and removes it by using a modified descriptor:
see [../install/ich9utils.md](../install/ich9utils.md)*
(contains notes, plus instructions)

View File

@ -49,40 +49,40 @@ P*: Partially works with blobs
</div>
This is a desktop board using intel hardware (circa \~2009, ICH7
southbridge, similar performance-wise to the ThinkPad X200. It can make
for quite a nifty desktop. Powered by libreboot.
for quite a nifty desktop. Powered by nonGeNUine Boot.
In recent Libreboot releases, only SeaBIOS payload is provided in ROMs
In recent nonGeNUine Boot releases, only SeaBIOS payload is provided in ROMs
for this board. According to user reports, they work quite well. GRUB was
always buggy on this board, so it was removed from lbmk.
always buggy on this board, so it was removed from gbmk.
IDE on the board is untested, but it might be possible to use a SATA HDD
using an IDE SATA adapter. The SATA ports do work, but it's IDE emulation. The
emulation is slow in DMA mode sia SeaBIOS, so SeaBIOS is configured to use PIO
mode on this board. This SeaBIOS configuration does not affect the Linux kernel.
mode on this board. This SeaBIOS configuration does not affect the GNU+Linux kernel.
You need to set a custom MAC address in Linux for the NIC to work.
You need to set a custom MAC address in GNU+Linux for the NIC to work.
In /etc/network/interfaces on debian-based systems like Debian or
Devuan, this would be in the entry for your NIC:\
hwaddress ether macaddressgoeshere
Alternatively:
cbfstool libreboot.rom extract -n rt8168-macaddress -f rt8168-macaddress
cbfstool nongenuineboot.rom extract -n rt8168-macaddress -f rt8168-macaddress
Modify the MAC address in the file `rt8168-macaddress` and then:
cbfstool libreboot.rom remove -n rt8168-macaddress
cbfstool libreboot.rom add -f rt8168-macaddress -n rt8168-macaddress -t raw
cbfstool nongenuineboot.rom remove -n rt8168-macaddress
cbfstool nongenuineboot.rom add -f rt8168-macaddress -n rt8168-macaddress -t raw
Now you have a different MAC address hardcoded. In the above example, the ROM
image is named `libreboot.rom` for your board. You can find cbfstool
image is named `nongenuineboot.rom` for your board. You can find cbfstool
under `coreboot/default/util/cbfstool/` after running the following command
in the build system:
./build module cbutils
You can learn more about using the build system, lbmk, here:\
[libreboot build instructions](../build/)
You can learn more about using the build system, gbmk, here:\
[nonGeNUine Boot build instructions](../build/)
Flashing instructions can be found at
[../install/](../install/)

View File

@ -1,7 +1,7 @@
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.13.0-39-lowlatency (root@devel.trisquel.info) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #66+7.0trisquel2 SMP PREEMPT Wed Oct 29 17:10:10 UTC 2014 (Ubuntu 3.13.0-39.66+7.0trisquel2-lowlatency 3.13.11.8-gnu)
[ 0.000000] GNU+Linux version 3.13.0-39-lowlatency (root@devel.trisquel.info) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #66+7.0trisquel2 SMP PREEMPT Wed Oct 29 17:10:10 UTC 2014 (Ubuntu 3.13.0-39.66+7.0trisquel2-lowlatency 3.13.11.8-gnu)
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.13.0-39-lowlatency root=UUID=097336a2-7389-4897-a7e8-1f43e91aae96 ro nomdmonddf nomdmonisw nomdmonddf nomdmonisw
[ 0.000000] KERNEL supported cpus:
[ 0.000000] Intel GenuineIntel
@ -411,7 +411,7 @@
[ 0.069176] ACPI: Added _OSI(3.0 _SCP Extensions)
[ 0.069176] ACPI: Added _OSI(Processor Aggregator Device)
[ 0.071018] ACPI : EC: EC description table is found, configuring boot EC
[ 0.075408] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[ 0.075408] [Firmware Bug]: ACPI: BIOS _OSI(GNU+Linux) query ignored
[ 0.082370] ACPI: SSDT 00000000798d7c20 0002C8 (v01 PmRef Cpu0Ist 00003000 INTL 20050624)
[ 0.083085] ACPI: Dynamic OEM Table Load:
[ 0.083193] ACPI: SSDT (null) 0002C8 (v01 PmRef Cpu0Ist 00003000 INTL 20050624)
@ -737,7 +737,7 @@
[ 0.689861] ACPI: Battery Slot [BAT0] (battery absent)
[ 0.689943] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[ 0.712208] 0000:00:03.3: ttyS4 at I/O 0x1830 (irq = 17, base_baud = 115200) is a 16550A
[ 0.712544] Linux agpgart interface v0.103
[ 0.712544] GNU+Linux agpgart interface v0.103
[ 0.712661] agpgart-intel 0000:00:00.0: Intel GM45 Chipset
[ 0.712794] agpgart-intel 0000:00:00.0: detected gtt size: 2097152K total, 262144K mappable
[ 0.713914] agpgart-intel 0000:00:00.0: detected 32768K stolen memory
@ -762,7 +762,7 @@
[ 0.806198] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.806249] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.806309] usb usb1: Product: EHCI Host Controller
[ 0.806356] usb usb1: Manufacturer: Linux 3.13.0-39-lowlatency ehci_hcd
[ 0.806356] usb usb1: Manufacturer: GNU+Linux 3.13.0-39-lowlatency ehci_hcd
[ 0.806406] usb usb1: SerialNumber: 0000:00:1a.7
[ 0.806572] hub 1-0:1.0: USB hub found
[ 0.806625] hub 1-0:1.0: 6 ports detected
@ -775,7 +775,7 @@
[ 0.817761] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 0.817811] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.817871] usb usb2: Product: EHCI Host Controller
[ 0.817919] usb usb2: Manufacturer: Linux 3.13.0-39-lowlatency ehci_hcd
[ 0.817919] usb usb2: Manufacturer: GNU+Linux 3.13.0-39-lowlatency ehci_hcd
[ 0.817968] usb usb2: SerialNumber: 0000:00:1d.7
[ 0.818141] hub 2-0:1.0: USB hub found
[ 0.818192] hub 2-0:1.0: 6 ports detected
@ -790,7 +790,7 @@
[ 0.819539] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[ 0.819590] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.819651] usb usb3: Product: UHCI Host Controller
[ 0.819698] usb usb3: Manufacturer: Linux 3.13.0-39-lowlatency uhci_hcd
[ 0.819698] usb usb3: Manufacturer: GNU+Linux 3.13.0-39-lowlatency uhci_hcd
[ 0.819748] usb usb3: SerialNumber: 0000:00:1a.0
[ 0.819903] hub 3-0:1.0: USB hub found
[ 0.819962] hub 3-0:1.0: 2 ports detected
@ -800,7 +800,7 @@
[ 0.820506] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
[ 0.820557] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.820617] usb usb4: Product: UHCI Host Controller
[ 0.820665] usb usb4: Manufacturer: Linux 3.13.0-39-lowlatency uhci_hcd
[ 0.820665] usb usb4: Manufacturer: GNU+Linux 3.13.0-39-lowlatency uhci_hcd
[ 0.820714] usb usb4: SerialNumber: 0000:00:1a.1
[ 0.820868] hub 4-0:1.0: USB hub found
[ 0.820930] hub 4-0:1.0: 2 ports detected
@ -810,7 +810,7 @@
[ 0.821465] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
[ 0.821516] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.821577] usb usb5: Product: UHCI Host Controller
[ 0.821624] usb usb5: Manufacturer: Linux 3.13.0-39-lowlatency uhci_hcd
[ 0.821624] usb usb5: Manufacturer: GNU+Linux 3.13.0-39-lowlatency uhci_hcd
[ 0.821674] usb usb5: SerialNumber: 0000:00:1a.2
[ 0.821836] hub 5-0:1.0: USB hub found
[ 0.821893] hub 5-0:1.0: 2 ports detected
@ -820,7 +820,7 @@
[ 0.822435] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001
[ 0.822486] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.822552] usb usb6: Product: UHCI Host Controller
[ 0.822599] usb usb6: Manufacturer: Linux 3.13.0-39-lowlatency uhci_hcd
[ 0.822599] usb usb6: Manufacturer: GNU+Linux 3.13.0-39-lowlatency uhci_hcd
[ 0.822649] usb usb6: SerialNumber: 0000:00:1d.0
[ 0.822816] hub 6-0:1.0: USB hub found
[ 0.822867] hub 6-0:1.0: 2 ports detected
@ -830,7 +830,7 @@
[ 0.823398] usb usb7: New USB device found, idVendor=1d6b, idProduct=0001
[ 0.823449] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.823509] usb usb7: Product: UHCI Host Controller
[ 0.823557] usb usb7: Manufacturer: Linux 3.13.0-39-lowlatency uhci_hcd
[ 0.823557] usb usb7: Manufacturer: GNU+Linux 3.13.0-39-lowlatency uhci_hcd
[ 0.823607] usb usb7: SerialNumber: 0000:00:1d.1
[ 0.823765] hub 7-0:1.0: USB hub found
[ 0.823816] hub 7-0:1.0: 2 ports detected
@ -840,7 +840,7 @@
[ 0.824365] usb usb8: New USB device found, idVendor=1d6b, idProduct=0001
[ 0.824415] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 0.824476] usb usb8: Product: UHCI Host Controller
[ 0.824524] usb usb8: Manufacturer: Linux 3.13.0-39-lowlatency uhci_hcd
[ 0.824524] usb usb8: Manufacturer: GNU+Linux 3.13.0-39-lowlatency uhci_hcd
[ 0.824573] usb usb8: SerialNumber: 0000:00:1d.2
[ 0.824732] hub 8-0:1.0: USB hub found
[ 0.824784] hub 8-0:1.0: 2 ports detected
@ -878,7 +878,7 @@
[ 0.872016] Freeing unused kernel memory: 764K (ffff880001741000 - ffff880001800000)
[ 0.875110] Freeing unused kernel memory: 676K (ffff880001b57000 - ffff880001c00000)
[ 0.894972] systemd-udevd[126]: starting version 204
[ 0.928980] pps_core: LinuxPPS API ver. 1 registered
[ 0.928980] pps_core: GNU+LinuxPPS API ver. 1 registered
[ 0.930015] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.934247] PTP clock support registered
[ 0.940925] [drm] Initialized drm 1.1.0 20060810
@ -1021,7 +1021,7 @@
[ 14.165173] kvm: disabled by bios
[ 14.310307] mei_me 0000:00:03.0: irq 47 for MSI/MSI-X
[ 14.401058] cfg80211: Calling CRDA to update world regulatory domain
[ 14.440429] Intel(R) Wireless WiFi driver for Linux, in-tree:
[ 14.440429] Intel(R) Wireless WiFi driver for GNU+Linux, in-tree:
[ 14.440433] Copyright(c) 2003-2013 Intel Corporation
[ 14.440762] iwlwifi 0000:03:00.0: can't disable ASPM; OS doesn't have ASPM control
[ 14.440834] iwlwifi 0000:03:00.0: irq 48 for MSI/MSI-X

View File

@ -1,4 +1,4 @@
flashrom v0.9.6.1-r1563 on Linux 3.13.0-39-lowlatency (x86_64)
flashrom v0.9.6.1-r1563 on GNU+Linux 3.13.0-39-lowlatency (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.1.9, GCC 4.7.1, little endian

View File

@ -1,4 +1,4 @@
flashrom v0.9.6.1-r1563 on Linux 3.13.0-39-lowlatency (x86_64)
flashrom v0.9.6.1-r1563 on GNU+Linux 3.13.0-39-lowlatency (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.1.9, GCC 4.7.1, little endian

View File

@ -1,5 +1,5 @@
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 GNU+Linux Foundation 2.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
@ -8,10 +8,10 @@ Device Descriptor:
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idVendor 0x1d6b GNU+Linux Foundation
idProduct 0x0002 2.0 root hub
bcdDevice 3.13
iManufacturer 3 Linux 3.13.0-39-lowlatency ehci_hcd
iManufacturer 3 GNU+Linux 3.13.0-39-lowlatency ehci_hcd
iProduct 2 EHCI Host Controller
iSerial 1 0000:00:1d.7
bNumConfigurations 1
@ -67,7 +67,7 @@ Hub Descriptor:
Device Status: 0x0001
Self Powered
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 GNU+Linux Foundation 1.1 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
@ -76,10 +76,10 @@ Device Descriptor:
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idVendor 0x1d6b GNU+Linux Foundation
idProduct 0x0001 1.1 root hub
bcdDevice 3.13
iManufacturer 3 Linux 3.13.0-39-lowlatency uhci_hcd
iManufacturer 3 GNU+Linux 3.13.0-39-lowlatency uhci_hcd
iProduct 2 UHCI Host Controller
iSerial 1 0000:00:1d.2
bNumConfigurations 1
@ -131,7 +131,7 @@ Hub Descriptor:
Device Status: 0x0001
Self Powered
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 GNU+Linux Foundation 1.1 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
@ -140,10 +140,10 @@ Device Descriptor:
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idVendor 0x1d6b GNU+Linux Foundation
idProduct 0x0001 1.1 root hub
bcdDevice 3.13
iManufacturer 3 Linux 3.13.0-39-lowlatency uhci_hcd
iManufacturer 3 GNU+Linux 3.13.0-39-lowlatency uhci_hcd
iProduct 2 UHCI Host Controller
iSerial 1 0000:00:1d.1
bNumConfigurations 1
@ -195,7 +195,7 @@ Hub Descriptor:
Device Status: 0x0001
Self Powered
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 GNU+Linux Foundation 1.1 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
@ -204,10 +204,10 @@ Device Descriptor:
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idVendor 0x1d6b GNU+Linux Foundation
idProduct 0x0001 1.1 root hub
bcdDevice 3.13
iManufacturer 3 Linux 3.13.0-39-lowlatency uhci_hcd
iManufacturer 3 GNU+Linux 3.13.0-39-lowlatency uhci_hcd
iProduct 2 UHCI Host Controller
iSerial 1 0000:00:1d.0
bNumConfigurations 1
@ -259,7 +259,7 @@ Hub Descriptor:
Device Status: 0x0001
Self Powered
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 GNU+Linux Foundation 2.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
@ -268,10 +268,10 @@ Device Descriptor:
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idVendor 0x1d6b GNU+Linux Foundation
idProduct 0x0002 2.0 root hub
bcdDevice 3.13
iManufacturer 3 Linux 3.13.0-39-lowlatency ehci_hcd
iManufacturer 3 GNU+Linux 3.13.0-39-lowlatency ehci_hcd
iProduct 2 EHCI Host Controller
iSerial 1 0000:00:1a.7
bNumConfigurations 1
@ -327,7 +327,7 @@ Hub Descriptor:
Device Status: 0x0001
Self Powered
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 GNU+Linux Foundation 1.1 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
@ -336,10 +336,10 @@ Device Descriptor:
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idVendor 0x1d6b GNU+Linux Foundation
idProduct 0x0001 1.1 root hub
bcdDevice 3.13
iManufacturer 3 Linux 3.13.0-39-lowlatency uhci_hcd
iManufacturer 3 GNU+Linux 3.13.0-39-lowlatency uhci_hcd
iProduct 2 UHCI Host Controller
iSerial 1 0000:00:1a.2
bNumConfigurations 1
@ -691,7 +691,7 @@ Device Descriptor:
Device Status: 0x0001
Self Powered
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 GNU+Linux Foundation 1.1 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
@ -700,10 +700,10 @@ Device Descriptor:
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idVendor 0x1d6b GNU+Linux Foundation
idProduct 0x0001 1.1 root hub
bcdDevice 3.13
iManufacturer 3 Linux 3.13.0-39-lowlatency uhci_hcd
iManufacturer 3 GNU+Linux 3.13.0-39-lowlatency uhci_hcd
iProduct 2 UHCI Host Controller
iSerial 1 0000:00:1a.1
bNumConfigurations 1
@ -755,7 +755,7 @@ Hub Descriptor:
Device Status: 0x0001
Self Powered
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 GNU+Linux Foundation 1.1 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
@ -764,10 +764,10 @@ Device Descriptor:
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idVendor 0x1d6b GNU+Linux Foundation
idProduct 0x0001 1.1 root hub
bcdDevice 3.13
iManufacturer 3 Linux 3.13.0-39-lowlatency uhci_hcd
iManufacturer 3 GNU+Linux 3.13.0-39-lowlatency uhci_hcd
iProduct 2 UHCI Host Controller
iSerial 1 0000:00:1a.0
bNumConfigurations 1

View File

@ -47,7 +47,7 @@ P*: Partially works with blobs
| **SeaBIOS** | Works |
| **SeaBIOS with GRUB** | Works |
</div>
Information to be written soon, but this board is merged in libreboot.
Information to be written soon, but this board is merged in nonGeNUine Boot.
This board is very similar to the [MacBook2,1](./macbook21.md).

View File

@ -3,7 +3,7 @@ title: Hardware compatibility list
x-toc-enable: true
...
This sections relates to known hardware compatibility in libreboot.
This sections relates to known hardware compatibility in nonGeNUine Boot.
For installation instructions, refer to [../install/](../install/).
@ -12,12 +12,12 @@ because coreboot lacks native video initialization for the ATI GPUs on these
machines.
(for later machines like T500, T400, ATI GPU doesn't matter, because it also
has an Intel GPU, and libreboot uses the Intel one)
has an Intel GPU, and nonGeNUine Boot uses the Intel one)
Supported hardware
==================
libreboot currently supports the following systems in this release:
nonGeNUine Boot currently supports the following systems:
### Servers (AMD, Intel, x86)
@ -34,7 +34,7 @@ libreboot currently supports the following systems in this release:
### Laptops (Intel, x86)
- **[Dell Latitute E6400, E6400 XFR and E6400 ATG, all with Nvidia or Intel
- **[Dell Latitute E6400, E6400 XFR and E6400 ATG, with Intel
GPU](e6400.md) (easy to flash, no disassembly, similar
hardware to X200/T400)**
- ThinkPad X60 / X60S / X60 Tablet
@ -60,13 +60,13 @@ libreboot currently supports the following systems in this release:
## Removed boards
These boards were in Libreboot, but have been removed with the intention of
These boards were in nonGeNUine Boot, but have been removed with the intention of
re-adding them at a later date. They were removed due to issues. List:
- [ASUS Chromebook C201PA (veyron-speedy)](../install/c201.md)
- [Intel D945GCLF](d945gclf.md) (removed from lbmk, TODO: re-add support)
- [Intel D945GCLF](d945gclf.md) (removed from gbmk, TODO: re-add support)
TODO: More hardware is supported. See `resources/coreboot/` in lbmk. Update
TODO: More hardware is supported. See `resources/coreboot/` in gbmk. Update
the above list!
'Supported' means that the build scripts know how to build ROM images
@ -79,7 +79,7 @@ EC update on i945 (X60, T60) and GM45 (X200, X301, T400, T500, R400, W500, R500)
It is recommended that you update to the latest EC firmware version. The
[EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from
libreboot, so we don't actually provide that, but if you still have
nonGeNUine Boot, 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:
@ -87,7 +87,7 @@ will update both the BIOS and EC version. See:
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
NOTE: this can only be done when you are using Lenovo BIOS. How to
update the EC firmware while running libreboot is unknown. libreboot
update the EC firmware while running nonGeNUine Boot is unknown. nonGeNUine Boot
only replaces the BIOS firmware, not EC.
Updated EC firmware has several advantages e.g. better battery
@ -96,7 +96,7 @@ handling.
How to find what EC version you have (i945/GM45)
------------------------------------------------
In Linux, you can try this:
In GNU+Linux, you can try this:
grep 'at EC' /proc/asound/cards

View File

@ -16,9 +16,9 @@ CPU cores).
This is a desktop board using AMD hardware (Fam10h *and Fam15h* CPUs
available). It can also be used for building a high-powered workstation.
libreboot also supports it. The coreboot port was done by Timothy Pearson of
Raptor Engineering Inc. and, working with them, merged into libreboot many
years ago.
nonGeNUine Boot also supports it. The coreboot port was done by Timothy Pearson of
Raptor Engineering Inc. and, working with them, merged into *Libreboot* many
years ago (and inherited by nonGeNUine Boot).
Note that not all boards are compatible. See [board status](#boardstatus)
below to determine compatibility with your board.
@ -26,8 +26,8 @@ below to determine compatibility with your board.
Flashing instructions can be found at
[../install/](../install/) - note that external
flashing is required (e.g. RPi), if the proprietary (ASUS) firmware is
currently installed. If you already have Libreboot or coreboot, by default
it is possible to re-flash using software running in Linux on the kcma-d8,
currently installed. If you already have nonGeNUine Boot or coreboot, by default
it is possible to re-flash using software running in GNU+Linux on the kcma-d8,
without using external hardware.
If you currently have the ASUS firmware, please ignore the above link and
@ -42,11 +42,11 @@ chip and re-flash it using external hardware.
It has a 25XX NOR flash (SPI protocol) in a P-DIP 8 socket, which looks like
this:
![](https://av.libreboot.org/dip8/dip8.jpg)
![](https://avgnu.vimuser.org/dip8/dip8.jpg)
The default chip is a 2MiB one, but we recommend upgrading it to a 16MiB chip.
NOTE: If you're already running libreboot, you probably don't
NOTE: If you're already running nonGeNUine Boot, you probably don't
need to re-flash externally. Refer instead to the generic instructions on
this page: [../install/](../install/)
@ -56,9 +56,9 @@ Refer to the following guide:\
PCI option ROMs
===============
Unlike Libreboot 20160907, Libreboot in newer releases now supports finding and
Unlike Libreboot 20160907, nonGeNUine Boot in newer releases now supports finding and
loading PCI option ROMs automatically, both in GRUB and SeaBIOS on this machine.
This was inherited by libreboot, when the Libreboot project was forked.
This was inherited by nonGeNUine Boot, when the Libreboot project was forked.
So for example, if you wish to use an add-on graphics card, you can! It's no
problem, and should work just fine.
@ -88,7 +88,7 @@ There are two ways to identify a supported KCMA-D8 board:
Supported boards begin with a serial number of **B9S2xxxxxxxx** or above where
the first character refers to the year of manufacture (A = 2010, B = 2011, etc.)
and the following character the month in hexadecimal (1...9, A, B, C). Thus, any
board produced September 2011 *or later* are compatible with libreboot. Boards
board produced September 2011 *or later* are compatible with nonGeNUine Boot. Boards
originally shipped with BIOS version **2001** or higher are also compatible.
For help locating these identifying markers, see [ASUS documentation for determining Opteron 4200 series compatibility](https://web.archive.org/web/20200710022605/https://dlcdnets.asus.com/pub/ASUS/mb/SocketC%281027%29/KCMA-D8/Manual&QVL/How_to_identify_MB_supporting_Opteron_4200_CPU.pdf)
@ -119,8 +119,8 @@ Flash chips {#flashchips}
2MiB flash chips are included by default, on these boards. It's on a
P-DIP 8 slot (SPI chip). The flash chip can be upgraded to higher sizes:
4MiB, 8MiB or 16MiB. With at least 8MiB, you could feasibly fit a
compressed linux+initramfs image (BusyBox+Linux system) into CBFS and
boot that, loading it into memory (and nowadays there is LinuxBoot, for which
compressed linux+initramfs image (BusyBox+GNU+Linux system) into CBFS and
boot that, loading it into memory (and nowadays there is GNU+LinuxBoot, for which
we would recommend a 16MiB boot flash)
*DO NOT hot-swap the chip with your bare hands. Use a P-DIP 8 chip
@ -138,7 +138,7 @@ framebuffer display (if it has KMS - kernel mode setting).
NOTE: This section relates to the onboard ASpeed GPU. You *can* use an add-on
PCI-E GPU in one of the available slots on the mainboard. Nvidia GTX 780 cards
are what libreboot recommends; it has excellent support in Nouveau (free Linux
are what nonGeNUine Boot recommends; it has excellent support in Nouveau (free GNU+Linux
kernel / mesa driver for Nvidia cards) and generally works well; however, the
performance won't be as high in Nouveau, compared to the non-free Nvidia driver
because the Nouveau driver can't increase the GPU clock (it doesn't know how,
@ -162,11 +162,11 @@ considerations:
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
- SeaBIOS lacked serial console support out-of-the-box in Libreboot 20160907
and as such a workaround using SGABIOS is necessary. You can find
instructions on how to do this on the
[Notabug issue tracker](http://web.archive.org/web/20210416011941/https://notabug.org/libreboot/libreboot/issues/736)
TODO: test whether this is still the case in libreboot, which uses a newer
TODO: test whether this is still the case in nonGeNUine Boot, which uses a newer
version of coreboot nowadays)
- SAS (via PIKE 2008 module) requires non-free option ROM (and
SeaBIOS) to boot from it (theoretically possible to replace, but you
@ -174,9 +174,9 @@ considerations:
can be on a SAS drive. The linux kernel can use those SAS drives
(via PIKE module) without an option ROM).
NOTE: SeaBIOS can load PCI-E option ROMs, and by default it will do so in
libreboot, so you could use it. However, you could *also* simply
nonGeNUine Boot, so you could use it. However, you could *also* simply
install 16MiB NOR flash with linuxboot payload in it, and use linuxboot
which has the Linux kernel, which can use SAS drives without needing that
which has the GNU+Linux kernel, which can use SAS drives without needing that
option ROM; then it can kexec another linux kernel, which in turn also can
can use those drives. Or just put a standard linux kernel and initramfs
in cbfs and chainload that from GRUB, with the right parameters.
@ -184,8 +184,8 @@ considerations:
Since it's for remote out-of-band management, it's theoretically a
backdoor similar to the Intel Management Engine. Fortunately, unlike
the ME, this firmware is unsigned which means that a free
replacement is theoretically possible. For now, the libreboot
project recommends not installing the module. [This
replacement is theoretically possible. For now, the nonGeNUine Boot
project recommends not installing that module. [This
project](https://github.com/facebook/openbmc) might be interesting
to derive from, for those who want to work on a free replacement. In
practise, out-of-band management isn't very useful anyway (or at

View File

@ -49,7 +49,7 @@ P*: Partially works with blobs
</div>
This is a server board using AMD hardware (Fam10h). It can also be used
for building a high-powered workstation. Powered by libreboot.
for building a high-powered workstation. Powered by nonGeNUine Boot.
Flashing instructions can be found at
[../install/\#flashrom](../install/)
@ -113,7 +113,7 @@ the same as the non-iKVM ones.
The SAS versions have a 4-port SAS controller and a four 7-pin SAS connectors
instead of the PCI-E 8x slot which is present in all the other board configurations.
Note: the SAS functionality is **not supported** by libreboot.
Note: the SAS functionality is **not supported** by nonGeNUine Boot.
The IST versions with PCB revision 1.05G are the ones who are believed to
support the six core Opteron Istanbul processors (2400 and 8400 series).

View File

@ -8,9 +8,9 @@ Introduction
This is a server board using AMD hardware (Fam10h *and Fam15h* CPUs
available). It can also be used for building a high-powered workstation.
Powered by libreboot. The coreboot port was done by Timothy Pearson of
Powered by nonGeNUine Boot. The coreboot port was done by Timothy Pearson of
Raptor Engineering Inc. and, working with them (and sponsoring the
work), merged into libreboot.
work), merged into Libreboot (and inherited by nonGeNUine Boot).
*Memory initialization is still problematic, for some modules. We
recommend avoiding Kingston modules.*
@ -19,8 +19,8 @@ recommend avoiding Kingston modules.*
Flashing instructions can be found at
[../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
currently installed. If you already have nonGeNUine Boot, by default it is
possible to re-flash using software running in GNU+Linux on the
KGPE-D16, without using external hardware.
CPU compatibility
@ -56,10 +56,10 @@ Flash chips {#flashchips}
2MiB flash chips are included by default, on these boards. It's on a
P-DIP 8 slot (SPI chip). The flash chip can be upgraded to higher sizes:
4MiB, 8MiB or 16MiB. With at least 8MiB, you could feasibly fit a
compressed linux+initramfs image (BusyBox+Linux system) into CBFS and
compressed linux+initramfs image (BusyBox+GNU+Linux system) into CBFS and
boot that, loading it into memory.
libreboot has configs for 2, 4, 8 and 16 MiB flash chip sizes (default
nonGeNUine Boot has configs for 2, 4, 8 and 16 MiB flash chip sizes (default
flash chip is 2MiB).
*DO NOT hot-swap the chip with your bare hands. Use a P-DIP 8 chip
@ -84,7 +84,7 @@ Current issues {#issues}
can put a kernel in CBFS or on SATA and boot from that, which
can be on a SAS drive. The linux kernel can use those SAS drives
(via PIKE module) without an option ROM).
- SeaBIOS lacked serial console support out-of-the-box in release 20160907
- SeaBIOS lacked serial console support out-of-the-box in Libreboot 20160907
and as such a workaround using SGABIOS is necessary. You can find
instructions on how to do this on the
[Notabug issue tracker](http://web.archive.org/web/20210416011941/https://notabug.org/libreboot/libreboot/issues/736)
@ -92,7 +92,7 @@ Current issues {#issues}
Since it's for remote out-of-band management, it's theoretically a
backdoor similar to the Intel Management Engine. Fortunately, unlike
the ME, this firmware is unsigned which means that a free
replacement is theoretically possible. For now, the libreboot
replacement is theoretically possible. For now, the nonGeNUine Boot
project recommends not installing the module. [This
project](https://github.com/facebook/openbmc) might be interesting
to derive from, for those who want to work on a free replacement. In
@ -114,9 +114,9 @@ The information here is adapted, from the ASUS website.
recommended - old. View errata datasheet here:
<http://support.amd.com/TechDocs/41322_10h_Rev_Gd.pdf>)
- AMD Opteron 6200 series (Fam15h, with full IOMMU support in
libreboot.
nonGeNUine Boot.
- AMD Opteron 6300 series (Fam15h, with full IOMMU support in
libreboot.
nonGeNUine Boot.
- 6.4 GT/s per link (triple link)
### Core logic
@ -124,7 +124,7 @@ The information here is adapted, from the ASUS website.
- AMD SR5690
- AMD SP5100
### Memory compatibility (with libreboot)
### Memory compatibility (with nonGeNUine Boot)
- *Total Slots:* 16 (4-channel per CPU, 8 DIMM per CPU), ECC
- *Capacity:* Maximum up to 256GB RDIMM (Tested max 128GB)

View File

@ -6,7 +6,7 @@ x-toc-enable: true
Introduction (GM45+e1000)
=========================
This section is applicable to all libreboot-supported laptops with the
This section is applicable to all supported laptops with the
mobile 4 series chipset (as shown in `$ lspci`)
that use the e1000 ethernet controller (e.g. T400, X200).
The R500 is an exception to this as it does not use the built-in e1000.
@ -14,20 +14,20 @@ The R500 is an exception to this as it does not use the built-in e1000.
On all these laptops, the
[MAC address](https://en.wikipedia.org/wiki/MAC_address)
for the built-in gigabit ethernet controller is stored inside the flash chip,
along with libreboot and other configuration data. Therefore, installing
libreboot will overwrite it.
along with nonGeNUine Boot and other configuration data. Therefore, installing
nonGeNUine Boot will overwrite it.
Thus, for these laptops, prebuilt libreboot already contains a generic
Thus, for these laptops, prebuilt nonGeNUine Boot already contains a generic
MAC address in the configuration section. This address is `00:f5:f0:40:71:fe
in builds before 2018-01-16 and `00:4c:69:62:72:65` (see the ascii character
set) afterwards.
Unless you change it, your computer will boot and use it. This can lead
to network problems if you have more than one libreboot computer on
to network problems if you have more than one nonGeNUine Boot computer on
the same layer2 network (e.g. on the same network switch). The switch
(postman) will simply not know who to deliver to as the MAC (house) addresses
will be the same.
To prevent these address clashes, you can either modify prebuilt libreboot
To prevent these address clashes, you can either modify prebuilt nonGeNUine Boot
to use an address of your own choosing or you can change the address in your
operating system's boot scripts.
@ -58,7 +58,7 @@ The existing MAC address may be obtained by the following methods:
2. Otherwise you can read the white label that is often found on the
motherboard under the memory sticks:
![](https://av.libreboot.org/t400/macaddress1.jpg)
![](https://avgnu.vimuser.org/t400/macaddress1.jpg)
3. The MAC address is usually listed on the laptop chassis as well. This one
will be incorrect if the motherboard was changed and the stickers were not
@ -103,6 +103,6 @@ instead. See notes below:
Also see [nvmutil documentation](../install/nvmutil.md)
The nvmutil utility is yet another utility provided by Libreboot, for
The nvmutil utility is yet another utility provided by nonGeNUine Boot, for
changing your MAC address. It is a standalone utility, that operates
only on pre-assembled GbE files.

View File

@ -93,8 +93,8 @@ For the MacBook2,1:
working)*
It's believed that all MacBook2,1 and MacBook1,1 models work fine with
Libreboot. If there's a model not in the list or not confirmed working
here and you happen to have that model and that model works with Libreboot
nonGeNUine Boot. If there's a model not in the list or not confirmed working
here and you happen to have that model and that model works with nonGeNUine Boot
then don't forget to [send a patch](../../git.md), confirming that it
actually works!
@ -113,14 +113,14 @@ External flashing
MacBook1,1 requires external flashing, if running the default Apple firmware.
MacBook2,1 can be flashed internally, regardless.
If running coreboot or libreboot you can already internally re-flash.
If running nonGeNUine Boot you can already internally re-flash.
[This page shows disassembly
guides](https://www.ifixit.com/Device/MacBook_Core_2_Duo)
Locate the flash. It'll be a SOIC8, which looks like this:
![](https://av.libreboot.org/chip/soic8.jpg)
![](https://avgnu.vimuser.org/chip/soic8.jpg)
The chip is located under the motherboard. [How to remove the
motherboard](https://www.ifixit.com/Guide/MacBook+Core+2+Duo+PRAM+Battery+Replacement/529).
@ -128,10 +128,10 @@ motherboard](https://www.ifixit.com/Guide/MacBook+Core+2+Duo+PRAM+Battery+Replac
Refer to the following guide:\
[Externally rewrite 25xx NOR flash via SPI protocol](../install/spi.md)
OSes using Linux on Apple EFI firmware
OSes using GNU+Linux on Apple EFI firmware
======================================
You have 2 choices for booting up OSes using Linux as their kernel
You have 2 choices for booting up OSes using GNU+Linux as their kernel
on the MacBook:
* Boot via USB ;
@ -158,7 +158,7 @@ layer was made specifically for booting Microsoft Windows as part of
BootCamp, a tool which allowed dual-booting Windows and OS X) ;
* Install it like you normally would (If there's an OS X installation then
it's highly recommended to save all your data and wipe it. Libreboot isn't
it's highly recommended to save all your data and wipe it. nonGeNUine Boot isn't
able and will never be able to boot OS X) ;
* While rebooting, hold Alt/Control once again, and select the hard disk
@ -167,7 +167,7 @@ should boot up properly automatically.
*If you installed your OS alongside OS X then you won't be able to boot
to it using GRUB, despite the fact that it does sometimes show up. You
also won't be able to boot it up when using Libreboot.*
also won't be able to boot it up when using nonGeNUine Boot.*
Boot via USB
------------
@ -191,20 +191,20 @@ should pop up, requesting you to choose which device to boot from ;
* Select the USB icon ;
* Install it like you normally would (If there's an OS X installation then
it's highly recommended to save all your data and wipe it. Libreboot isn't
it's highly recommended to save all your data and wipe it. nonGeNUine Boot isn't
able and will never be able to boot OS X) ;
* Reboot. It should boot up to your newly-installed system if you wiped OS X,
else, hold Alt/Control and select the correct boot device ;
* Flash Libreboot. DO NOT REBOOT AGAIN BEFORE FLASHING. Sometimes the
* Flash nonGeNUine Boot. DO NOT REBOOT AGAIN BEFORE FLASHING. Sometimes the
firmware can get confused, because Apple never intended to boot other
EFI OSes other than OS X, as such there's a chance that your MacBook can
become [soft-bricked](https://apple.stackexchange.com/questions/408104/late-2006-macbook-doesnt-turn-on-fan-spinning-but-no-chime/409754).
If that is the case then dissassemble it and remove
the CMOS/PRAM battery, wait a few minutes, and put it back in.
*If you want to install Libreboot with the SeaBIOS payload then be sure
*If you want to install nonGeNUine Boot with the SeaBIOS payload then be sure
to reconfigure GRUB2 correctly, else your system won't boot.*
Coreboot wiki page
@ -229,11 +229,12 @@ remove it.*
Make it overheat less
---------------------
NOTE: on newer libreboot revisions, this section is less relevant, because C3
states are supported now. However, this section may still be useful, so it will
be retained.
NOTE: in nonGeNUine Boot, this section is less relevant, because C3
states are now; the issue pertained to much older releases of Libreboot,
upon which nonGeNUine Boot is based. However, this section may still be useful,
so it will be retained.
The MacBook2,1 overheats a lot with libreboot, we still don't know why but a simple workaround is to install macfanctld.
The MacBook2,1 overheats a lot with nonGeNUine Boot, we still don't know why but a simple workaround is to install macfanctld.
Macfanctld is available on the default repos of many distributions.
@ -295,7 +296,7 @@ to the file /etc/vconsole.conf and then restart the computer.
Make touchpad more responsive
-----------------------------
Linux kernels of version 3.15 or lower might make the touchpad
GNU+Linux kernels of version 3.15 or lower might make the touchpad
extremely sluggish. A user reported that they could get better
response from the touchpad with the following in their xorg.conf:

View File

@ -55,8 +55,8 @@ Dell Latitude E6400
===================
**If you haven't bought an R400 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
E6400](e6400.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to nonGeNUine Boot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**
Introduction
@ -72,7 +72,7 @@ There are two possible flash chip sizes for the R400: 4MiB (32Mbit) or
the palmrest: 4MiB is SOIC-8, 8MiB is SOIC-16.
*The R400 laptops come with the ME (and sometimes AMT in addition)
before flashing libreboot. libreboot disables and removes it by using a
before flashing nonGeNUine Boot. nonGeNUine Boot disables and removes it by using a
modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
(contains notes, plus instructions)
@ -84,7 +84,7 @@ EC update {#ecupdate}
It is recommended that you update to the latest EC firmware version. The
[EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from
libreboot, so we don't actually provide that, but if you still have
nonGeNUine Boot, 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:
@ -92,7 +92,7 @@ will update both the BIOS and EC version. See:
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
NOTE: this can only be done when you are using Lenovo BIOS. How to
update the EC firmware while running libreboot is unknown. libreboot
update the EC firmware while running nonGeNUine Boot is unknown. nonGeNUine Boot
only replaces the BIOS firmware, not EC.
Updated EC firmware has several advantages e.g. bettery battery

View File

@ -54,8 +54,8 @@ Dell Latitude E6400
===================
**If you haven't bought an R500 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
E6400](e6400.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to nonGeNUine Boot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**
Introduction
@ -69,8 +69,8 @@ The chip is 4MiB NOR flash (SPI protocol) is SOIC8 form factory.
Refer to the following guide:\
[Externally rewrite 25xx NOR flash via SPI protocol](../install/spi.md)
Unlike other GM45+ICH9M thinkpads in libreboot, the R500 doesn't have an Intel
PHY (for Gigabit Ethernet). However, libreboot still includes an Intel flash
Unlike other GM45+ICH9M thinkpads in nonGeNUine Boot, the R500 doesn't have an Intel
PHY (for Gigabit Ethernet). However, nonGeNUine Boot still includes an Intel flash
descriptor, but with just the descriptor and BIOS region. The `ich9gen` program
supports this fully.

View File

@ -5,7 +5,7 @@ x-toc-enable: true
<div class="specs">
<center>
<img tabindex=1 alt="ThinkPad T400" class="p" src="https://av.libreboot.org/t400/boot1.jpg" /><span class="f"><img src="https://av.libreboot.org/t400/boot1.jpg" /></span>
<img tabindex=1 alt="ThinkPad T400" class="p" src="https://avgnu.vimuser.org/t400/boot1.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/t400/boot1.jpg" /></span>
</center>
| ***Specifications*** | |
@ -54,8 +54,8 @@ Dell Latitude E6400
===================
**If you haven't bought an T400 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
E6400](e6400.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to nonGeNUine Boot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**
Introduction
@ -71,7 +71,7 @@ There are two possible flash chip sizes for the T400: 4MiB (32Mbit) or
the palmrest: 4MiB is SOIC-8, 8MiB is SOIC-16.
*The T400 laptops come with the ME (and sometimes AMT in addition)
before flashing libreboot. libreboot disables and removes it by using a
before flashing nonGeNUine Boot. nonGeNUine Boot disables and removes it by using a
modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
(contains notes, plus instructions)
@ -83,7 +83,7 @@ EC update {#ecupdate}
It is recommended that you update to the latest EC firmware version. The
[EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from
libreboot, so we don't actually provide that, but if you still have
nonGeNUine Boot, 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:
@ -91,7 +91,7 @@ will update both the BIOS and EC version. See:
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
NOTE: this can only be done when you are using Lenovo BIOS. How to
update the EC firmware while running libreboot is unknown. libreboot
update the EC firmware while running nonGeNUine Boot is unknown. nonGeNUine Boot
only replaces the BIOS firmware, not EC.
Updated EC firmware has several advantages e.g. bettery battery

View File

@ -5,7 +5,7 @@ x-toc-enable: true
<div class="specs">
<center>
<img tabindex=1 alt="ThinkPad T500" class="p" src="https://av.libreboot.org/t500/0062.jpg" /><span class="f"><img src="https://av.libreboot.org/t500/0062.jpg" /></span>
<img tabindex=1 alt="ThinkPad T500" class="p" src="https://avgnu.vimuser.org/t500/0062.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/t500/0062.jpg" /></span>
</center>
| ***Specifications*** | |
@ -54,8 +54,8 @@ Dell Latitude E6400
===================
**If you haven't bought an 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
E6400](e6400.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to nonGeNUine Boot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**
Introduction
@ -73,7 +73,7 @@ There are two possible flash chip sizes for the T500: 4MiB (32Mbit) or
the palmrest: 4MiB is SOIC-8, 8MiB is SOIC-16.
*The T500 laptops come with the ME (and sometimes AMT in addition)
before flashing libreboot. libreboot disables and removes it by using a
before flashing nonGeNUine Boot. nonGeNUine Boot disables and removes it by using a
modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
(contains notes, plus instructions)
@ -85,7 +85,7 @@ EC update {#ecupdate}
It is recommended that you update to the latest EC firmware version. The
[EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from
libreboot, so we don't actually provide that, but if you still have
nonGeNUine Boot, 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:
@ -93,7 +93,7 @@ will update both the BIOS and EC version. See:
- <http://www.thinkwiki.org/wiki/BIOS_update_without_optical_disk>
NOTE: this can only be done when you are using Lenovo BIOS. How to
update the EC firmware while running libreboot is unknown. libreboot
update the EC firmware while running nonGeNUine Boot is unknown. nonGeNUine Boot
only replaces the BIOS firmware, not EC.
Updated EC firmware has several advantages e.g. bettery battery

View File

@ -5,7 +5,7 @@ x-toc-enable: true
<div class="specs">
<center>
<img tabindex=1 alt="ThinkPad X200" class="p" src="https://av.libreboot.org/x200/disassembly/0019.jpg" /><span class="f"><img src="https://av.libreboot.org/x200/disassembly/0019.jpg" /></span>
<img tabindex=1 alt="ThinkPad X200" class="p" src="https://avgnu.vimuser.org/x200/disassembly/0019.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/x200/disassembly/0019.jpg" /></span>
</center>
| ***Specifications*** | |
@ -52,8 +52,8 @@ Dell Latitude E6400
===================
**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
E6400](e6400.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to nonGeNUine Boot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**
Introduction
@ -63,7 +63,7 @@ It is believed that all X200 laptops are compatible. X200S and X200
Tablet will also work, [depending on the configuration](#x200s).
It may be possible to put an X200 motherboard in an X201 chassis, though this
is currently untested by the libreboot project. The same may also apply between
is currently untested by the nonGeNUine Boot project. The same may also apply between
X200S and X201S; again, this is untested. *It's most likely true.*
There are two possible flash chip sizes for the X200: 4MiB (32Mbit) or
@ -71,7 +71,7 @@ There are two possible flash chip sizes for the X200: 4MiB (32Mbit) or
the palmrest: 4MiB is SOIC-8, 8MiB is SOIC-16.
*The X200 laptops come with the ME (and sometimes AMT in addition)
before flashing libreboot. libreboot disables and removes it by using a
before flashing nonGeNUine Boot. nonGeNUine Boot disables and removes it by using a
modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
(contains notes, plus instructions)
@ -83,7 +83,7 @@ EC update {#ecupdate}
It is recommended that you update to the latest EC firmware version. The
[EC firmware](../../faq.md#ec-embedded-controller-firmware) is separate from
libreboot, so we don't actually provide that, but if you still have
nonGeNUine Boot, 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:
@ -93,7 +93,7 @@ will update both the BIOS and EC version. See:
- [X200t BIOS Update](http://pcsupport.lenovo.com/au/en/products/laptops-and-netbooks/thinkpad-x-series-tablet-laptops/thinkpad-x200-tablet/downloads/ds018814)
NOTE: this can only be done when you are using Lenovo BIOS. How to
update the EC firmware while running libreboot is unknown. libreboot
update the EC firmware while running nonGeNUine Boot is unknown. nonGeNUine Boot
only replaces the BIOS firmware, not EC.
Updated EC firmware has several advantages e.g. better battery

View File

@ -5,7 +5,7 @@ x-toc-enable: true
<div class="specs">
<center>
<img tabindex=1 alt="ThinkPad X200" class="p" src="https://av.libreboot.org/x200/disassembly/0019.jpg" /><span class="f"><img src="https://av.libreboot.org/x200/disassembly/0019.jpg" /></span>
<img tabindex=1 alt="ThinkPad X200" class="p" src="https://avgnu.vimuser.org/x200/disassembly/0019.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/x200/disassembly/0019.jpg" /></span>
</center>
| ***Характеристики*** | |
@ -56,7 +56,7 @@ P*: Частково працює з бінарними компонентами
Tablet також працюватимуть, [залежно від конфігурації](#x200s).
Можливо, можна розмістити материнську плату X200 у шасі X201, хоча це
наразі не перевірено проектом libreboot. Те ж саме може стосуватися
наразі не перевірено проектом nonGeNUine Boot. Те ж саме може стосуватися
X200S та X201S; знову ж таки, це неперевірено. *Швидше за все, це правда.*
Є два можливих розміра флеш-чіпа для X200: 4MБ (32 Мбіт) або
@ -64,7 +64,7 @@ X200S та X201S; знову ж таки, це неперевірено. *Шви
упором для рук: 4МБ це SOIC-8, 8МБ це SOIC-16.
*Ноутбуки X200 постачаються з ME (та іноді AMT додатково)
перед перепрошивкою libreboot. libreboot вимикає та видаляє його за допомогою
перед перепрошивкою nonGeNUine Boot. nonGeNUine Boot вимикає та видаляє його за допомогою
модифікованого дескриптора: дивіться [../install/ich9utils.md](../install/ich9utils.md)*
(містить примітки та інструкції)
@ -76,7 +76,7 @@ X200S та X201S; знову ж таки, це неперевірено. *Шви
Рекомендується оновити мікропрограму EC до останньої версії.
[Прошивка EC](../../faq.md#ec-embedded-controller-firmware) є окремою від
libreboot, тому ми її фактично не надаємо, але якщо у вас все ще є
nonGeNUine Boot, тому ми її фактично не надаємо, але якщо у вас все ще є
Lenovo BIOS, ви можете просто запустити утиліту оновлення BIOS Lenovo, яка
оновить як BIOS, так і версію EC. Дивіться:
@ -86,7 +86,7 @@ Lenovo BIOS, ви можете просто запустити утиліту о
- [Оновлення BIOS X200t](http://pcsupport.lenovo.com/au/en/products/laptops-and-netbooks/thinkpad-x-series-tablet-laptops/thinkpad-x200-tablet/downloads/ds018814)
ПРИМІТКА: це можна зробити, лише якщо ви використовуєте Lenovo BIOS. Як
оновити мікропрограму EC, користуючись libreboot, невідомо. libreboot
оновити мікропрограму EC, користуючись nonGeNUine Boot, невідомо. nonGeNUine Boot
тільки замінює прошивку BIOS, не EC.
Оновлена мікропрограма EC має декілька переваг, напр. краще поводження

View File

@ -2,28 +2,32 @@
title: Documentation
...
Always check [libreboot.org](https://libreboot.org/) for the latest updates to
libreboot. News, including release announcements, can be found in
Always check the nonGeNUine Boot website for the latest updates to
nonGeNUine Boot. News, including release announcements, can be found in
the [main news section](../news/).
[Answers to Frequently Asked Questions about libreboot](../faq.md).
**nonGeNUine Boot was originally designated as GNU Boot unofficially, but
re-branded to nonGeNUine Boot on [21
July 2023](../news/nongenuineboot20230717.html#update-21-july-2023)**
Installing libreboot
[Answers to Frequently Asked Questions about nonGeNUine Boot](../faq.md).
Installing nonGeNUine Boot
====================
- [What systems can I use libreboot on?](hardware/)
- [How to install libreboot](install/)
- [What systems can I use nonGeNUine Boot on?](hardware/)
- [How to install nonGeNUine Boot](install/)
Documentation related to operating systems
============================
- [How to install BSD on an x86 host system](bsd/)
- [Linux Guides](linux/)
- [GNU+Linux Guides](gnulinux/)
Information for developers
==========================
- [How to compile the libreboot source code](build/)
- [How to compile the nonGeNUine Boot source code](build/)
- [Build system developer documentation](maintain/)
- [GRUB payload](grub/)
- [U-Boot payload](uboot/)

View File

@ -2,28 +2,28 @@
title: Документація
...
Завжди перевіряйте [libreboot.org](https://libreboot.org/index.uk.html) для останніх оновлень
libreboot. Новини, включаючи оголошення про випуски, може бути знайдено
Завжди перевіряйте nonGeNUine Boot для останніх оновлень
nonGeNUine Boot. Новини, включаючи оголошення про випуски, може бути знайдено
в [основній секції новин](../news/).
[Відповіді на поширені запитання про libreboot](../faq.md).
[Відповіді на поширені запитання про nonGeNUine Boot](../faq.md).
Встановлення libreboot
====================
Встановлення nonGeNUine Boot
=====================
- [На яких системах я можу встановлювати libreboot?](hardware/)
- [Як встановити libreboot](install/)
- [На яких системах я можу встановлювати nonGeNUine Boot?](hardware/)
- [Як встановити nonGeNUine Boot](install/)
Документація, яка має відношення до операційних систем
============================
- [Як встановити BSD на x86 хостову систему](bsd/)
- [Керівництва Linux](linux/)
- [Керівництва GNU+Linux](gnulinux/)
Інформація для розробників
==========================
- [Як зібрати джерельний код libreboot](build/)
- [Як зібрати джерельний код nonGeNUine Boot](build/)
- [Документація розробника системи побудови](maintain/)
- [Корисне навантаження GRUB](grub/)
- [Корисне навантаження U-Boot](uboot/)

View File

@ -6,7 +6,13 @@ x-toc-enable: true
WARNING: This board is known to have non-functioning video init at the time
of writing, 19 February 2023. It is as yet unsolved.
See: <https://notabug.org/libreboot/lbmk/issues/136>
**NOTE: This information is inherited from Libreboot, and should probably
be removed. It refers to older Libreboot releases, which supported this
hardware in the configuration described, but nonGeNUine Boot has never supported
this machine.**
See: <https://notabug.org/libreboot/lbmk/issues/136> (NOTE: Libreboot issue page,
not nonGeNUine Boot)
Introduction
===========
@ -22,28 +28,15 @@ 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).
Depthcharge payload (obsolete)
------------------------------
This board was also supported in Libreboot 20160907, with the Depthcharge
payload. Support was dropped in later releases, and then re-added in the
December 2022 release but with *u-boot* payload (not *depthcharge*).
Refer to older versions of this page, in `lbwww.git`, if you wish to see
instructions pertaining to Depthcharge:
* <https://notabug.org/libreboot/lbwww/src/4be2eed23e11b1071cd500a329abf654ab25f942/site/docs/install/c201.md>
* <https://notabug.org/libreboot/lbwww/src/4be2eed23e11b1071cd500a329abf654ab25f942/site/docs/hardware/c201.md>
U-boot payload
==============
U-Boot was ported to coreboot CrOS devices, courtesy of Alper Nebi
Yasak (`alpernebbi` on Libreboot IRC).
Yasak on behalf of the Libreboot project, upon which nonGeNUine Boot is based.
Read the section pertaining to U-boot payload:
[u-boot payload documentation for Libreboot](../uboot/)
[u-boot payload documentation for nonGeNUine Boot](../uboot/)
Internal flashing
=================
@ -53,7 +46,7 @@ If you're flashing good firmware, and the machine boots properly, you can
do it in software, from the host CPU.
In the past, C201 was the only CrOS device so this page contained information
about internal flashing. Libreboot now supports many more CrOS devices, so
about internal flashing. nonGeNUine Boot now supports many more CrOS devices, so
the information has moved.
See: [chromebook flashing instructions](chromebooks.md)
@ -74,9 +67,9 @@ below. The write protect screw is located next to the SPI flash chip, circled
in red in the picture below. It has to be removed. Refer to the following
photos:
[![Screws](https://av.libreboot.org/c201/screws.jpg)](https://av.libreboot.org/c201/screws.jpg)
[![Screws](https://avgnu.vimuser.org/c201/screws.jpg)](https://avgnu.vimuser.org/c201/screws.jpg)
[![WP screw](https://av.libreboot.org/c201/wp-screw.jpg)](https://av.libreboot.org/c201/wp-screw.jpg)
[![WP screw](https://avgnu.vimuser.org/c201/wp-screw.jpg)](https://avgnu.vimuser.org/c201/wp-screw.jpg)
The write protect screw can be put back in place later, when the device
is known to be in a working state.
@ -88,10 +81,10 @@ If the machine is no longer booting, due to bad firmware, you can unbrick
it externally. Refer to [external flash instructions](spi.md).
[![SPI flash
layout](https://av.libreboot.org/c201/spi-flash-layout.jpg)](https://av.libreboot.org/c201/spi-flash-layout.jpg)
layout](https://avgnu.vimuser.org/c201/spi-flash-layout.jpg)](https://avgnu.vimuser.org/c201/spi-flash-layout.jpg)
[![Battery
connector](https://av.libreboot.org/c201/battery-connector.jpg)](https://av.libreboot.org/c201/battery-connector.jpg)
connector](https://avgnu.vimuser.org/c201/battery-connector.jpg)](https://avgnu.vimuser.org/c201/battery-connector.jpg)
You do not need to correct the `WP#` pin because it is held high via pull-up
resistor to 3.3v, when the write-protect screw is loosened (when tightened,

View File

@ -3,11 +3,6 @@ title: Chromebook flashing instructions
x-toc-enable: true
...
NOTE: daisy, peach and veyron boards were temporarily removed from
lbmk. They should be re-added to Libreboot at a later date. The reasons
are written on the hardware compatibility page. For now, Libreboot only
officially supports the `gru` chromebooks.
This page attempts to give a brief, general overview of how to flash
custom firmware on ChromeOS devices. This guide usually refers to all of
them as "Chromebook"s since it's the most common form factor.
@ -47,7 +42,7 @@ Identify your device
====================
It's more common to refer to ChromeOS boards by their codenames, and
many compatible devices can share a single codename. Libreboot ROM
many compatible devices can share a single codename. nonGeNUine Boot ROM
images also use these, you should only use the one corresponding to your
device's. There are a number of ways to find it, some are:
@ -74,7 +69,7 @@ to flash firmware internally. To back up stock firmware you can run:
Keep the resulting `depthcharge.rom` file safe and properly backed up on
another device.
If you can already boot a conventional Linux distro on your Chromebook,
If you can already boot a conventional GNU+Linux distro on your Chromebook,
you may be able to use `flashrom -p linux_mtd` on that system instead.
Check external flashability
@ -90,7 +85,7 @@ 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_cr50.md)
mechanism that lets you flash externally using a special USB debugging
cable. However, most boards that Libreboot supports do not have this.
cable. However, most boards that nonGeNUine Boot supports do not have this.
Disable write protection
========================
@ -102,7 +97,7 @@ owner. How to do so depends on the board, refer to the
for more info. You will usually need to do this only once for the
board's lifetime, unless you manually enable it again.
On most boards that Libreboot supports, write-protection is enforced by
On most boards that nonGeNUine Boot supports, write-protection is enforced by
a physical screw. When screwed in, it forms an electrical connection
that asserts the WP pin on the flash chip. The screw can be identified
by the fact that it bridges electrical contacts, but finding and
@ -125,18 +120,18 @@ The *--wp* arguments are only available on the
[ChromiumOS fork of flashrom](https://sites.google.com/a/chromium.org/dev/chromium-os/packages/cros-flashrom).
If you are using another OS or an external flasher, you may need to
compile and use that flashrom fork to disable write-protection. There is
no `lbmk` support yet for automatically building it.
no `gbmk` support yet for automatically building it.
Prepare the ROM image
=====================
Libreboot ROM image layouts are currently incompatible with the regions
nonGeNUine Boot ROM image layouts are currently incompatible with the regions
that should be carried over from the stock firmware. However, the
released images should still be somewhat usable, since the Chromebooks
supported so far don't require any non-redistributable blobs to be
injected by the end user.
Future Libreboot versions will likely require post-processing to
Future nonGeNUine Boot versions will likely require post-processing to
preserve irreplaceable data in the firmware image. For now, make sure to
keep backups of the original firmware.
@ -156,10 +151,10 @@ documentation if your board supports it.
To flash the entire ROM image internally, run within ChromeOS:
sudo flashrom -p host -w libreboot.rom
sudo flashrom -p host -v libreboot.rom
sudo flashrom -p host -w nongenuineboot.rom
sudo flashrom -p host -v nongenuineboot.rom
If you can already boot a conventional Linux distro on your Chromebook,
If you can already boot a conventional GNU+Linux distro on your Chromebook,
you may be able to use `flashrom -p linux_mtd` on that system instead.
Install an operating system (experimental research)
@ -176,10 +171,12 @@ three general methods for installing that vary depending on the distribution:
Successful installations:
-------------------------
* [ArchLinuxARM on RK3399-based Chromebooks](../uboot/uboot-archlinux.md).
* [ArchGNU+LinuxARM on RK3399-based Chromebooks](../uboot/uboot-archlinux.md). (TODO: test Parabola)
* [Debian Bookworm on Samsung Chromebook Plus XE513C24](../uboot/uboot-debian-bookworm.md).
* [Debian on Asus Chromebook C201](https://wiki.debian.org/InstallingDebianOn/Asus/C201).
**TODO: Test Debian instructions with Trisquel.**
Unsuccessful installations:
---------------------------

View File

@ -2,7 +2,7 @@
title: D510MO flashing tutorial
...
This guide is for those who want libreboot on their Intel D510MO
This guide is for those who want nonGeNUine Boot on their Intel D510MO
motherboard while they still have the original BIOS present.
NOTE: D410PT is another designation and it's the same board. Flash the same ROM.

View File

@ -2,11 +2,11 @@
title: Intel D945GCLF flashing tutorial
...
NOTE: On newer Libreboot revisions, boot issues were reported so this board
NOTE: On newer nonGeNUine Boot revisions, boot issues were reported so this board
was temporarily removed. It will be re-added at a later date, after testing
has been done.
This guide is for those who want libreboot on their Intel D945GCLF
This guide is for those who want nonGeNUine Boot on their Intel D945GCLF
motherboard while they still have the original BIOS present.
D945GCLF2D also reported working by a user.
@ -20,4 +20,4 @@ Flashing instructions {#clip}
Refer to [spi.md](spi.md) for how to re-flash externally.
Here is an image of the flash chip:\
![](https://av.libreboot.org/d945gclf/d945gclf_spi.jpg)
![](https://avgnu.vimuser.org/d945gclf/d945gclf_spi.jpg)

View File

@ -9,7 +9,7 @@ Introduction
Initial flashing instructions for the E6400. DO NOT flash the Nvidia GPU
variant. This page pertains only to the Intel GPU variant.
This guide is for those who want libreboot on their Latitude E6400 while
This guide is for those who want nonGeNUine Boot on their Latitude E6400 while
they still have the original Dell BIOS present. This guide can also be
followed (adapted) if you brick your E6400, and you want to recover it.
@ -19,7 +19,7 @@ to that of ThinkPad X200, T400 etc where no-ME setup is possible.
A note about GPUs
-----------------
Models with Intel graphics are GM45, and fully supported in Libreboot
Models with Intel graphics are GM45, and fully supported in nonGeNUine Boot
with native initialisation; ROM images are available since.
**The Intel video initialisation is libre, implemented with publicly available
source code via libgfxinit, from the coreboot project.**
@ -38,7 +38,7 @@ MAC address {#macaddress}
===========
The MAC address is part of the ROM image that you're flashing. You can change
it at any time, before or after you've flashed Libreboot; you can also change
it at any time, before or after you've flashed nonGeNUine Boot; you can also change
it in the *Dell* BIOS, if you really want to. This is for the onboard gigabit
ethernet device.
@ -59,7 +59,7 @@ etc). You can *also* run ich9gen, if you wish:
Intel GPU: libre video initialisation available
===============================================
Libreboot uses coreboot's native `libgfxinit` on this platform, for
nonGeNUine Boot uses coreboot's native `libgfxinit` on this platform, for
variants with Intel graphics.
How to flash internally (no diassembly)
@ -72,25 +72,25 @@ BSD *boots* and works properly on these machines, but take note:
Nicholas's [e6400-flash-unlock](https://browse.libreboot.org/lbmk.git/plain/util/e6400-flash-unlock/e6400_flash_unlock.c)
utility has not yet been ported to BSD systems. The `flashrom` software is
available on BSD systems. Libreboot's build system has not yet been ported to
available on BSD systems. nonGeNUine Boot's build system has not yet been ported to
the BSDs.
BSD users could run Linux from USB to run `flashrom` and `e6400-flash-unlock`.
BSD users could run GNU+Linux from USB to run `flashrom` and `e6400-flash-unlock`.
Virtualisation is available in BSDs, where it should be feasible to run the
Libreboot build system, in Linux, under virtualisation.
nonGeNUine Boot build system, in GNU+Linux, under virtualisation.
Flashing from Linux
Flashing from GNU+Linux
-------------------
MAKE SURE you boot with this Linux kernel parameter: `iomem=relaxed` - this
MAKE SURE you boot with this GNU+Linux kernel parameter: `iomem=relaxed` - this
disables memory protections, permitting `/dev/mem` access needed by flashrom.
The flash is memory mapped and flashrom accesses it via `/dev/mem`.
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
work on BSD systems, but it has only been testing on Linux thus far.
You can flash nonGeNUine Boot directly from the vendor (Dell) BIOS, without taking
the machine apart. It can be done entirely from GNU+Linux. It will probably also
work on BSD systems, but it has only been testing on GNU+Linux thus far.
Check `util/e6400-flash-unlock` in the `lbmk.git` repository, or releases.
Check `util/e6400-flash-unlock` in the `gbmk.git` repository, or releases.
Go in there:
@ -116,25 +116,25 @@ Protected Range registers.
When you flash it, you can use this command:
flashrom -p internal -w libreboot.rom
flashrom -p internal -w nongenuineboot.rom
Where `libreboot.rom` is your E6400 ROM. *Make sure* it's the right one.
Where `nongenuineboot.rom` is your E6400 ROM. *Make sure* it's the right one.
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 flashrom: `-c MX25L3205D/MX25L3208D`.
So:
flashrom -p internal -w libreboot.rom -c MX25L3205D/MX25L3208D
flashrom -p internal -w nongenuineboot.rom -c MX25L3205D/MX25L3208D
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).
nonGeNUine Boot project via IRC](../../contact.md).
BACK UP THE FACTORY BIOS
========================
The `-w` option flashes `libreboot.rom`. You may consider *backing up* the
The `-w` option flashes `nongenuineboot.rom`. You may consider *backing up* the
original Dell BIOS first, using the -r option:
flashrom -p internal -r backup.rom -c MX25L3205D/MX25L3208D

View File

@ -3,7 +3,7 @@ title: GA-G41M-ES2L flashing tutorial
x-toc-enable: true
...
This guide is for those who want libreboot on their Intel GA-G41M-ES2L
This guide is for those who want nonGeNUine Boot on their Intel GA-G41M-ES2L
motherboard while they still have the original BIOS present.
MAC ADDRESS
@ -45,22 +45,22 @@ NOTE: You should use a resistor in series, between 1K to 10K ohms, for the 3.3v
connection to the CS pin. This is to protect from over-current.
Here is an image of the flash chip:\
![](https://av.libreboot.org/ga-g41m-es2l/ga-g41m-es2l.jpg)
![](https://avgnu.vimuser.org/ga-g41m-es2l/ga-g41m-es2l.jpg)
Internal flashing is possible. Boot with the proprietary BIOS and
Linux. There are 2 flash chips (one is backup).
GNU+Linux. There are 2 flash chips (one is backup).
Flash the first chip:
./flashrom -p internal:dualbiosindex=0 -w libreboot.rom
./flashrom -p internal:dualbiosindex=0 -w nongenuineboot.rom
Flash the second chip:
./flashrom -p internal:dualbiosindex=1 -w libreboot.rom
./flashrom -p internal:dualbiosindex=1 -w nongenuineboot.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
libreboot was already installed onto the main chip.
nonGeNUine Boot was already installed onto the main chip.
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

View File

@ -6,25 +6,28 @@ x-toc-enable: true
If all you want to do is change the MAC address, you might use `nvmutil`
instead. See: [nvmutil documentation](../install/nvmutil.md).
Both this and nvmutil were *inherited* from Libreboot, upon which nonGeNUine Boot
is based.
Introduction
============
The `ich9utils` utility from Libreboot is used to manipulate Intel Flash
The `ich9utils` utility from nonGeNUine Boot is used to manipulate Intel Flash
Descriptors for ICH9M on laptops such as ThinkPad X200 or T400. Specifically,
the `ich9gen` utility can generate 12KiB descriptor+GbE files for inserting
into the start of a ROM, where everything after that is the BIOS region. These
are special descriptors with the Intel ME region disabled, and Intel ME itself
fully disabled.
ich9utils is handled by the `lbmk` (libreboot-make) build system, but the code
itself is hosted in a separate repository. You can check the Git repositories
ich9utils is handled by the `gbmk` (non**G**eNUine**B**oot**M**a**K**e) build system, and the code
itself is hosted in that same repository. You can check the Git repositories
linked on [../../git.md](../../git.md) if you wish to download and use it.
It is very *uncommon*, on GM45/ICH9M systems, to have an Intel Flash Descriptor
and GbE but *without* an Intel ME. On *most* of these systems (without libreboot,
Libreboot or coreboot), there is either descriptor+GbE+ME+BIOS or just BIOS,
and GbE but *without* an Intel ME. On *most* of these systems (without GNU
Boot or coreboot), there is either descriptor+GbE+ME+BIOS or just BIOS,
where on systems with just the BIOS region an Intel GbE NIC is not present.
In libreboot (and Libreboot), we provide descriptor+GbE images with Intel ME
In nonGeNUine Boot, we provide descriptor+GbE images with Intel ME
disabled and not present in the ROM; this enables the Intel GbE NIC to be used,
while not having an Intel ME present. A consequence of this is that the
malicious features of ME (such as AMT) are not present, however the Intel ME
@ -58,17 +61,17 @@ ich9utils
=========
You can find `ich9utils` on the [Git page](../../git.md) or you can download
`lbmk` from the same page and run the following command in there:
`gbmk` from the same page and run the following command in there:
./build module ich9utils
You may also find it in the source code tar archives, on releases.
In `lbmk`, you can use the following command to generate descriptors:
In `gbmk`, you can use the following command to generate descriptors:
./build descriptors ich9m
The libreboot build system will use the descriptors under `descriptors/ich9m`
The nonGeNUine Boot build system will use the descriptors under `descriptors/ich9m`
when building ROM images for these machines.
Alternatively, you can just clone `ich9utils` directly and run `make` in the
@ -107,7 +110,7 @@ These files contain the descriptor+GbE region and are suitable for systems
that have an Intel GbE NIC present. The flash regions (as defined by the
Intel Flash Descriptor) are set *read-write* which means that you can also
re-flash using `flashrom -p internal` in your operating system running on
that machine. This is the default setup used when libreboot's build system
that machine. This is the default setup used when nonGeNUine Boot's build system
compiles ROM images.
Alternative versions of these files are also created, which have `ro` in the
@ -120,27 +123,27 @@ The region setup created by these descriptors is as follows:
* First 4KiB of flash is: Intel Flash Descriptor
* Next 8KiB after Descriptor: Intel GbE region
* Rest of the flash, after GbE: BIOS region (BIOS region will have libreboot)
* Rest of the flash, after GbE: BIOS region (BIOS region will have nonGeNUine Boot)
The GbE region contains configuration data for your Intel GbE NIC. You can
find information about this in Intel datasheets, and it is very well described
in the `ich9utils` source code.
Assuming that your libreboot image is named **libreboot.rom**, copy the
file to where **libreboot.rom** is located and then insert the
Assuming that your nonGeNUine Boot image is named **nongenuineboot.rom**, copy the
file to where **nongenuineboot.rom** is located and then insert the
descriptor+gbe file into the ROM image.
For 16MiB flash chips:
dd if=ich9fdgbe_16m.bin of=libreboot.rom bs=12k count=1 conv=notrunc
dd if=ich9fdgbe_16m.bin of=nongenuineboot.rom bs=12k count=1 conv=notrunc
For 8MiB flash chips:
dd if=ich9fdgbe_8m.bin of=libreboot.rom bs=12k count=1 conv=notrunc
dd if=ich9fdgbe_8m.bin of=nongenuineboot.rom bs=12k count=1 conv=notrunc
For 4MiB flash chips:
dd if=ich9fdgbe_4m.bin of=libreboot.rom bs=12k count=1 conv=notrunc
dd if=ich9fdgbe_4m.bin of=nongenuineboot.rom bs=12k count=1 conv=notrunc
If you wish to have read-only flash (write protected flash), substitute the
above examples with descriptor+GbE images that have `ro` in the filename. RO
@ -157,13 +160,13 @@ will just supply a descriptor-less setup. Those GbE-less descriptor images
created by `ich9gen` are only 4KiB in size, and should *never be used* except
for fun, like, basically shits and/or giggles.
For shits and giggles, R500 ROM images in libreboot use these no-GbE descriptor
For shits and giggles, R500 ROM images in nonGeNUine Boot use these no-GbE descriptor
images generated by ich9gen. However, a descriptorless setup would also work
just fine. ThinkPad R500 doesn't have an Intel PHY in it, and it instead uses
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
Your nongenuineboot.rom image is now ready to be flashed on the system. Refer
back to [../install/\#flashrom](../install/#flashrom) for how to flash
it.
@ -179,8 +182,8 @@ Read on for more information. Use the `ro` files mentioned below, and your
flash will be read-only in software (you can still externally re-flash and read
the contents of flash).
For ease of use, libreboot provides ROMs that are read-write by default. In
practise, you can boot a Linux kernel with access to lower memory disabled
For ease of use, nonGeNUine Boot provides ROMs that are read-write by default. In
practise, you can boot a GNU+Linux kernel with access to lower memory disabled
which will make software re-flashing impossible (unless you reboot with such
memory protections disabled, e.g. `iomem=relaxed` kernel parameter).
@ -226,16 +229,16 @@ appear, if no GbE region was detected inside the ROM image. This is
usually the case, when a discrete NIC is used (eg Broadcom) instead of
Intel. Only the Intel NICs need a GbE region in the flash chip.
Assuming that your libreboot image is named **libreboot.rom**, copy the
**deblobbed\_descriptor.bin** file to where **libreboot.rom** is located
Assuming that your nonGeNUine Boot image is named **nongenuineboot.rom**, copy the
**deblobbed\_descriptor.bin** file to where **nongenuineboot.rom** is located
and then run:
dd if=deblobbed_descriptor.bin of=libreboot.rom bs=12k count=1 conv=notrunc
dd if=deblobbed_descriptor.bin of=nongenuineboot.rom bs=12k count=1 conv=notrunc
Alternatively, if you got a the **deblobbed\_4kdescriptor.bin** file (no
GbE defined), do this:
dd if=deblobbed_4kdescriptor.bin of=libreboot.rom bs=4k count=1 conv=notrunc
dd if=deblobbed_4kdescriptor.bin of=nongenuineboot.rom bs=4k count=1 conv=notrunc
(it's very unlikely that you would ever see this. Descriptor without GbE is
very rare, probably non-existant, but theoretically possible and this functionality
@ -258,7 +261,7 @@ build `ich9gen` executable will be able to re-create the very same 12KiB
file from scratch, based on the C structs, this time **without** the
need for a` factory.rom` dump!
You should now have a **libreboot.rom** image containing the correct 4K
You should now have a **nongenuineboot.rom** image containing the correct 4K
descriptor and 8K gbe regions, which will then be safe to flash. Refer
back to [index.md/\#gm45](index.md/#gm45) for how to flash
it.
@ -288,7 +291,7 @@ Keep the original factory.rom stored safely somewhere):
Use-case: a factory.rom image modified in this way would theoretically
have no flash protections whatsoever, making it easy to quickly switch
between factory/libreboot in software, without ever having to
between factory/nongenuineboot in software, without ever having to
disassemble and re-flash externally unless you brick the device.
The sections below are adapted from (mostly) IRC logs related to early
@ -310,7 +313,7 @@ Early notes {#early_notes}
of disabling the descriptor.
- **and the location of GPIO33 on the x200s: (was an external link.
Putting it here instead)**
[https://av.libreboot.org/x200/gpio33_location.jpg](https://av.libreboot.org/x200/gpio33_location.jpg) -
[https://avgnu.vimuser.org/x200/gpio33_location.jpg](https://avgnu.vimuser.org/x200/gpio33_location.jpg) -
it's above the number 7 on TP37 (which is above the big intel chip
at the bottom)
- The ME datasheet may not be for the mobile chipsets but it doesn't
@ -436,7 +439,7 @@ way through the 8K area, and the rest is all 0xFF. This is all
documented in the datasheet.
The GBe region starts at 0x20A000 bytes from the \*end\* of a factory
image and is 0x2000 bytes long. In libreboot (deblobbed) the descriptor
image and is 0x2000 bytes long. In nonGeNUine Boot (deblobbed) the descriptor
is set to put gbe directly after the initial 4K flash descriptor. So the
first 4K of the ROM is the descriptor, and then the next 8K is the gbe
region.
@ -457,7 +460,7 @@ not making this stuff up...
regions on the X200 factory.rom dumps. The checksums of the backup
regions match BABA, however. We think `0xBABA` is the only correct checksum,
because those other, similar checksums were only ever found in the "backup"
GbE regions on factory ROM dumps. In libreboot, we simply use `0xBABA` and
GbE regions on factory ROM dumps. In nonGeNUine Boot, we simply use `0xBABA` and
ensure that both 4KiB regions in GbE NVM have that checksum.
By default, the X200 (as shipped by Lenovo) actually has an invalid main
@ -478,10 +481,10 @@ Flash descriptor region {#flash_descriptor_region}
<http://www.intel.co.uk/content/dam/doc/datasheet/io-controller-hub-9-datasheet.pdf>
from page 850 onwards. This explains everything that is in the flash
descriptor, which can be used to understand what libreboot is doing
descriptor, which can be used to understand what nonGeNUine Boot is doing
about modifying it.
How to deblob:
How to deblob *manually*:
- patch the number of regions present in the descriptor from 5 - 3
- originally descriptor + bios + me + gbe + platform
@ -502,7 +505,7 @@ There's an interesting parameter called 'ME Alternate disable', which
allows the ME to only handle hardware errata in the southbridge, but
disables any other functionality. This is similar to the 'ignition' in
the 5 series and higher but using the standard firmware instead of a
small 128K version. Useless for libreboot, though.
small 128K version. Useless for nonGeNUine Boot, though.
To deblob GM45, you chop out the platform and ME regions and correct the
addresses in flReg1-4. Then you set meDisable to 1 in ICHSTRAP0 and
@ -521,7 +524,7 @@ How to patch the descriptor from the factory.rom dump
- Then it can be dd'd into the first 12K part of a coreboot image.
- the GBe region always starts 0x20A000 bytes from the end of the ROM
This means that libreboot's descriptor region will simply define the
This means that nonGeNUine Boot's descriptor region will simply define the
following regions:
- descriptor (4K)
@ -539,8 +542,8 @@ If it's in descriptor mode, then the first 4 bytes will be 5A A5 F0 0F.
platform data partition in boot flash (factory.rom / lenovo bios) {#platform_data_region}
-----------------------------------------------------------------
Basically useless for libreboot, since it appears to be a blob. Removing
it didn't cause any issues in libreboot. We think it's just random data that
Basically useless for nonGeNUine Boot, since it appears to be a blob. Removing
it didn't cause any issues in nonGeNUine Boot. We think it's just random data that
the manufacturer can put there, to use in their firmware. Intel datasheets seem
to suggest that the platform region serves no specific function except to
provide a region in flash for the hardware manufacturer to use, for whatever

View File

@ -3,7 +3,7 @@ title: Installation instructions
x-toc-enable: true
...
This section relates to installing libreboot on supported targets.
This section relates to installing nonGeNUine Boot 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
@ -13,11 +13,11 @@ has `CONFIG_STRICT_DEVMEM` not enabled.
PRECAUTIONS
===========
libreboot flashing can be risky business. Please ensure that you have external
nonGeNUine Boot flashing can be risky business. Please ensure that you have external
flashing equipment, in case anything goes wrong. The general rule of thumb with
firmware is this: if it's non-free, replace it, but if you're already running
free firmware and it works nicely for you, you do not need to update it.
However, you might want to tweak it or try out newer releases of libreboot if
However, you might want to tweak it or try out newer releases of nonGeNUine Boot if
they have bug fixes for your board, and/or new security fixes.
If you're already running libre firmware on your board, you should decide for
@ -31,7 +31,7 @@ Init types and display mode
---------------------------
NOTE: regardless of init type, on desktops, an external/add-on GPU can always
be used. On laptop hardware in libreboot, libgfxinit will always be used. On
be used. On laptop hardware in nonGeNUine Boot, libgfxinit will always be used. On
desktop/server hardware, if available, libgfxinit will also always be used by
default (but in that setup, SeaBIOS can be used if you want to use an add-on
graphics card, e.g. on KCMA-D8, KGPE-D16, GA-G41M-ES2L)
@ -63,11 +63,11 @@ int10h text mode is used on startup.
### vgarom
NOTE: no configs in libreboot are currently available that use this method.
NOTE: no configs in nonGeNUine Boot are currently available that use this method.
With this method, coreboot is finding, loading and executing a VGA option ROM
for your graphics hardware. This would not be done on laptops, because that
implies supplying non-free binary blobs in libreboot, so this setup would only
implies supplying non-free binary blobs in nonGeNUine Boot, so this setup would only
ever be provided on desktop hardware where no GPU exists or where it is
desirable for you to use an external/add-on graphics card
@ -91,7 +91,7 @@ In this setup, coreboot is neither implementing libgfxinit / native graphics
initialization nor is it finding/loading/executing VGA option ROMs. In this
setup, SeaBIOS would most likely be used for that.
The `normal` setup is supported in the libreboot build system, but not
The `normal` setup is supported in the nonGeNUine Boot build system, but not
currently used. It is there for desktop hardware that will be added in the
future, where those desktop boards do not have an onboard GPU and therefore an
add-on GPU is always used..
@ -116,42 +116,6 @@ 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.
### 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?
============================
@ -180,8 +144,8 @@ carefully.
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 flashrom.
You can simply take any ROM image from the nonGeNUine Boot project, and flash it.
Boot a GNU+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*.
@ -205,7 +169,7 @@ ensure that you get the same checksums. Check each dump using `sha1sum`
How to erase and rewrite the chip contents:
sudo flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w libreboot.rom
sudo flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w nongenuineboot.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
@ -237,7 +201,7 @@ the sections below:
#### DELL Latitute E6400 laptop (easy to flash, similar to X200/T400)
See: [Dell Latitute E6400 Libreboot Installation Guide](e6400.md)
See: [Dell Latitute E6400 nonGeNUine Boot Installation Guide](e6400.md)
#### ThinkPad X200/T400/T500/W500/R400/R500 vendor BIOS
@ -258,7 +222,7 @@ Intel NIC.
[You must flash it externally](spi.md)
D410PT is more or less the same board as D510MO, but we would like more info
about this board. If you have a D410PT mainboard, please contact the libreboot
about this board. If you have a D410PT mainboard, please contact the nonGeNUine Boot
project via IRC and ping `leah` before you flash it. When you do so, please
reference this paragraph on this web page.
@ -271,17 +235,17 @@ and you must flash both chips. Refer to the guide:\
#### Macbook1,1 running non-free Apple EFI firmware
This laptop requires external flashing. Remove the mainboard and refer to
the [external flashing guide](spi.md); if libreboot is already running, you
the [external flashing guide](spi.md); if nonGeNUine Boot is already running, you
can flash internally.
MacBook2,1 can be flashed internally.
#### ASUS KFSN4-DRE?
Simply boot Linux with the default vendor firmware, and flash it internally,
Simply boot GNU+Linux with the default vendor firmware, and flash it internally,
but before you do: take a push pin, remove the metal pin, and superglue the
plastic part to the chip. Then remove the chip after you booting your
Linux system. Install a new chip, and flash *that*.
GNU+Linux system. Install a new chip, and flash *that*.
This board uses LPC flash in a PLCC32 socket. This coreboot page shows an
example of the push pin as a proof of concept:
@ -303,17 +267,15 @@ example of the push pin as a proof of concept:
NOTE: If BIOS password auth is enabled, you can clear it by shorting pins on
an EEPROM and then resetting the password in Lenovo BIOS, prior to flashing
Libreboot. For T60, see:
nonGeNUine Boot. For T60, see:
<https://ounapuu.ee/posts/2022/10/13/recovering-password-locked-thinkpad-t60/>
(TODO: link something here for X60)
X60 BIOS password (Lenovo): you might find info here:
<https://bios-pw.org/>
You can just get bucts from the libreboot project, same thing for the patched
flashrom. In the Libreboot 20160907 release, there is a *utility* archive, which
has statically compiled executables. They still work just fine on modern
systems, and they can be used for this purpose.
Download bucts here:
<https://notabug.org/libreboot/bucts>
Here are a list of targets:
@ -323,14 +285,14 @@ Here are a list of targets:
can get a serial console on the RS232 port if you use the Advanced Dock or
Advanced Mini Dock. Connect to it from another machine, using null modem
cable and USB serial adapter; *Screen* can connect to the serial console
and you will run it at 115200 baud rate. agetty/fgetty in Linux can give
and you will run it at 115200 baud rate. agetty/fgetty in GNU+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
You can replace Lenovo BIOS with nonGeNUine Boot, using flashrom running on the host
CPU. However, there are some considerations.
Firstly, make sure that the yellow CMOS battery is installed, and functioning
@ -353,10 +315,10 @@ can set the machine to boot using that lower 64KiB bootblock, which is
read-write. You do this by setting the BUC.TS register to 1, using the `bucts`
program referenced below.
The libreboot ROM images already have the upper 64KiB bootblock copied to the lower
The nonGeNUine Boot ROM images already have the upper 64KiB bootblock copied to the lower
one, so you don't have to worry about copying it yourself.
If you build flashrom using the libreboot build system, there will be three
If you build flashrom using the nonGeNUine Boot build system, there will be three
binaries:
* `flashrom`
@ -433,7 +395,7 @@ Assuming that everything went well:
Flash the ROM for a second time. For this second flashing attempt, the upper
64KiB bootblock is now read-write. Use the *unpatched* flashrom binary:
sudo ./flashrom -p internal -w libreboot.rom
sudo ./flashrom -p internal -w nongenuineboot.rom
To reset bucts, do this:
@ -444,10 +406,10 @@ 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
still set to 1, and consult the libreboot project on IRC for advice, and avoid
still set to 1, and consult the nonGeNUine Boot project on IRC for advice, and avoid
shutting down your system until you get help.
If all went well, libreboot should now be booting and you should be able to
If all went well, nonGeNUine Boot should now be booting and you should be able to
boot into your operating system.
If you messed up, there are external flashing instructions. See main navigation
@ -474,7 +436,7 @@ Refer to the following article:\
DELL Latitude E6400 laptop (easy to flash, similar to X200/T400)
-------------------------
See: [Dell Latitute E6400 Libreboot Installation Instructions](e6400.md)
See: [Dell Latitute E6400 nonGeNUine Boot Installation Instructions](e6400.md)
ASUS KFSN4-DRE
--------------
@ -493,7 +455,7 @@ TARGET: Apple Macbook2,1, Macbook1,1 and iMac5,2 (i945 platform)
----------------------------------------------------------------
iMac5,2 is essentially the same board as Macbook2,1, and it is compatible with
libreboot.
nonGeNUine Boot.
Refer to the following article:\
[Macbook2,1 and MacBook1,1 installation guide](../hardware/macbook21.md)

View File

@ -3,12 +3,12 @@ title: KGPE-D16 external flashing instructions
x-toc-enable: true
...
These will be re-added to Libreboot at a later date, once proper testing
These will be re-added to nonGeNUine Boot at a later date, once proper testing
has been done.
Initial flashing instructions for KGPE-D16.
This guide is for those who want libreboot on their ASUS KGPE-D16
This guide is for those who want nonGeNUine Boot on their ASUS KGPE-D16
motherboard, while they still have the proprietary ASUS BIOS present.
This guide can also be followed (adapted) if you brick you board, to
know how to recover.
@ -27,6 +27,6 @@ External programmer
Refer to [spi.md](spi.md) for a guide on how to re-flash externally.
The flash chip is in a PDIP 8 socket (SPI flash chip) on the
motherboard, which you take out and then re-flash with libreboot, using
motherboard, which you take out and then re-flash with nonGeNUine Boot, using
the programmer. *DO NOT* remove the chip with your hands. Use a chip
extractor tool.

View File

@ -3,6 +3,9 @@ title: nvmutil manual
x-toc-enable: true
...
This software was inherited from Libreboot, when we forked it to create
nonGeNUine Boot.
With this software, you can change the MAC address inside GbE regions
on any system that uses an Intel Flash Descriptor.
@ -12,8 +15,8 @@ Continue reading...
Introduction
============
This is the manual for `nvmutil`, included in the Libreboot,
build system (lbmk) under `util/nvmutil/`. This program lets you modify
This is the manual for `nvmutil`, included in the nonGeNUine Boot,
build system (gbmk) under `util/nvmutil/`. This program lets you modify
the MAC address, correct/verify/invalidate checksums,
swap/copy and dump regions on Intel PHY NVM images,
which are small binary configuration files that go
@ -23,7 +26,7 @@ This software is largely targeted at coreboot users,
but it can be used on most modern Intel systems, or
most systems from about 2008/2009 onwards.
NOTE: Libreboot X200/X200T/X200S/T400/T400S/T500/W500/R400
NOTE: nonGeNUine Boot X200/X200T/X200S/T400/T400S/T500/W500/R400
users should know that this software does *not*
replace `ich9gen`, because that program generates entire
ICH9M IFD+GbE regions, in addition to letting you set the
@ -42,8 +45,9 @@ using `nvmutil`.
How to download newer versions
==============================
Simply pull down the latest changes in `lbmk.git`. The `nvmutil`
software is now part of lbmk, since 17 November 2022.
Simply pull down the latest changes in `gbmk.git`. The `nvmutil`
software is part of our nonGeNUine Boot build system, which we called `gbmk`,
short for non**G**eNUine**B**oot**M**a**K**e.
More info about git:
@ -72,7 +76,7 @@ does not modify or manipulate these in any way.
The final word in the NVM section is the *checksum*; all words
must add up, truncated, to the value `0xBABA`. The hardware
itself does not calculate or validate this, and will in
fact work nicely, but software such as Linux will check
fact work nicely, but software such as GNU+Linux will check
that this is correct. If the checksum is invalid, your
kernel will refuse to make use of the NIC.
@ -132,11 +136,9 @@ them together:
cat spi1.rom spi2.rom > rom.bin
If your GbE region is locked (per IFD settings), you can dump
and flash it using external flashing equipment. The Libreboot
and flash it using external flashing equipment. The nonGeNUine Boot
project has a handy guide for this; it can be used for reading
from and writing to the chip. See:
* <https://libreboot.org/docs/install/spi.html>
from and writing to the chip. See: [spi.md](spi.md)
If you're using an external programmer, the `-p internal`
option should be changed accordingly. Read flashrom
@ -235,11 +237,11 @@ How to compile source code
==========================
The nvmutil source code is located under `util/nvmutil/` in the
lbmk repository. A makefile is included there, for you to build an
gbmk repository. A makefile is included there, for you to build an
executable.
The nvmutil programs will work just fine, on any modern BSD Unix operating
system, or unix-like system such as Linux.
system, or unix-like system such as GNU+Linux.
You must be sure to have toolchains installed, for
building; a normal libc, C compiler and linker should be enough.
@ -484,7 +486,7 @@ used. Also, the `setmac` command will only operate on
parts that already have a valid checksum, so you could
run `brick` before running `setmac` (or run it afterwards).
The Linux kernel's `e1000` driver will refuse to initialise
The GNU+Linux kernel's `e1000` driver will refuse to initialise
Intel gigabit NICs that don't have a valid checksum. This
is software-defined, and not enforced by the hardware.

View File

@ -4,19 +4,19 @@ x-toc-enable: true
...
**If you haven't bought an R400 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
E6400](e6400.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to nonGeNUine Boot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**
Initial flashing instructions for R400.
This guide is for those who want libreboot on their ThinkPad R400 while
This guide is for those who want nonGeNUine Boot on their ThinkPad R400 while
they still have the original Lenovo BIOS present. This guide can also be
followed (adapted) if you brick your R400, to know how to recover.
Before following this section, please make sure to setup your libreboot
Before following this section, please make sure to setup your nonGeNUine Boot
ROM properly first. Although ROM images are provided pre-built in
libreboot, there are some modifications that you need to make to the one
nonGeNUine Boot, there are some modifications that you need to make to the one
you chose before flashing. (instructions referenced later in this guide)
Serial port {#serial_port}
@ -31,7 +31,7 @@ A note about CPUs
[ThinkWiki](http://www.thinkwiki.org/wiki/Category:R400) has a list of
CPUs for this system. The Core 2 Duo P8400 and P8600 are believed to
work in libreboot. The Core 2 Duo T9600 was confirmed to work, so the
work in nonGeNUine Boot. The Core 2 Duo T9600 was confirmed to work, so the
T9400 probably also works. *The Core 2 Duo T5870/5670 and Celeron M
575/585 are untested!*
@ -49,7 +49,7 @@ Intel GPU; this is referred to as "Dual Graphics" (previously
you can specify that the system will use one or the other (but not
both).
libreboot is known to work on systems with only the Intel GPU, using
nonGeNUine Boot is known to work on systems with only the Intel GPU, using
native graphics initialization. On systems with switchable graphics, the
Intel GPU is used and the ATI GPU is disabled, so native graphics
initialization works all the same.
@ -80,84 +80,84 @@ Disassembly
-----------
Remove all screws:\
![](https://av.libreboot.org/r400/0000.jpg)\
![](https://avgnu.vimuser.org/r400/0000.jpg)\
Remove the HDD and optical drive:\
![](https://av.libreboot.org/r400/0001.jpg)\
![](https://avgnu.vimuser.org/r400/0001.jpg)\
Remove the hinge screws:\
![](https://av.libreboot.org/r400/0002.jpg) ![](https://av.libreboot.org/r400/0003.jpg)
![](https://avgnu.vimuser.org/r400/0002.jpg) ![](https://avgnu.vimuser.org/r400/0003.jpg)
Remove the palm rest and keyboard:\
![](https://av.libreboot.org/r400/0004.jpg) ![](https://av.libreboot.org/r400/0005.jpg)
![](https://avgnu.vimuser.org/r400/0004.jpg) ![](https://avgnu.vimuser.org/r400/0005.jpg)
Remove these screws, and then remove the bezel:\
![](https://av.libreboot.org/r400/0006.jpg) ![](https://av.libreboot.org/r400/0007.jpg)
![](https://avgnu.vimuser.org/r400/0006.jpg) ![](https://avgnu.vimuser.org/r400/0007.jpg)
Remove the speaker screws, but don't remove the speakers yet (just set
them loose):\
![](https://av.libreboot.org/r400/0008.jpg) ![](https://av.libreboot.org/r400/0009.jpg)
![](https://av.libreboot.org/r400/0010.jpg)
![](https://avgnu.vimuser.org/r400/0008.jpg) ![](https://avgnu.vimuser.org/r400/0009.jpg)
![](https://avgnu.vimuser.org/r400/0010.jpg)
Remove these screws, and then remove the metal plate:\
![](https://av.libreboot.org/r400/0011.jpg) ![](https://av.libreboot.org/r400/0012.jpg)
![](https://av.libreboot.org/r400/0013.jpg)
![](https://avgnu.vimuser.org/r400/0011.jpg) ![](https://avgnu.vimuser.org/r400/0012.jpg)
![](https://avgnu.vimuser.org/r400/0013.jpg)
Remove the antennas from the wifi card, and then start unrouting them:\
![](https://av.libreboot.org/r400/0014.jpg) ![](https://av.libreboot.org/r400/0015.jpg)
![](https://av.libreboot.org/r400/0016.jpg) ![](https://av.libreboot.org/r400/0017.jpg)
![](https://av.libreboot.org/r400/0018.jpg) ![](https://av.libreboot.org/r400/0019.jpg)
![](https://avgnu.vimuser.org/r400/0014.jpg) ![](https://avgnu.vimuser.org/r400/0015.jpg)
![](https://avgnu.vimuser.org/r400/0016.jpg) ![](https://avgnu.vimuser.org/r400/0017.jpg)
![](https://avgnu.vimuser.org/r400/0018.jpg) ![](https://avgnu.vimuser.org/r400/0019.jpg)
Disconnect the LCD cable from the motherboard:\
![](https://av.libreboot.org/r400/0020.jpg) ![](https://av.libreboot.org/r400/0021.jpg)
![](https://av.libreboot.org/r400/0022.jpg) ![](https://av.libreboot.org/r400/0023.jpg)
![](https://avgnu.vimuser.org/r400/0020.jpg) ![](https://avgnu.vimuser.org/r400/0021.jpg)
![](https://avgnu.vimuser.org/r400/0022.jpg) ![](https://avgnu.vimuser.org/r400/0023.jpg)
Remove the hinge screws, and then remove the LCD panel:\
![](https://av.libreboot.org/r400/0024.jpg) ![](https://av.libreboot.org/r400/0025.jpg)
![](https://av.libreboot.org/r400/0026.jpg) ![](https://av.libreboot.org/r400/0027.jpg)
![](https://avgnu.vimuser.org/r400/0024.jpg) ![](https://avgnu.vimuser.org/r400/0025.jpg)
![](https://avgnu.vimuser.org/r400/0026.jpg) ![](https://avgnu.vimuser.org/r400/0027.jpg)
Remove this:\
![](https://av.libreboot.org/r400/0028.jpg) ![](https://av.libreboot.org/r400/0029.jpg)
![](https://avgnu.vimuser.org/r400/0028.jpg) ![](https://avgnu.vimuser.org/r400/0029.jpg)
Remove this long cable (there are 3 connections):\
![](https://av.libreboot.org/r400/0030.jpg) ![](https://av.libreboot.org/r400/0031.jpg)
![](https://av.libreboot.org/r400/0032.jpg) ![](https://av.libreboot.org/r400/0033.jpg)
![](https://avgnu.vimuser.org/r400/0030.jpg) ![](https://avgnu.vimuser.org/r400/0031.jpg)
![](https://avgnu.vimuser.org/r400/0032.jpg) ![](https://avgnu.vimuser.org/r400/0033.jpg)
Disconnect the speaker cable, and remove the speakers:\
![](https://av.libreboot.org/r400/0034.jpg)
![](https://avgnu.vimuser.org/r400/0034.jpg)
Remove the heatsink screws, remove the fan and then remove the
heatsink/fan:\
![](https://av.libreboot.org/r400/0035.jpg) ![](https://av.libreboot.org/r400/0036.jpg)
![](https://av.libreboot.org/r400/0037.jpg) ![](https://av.libreboot.org/r400/0038.jpg)
![](https://avgnu.vimuser.org/r400/0035.jpg) ![](https://avgnu.vimuser.org/r400/0036.jpg)
![](https://avgnu.vimuser.org/r400/0037.jpg) ![](https://avgnu.vimuser.org/r400/0038.jpg)
Remove the NVRAM battery:\
![](https://av.libreboot.org/r400/0039.jpg) ![](https://av.libreboot.org/r400/0040.jpg)
![](https://avgnu.vimuser.org/r400/0039.jpg) ![](https://avgnu.vimuser.org/r400/0040.jpg)
Remove this screw:\
![](https://av.libreboot.org/r400/0041.jpg) ![](https://av.libreboot.org/r400/0042.jpg)
![](https://avgnu.vimuser.org/r400/0041.jpg) ![](https://avgnu.vimuser.org/r400/0042.jpg)
Disconnect the AC jack:\
![](https://av.libreboot.org/r400/0043.jpg) ![](https://av.libreboot.org/r400/0044.jpg)
![](https://avgnu.vimuser.org/r400/0043.jpg) ![](https://avgnu.vimuser.org/r400/0044.jpg)
Remove this screw and then remove what is under it:\
![](https://av.libreboot.org/r400/0045.jpg)
![](https://avgnu.vimuser.org/r400/0045.jpg)
Remove this:\
![](https://av.libreboot.org/r400/0046.jpg)
![](https://avgnu.vimuser.org/r400/0046.jpg)
Lift the motherboard (which is still inside the cage) from the side on
the right, removing it completely:\
![](https://av.libreboot.org/r400/0047.jpg) ![](https://av.libreboot.org/r400/0048.jpg)
![](https://avgnu.vimuser.org/r400/0047.jpg) ![](https://avgnu.vimuser.org/r400/0048.jpg)
Remove all screws, marking each hole so that you know where to re-insert
them. You should place the screws in a layout corresponding to the order
that they were in before removal: ![](https://av.libreboot.org/r400/0049.jpg)
![](https://av.libreboot.org/r400/0050.jpg)
that they were in before removal: ![](https://avgnu.vimuser.org/r400/0049.jpg)
![](https://avgnu.vimuser.org/r400/0050.jpg)
Remove the motherboard from the cage, and the SPI flash chip will be
next to the memory slots:\
![](https://av.libreboot.org/r400/0051.jpg) ![](https://av.libreboot.org/r400/0052.jpg)
![](https://avgnu.vimuser.org/r400/0051.jpg) ![](https://avgnu.vimuser.org/r400/0052.jpg)
Now, you should be ready to install libreboot.
Now, you should be ready to install nonGeNUine Boot.
Read [this article](spi.md) to learn how you may flash the chip, which is near
to the RAM.
@ -173,7 +173,7 @@ When re-installing the heatsink, you must first clean off all old paste
with the alcohol/cloth. Then apply new paste. Arctic MX-4 is also much
better than the default paste used on these systems.
![](https://av.libreboot.org/t400/paste.jpg)
![](https://avgnu.vimuser.org/t400/paste.jpg)
NOTE: the photo above is for illustration purposes only, and does not
show how to properly apply the thermal paste. Other guides online detail
@ -198,13 +198,13 @@ be useful for RAM compatibility info (note: coreboot raminit is
different, so this page might be BS)
The following photo shows 8GiB (2x4GiB) of RAM installed:\
![](https://av.libreboot.org/t400/memory.jpg)
![](https://avgnu.vimuser.org/t400/memory.jpg)
Boot it!
--------
You should see something like this:
![](https://av.libreboot.org/t400/boot0.jpg) ![](https://av.libreboot.org/t400/boot1.jpg)
![](https://avgnu.vimuser.org/t400/boot0.jpg) ![](https://avgnu.vimuser.org/t400/boot1.jpg)
Now [install Linux](../linux/).
Now [install GNU+Linux](../gnulinux/).

View File

@ -6,7 +6,7 @@ x-toc-enable: true
This guide will teach you how to use various tools for externally reprogramming
a 25xx NOR flash via SPI protocol. This is the most common type of flash IC for
computers that coreboot runs on. Almost every system currently supported by
libreboot uses this type of boot flash; the only exception is ASUS KFSN4-DRE,
nonGeNUine Boot uses this type of boot flash; the only exception is ASUS KFSN4-DRE,
which uses LPC flash in a PLCC32 socket, which you can simply hot-swap after
booting the vendor firmware, and then flash internally. Simple!
@ -14,7 +14,7 @@ We will be using
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:
nonGeNUine Boot currently documents how to use these SPI programmers:
* Raspberry Pi (RPi)
* BeagleBone Black (BBB)
@ -23,16 +23,16 @@ libreboot currently documents how to use these SPI programmers:
Many other SPI programmers exist. More of them will be documented on this page,
at a date in the future. You can otherwise figure it out on your own; certain
parts of this page are still useful, even if you're using a programmer that
Libreboot does not yet document.
nonGeNUine Boot does not yet document.
Most systems in libreboot have to be re-flashed externally, using instructions
Most systems in nonGeNUine Boot have to be re-flashed externally, using instructions
on this and similar guides, the first time you flash. However, on all currently
supported systems, it's possible that you can re-flash *internally* when
libreboot is running.
nonGeNUine Boot is running.
*Internal* flashing means that the host CPU on your system can re-program the
SPI flash, using an on-board SPI programmer (which all boards have). You do this
from Linux, with flashrom.
from GNU+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.
@ -40,7 +40,7 @@ is called *external* because it's not the *internal* one on your mainboard.
Do not use CH341A!
==================
NOR flashes on libreboot systems run on 3.3V DC or 1.8V DC, and this includes
NOR flashes on nonGeNUine Boot systems run on 3.3V DC or 1.8V DC, and this includes
data lines. CH341A has 5V logic levels on data lines, which will damage your
SPI flash and also the southbridge that it's connected to, plus anything else
that it's connected to.
@ -95,8 +95,8 @@ tell them why the CH341A is bad.
These photos show both modifications (3.3v logic and WP/HOLD pull-up
resistors) performed, on the black CH341A:\
<img tabindex=1 src="https://av.libreboot.org/ch341a/0000_th.jpg" /><span class="f"><img src="https://av.libreboot.org/ch341a/0000.jpg" /></span>
<img tabindex=1 src="https://av.libreboot.org/ch341a/0001_th.jpg" /><span class="f"><img src="https://av.libreboot.org/ch341a/0001.jpg" /></span>
<img tabindex=1 src="https://avgnu.vimuser.org/ch341a/0000_th.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/ch341a/0000.jpg" /></span>
<img tabindex=1 src="https://avgnu.vimuser.org/ch341a/0001_th.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/ch341a/0001.jpg" /></span>
The green version (not shown above) may come with 3.3v logic already wired, but
still needs to have pull-up resistors placed for WP/HOLD.
@ -113,12 +113,12 @@ accomplish your goal, which is to read from and/or write to the boot flash.
SOIC8
-----
![](https://av.libreboot.org/chip/soic8.jpg)
![](https://avgnu.vimuser.org/chip/soic8.jpg)
SOIC16
------
![](https://av.libreboot.org/chip/soic16.jpg)
![](https://avgnu.vimuser.org/chip/soic16.jpg)
SOIC8 and SOIC16 are the most common types, but there are others:
@ -127,21 +127,21 @@ WSON8
It will be like this on an X200S or X200 Tablet:\
![](https://av.libreboot.org/x200t_flash/X200T-flashchip-location.jpg)
![](https://avgnu.vimuser.org/x200t_flash/X200T-flashchip-location.jpg)
On T400S, it is in this location near the RAM:\
![](https://av.libreboot.org/t400s/soic8.jpg)\
![](https://avgnu.vimuser.org/t400s/soic8.jpg)\
NOTE: in this photo, the chip has been replaced with SOIC8
DIP8
----
![](https://av.libreboot.org/dip8/dip8.jpg)
![](https://avgnu.vimuser.org/dip8/dip8.jpg)
Supply Voltage
--------------
Historically, all boards that Libreboot supports happened to have SPI NOR chips
Historically, all boards that nonGeNUine Boot supports happened to have SPI NOR chips
which work at 3.3V DC. With the recent addition of Chromebooks whose chips are
rated for 1.8V DC, this can no longer be assumed.
@ -241,7 +241,7 @@ Rasberry Pi (RPi)
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`.
the GNU+Linux kernel; technically, the driver name is `spi-bcm2835`.
This page has info:\
<https://www.raspberrypi.org/documentation/hardware/raspberrypi/spi/README.md>
@ -323,7 +323,7 @@ the problem here is that it gave Microsoft free reign to define whatever
dependencies they liked (as per apt-get rules), and every time you updated,
you would be pinging Microsoft servers. Do you think that is strange?
Microsoft shouldn't have *any* access to your Linux system! This was the
Microsoft shouldn't have *any* access to your GNU+Linux system! This was the
commit that Raspbian added to their distro, which added this what should rightly
be called a security vulnerability, intentionally:
@ -354,11 +354,11 @@ If you're using a BBB or RPi, you will do this while SSH'd into those.
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
In the nonGeNUine Boot build system, from the Git repository, you can download and
install flashrom. Do this after downloading the
[lbmk Git repository](https://codeberg.org/libreboot/lbmk):
[gbmk Git repository](../../git.md):
cd lbmk
cd gbmk
sudo ./build dependencies ubuntu2004
NOTE: debian, arch or void can be written instead of ubuntu2004. the debian
@ -370,7 +370,7 @@ script is also applicable to newer ubuntu versions
If the `ubuntu2004` script complains about missing dependencies, just modify
the script and remove those dependencies. The script is located
at `resources/scripts/build/dependencies/ubuntu2004` and it is written for
Ubuntu 20.04, but it should work fine in other Linux distributions that use
Ubuntu 20.04, but it should work fine in other GNU+Linux distributions that use
the `apt-get` package manager.
A `flashrom/` directory will be present, with a `flashrom` executable inside
@ -387,10 +387,12 @@ If you're flashing a Macronix flashchip on a ThinkPad X200, you will want to
use a special patched version of flashrom, which you can download here:
<https://vimuser.org/hackrom.tar.xz> - patched source code is available, and a
binary is also available that you can simply run. Pass the `--workaround-mx`
argument in flashrom. This mitigates stability issues.
argument in flashrom. This mitigates stability issues. *Another*, newer
version of this is available, with the same workaround patch, but based on
flashrom 1.3: <https://codeberg.org/Riku_V/whackrom>
If you downloaded the flashrom source code directly, you can go into the
directory and simply type `make`. In the libreboot build system, build
directory and simply type `make`. In the nonGeNUine Boot build system, build
dependencies are documented in script located
at `resources/scripts/build/dependencies/` which you can install
using the `apt-get` software.
@ -453,11 +455,11 @@ Writing
Next, run this command (RPi):
sudo ./flashrom -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/nongenuineboot.rom
If using BBB:
sudo ./flashrom -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/nongenuineboot.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.
@ -492,7 +494,7 @@ Do not *disconnect* your chip from the flasher until you've disconnected or
turned off the power source.
BE CAREFUL that you are indeed supplying the appropriate supply voltage to the
chip. SPI flashes on most of the currently supported libreboot hardware run on
chip. SPI flashes on most of the currently supported nonGeNUine Boot hardware run on
3.3V DC and logic at that level too. Some of them (at least Chromebooks) can
have chips that run on 1.8V DC. You should make sure to check the part number
and datasheet of the SPI flash chip for the supply voltage it requires. If your
@ -520,7 +522,7 @@ ISP programming and VCC diode
-----------------------------
ISP means in-system programming. It's when you flash a chip that is already
mounted to the mainboard of your computer that you wish to install libreboot
mounted to the mainboard of your computer that you wish to install nonGeNUine Boot
on.
It may be beneficial to modify the mainboard so that the SPI flash is powered
@ -554,9 +556,6 @@ the SOIC8/WSON8 if it uses that, and replace with an IC socket (for SOIC8,
WSON8 or DIP8, whatever you want), because then you could easily just insert
the flash into a breadboard when flashing.
TODO: Make a page on libreboot.org, showing how to do this on all mainboards
supported by libreboot.
GPIO pins on BeagleBone Black (BBB)
-----------------------------------
@ -574,7 +573,7 @@ This diagram shows the pinout for most modern Pi's and Pi derivatives.
The diagram shows the pins of an RPi on the left and the two SOIC clips
on the left.
![](https://av.libreboot.org/rpi/wiring.webp)
![](https://avgnu.vimuser.org/rpi/wiring.webp)
GPIO pins on Raspberry Pi (RPi) 26 Pin
-------------------------------
@ -582,7 +581,7 @@ GPIO pins on Raspberry Pi (RPi) 26 Pin
Diagram of the 26 GPIO Pins of the Raspberry Pi Model B (for the Model
B+ with 40 pins, start counting from the right and leave 14 pins):
![](https://av.libreboot.org/rpi/0012.png) ![](https://av.libreboot.org/rpi/0013.png)
![](https://avgnu.vimuser.org/rpi/0012.png) ![](https://avgnu.vimuser.org/rpi/0013.png)
Use this as a reference for the other sections in this page, seen below:
@ -618,8 +617,8 @@ SOIC16 wiring diagram (Raspberry Pi)
------------------------------------
RPi GPIO header:\
![](https://av.libreboot.org/rpi/0009.png)
![](https://av.libreboot.org/rpi/0010.png)
![](https://avgnu.vimuser.org/rpi/0009.png)
![](https://avgnu.vimuser.org/rpi/0010.png)
BBB P9 header:\
<https://beagleboard.org/static/images/cape-headers.png>
@ -707,7 +706,7 @@ SOIC8/WSON8/DIP8/SOIC16 not mounted to a mainboard
If your system has lower capacity SPI flash, you can upgrade. On *most* systems,
SPI flash is memory mapped and the maximum (in practise) that you can use is a
16MiB chip. For example, KGPE-D16 and KCMA-D8 mainboards in libreboot have
16MiB chip. For example, KGPE-D16 and KCMA-D8 mainboards in nonGeNUine Boot have
2MiB flash by default, but you can easily upgrade these. Another example is the
ThinkPad X200S, X200 Tablet and T400S, all of which have WSON8 where the best
course of action is to replace it with a SOIC8 flash chip.
@ -752,13 +751,13 @@ SOIC8 is desirable; in that case, you might still want to dump the contents of
the original WSON8.
Here is a SOIC8 in a socket, mounted to a breadboard, for flashing:\
![](https://av.libreboot.org/rpi/soic8_socket.jpg)
![](https://avgnu.vimuser.org/rpi/soic8_socket.jpg)
Here is a photo of a DIP8 IC:\
![](https://av.libreboot.org/dip8/dip8.jpg)
![](https://avgnu.vimuser.org/dip8/dip8.jpg)
Here is a photo of a SOIC8 in 1.27mm 208mil SOP to DIP adapter:\
![](https://av.libreboot.org/dip8/sop8todip8.jpg)
![](https://avgnu.vimuser.org/dip8/sop8todip8.jpg)
NOTE: DIP8 and WSON8-in-socket, and SOIC16-in-socket, are basically the same,
just adapt accordingly.
@ -771,9 +770,9 @@ can just put the 2.54mm pins directly in the DIP8 socket and mount the SOIC8 +
adapter onto that, and solder that. Use quality rosin flux (not acid based)
and good 60/40 or 63/37 leaded solder (don't use lead-free):
![](https://av.libreboot.org/dip8/adapter_breadboard.jpg)
![](https://av.libreboot.org/dip8/adapter.jpg)
![](https://av.libreboot.org/dip8/sop8todip8.jpg)
![](https://avgnu.vimuser.org/dip8/adapter_breadboard.jpg)
![](https://avgnu.vimuser.org/dip8/adapter.jpg)
![](https://avgnu.vimuser.org/dip8/sop8todip8.jpg)
SOIC8/SOIC16 soldered to a mainboard
------------------------------------
@ -796,10 +795,10 @@ resistors needed. You do not need a decoupling capacitor for pin 2 (VCC) either
because the mainboard will already have one.
Here is an example of a test clip connected for SOIC16:\
![](https://av.libreboot.org/rpi/0002.jpg)
![](https://avgnu.vimuser.org/rpi/0002.jpg)
And here is an example photo for SOIC8:\
![](https://av.libreboot.org/x60/th_bbb_flashing.jpg)
![](https://avgnu.vimuser.org/x60/th_bbb_flashing.jpg)
DIP8 soldered to the mainboard
------------------------------
@ -812,7 +811,7 @@ for flashing. You might want to de-solder the chip, using a solder vacuum
(extractor) tool, and then you can install a socket in its place. You can then
insert the DIP8 IC into the socket.
In the libreboot project, we have never heard of a board where the DIP8 is
In the nonGeNUine Boot project, we have never heard of a board where the DIP8 is
directly soldered. It is almost always mounted in a socket.
Your DIP8 IC has the same pinout as a SOIC8 IC.
@ -828,7 +827,7 @@ can easily damage the pads that way.
WSON8 has the same pinout as SOIC8, but it's a ball mounted QFN (quad flat
pack, no leads). There are no clips for it. Sometimes referred to as QFN8
On all currently supported libreboot hardware, boards that have WSON8 can also
On all currently supported nonGeNUine Boot hardware, boards that have WSON8 can also
have a SOIC8 because the pads are long enough to accomodate either type of
chip.
@ -868,13 +867,13 @@ In case you're not comfortable with soldering, we have some excellent videos
linked on the [FAQ page](../../faq.md) which you can watch.
WSON8 IC:\
![](https://av.libreboot.org/rpi/wson8/0001.jpg)
![](https://avgnu.vimuser.org/rpi/wson8/0001.jpg)
Surround a large area around the chip with layers of kapton tape, and then
aluminium foil. This will act as a heat shield, to reduce the risk of re-flowing
other solder joints (which can make them turn into cold joints, and you risk
knocking them off of the board):\
![](https://av.libreboot.org/rpi/wson8/0002.jpg)\
![](https://avgnu.vimuser.org/rpi/wson8/0002.jpg)\
Notice that the kapton+foil does not cover the chip itself, or the solder pads.
It's important that these are exposed to the heat.
@ -892,16 +891,16 @@ move freely. While in this state, the solder is fully melted and the chip can
be lifted off with ease.
If you're doing it correctly, the chip will come off within 1 minute, like so:\
![](https://av.libreboot.org/rpi/wson8/0003.jpg)
![](https://avgnu.vimuser.org/rpi/wson8/0003.jpg)
Add fresh solder to the pads, including the thermal pad:\
![](https://av.libreboot.org/rpi/wson8/0004.jpg)
![](https://avgnu.vimuser.org/rpi/wson8/0004.jpg)
Now wick it out using a copper braid, dunked in rosin flux:\
![](https://av.libreboot.org/rpi/wson8/0005.jpg)
![](https://avgnu.vimuser.org/rpi/wson8/0005.jpg)
Ensure that all of the solder is removed:\
![](https://av.libreboot.org/rpi/wson8/0006.jpg)\
![](https://avgnu.vimuser.org/rpi/wson8/0006.jpg)\
You will notice that one of the pads doesn't have all of the solder removed.
The pad on the top-left in this photo. This is intentional, to show you a
comparison for reference. The other pads are free of solder.
@ -914,13 +913,13 @@ SPI flasher.
Align the new SOIC8, and tack it in the corner pins. Then solder it fully. Use
lots of flux!\
![](https://av.libreboot.org/rpi/wson8/0007.jpg)\
![](https://avgnu.vimuser.org/rpi/wson8/0007.jpg)\
A T12-D08 tip is being used in this photo, but a mini chisel, mini hoof or
knife (e.g. T12-K) tip would be ideal.
Ensure that all the joints are perfect. A good solder joint is shiny, and with
concave fillets where the solder has flowed. Observe:\
![](https://av.libreboot.org/rpi/wson8/0008.jpg)
![](https://avgnu.vimuser.org/rpi/wson8/0008.jpg)
After you're done, use a soft bristle brush and 99.9% isopropyl alcohol to
break up the remaining flux, then soak up the flux using a cloth, while the
@ -939,15 +938,11 @@ This page and the photos on it are available under
[CC BY SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt)
Check the Git repository for history of who owns what part of the document.
Some of these resources originate from the *old* Libreboot git repository,
before Libreboot split into separate repositories that include its `lbmk`
repository.
Photos showing a BeagleBone Black are under the normal GNU Free Documentation
license like other pages and images on this website, or you can use them under
the CC-BY-SA 4.0 license if you wish (I, Leah Rowe, own all BBB photos shown
on this page, except for the one on the beaglebone website, and that one is
merely linked here, instead of being hosted on the av.libreboot.org server).
merely linked here, instead of being hosted on the avgnu.vimuser.org server).
This version of the page is hosted in the `lbwww` git repository, with images
for it hosted in the `lbwww-img` repository (from libreboot).
This version of the page is hosted in the `gbwww` git repository, with images
for it hosted in the `gbwww-img` repository (from nonGeNUine Boot).

View File

@ -3,11 +3,11 @@ title: Generic SPI Flashing Guide
x-toc-enable: true
...
There are a plethora of single board computers with which you can flash libreboot to a SOIC chip.
There are a plethora of single board computers with which you can flash nonGeNUine Boot to a SOIC chip.
Some users might be daunted by the price of a raspberry pi.
This guide is intended to help users looking to use a programmer which is not listed in the [main guide.](spi.md)
As an example, this guide will use the [libre computer 'le potato.'](https://libre.computer/products/aml-s905x-cc/)
You should note however, that this guide is intended to demonstrate how to set up any SBC with SPI programming capabilities for flashing libreboot.
You should note however, that this guide is intended to demonstrate how to set up any SBC with SPI programming capabilities for flashing nonGeNUine Boot.
If you are wondering about which SBC to buy, keep these things in mind:
@ -81,8 +81,6 @@ Using Flashrom
==============
Most linux distros will provide flashrom in their default repositories.
You can also download flashrom in binary form with [libreboot utils.](https://libreboot.org/download.html#https)
Here is an example using raspbian:
```
sudo apt update
@ -93,7 +91,7 @@ Reading/writing from SPI works respectively as such:
```
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -r /path/to/read.bin
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/nongenuineboot.rom
```
Note that `spispeed` varies based on the board in question.

View File

@ -7,8 +7,8 @@ Dell Latitude E6400
===================
**If you haven't bought an T400 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
E6400](e6400.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to nonGeNUine Boot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**
Introduction
@ -16,7 +16,7 @@ Introduction
Initial flashing instructions for T400.
This guide is for those who want libreboot on their ThinkPad T400 while
This guide is for those who want nonGeNUine Boot on their ThinkPad T400 while
they still have the original Lenovo BIOS present. This guide can also be
followed (adapted) if you brick your T400, to know how to recover.
@ -40,7 +40,7 @@ A note about CPUs
[ThinkWiki](http://www.thinkwiki.org/wiki/Category:T400) has a list of
CPUs for this system. The Core 2 Duo P8400, P8600 and P8700 are believed
to work in libreboot.
to work with nonGeNUine Boot.
T9600, T9500, T9550 and T9900 are all compatible, as reported by users.
@ -62,7 +62,7 @@ Intel GPU; this is referred to as "switchable graphics". In the *BIOS
setup* program for lenovobios, you can specify that the system will use
one or the other (but not both).
libreboot is known to work on systems with only the Intel GPU, using
nonGeNUine Boot is known to work on systems with only the Intel GPU, using
native graphics initialization. On systems with switchable graphics, the
Intel GPU is used and the ATI GPU is disabled, so native graphics
initialization works all the same.
@ -93,96 +93,96 @@ The procedure
-------------
Remove *all* screws, placing them in the order that you removed them:\
![](https://av.libreboot.org/t400/0001.jpg) ![](https://av.libreboot.org/t400/0002.jpg)
![](https://avgnu.vimuser.org/t400/0001.jpg) ![](https://avgnu.vimuser.org/t400/0002.jpg)
Remove those three screws then remove the rear bezel:\
![](https://av.libreboot.org/t400/0003.jpg) ![](https://av.libreboot.org/t400/0004.jpg)
![](https://av.libreboot.org/t400/0005.jpg) ![](https://av.libreboot.org/t400/0006.jpg)
![](https://avgnu.vimuser.org/t400/0003.jpg) ![](https://avgnu.vimuser.org/t400/0004.jpg)
![](https://avgnu.vimuser.org/t400/0005.jpg) ![](https://avgnu.vimuser.org/t400/0006.jpg)
Remove the speakers:\
![](https://av.libreboot.org/t400/0007.jpg) ![](https://av.libreboot.org/t400/0008.jpg)
![](https://av.libreboot.org/t400/0009.jpg) ![](https://av.libreboot.org/t400/0010.jpg)
![](https://av.libreboot.org/t400/0011.jpg)
![](https://avgnu.vimuser.org/t400/0007.jpg) ![](https://avgnu.vimuser.org/t400/0008.jpg)
![](https://avgnu.vimuser.org/t400/0009.jpg) ![](https://avgnu.vimuser.org/t400/0010.jpg)
![](https://avgnu.vimuser.org/t400/0011.jpg)
Remove the wifi:\
![](https://av.libreboot.org/t400/0012.jpg) ![](https://av.libreboot.org/t400/0013.jpg)
![](https://avgnu.vimuser.org/t400/0012.jpg) ![](https://avgnu.vimuser.org/t400/0013.jpg)
Remove this cable:\
![](https://av.libreboot.org/t400/0014.jpg) ![](https://av.libreboot.org/t400/0015.jpg)
![](https://av.libreboot.org/t400/0016.jpg) ![](https://av.libreboot.org/t400/0017.jpg)
![](https://av.libreboot.org/t400/0018.jpg)
![](https://avgnu.vimuser.org/t400/0014.jpg) ![](https://avgnu.vimuser.org/t400/0015.jpg)
![](https://avgnu.vimuser.org/t400/0016.jpg) ![](https://avgnu.vimuser.org/t400/0017.jpg)
![](https://avgnu.vimuser.org/t400/0018.jpg)
Unroute those antenna wires:\
![](https://av.libreboot.org/t400/0019.jpg) ![](https://av.libreboot.org/t400/0020.jpg)
![](https://av.libreboot.org/t400/0021.jpg) ![](https://av.libreboot.org/t400/0022.jpg)
![](https://av.libreboot.org/t400/0023.jpg)
![](https://avgnu.vimuser.org/t400/0019.jpg) ![](https://avgnu.vimuser.org/t400/0020.jpg)
![](https://avgnu.vimuser.org/t400/0021.jpg) ![](https://avgnu.vimuser.org/t400/0022.jpg)
![](https://avgnu.vimuser.org/t400/0023.jpg)
Remove the LCD assembly:\
![](https://av.libreboot.org/t400/0024.jpg) ![](https://av.libreboot.org/t400/0025.jpg)
![](https://av.libreboot.org/t400/0026.jpg) ![](https://av.libreboot.org/t400/0027.jpg)
![](https://av.libreboot.org/t400/0028.jpg) ![](https://av.libreboot.org/t400/0029.jpg)
![](https://av.libreboot.org/t400/0030.jpg) ![](https://av.libreboot.org/t400/0031.jpg)
![](https://avgnu.vimuser.org/t400/0024.jpg) ![](https://avgnu.vimuser.org/t400/0025.jpg)
![](https://avgnu.vimuser.org/t400/0026.jpg) ![](https://avgnu.vimuser.org/t400/0027.jpg)
![](https://avgnu.vimuser.org/t400/0028.jpg) ![](https://avgnu.vimuser.org/t400/0029.jpg)
![](https://avgnu.vimuser.org/t400/0030.jpg) ![](https://avgnu.vimuser.org/t400/0031.jpg)
Disconnect the NVRAM battery:\
![](https://av.libreboot.org/t400/0033.jpg)
![](https://avgnu.vimuser.org/t400/0033.jpg)
Disconnect the fan:\
![](https://av.libreboot.org/t400/0034.jpg)
![](https://avgnu.vimuser.org/t400/0034.jpg)
Unscrew these:\
![](https://av.libreboot.org/t400/0035.jpg) ![](https://av.libreboot.org/t400/0036.jpg)
![](https://av.libreboot.org/t400/0037.jpg) ![](https://av.libreboot.org/t400/0038.jpg)
![](https://avgnu.vimuser.org/t400/0035.jpg) ![](https://avgnu.vimuser.org/t400/0036.jpg)
![](https://avgnu.vimuser.org/t400/0037.jpg) ![](https://avgnu.vimuser.org/t400/0038.jpg)
Unscrew the heatsink, then lift it off:\
![](https://av.libreboot.org/t400/0039.jpg) ![](https://av.libreboot.org/t400/0040.jpg)
![](https://avgnu.vimuser.org/t400/0039.jpg) ![](https://avgnu.vimuser.org/t400/0040.jpg)
Disconnect the power jack:\
![](https://av.libreboot.org/t400/0041.jpg) ![](https://av.libreboot.org/t400/0042.jpg)
![](https://avgnu.vimuser.org/t400/0041.jpg) ![](https://avgnu.vimuser.org/t400/0042.jpg)
Loosen this:\
![](https://av.libreboot.org/t400/0043.jpg)
![](https://avgnu.vimuser.org/t400/0043.jpg)
Remove this:\
![](https://av.libreboot.org/t400/0044.jpg) ![](https://av.libreboot.org/t400/0045.jpg)
![](https://av.libreboot.org/t400/0046.jpg) ![](https://av.libreboot.org/t400/0047.jpg)
![](https://av.libreboot.org/t400/0048.jpg)
![](https://avgnu.vimuser.org/t400/0044.jpg) ![](https://avgnu.vimuser.org/t400/0045.jpg)
![](https://avgnu.vimuser.org/t400/0046.jpg) ![](https://avgnu.vimuser.org/t400/0047.jpg)
![](https://avgnu.vimuser.org/t400/0048.jpg)
Unscrew these:\
![](https://av.libreboot.org/t400/0049.jpg) ![](https://av.libreboot.org/t400/0050.jpg)
![](https://avgnu.vimuser.org/t400/0049.jpg) ![](https://avgnu.vimuser.org/t400/0050.jpg)
Remove this:\
![](https://av.libreboot.org/t400/0051.jpg) ![](https://av.libreboot.org/t400/0052.jpg)
![](https://avgnu.vimuser.org/t400/0051.jpg) ![](https://avgnu.vimuser.org/t400/0052.jpg)
Unscrew this:\
![](https://av.libreboot.org/t400/0053.jpg)
![](https://avgnu.vimuser.org/t400/0053.jpg)
Remove the motherboard (the cage is still attached) from the right hand
side, then lift it out:\
![](https://av.libreboot.org/t400/0054.jpg) ![](https://av.libreboot.org/t400/0055.jpg)
![](https://av.libreboot.org/t400/0056.jpg)
![](https://avgnu.vimuser.org/t400/0054.jpg) ![](https://avgnu.vimuser.org/t400/0055.jpg)
![](https://avgnu.vimuser.org/t400/0056.jpg)
Remove these screws, placing the screws in the same layout and marking
each screw hole (so that you know what ones to put the screws back into
later): ![](https://av.libreboot.org/t400/0057.jpg) ![](https://av.libreboot.org/t400/0058.jpg)
![](https://av.libreboot.org/t400/0059.jpg) ![](https://av.libreboot.org/t400/0060.jpg)
![](https://av.libreboot.org/t400/0061.jpg) ![](https://av.libreboot.org/t400/0062.jpg)
later): ![](https://avgnu.vimuser.org/t400/0057.jpg) ![](https://avgnu.vimuser.org/t400/0058.jpg)
![](https://avgnu.vimuser.org/t400/0059.jpg) ![](https://avgnu.vimuser.org/t400/0060.jpg)
![](https://avgnu.vimuser.org/t400/0061.jpg) ![](https://avgnu.vimuser.org/t400/0062.jpg)
Separate the motherboard:\
![](https://av.libreboot.org/t400/0063.jpg) ![](https://av.libreboot.org/t400/0064.jpg)
![](https://avgnu.vimuser.org/t400/0063.jpg) ![](https://avgnu.vimuser.org/t400/0064.jpg)
Connect your programmer, then connect GND and 3.3V\
![](https://av.libreboot.org/t400/0065.jpg) ![](https://av.libreboot.org/t400/0066.jpg)
![](https://av.libreboot.org/t400/0067.jpg) ![](https://av.libreboot.org/t400/0069.jpg)
![](https://av.libreboot.org/t400/0070.jpg) ![](https://av.libreboot.org/t400/0071.jpg)
![](https://avgnu.vimuser.org/t400/0065.jpg) ![](https://avgnu.vimuser.org/t400/0066.jpg)
![](https://avgnu.vimuser.org/t400/0067.jpg) ![](https://avgnu.vimuser.org/t400/0069.jpg)
![](https://avgnu.vimuser.org/t400/0070.jpg) ![](https://avgnu.vimuser.org/t400/0071.jpg)
A dedicated 3.3V PSU was used to create this guide, but at ATX PSU is
also fine:\
![](https://av.libreboot.org/t400/0072.jpg)
![](https://avgnu.vimuser.org/t400/0072.jpg)
Of course, make sure to turn on your PSU:\
![](https://av.libreboot.org/x200/disassembly/0013.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0013.jpg)
Now, you should be ready to install libreboot.
Now, you should be ready to install nonGeNUine Boot.
Refer to the external flashing instructions [here](spi.md), and when you're
done, re-assemble your laptop.
@ -198,7 +198,7 @@ When re-installing the heatsink, you must first clean off all old paste
with the alcohol/cloth. Then apply new paste. Arctic MX-4 is also much
better than the default paste used on these systems.
![](https://av.libreboot.org/t400/paste.jpg)
![](https://avgnu.vimuser.org/t400/paste.jpg)
NOTE: the photo above is for illustration purposes only, and does not
show how to properly apply the thermal paste. Other guides online detail
@ -223,13 +223,13 @@ be useful for RAM compatibility info (note: coreboot raminit is
different, so this page might be BS)
The following photo shows 8GiB (2x4GiB) of RAM installed:\
![](https://av.libreboot.org/t400/memory.jpg)
![](https://avgnu.vimuser.org/t400/memory.jpg)
Boot it!
--------
You should see something like this:
![](https://av.libreboot.org/t400/boot0.jpg) ![](https://av.libreboot.org/t400/boot1.jpg)
![](https://avgnu.vimuser.org/t400/boot0.jpg) ![](https://avgnu.vimuser.org/t400/boot1.jpg)
Now [install Linux](../linux/).
Now [install GNU+Linux](../gnulinux/).

View File

@ -4,13 +4,13 @@ x-toc-enable: true
...
**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
E6400](e6400.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to nonGeNUine Boot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**
Initial flashing instructions for T500.
This guide is for those who want libreboot on their ThinkPad T500 while
This guide is for those who want nonGeNUine Boot on their ThinkPad T500 while
they still have the original Lenovo BIOS present. This guide can also be
followed (adapted) if you brick your T500, to know how to recover.
@ -28,7 +28,7 @@ A note about CPUs
[ThinkWiki](http://www.thinkwiki.org/wiki/Category:T500) has a list of
CPUs for this system. The Core 2 Duo P8400, P8600 and P8700 are believed
to work in libreboot. The T9600 was also tested on the T400 and
to work with nonGeNUine Boot. The T9600 was also tested on the T400 and
confirmed working.
T9550 and T9900 was tested by a user, and is compatible as reported in the IRC channel.
@ -58,7 +58,7 @@ Intel GPU; this is referred to as "switchable graphics". In the *BIOS
setup* program for lenovobios, you can specify that the system will use
one or the other (but not both).
libreboot is known to work on systems with only the Intel GPU, using
nonGeNUine Boot is known to work on systems with only the Intel GPU, using
native graphics initialization. On systems with switchable graphics, the
Intel GPU is used and the ATI GPU is disabled, so native graphics
initialization works all the same.
@ -89,104 +89,104 @@ The procedure
-------------
Remove all screws:\
![](https://av.libreboot.org/t500/0000.jpg)\
![](https://avgnu.vimuser.org/t500/0000.jpg)\
It is also advisable to, throughout the disassembly, place any screws
and/or components that you removed in the same layout or arrangement.
The follow photos demonstrate this:\
![](https://av.libreboot.org/t500/0001.jpg) ![](https://av.libreboot.org/t500/0002.jpg)
![](https://avgnu.vimuser.org/t500/0001.jpg) ![](https://avgnu.vimuser.org/t500/0002.jpg)
Remove the HDD/SSD and optical drive:\
![](https://av.libreboot.org/t500/0003.jpg) ![](https://av.libreboot.org/t500/0004.jpg)
![](https://avgnu.vimuser.org/t500/0003.jpg) ![](https://avgnu.vimuser.org/t500/0004.jpg)
Remove the palm rest:\
![](https://av.libreboot.org/t500/0005.jpg) ![](https://av.libreboot.org/t500/0006.jpg)
![](https://avgnu.vimuser.org/t500/0005.jpg) ![](https://avgnu.vimuser.org/t500/0006.jpg)
Remove the keyboard and rear bezel:\
![](https://av.libreboot.org/t500/0007.jpg) ![](https://av.libreboot.org/t500/0008.jpg)
![](https://av.libreboot.org/t500/0009.jpg) ![](https://av.libreboot.org/t500/0010.jpg)
![](https://av.libreboot.org/t500/0011.jpg) ![](https://av.libreboot.org/t500/0012.jpg)
![](https://avgnu.vimuser.org/t500/0007.jpg) ![](https://avgnu.vimuser.org/t500/0008.jpg)
![](https://avgnu.vimuser.org/t500/0009.jpg) ![](https://avgnu.vimuser.org/t500/0010.jpg)
![](https://avgnu.vimuser.org/t500/0011.jpg) ![](https://avgnu.vimuser.org/t500/0012.jpg)
If you have a WWAN/3G card and/or sim card reader, remove them
permanently. The WWAN-3G card has proprietary firmware inside; the
technology is identical to what is used in mobile phones, so it can also
track your movements:\
![](https://av.libreboot.org/t500/0013.jpg) ![](https://av.libreboot.org/t500/0017.jpg)
![](https://av.libreboot.org/t500/0018.jpg)
![](https://avgnu.vimuser.org/t500/0013.jpg) ![](https://avgnu.vimuser.org/t500/0017.jpg)
![](https://avgnu.vimuser.org/t500/0018.jpg)
Remove this frame, and then remove the wifi chip:\
![](https://av.libreboot.org/t500/0014.jpg) ![](https://av.libreboot.org/t500/0015.jpg)
![](https://av.libreboot.org/t500/0016.jpg)
![](https://avgnu.vimuser.org/t500/0014.jpg) ![](https://avgnu.vimuser.org/t500/0015.jpg)
![](https://avgnu.vimuser.org/t500/0016.jpg)
Remove the speakers:\
![](https://av.libreboot.org/t500/0019.jpg) ![](https://av.libreboot.org/t500/0020.jpg)
![](https://av.libreboot.org/t500/0021.jpg) ![](https://av.libreboot.org/t500/0022.jpg)
![](https://av.libreboot.org/t500/0023.jpg) ![](https://av.libreboot.org/t500/0024.jpg)
![](https://av.libreboot.org/t500/0025.jpg)
![](https://avgnu.vimuser.org/t500/0019.jpg) ![](https://avgnu.vimuser.org/t500/0020.jpg)
![](https://avgnu.vimuser.org/t500/0021.jpg) ![](https://avgnu.vimuser.org/t500/0022.jpg)
![](https://avgnu.vimuser.org/t500/0023.jpg) ![](https://avgnu.vimuser.org/t500/0024.jpg)
![](https://avgnu.vimuser.org/t500/0025.jpg)
Remove the NVRAM battery (already removed in this photo):\
![](https://av.libreboot.org/t500/0026.jpg)
![](https://avgnu.vimuser.org/t500/0026.jpg)
When you re-assemble, you will be replacing the wifi chip with another.
These two screws don't hold anything together, but they are included in
your system because the screw holes for half-height cards are a
different size, so use these if you will be installing a half-height
card:\
![](https://av.libreboot.org/t500/0027.jpg)
![](https://avgnu.vimuser.org/t500/0027.jpg)
Unroute the antenna wires:\
![](https://av.libreboot.org/t500/0028.jpg) ![](https://av.libreboot.org/t500/0029.jpg)
![](https://av.libreboot.org/t500/0030.jpg) ![](https://av.libreboot.org/t500/0031.jpg)
![](https://avgnu.vimuser.org/t500/0028.jpg) ![](https://avgnu.vimuser.org/t500/0029.jpg)
![](https://avgnu.vimuser.org/t500/0030.jpg) ![](https://avgnu.vimuser.org/t500/0031.jpg)
Disconnect the LCD cable from the motherboard:\
![](https://av.libreboot.org/t500/0032.jpg) ![](https://av.libreboot.org/t500/0033.jpg)
![](https://avgnu.vimuser.org/t500/0032.jpg) ![](https://avgnu.vimuser.org/t500/0033.jpg)
Remove the LCD assembly hinge screws, and then remove the LCD assembly:\
![](https://av.libreboot.org/t500/0034.jpg) ![](https://av.libreboot.org/t500/0035.jpg)
![](https://av.libreboot.org/t500/0036.jpg)
![](https://avgnu.vimuser.org/t500/0034.jpg) ![](https://avgnu.vimuser.org/t500/0035.jpg)
![](https://avgnu.vimuser.org/t500/0036.jpg)
Remove the fan and heatsink:\
![](https://av.libreboot.org/t500/0037.jpg) ![](https://av.libreboot.org/t500/0038.jpg)
![](https://av.libreboot.org/t500/0039.jpg)
![](https://avgnu.vimuser.org/t500/0037.jpg) ![](https://avgnu.vimuser.org/t500/0038.jpg)
![](https://avgnu.vimuser.org/t500/0039.jpg)
Remove this screw:\
![](https://av.libreboot.org/t500/0040.jpg)
![](https://avgnu.vimuser.org/t500/0040.jpg)
Remove these cables, keeping note of how and in what arrangement they
are connected:\
![](https://av.libreboot.org/t500/0041.jpg) ![](https://av.libreboot.org/t500/0042.jpg)
![](https://av.libreboot.org/t500/0043.jpg) ![](https://av.libreboot.org/t500/0044.jpg)
![](https://av.libreboot.org/t500/0045.jpg) ![](https://av.libreboot.org/t500/0046.jpg)
![](https://av.libreboot.org/t500/0047.jpg) ![](https://av.libreboot.org/t500/0048.jpg)
![](https://av.libreboot.org/t500/0049.jpg)
![](https://avgnu.vimuser.org/t500/0041.jpg) ![](https://avgnu.vimuser.org/t500/0042.jpg)
![](https://avgnu.vimuser.org/t500/0043.jpg) ![](https://avgnu.vimuser.org/t500/0044.jpg)
![](https://avgnu.vimuser.org/t500/0045.jpg) ![](https://avgnu.vimuser.org/t500/0046.jpg)
![](https://avgnu.vimuser.org/t500/0047.jpg) ![](https://avgnu.vimuser.org/t500/0048.jpg)
![](https://avgnu.vimuser.org/t500/0049.jpg)
Disconnect the power jack:\
![](https://av.libreboot.org/t500/0050.jpg) ![](https://av.libreboot.org/t500/0051.jpg)
![](https://avgnu.vimuser.org/t500/0050.jpg) ![](https://avgnu.vimuser.org/t500/0051.jpg)
Remove the motherboard and cage from the base (the marked hole is where
those cables were routed through):\
![](https://av.libreboot.org/t500/0052.jpg) ![](https://av.libreboot.org/t500/0053.jpg)
![](https://avgnu.vimuser.org/t500/0052.jpg) ![](https://avgnu.vimuser.org/t500/0053.jpg)
Remove all screws, arranging them in the same layout when placing the
screws on a surface and marking each screw hole (this is to reduce the
possibility of putting them back in the wrong holes):\
![](https://av.libreboot.org/t500/0054.jpg) ![](https://av.libreboot.org/t500/0055.jpg)
![](https://avgnu.vimuser.org/t500/0054.jpg) ![](https://avgnu.vimuser.org/t500/0055.jpg)
Also remove this:\
![](https://av.libreboot.org/t500/0056.jpg) ![](https://av.libreboot.org/t500/0057.jpg)
![](https://avgnu.vimuser.org/t500/0056.jpg) ![](https://avgnu.vimuser.org/t500/0057.jpg)
Separate the motherboard from the cage:\
![](https://av.libreboot.org/t500/0058.jpg) ![](https://av.libreboot.org/t500/0059.jpg)
![](https://avgnu.vimuser.org/t500/0058.jpg) ![](https://avgnu.vimuser.org/t500/0059.jpg)
The flash chip is next to the memory slots. On this system, it was a
SOIC-8 (4MiB or 32Mb) flash chip:\
![](https://av.libreboot.org/t500/0060.jpg)
![](https://avgnu.vimuser.org/t500/0060.jpg)
Connect your programmer, then connect GND and 3.3V\
![](https://av.libreboot.org/t500/0061.jpg)\
![](https://av.libreboot.org/t400/0067.jpg) ![](https://av.libreboot.org/t400/0069.jpg)
![](https://av.libreboot.org/t400/0070.jpg) ![](https://av.libreboot.org/t400/0071.jpg)
![](https://avgnu.vimuser.org/t500/0061.jpg)\
![](https://avgnu.vimuser.org/t400/0067.jpg) ![](https://avgnu.vimuser.org/t400/0069.jpg)
![](https://avgnu.vimuser.org/t400/0070.jpg) ![](https://avgnu.vimuser.org/t400/0071.jpg)
Now flash Libreboot.
Now flash nonGeNUine Boot.
Thermal paste (IMPORTANT)
=========================
@ -199,7 +199,7 @@ When re-installing the heatsink, you must first clean off all old paste
with the alcohol/cloth. Then apply new paste. Arctic MX-4 is also much
better than the default paste used on these systems.
![](https://av.libreboot.org/t400/paste.jpg)
![](https://avgnu.vimuser.org/t400/paste.jpg)
NOTE: the photo above is for illustration purposes only, and does not
show how to properly apply the thermal paste. Other guides online detail
@ -217,13 +217,13 @@ Some T500 laptops might come with an Atheros chipset, but this is
802.11g only.
It is recommended that you install a new wifi chipset. This can only be
done after installing libreboot, because the original firmware has a
done after installing nonGeNUine Boot, because the original firmware has a
whitelist of approved chips, and it will refuse to boot if you use an
'unauthorized' wifi card.
The following photos show an Atheros AR5B95 being installed, to replace
the Intel chip that this T500 came with:\
![](https://av.libreboot.org/t400/0012.jpg) ![](https://av.libreboot.org/t400/ar5b95.jpg)
![](https://avgnu.vimuser.org/t400/0012.jpg) ![](https://avgnu.vimuser.org/t400/ar5b95.jpg)
WWAN
====
@ -254,13 +254,13 @@ be useful for RAM compatibility info (note: coreboot raminit is
different, so this page might be BS)
The following photo shows 8GiB (2x4GiB) of RAM installed:\
![](https://av.libreboot.org/t400/memory.jpg)
![](https://avgnu.vimuser.org/t400/memory.jpg)
Boot it!
--------
You should see something like this:
![](https://av.libreboot.org/t500/0062.jpg)
![](https://avgnu.vimuser.org/t500/0062.jpg)
Now [install Linux](../linux/).
Now [install GNU+Linux](../gnulinux/).

View File

@ -9,7 +9,7 @@ your ThinkPad T60 from booting.
This section documents how to recover from a bad flash that prevents
your ThinkPad X60 from booting.
ROM images for this machine are well-tested in libreboot, so bricks are rare.
ROM images for this machine are well-tested in nonGeNUine Boot, so bricks are rare.
The most common cause of a brick is operator error, when flashing a ROM image.
In *most* cases, the cause will be that there is no bootblock, or an invalid
one.
@ -17,9 +17,9 @@ one.
Brick type 1: bucts not reset. {#bucts_brick}
==============================
You still have Lenovo BIOS, or you had libreboot running and you flashed
You still have Lenovo BIOS, or you had nonGeNUine Boot running and you flashed
another ROM; and you had bucts 1 set and the ROM wasn't dd'd.\* or if
Lenovo BIOS was present and libreboot wasn't flashed.
Lenovo BIOS was present and nonGeNUine Boot wasn't flashed.
There are *2* 64KiB bootblocks possible, in the upper part of the ROM image.
By default (bucts set to 0), the top one is used. If bucts is set to 1, the
@ -41,10 +41,10 @@ you re-flash a second time and set it back to 0.
In this case, unbricking is easy: reset BUC.TS to 0 by removing that
yellow cmos coin (it's a battery) and putting it back after a minute or
two:\
![](https://av.libreboot.org/t60_dev/0006.JPG)
![](https://avgnu.vimuser.org/t60_dev/0006.JPG)
\*Those dd commands should be applied to all newly compiled T60 ROM
images (the ROM images in libreboot binary archives already have this
images (the ROM images in nonGeNUine Boot binary archives already have this
applied!):
dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k
@ -72,65 +72,65 @@ will not boot at all.
"Unbricking" means flashing a known-good (working) ROM. The problem:
you can't boot the system, making this difficult. In this situation,
external hardware (see hardware requirements above) is needed which can
flash the SPI chip (where libreboot resides).
flash the SPI chip (where nonGeNUine Boot resides).
Remove those screws and remove the HDD:\
![](https://av.libreboot.org/t60_dev/0001.JPG) ![](https://av.libreboot.org/t60_dev/0002.JPG)
![](https://avgnu.vimuser.org/t60_dev/0001.JPG) ![](https://avgnu.vimuser.org/t60_dev/0002.JPG)
Lift off the palm rest:\
![](https://av.libreboot.org/t60_dev/0003.JPG)
![](https://avgnu.vimuser.org/t60_dev/0003.JPG)
Lift up the keyboard, pull it back a bit, flip it over like that and
then disconnect it from the board:\
![](https://av.libreboot.org/t60_dev/0004.JPG) ![](https://av.libreboot.org/t60_dev/0005.JPG)
![](https://av.libreboot.org/t60_dev/0006.JPG)
![](https://avgnu.vimuser.org/t60_dev/0004.JPG) ![](https://avgnu.vimuser.org/t60_dev/0005.JPG)
![](https://avgnu.vimuser.org/t60_dev/0006.JPG)
Gently wedge both sides loose:\
![](https://av.libreboot.org/t60_dev/0007.JPG) ![](https://av.libreboot.org/t60_dev/0008.JPG)
![](https://avgnu.vimuser.org/t60_dev/0007.JPG) ![](https://avgnu.vimuser.org/t60_dev/0008.JPG)
Remove that cable from the position:\
![](https://av.libreboot.org/t60_dev/0009.JPG) ![](https://av.libreboot.org/t60_dev/0010.JPG)
![](https://avgnu.vimuser.org/t60_dev/0009.JPG) ![](https://avgnu.vimuser.org/t60_dev/0010.JPG)
Now remove that bezel. Remove wifi, nvram battery and speaker connector
(also remove 56k modem, on the left of wifi):\
![](https://av.libreboot.org/t60_dev/0011.JPG)
![](https://avgnu.vimuser.org/t60_dev/0011.JPG)
Remove those screws:\
![](https://av.libreboot.org/t60_dev/0012.JPG)
![](https://avgnu.vimuser.org/t60_dev/0012.JPG)
Disconnect the power jack:\
![](https://av.libreboot.org/t60_dev/0013.JPG)
![](https://avgnu.vimuser.org/t60_dev/0013.JPG)
Remove nvram battery:\
![](https://av.libreboot.org/t60_dev/0014.JPG)
![](https://avgnu.vimuser.org/t60_dev/0014.JPG)
Disconnect cable (for 56k modem) and disconnect the other cable:\
![](https://av.libreboot.org/t60_dev/0015.JPG) ![](https://av.libreboot.org/t60_dev/0016.JPG)
![](https://avgnu.vimuser.org/t60_dev/0015.JPG) ![](https://avgnu.vimuser.org/t60_dev/0016.JPG)
Disconnect speaker cable:\
![](https://av.libreboot.org/t60_dev/0017.JPG)
![](https://avgnu.vimuser.org/t60_dev/0017.JPG)
Disconnect the other end of the 56k modem cable:\
![](https://av.libreboot.org/t60_dev/0018.JPG)
![](https://avgnu.vimuser.org/t60_dev/0018.JPG)
Make sure you removed it:\
![](https://av.libreboot.org/t60_dev/0019.JPG)
![](https://avgnu.vimuser.org/t60_dev/0019.JPG)
Unscrew those:\
![](https://av.libreboot.org/t60_dev/0020.JPG)
![](https://avgnu.vimuser.org/t60_dev/0020.JPG)
Make sure you removed those:\
![](https://av.libreboot.org/t60_dev/0021.JPG)
![](https://avgnu.vimuser.org/t60_dev/0021.JPG)
Disconnect LCD cable from board:\
![](https://av.libreboot.org/t60_dev/0022.JPG)
![](https://avgnu.vimuser.org/t60_dev/0022.JPG)
Remove those screws then remove the LCD assembly:\
![](https://av.libreboot.org/t60_dev/0023.JPG) ![](https://av.libreboot.org/t60_dev/0024.JPG)
![](https://av.libreboot.org/t60_dev/0025.JPG)
![](https://avgnu.vimuser.org/t60_dev/0023.JPG) ![](https://avgnu.vimuser.org/t60_dev/0024.JPG)
![](https://avgnu.vimuser.org/t60_dev/0025.JPG)
Once again, make sure you removed those:\
![](https://av.libreboot.org/t60_dev/0026.JPG)
![](https://avgnu.vimuser.org/t60_dev/0026.JPG)
Remove the shielding containing the motherboard, then flip it over.
Remove these screws, placing them on a steady surface in the same layout
@ -139,13 +139,13 @@ screw hole after removing the screw (a permanent marker pen will do),
this is so that you have a point of reference when re-assembling the
system:
![](https://av.libreboot.org/t60_dev/0027.JPG) ![](https://av.libreboot.org/t60_dev/0028.JPG)
![](https://av.libreboot.org/t60_dev/0029.JPG) ![](https://av.libreboot.org/t60_dev/0031.JPG)
![](https://av.libreboot.org/t60_dev/0032.JPG) ![](https://av.libreboot.org/t60_dev/0033.JPG)
![](https://avgnu.vimuser.org/t60_dev/0027.JPG) ![](https://avgnu.vimuser.org/t60_dev/0028.JPG)
![](https://avgnu.vimuser.org/t60_dev/0029.JPG) ![](https://avgnu.vimuser.org/t60_dev/0031.JPG)
![](https://avgnu.vimuser.org/t60_dev/0032.JPG) ![](https://avgnu.vimuser.org/t60_dev/0033.JPG)
This photo shows the flash chip, near the RAM, with numbers of pins written:
![](https://av.libreboot.org/t60_dev/0030.JPG)
![](https://avgnu.vimuser.org/t60_dev/0030.JPG)
Refer to the external flashing guide:
@ -160,7 +160,7 @@ which all draw a lot of current, more than your flasher can provide.
Example command:
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w libreboot.rom -V
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w nongenuineboot.rom -V
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
@ -174,48 +174,48 @@ complains about multiple flash chip definitions detected, then choose
one of them following the instructions in the output.
Put those screws back:\
![](https://av.libreboot.org/t60_dev/0047.JPG)
![](https://avgnu.vimuser.org/t60_dev/0047.JPG)
Put it back into lower chassis:\
![](https://av.libreboot.org/t60_dev/0048.JPG)
![](https://avgnu.vimuser.org/t60_dev/0048.JPG)
Attach LCD and insert screws (also, attach the lcd cable to the board):\
![](https://av.libreboot.org/t60_dev/0049.JPG)
![](https://avgnu.vimuser.org/t60_dev/0049.JPG)
Insert those screws:\
![](https://av.libreboot.org/t60_dev/0050.JPG)
![](https://avgnu.vimuser.org/t60_dev/0050.JPG)
On the CPU (and there is another chip south-east to it, sorry forgot to
take pic) clean off the old thermal paste (with the alcohol) and apply
new (Artic Silver 5 is good, others are good too) you should also clean
the heatsink the same way\
![](https://av.libreboot.org/t60_dev/0051.JPG)
![](https://avgnu.vimuser.org/t60_dev/0051.JPG)
Attach the heatsink and install the screws (also, make sure to install
the AC jack as highlighted):\
![](https://av.libreboot.org/t60_dev/0052.JPG)
![](https://avgnu.vimuser.org/t60_dev/0052.JPG)
Reinstall that upper bezel:\
![](https://av.libreboot.org/t60_dev/0053.JPG)
![](https://avgnu.vimuser.org/t60_dev/0053.JPG)
Do that:\
![](https://av.libreboot.org/t60_dev/0054.JPG) ![](https://av.libreboot.org/t60_dev/0055.JPG)
![](https://avgnu.vimuser.org/t60_dev/0054.JPG) ![](https://avgnu.vimuser.org/t60_dev/0055.JPG)
Re-attach modem, wifi, (wwan?), and all necessary cables. Sorry, forgot
to take pics. Look at previous removal steps to see where they go back
to.
Attach keyboard and install nvram battery:\
![](https://av.libreboot.org/t60_dev/0056.JPG) ![](https://av.libreboot.org/t60_dev/0057.JPG)
![](https://avgnu.vimuser.org/t60_dev/0056.JPG) ![](https://avgnu.vimuser.org/t60_dev/0057.JPG)
Place keyboard and (sorry, forgot to take pics) reinstall the palmrest
and insert screws on the underside:\
![](https://av.libreboot.org/t60_dev/0058.JPG)
![](https://avgnu.vimuser.org/t60_dev/0058.JPG)
It lives!\
![](https://av.libreboot.org/t60_dev/0071.JPG) ![](https://av.libreboot.org/t60_dev/0072.JPG)
![](https://av.libreboot.org/t60_dev/0073.JPG)
![](https://avgnu.vimuser.org/t60_dev/0071.JPG) ![](https://avgnu.vimuser.org/t60_dev/0072.JPG)
![](https://avgnu.vimuser.org/t60_dev/0073.JPG)
Always stress test ('stress -c 2' and xsensors. below 90C is ok) when
replacing cpu paste/heatsink:\
![](https://av.libreboot.org/t60_dev/0074.JPG)
![](https://avgnu.vimuser.org/t60_dev/0074.JPG)

View File

@ -4,11 +4,11 @@ x-toc-enable: true
...
**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
E6400](e6400.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to nonGeNUine Boot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**
This guide is for those who want libreboot on their ThinkPad X200 while
This guide is for those who want nonGeNUine Boot on their ThinkPad X200 while
they still have the original Lenovo BIOS present. This guide can also be
followed (adapted) if you brick your X200, to know how to recover.
@ -18,7 +18,7 @@ underneath the palm rest. You will then connect an external SPI programmer, to
re-flash the chip externally while it is powered off with the battery removed.
NOTE: This guide only applies to the regular X200. For X200S and X200 Tablet
flashing, please read other guides available on libreboot.org.
flashing, please read other guides available on the nonGeNUine Boot website.
Flash chip size
===============
@ -40,27 +40,27 @@ Tablet (for those systems, you have to remove the motherboard
completely, since the flash chip is on the other side of the board).
Remove these screws:\
![](https://av.libreboot.org/x200/disassembly/0003.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0003.jpg)
Gently push the keyboard towards the screen, then lift it off, and optionally
disconnect it from the board:\
![](https://av.libreboot.org/x200/disassembly/0004.jpg)
![](https://av.libreboot.org/x200/disassembly/0005.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0004.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0005.jpg)
Disconnect the cable of the fingerpring reader, and then pull up the palm rest,
lifting up the left and right side of it:\
![](https://av.libreboot.org/x200/disassembly/0006.1.jpg)
![](https://av.libreboot.org/x200/disassembly/0006.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0006.1.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0006.jpg)
This shows the location of the flash chip, for both SOIC-8 and SOIC-16:\
![](https://av.libreboot.org/x200/x200_soic16.jpg)
![](https://av.libreboot.org/x200/x200_soic8.jpg)
![](https://avgnu.vimuser.org/x200/x200_soic16.jpg)
![](https://avgnu.vimuser.org/x200/x200_soic8.jpg)
Lift back the tape that covers a part of the flash chip, and then
connect the clip:\
![](https://av.libreboot.org/x200/disassembly/0008.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0008.jpg)
Now, you should be ready to install libreboot.
Now, you should be ready to install nonGeNUine Boot.
Refer to the [SPI programming instructions](spi.md).
@ -83,16 +83,16 @@ Make sure that the RAM you buy is the 2Rx8 configuration when buying 4GiB sticks
In this photo, 8GiB of RAM (2x4GiB) is installed:
![](https://av.libreboot.org/x200/disassembly/0018.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0018.jpg)
Boot it!
--------
You should see something like this:
![](https://av.libreboot.org/x200/disassembly/0019.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0019.jpg)
Now [install Linux](../linux/).
Now [install GNU+Linux](../gnulinux/).
X200S and X200 Tablet users: GPIO33 trick will not work.
--------------------------------------------------------
@ -104,7 +104,7 @@ was proven correct; however, it is still useless in practise.
Look just above the 7 in TP37 (that's GPIO33):
![](https://av.libreboot.org/x200/gpio33_location.jpg)
![](https://avgnu.vimuser.org/x200/gpio33_location.jpg)
By default we would see this in lenovobios, when trying flashrom -p
internal -w rom.rom:
@ -146,16 +146,16 @@ probably setting something in memory and loading the ROM, plus a payload program
that does the flashing; Lenovo BIOS then probably sees that and runs that, instead
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,
Windows), and then replicate what it is doing, with some tool for GNU+Linux,
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.
actually flash the entire chip, with just a normal nonGeNUine Boot image.
It's possible. The above is likely the only way that the Lenovo BIOS updater
program works. So if we discover precisely how to do that, then you could
just connect some pogo pins to ground GPIO33, then boot up, run some software
(which would have to be written) that does the above.
On a related note, libreboot has a utility that could help with
On a related note, nonGeNUine Boot has a utility that could help with
investigating this:
[ich9utils.md#demefactory](ich9utils.md#demefactory)

View File

@ -4,11 +4,11 @@ x-toc-enable: true
...
**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
E6400](e6400.md) is much easier to flash; no disassembly required,
it can be flashed entirely in software from Dell BIOS to nonGeNUine Boot. It is the
same hardware generation (GM45), with same CPUs, video processor, etc.**
Цей посібник призначений для тих, хто бажає libreboot на своєму ThinkPad X200,
Цей посібник призначений для тих, хто бажає nonGeNUine Boot на своєму ThinkPad X200,
поки у нього все ще є оригінальний Lenovo BIOS в наявності. Цього керівництва також можна
дотримуватися (адаптувати), якщо ви перетворили ваш X200 на цеглину, щоб знати, як його відновити.
@ -18,7 +18,7 @@ same hardware generation (GM45), with same CPUs, video processor, etc.**
повторно прошити мікросхему зовні, коли вона вимкнена та акумулятор висунуто.
ПРИМІТКА: Цей посібник стосується лише звичайного X200. Для перепрошивки X200S та X200 Tablet,
будь-ласка прочитайте інші посібники, доступні на libreboot.org.
будь-ласка прочитайте інші посібники, доступні на nonGeNUine Boot
Розмір флеш-чіпа
===============
@ -40,27 +40,27 @@ Tablet (для цих систем потрібно повністю видал
оскільки мікросхема флеш-пам'яті знаходиться з іншого боку плати).
Викрутіть ці гвинти:\
![](https://av.libreboot.org/x200/disassembly/0003.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0003.jpg)
Обережно притисніть клавіатуру до екрана, потім підніміть її та за бажанням
від'єднайте від плати:\
![](https://av.libreboot.org/x200/disassembly/0004.jpg)
![](https://av.libreboot.org/x200/disassembly/0005.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0004.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0005.jpg)
Від'єднайте кабель пристрою для зчитування відбитків пальців, а потім потягніть упор для рук,
піднявши його ліву та праву сторону:\
![](https://av.libreboot.org/x200/disassembly/0006.1.jpg)
![](https://av.libreboot.org/x200/disassembly/0006.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0006.1.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0006.jpg)
Тут показано розташування мікросхеми флеш-пам'яті, для обох SOIC-8 та SOIC-16:\
![](https://av.libreboot.org/x200/x200_soic16.jpg)
![](https://av.libreboot.org/x200/x200_soic8.jpg)
![](https://avgnu.vimuser.org/x200/x200_soic16.jpg)
![](https://avgnu.vimuser.org/x200/x200_soic8.jpg)
Підніміть стрічку, яка закриває частину флеш-пам'яті, а потім
приєднайте затискач:\
![](https://av.libreboot.org/x200/disassembly/0008.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0008.jpg)
Тепер ви повинні бути готові до встановлення libreboot.
Тепер ви повинні бути готові до встановлення nonGeNUine Boot.
Зверніться до [інструкцій програмування SPI](spi.md).
@ -83,16 +83,16 @@ Tablet (для цих систем потрібно повністю видал
На цьому фото встановлено 8 ГБ оперативної пам'яті (2x4ГБ):
![](https://av.libreboot.org/x200/disassembly/0018.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0018.jpg)
Завантажуйтесь!
--------
Ви маєте побачити щось подібне цьому:
![](https://av.libreboot.org/x200/disassembly/0019.jpg)
![](https://avgnu.vimuser.org/x200/disassembly/0019.jpg)
Тепер [встановлюйте Linux](../linux/).
Тепер [встановлюйте GNU+Linux](../gnulinux/).
Користувачі X200S та X200 Tablet: трюк GPIO33 не спрацює.
--------------------------------------------------------
@ -104,7 +104,7 @@ sgsit дізнався про контакт під назвою GPIO33, яки
Подивіться трохи вище 7 у TP37 (це GPIO33):
![](https://av.libreboot.org/x200/gpio33_location.jpg)
![](https://avgnu.vimuser.org/x200/gpio33_location.jpg)
Це замовчуванням ми побачимо це в lenovobios, під час спроби flashrom -p
internal -w rom.rom:
@ -140,16 +140,16 @@ internal -w rom.rom:
яка виконує перепрошивання; тоді Lenovo BIOS, ймовірно, бачить це та запускає це замість
встановлення PRx і переходу до нормального завантаження. Теоретично можливо, що ми
зможемо дізнатися, як це працює, налагодивши утиліту оновлення BIOS Lenovo (у
Windows), а потім відтворивши її дії за допомогою якогось інструменту для Linux,
Windows), а потім відтворивши її дії за допомогою якогось інструменту для GNU+Linux,
а потім завантаживши двійковий файл flashrom в пам'ять та ROM для прошивки (для BIOS
регіона). Ви б зробили це з заземленням GPIO33, і програма корисного навантаження
фактично прошиє весь чіп, лише звичайним образом libreboot.
фактично прошиє весь чіп, лише звичайним образом nonGeNUine Boot.
Це можливо. Ймовірно, це єдиний спосіб роботи програми оновлення BIOS Lenovo.
Отже, якщо ми дізнаємося, як саме це зробити, тоді ви можете просто підключити кілька
контактів pogo для заземлення GPIO33, потім завантажитися, запустити програмне забезпечення
(яке потрібно було б написати), яке виконує вищезазначене.
У зв'язку з цим у libreboot є утиліта, яка може допомогти
У зв'язку з цим у nonGeNUine Boot є утиліта, яка може допомогти
розслідувати це:
[ich9utils.md#demefactory](ich9utils.md#demefactory)

View File

@ -6,7 +6,7 @@ x-toc-enable: true
This section documents how to recover from a bad flash that prevents
your ThinkPad X60 from booting.
ROM images for this machine are well-tested in libreboot, so bricks are rare.
ROM images for this machine are well-tested in nonGeNUine Boot, so bricks are rare.
The most common cause of a brick is operator error, when flashing a ROM image.
In *most* cases, the cause will be that there is no bootblock, or an invalid
one.
@ -14,9 +14,9 @@ one.
Brick type 1: bucts not reset. {#bucts_brick}
==============================
You still have Lenovo BIOS, or you had libreboot running and you flashed
You still have Lenovo BIOS, or you had nonGeNUine Boot running and you flashed
another ROM; and you had bucts 1 set and the ROM wasn't dd'd.\* or if
Lenovo BIOS was present and libreboot wasn't flashed.
Lenovo BIOS was present and nonGeNUine Boot wasn't flashed.
There are *2* 64KiB bootblocks possible, in the upper part of the ROM image.
By default (bucts set to 0), the top one is used. If bucts is set to 1, the
@ -38,10 +38,10 @@ you re-flash a second time and set it back to 0.
In this case, unbricking is easy: reset BUC.TS to 0 by removing that
yellow cmos coin (it's a battery) and putting it back after a minute or
two:\
![](https://av.libreboot.org/x60_unbrick/0004.jpg)\
![](https://avgnu.vimuser.org/x60_unbrick/0004.jpg)\
\*Those dd commands should be applied to all newly compiled X60 ROM
images (the ROM images in libreboot binary archives already have this
images (the ROM images in nonGeNUine Boot binary archives already have this
applied!):
dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k
@ -68,66 +68,66 @@ will not boot at all.
"Unbricking" means flashing a known-good (working) ROM. The problem:
you can't boot the system, making this difficult. In this situation,
external hardware (see hardware requirements above) is needed which can
flash the SPI chip (where libreboot resides).
flash the SPI chip (where nonGeNUine Boot resides).
Remove those screws:\
![](https://av.libreboot.org/x60_unbrick/0000.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0000.jpg)
Push the keyboard forward (carefully):\
![](https://av.libreboot.org/x60_unbrick/0001.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0001.jpg)
Lift the keyboard up and disconnect it from the board:\
![](https://av.libreboot.org/x60_unbrick/0002.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0002.jpg)
Grab the right-hand side of the chassis and force it off (gently) and
pry up the rest of the chassis:\
![](https://av.libreboot.org/x60_unbrick/0003.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0003.jpg)
You should now have this:\
![](https://av.libreboot.org/x60_unbrick/0004.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0004.jpg)
Disconnect the wifi antenna cables, the modem cable and the speaker:\
![](https://av.libreboot.org/x60_unbrick/0005.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0005.jpg)
Unroute the cables along their path, carefully lifting the tape that
holds them in place. Then, disconnect the modem cable (other end) and
power connection and unroute all the cables so that they dangle by the
monitor hinge on the right-hand side:\
![](https://av.libreboot.org/x60_unbrick/0006.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0006.jpg)
Disconnect the monitor from the motherboard, and unroute the grey
antenna cable, carefully lifting the tape that holds it into place:\
![](https://av.libreboot.org/x60_unbrick/0008.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0008.jpg)
Carefully lift the remaining tape and unroute the left antenna cable so
that it is loose:\
![](https://av.libreboot.org/x60_unbrick/0009.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0009.jpg)
Remove the screw that is highlighted (do NOT remove the other one; it
holds part of the heatsink (other side) into place):\
![](https://av.libreboot.org/x60_unbrick/0011.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0011.jpg)
Remove those screws:\
![](https://av.libreboot.org/x60_unbrick/0012.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0012.jpg)
Carefully remove the plate, like so:\
![](https://av.libreboot.org/x60_unbrick/0013.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0013.jpg)
Remove the SATA connector:\
![](https://av.libreboot.org/x60_unbrick/0014.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0014.jpg)
Now remove the motherboard (gently) and cast the lcd/chassis aside:\
![](https://av.libreboot.org/x60_unbrick/0015.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0015.jpg)
Lift back that tape and hold it with something. Highlighted is the SPI
flash chip:\
![](https://av.libreboot.org/x60_unbrick/0016.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0016.jpg)
Here is another photo, with the numbers of the pins written:\
![](https://av.libreboot.org/x60_unbrick/0017.jpg)\
![](https://avgnu.vimuser.org/x60_unbrick/0017.jpg)\
This photo shows an SPI flasher used, with SOIC8 test clip:\
![](https://av.libreboot.org/x60/th_bbb_flashing.jpg)
![](https://avgnu.vimuser.org/x60/th_bbb_flashing.jpg)
Refer to the following guide:\
[Externally rewrite 25xx NOR flash via SPI protocol](spi.md)
@ -141,74 +141,74 @@ which all draw a lot of current, more than your programmer can provide.
When you're finished flashing, remove the programmer and put it away somewhere.
Put back the tape and press firmly over it:\
![](https://av.libreboot.org/x60_unbrick/0026.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0026.jpg)
Your empty chassis:\
![](https://av.libreboot.org/x60_unbrick/0027.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0027.jpg)
Put the motherboard back in:\
![](https://av.libreboot.org/x60_unbrick/0028.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0028.jpg)
Reconnect SATA:\
![](https://av.libreboot.org/x60_unbrick/0029.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0029.jpg)
Put the plate back and re-insert those screws:\
![](https://av.libreboot.org/x60_unbrick/0030.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0030.jpg)
Re-route that antenna cable around the fan and apply the tape:\
![](https://av.libreboot.org/x60_unbrick/0031.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0031.jpg)
Route the cable here and then (not shown, due to error on my part)
reconnect the monitor cable to the motherboard and re-insert the
screws:\
![](https://av.libreboot.org/x60_unbrick/0032.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0032.jpg)
Re-insert that screw:\
![](https://av.libreboot.org/x60_unbrick/0033.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0033.jpg)
Route the black antenna cable like so:\
![](https://av.libreboot.org/x60_unbrick/0034.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0034.jpg)
Tuck it in neatly like so:\
![](https://av.libreboot.org/x60_unbrick/0035.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0035.jpg)
Route the modem cable like so:\
![](https://av.libreboot.org/x60_unbrick/0036.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0036.jpg)
Connect modem cable to board and tuck it in neatly like so:\
![](https://av.libreboot.org/x60_unbrick/0037.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0037.jpg)
Route the power connection and connect it to the board like so:\
![](https://av.libreboot.org/x60_unbrick/0038.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0038.jpg)
Route the antenna and modem cables neatly like so:\
![](https://av.libreboot.org/x60_unbrick/0039.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0039.jpg)
Connect the wifi antenna cables. At the start of the tutorial, this
system had an Intel wifi chip. Here you see I've replaced it with an
Atheros AR5B95 (supports 802.11n and can be used without blobs):\
![](https://av.libreboot.org/x60_unbrick/0040.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0040.jpg)
Connect the modem cable:\
![](https://av.libreboot.org/x60_unbrick/0041.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0041.jpg)
Connect the speaker:\
![](https://av.libreboot.org/x60_unbrick/0042.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0042.jpg)
You should now have this:\
![](https://av.libreboot.org/x60_unbrick/0043.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0043.jpg)
Re-connect the upper chassis:\
![](https://av.libreboot.org/x60_unbrick/0044.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0044.jpg)
Re-connect the keyboard:\
![](https://av.libreboot.org/x60_unbrick/0045.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0045.jpg)
Re-insert the screws that you removed earlier:\
![](https://av.libreboot.org/x60_unbrick/0046.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0046.jpg)
Power on!\
![](https://av.libreboot.org/x60_unbrick/0047.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0047.jpg)
Operating system:\
![](https://av.libreboot.org/x60_unbrick/0049.jpg)
![](https://avgnu.vimuser.org/x60_unbrick/0049.jpg)

View File

@ -6,7 +6,7 @@ x-toc-enable: true
This section documents how to recover from a bad flash that prevents
your ThinkPad X60 Tablet from booting.
ROM images for this machine are well-tested in libreboot, so bricks are rare.
ROM images for this machine are well-tested in nonGeNUine Boot, so bricks are rare.
The most common cause of a brick is operator error, when flashing a ROM image.
In *most* cases, the cause will be that there is no bootblock, or an invalid
one.
@ -14,9 +14,9 @@ one.
Brick type 1: bucts not reset. {#bucts_brick}
==============================
You still have Lenovo BIOS, or you had libreboot running and you flashed
You still have Lenovo BIOS, or you had nonGeNUine Boot running and you flashed
another ROM; and you had bucts 1 set and the ROM wasn't dd'd.\* or if
Lenovo BIOS was present and libreboot wasn't flashed.
Lenovo BIOS was present and nonGeNUine Boot wasn't flashed.
There are *2* 64KiB bootblocks possible, in the upper part of the ROM image.
By default (bucts set to 0), the top one is used. If bucts is set to 1, the
@ -38,10 +38,10 @@ you re-flash a second time and set it back to 0.
In this case, unbricking is easy: reset BUC.TS to 0 by removing that
yellow cmos coin (it's a battery) and putting it back after a minute or
two:\
![](https://av.libreboot.org/x60t_unbrick/0008.JPG)\
![](https://avgnu.vimuser.org/x60t_unbrick/0008.JPG)\
\*Those dd commands should be applied to all newly compiled X60 ROM
images (the ROM images in libreboot binary archives already have this
images (the ROM images in nonGeNUine Boot binary archives already have this
applied!):
dd if=coreboot.rom of=top64k.bin bs=1 skip=$[$(stat -c %s coreboot.rom) - 0x10000] count=64k
@ -68,45 +68,45 @@ will not boot at all.
"Unbricking" means flashing a known-good (working) ROM. The problem:
you can't boot the system, making this difficult. In this situation,
external hardware (see hardware requirements above) is needed which can
flash the SPI chip (where libreboot resides).
flash the SPI chip (where nonGeNUine Boot resides).
![](https://av.libreboot.org/x60t_unbrick/0000.JPG)
![](https://avgnu.vimuser.org/x60t_unbrick/0000.JPG)
Remove those screws:\
![](https://av.libreboot.org/x60t_unbrick/0001.JPG)
![](https://avgnu.vimuser.org/x60t_unbrick/0001.JPG)
Remove the HDD:\
![](https://av.libreboot.org/x60t_unbrick/0002.JPG)
![](https://avgnu.vimuser.org/x60t_unbrick/0002.JPG)
Push keyboard forward to loosen it:\
![](https://av.libreboot.org/x60t_unbrick/0003.JPG)
![](https://avgnu.vimuser.org/x60t_unbrick/0003.JPG)
Lift:\
![](https://av.libreboot.org/x60t_unbrick/0004.JPG)
![](https://avgnu.vimuser.org/x60t_unbrick/0004.JPG)
Remove those:\
![](https://av.libreboot.org/x60t_unbrick/0005.JPG)
![](https://avgnu.vimuser.org/x60t_unbrick/0005.JPG)
![](https://av.libreboot.org/x60t_unbrick/0006.JPG)
![](https://avgnu.vimuser.org/x60t_unbrick/0006.JPG)
Also remove that (marked) and unroute the antenna cables:\
![](https://av.libreboot.org/x60t_unbrick/0007.JPG)
![](https://avgnu.vimuser.org/x60t_unbrick/0007.JPG)
For some X60T laptops, you have to unroute those too:\
![](https://av.libreboot.org/x60t_unbrick/0010.JPG)
![](https://avgnu.vimuser.org/x60t_unbrick/0010.JPG)
Remove the LCD extend board screws. Also remove those screws (see blue
marks) and remove/unroute the cables and remove the metal plate:\
![](https://av.libreboot.org/x60t_unbrick/0008.JPG)
![](https://avgnu.vimuser.org/x60t_unbrick/0008.JPG)
Remove that screw and then remove the board:\
![](https://av.libreboot.org/x60t_unbrick/0009.JPG)
![](https://avgnu.vimuser.org/x60t_unbrick/0009.JPG)
This photo shows the flash location:\
![](https://av.libreboot.org/x60t_unbrick/0011.JPG)
![](https://avgnu.vimuser.org/x60t_unbrick/0011.JPG)
This photo shows an SPI flasher used, with SOIC8 test clip:\
![](https://av.libreboot.org/x60/th_bbb_flashing.jpg)
![](https://avgnu.vimuser.org/x60/th_bbb_flashing.jpg)
Refer to the external flashing guide:

View File

@ -1,37 +1,37 @@
---
title: lbmk maintenance manual
title: gbmk maintenance manual
x-toc-enable: true
...
Automated build system
======================
This manual describes the nature of `lbmk` (LibreBoot MaKe), the automated
build system used to produce libreboot releases. It is provided as a reference
for *libreboot development*.
This manual describes the nature of `gbmk` (non**G**eNUine**B**oot**M**a**K**e), the
automated build system used to produce nonGeNUine Boot releases. It is provided as a
reference for *nonGeNUine Boot development*.
If you simply wish to compile libreboot from source, you should instead refer
If you simply wish to compile nonGeNUine Boot from source, you should instead refer
to the [build instructions](../build/)
Generally speaking, *testing* releases of libreboot will not come with
Generally speaking, *testing* releases of nonGeNUine Boot will not come with
documentation; if you're later using *old* testing releases, it is prudent to
check the `lbwww.git` repository on a revision from around the same time as
those releases. Future stable releases of libreboot will come with a snapshot of
the `lbwww.git` repository, for documentation pertaining to such releases. One
way to do this, all testing releases of libreboot, will be to simply run `git log`
on the `news/` section of `lbwww.git` and find the revision that added
check the `gbwww.git` repository on a revision from around the same time as
those releases. Future stable releases of nonGeNUine Boot will come with a snapshot of
the `gbwww.git` repository, for documentation pertaining to such releases. One
way to do this, all testing releases of nonGeNUine Boot, will be to simply run `git log`
on the `news/` section of `gbwww.git` and find the revision that added
the *announcement* for a given release (when available), and then you can
just reset to that revision.
As such, you should always refer to the *live* version of this page, on
libreboot.org, when working on the `lbmk.git` repository; the live version is
As such, you should always refer to the *live* version of this page, on the GNU
Boot website, when working on the `gbmk.git` repository; the live version is
provided for development on the Git repository!
What is lbmk?
What is gbmk?
==============
In the same way that that *Trisquel* is a *GNU+Linux distribution*, Libreboot
is a **coreboot distribution**. The `lbmk` build system *is* that distro,
In the same way that that *Trisquel* is a *GNU+Linux distribution*, nonGeNUine Boot
is a **coreboot distribution**. The `gbmk` build system *is* that distro,
providing the glue necessary to integrate coreboot plus anything else that's
needed, unifying everything in a completely automated and pre-configured
fashion, so as to provide a distribution that is ease to install and use by
@ -39,18 +39,18 @@ non-technical users.
In the past, installation of coreboot **required** extensive amounts of
configuration by the user, because there was no automation available. It was a
problem, and one that `lbmk` has *solved*; it is a problem, because most users
simply want to *install* coreboot without giving it much thought. The `lbmk`
problem, and one that `gbmk` has *solved*; it is a problem, because most users
simply want to *install* coreboot without giving it much thought. The `gbmk`
build system is written for *those* people, while also providing some
flexibility for those who do want to tinker and get their hands dirty.
The `lbmk` build system is designed to be simple. Each part of it is its own
The `gbmk` build system is designed to be simple. Each part of it is its own
separate program, which is to run independently. *Write one program that does
one thing well*.
Technically, `lbmk` isn't necessarily a build system, but rather, a handful of
Technically, `gbmk` isn't necessarily a build system, but rather, a handful of
small scripts that run other scripts, or even C programs if you wish. What
makes `lbmk` *be* `lbmk` is what each individual script does, and how scripts
makes `gbmk` *be* `gbmk` is what each individual script does, and how scripts
interact with or call each other to produce working ROM images. It takes
a *light touch* approach, providing only the most minimal glue necessary to
build working ROM images that the user can install, with sane defaults, while
@ -59,60 +59,60 @@ describing how to do just that. User-friendly documentation is provided, with
simple installation steps, automating as much of it as possible.
*This* document is different. The document you're reading right now is written
for *technical* users who want to know how libreboot is put together.
for *technical* users who want to know how nonGeNUine Boot is put together.
The lbmk design also helps to ease copyright licensing and compliance, because
each part of lbmk is literally its own separate program. With this design, it
The gbmk design also helps to ease copyright licensing and compliance, because
each part of gbmk is literally its own separate program. With this design, it
means that most scripts do not directly link/embed/include each other. Because
of this, it's much easier to have different licenses in use for different
files. Generally speaking, lbmk is GPLv3+, but it's perfectly OK, for
files. Generally speaking, gbmk is GPLv3+, but it's perfectly OK, for
example, to add files that are GPLv2 or other licenses. By comparison, if you
were to have a C program under GPLv3, you could not \#include C libraries that
are GPLv2, at least not directly, or there would be many pitfalls to avoid at
the very least. With lbmk's design, you can think of it as like when you have
the very least. With gbmk's design, you can think of it as like when you have
many programs running in your operating system, and not all of those programs
are under the same license, and most of those different licenses are not
compatible with each other; this is perfectly OK there, and it's OK here too.
The purpose of this document is to (hopefully) cause you to understand the
entire build system in libreboot, so that you can contribute patches or
entire build system in nonGeNUine Boot, so that you can contribute patches or
otherwise make whatever changes you like. As such, this is a reference guide
for libreboot development.
for nonGeNUine Boot development.
Libreboot is a *coreboot distro*, focusing on integration. As such, direct
nonGeNUine Boot is a *coreboot distro*, focusing on integration. As such, direct
development on software such as coreboot, GRUB, SeaBIOS etc should ideally
be done upstream, or if it's a project hosted by libreboot (such as ich9utils)
developed in the corresponding separate repository.
be done upstream.
This document is written for developers and power users alike, or otherwise for
anyone who is curious enough to learn more about what *makes* libreboot!
anyone who is curious enough to learn more about what *makes* nonGeNUine Boot!
A major planned addition to lbmk in the future is: use it to implement a small
A major planned addition to gbmk in the future is: use it to implement a small
busybox+linux distribution, with musl libc, plus u-root, and implement a
linux-based bootloader setup similar to Heads, but do it *lbmk-style*. The
lbmk build system is designed for absolute simplicity and modularity, making
linux-based bootloader setup similar to Heads, but do it *gbmk-style*. The
gbmk build system is designed for absolute simplicity and modularity, making
it easy to understand and maintain. It intentionally avoids use of rather
complicated programs such as Autoconf; the Makefile in lbmk is just bolted
on but it not required. The `lbmk` build system is a *non-design*; it evolved
complicated programs such as Autoconf; the Makefile in gbmk is just bolted
on but it not required. The `gbmk` build system is a *non-design*; it evolved
over time, into what it is today. Its modularity and simplicity of non-design
allows you to easily rewrite large parts of it, whenever you want to do so.
lbmk is written in POSIX shell scripts, and this is unlikely to change in the
future. However, lbmk integrates several projects such as coreboot, GRUB
or SeaBIOS, and these all have *their* own build systems aswell. The `lbmk`
gbmk is written in POSIX shell scripts, and this is unlikely to change in the
future. However, gbmk integrates several projects such as coreboot, GRUB
or SeaBIOS, and these all have *their* own build systems aswell. The `gbmk`
build system is the glue that puts all of these together to produce ROM images
for users, in a completely automated fashion. The purpose of `lbmk` is to
for users, in a completely automated fashion. The purpose of `gbmk` is to
provide an *unattended* build process, with as little user interaction as
possible. Thus, `lbmk` is an *automated build system*. It says on the libreboot
home page that libreboot is a *coreboot distribution* in much the same way that
Alpine Linux is a *Linux distribution*, and `lbmk` is what implements that!
possible. Thus, `gbmk` is an *automated build system*. It says on the nonGeNUine Boot
home page that nonGeNUine Boot is a *coreboot distribution* in much the same way that
Trisquel GNU+Linux is a *GNU+Linux distribution*, and `gbmk` is what implements
that!
Continue reading, and you will learn of each file contained in `lbmk`. This
document largely pertains to the version of `lbmk` as hosted in `lbmk.git`,
Continue reading, and you will learn of each file contained in `gbmk`. This
document largely pertains to the version of `gbmk` as hosted in `gbmk.git`,
but this manual also covers source code archives containing the full downloaded
set of modules such as coreboot and GRUB.
In general, it is advisable to open *every* file in lbmk, after you downloaded
In general, it is advisable to open *every* file in gbmk, after you downloaded
it (from the Git repository), and study the logic in great detail. This manual
attempts to explain all of it, and provide a general idea, but nothing beats
simply *studying* the logic directly.
@ -120,15 +120,15 @@ simply *studying* the logic directly.
AUTOMATED automation
====================
Every part of lbmk checks if the prerequisite steps are done, and does them
Every part of gbmk checks if the prerequisite steps are done, and does them
automatically if not. The `roms_helper` script is no different; for example, it
automatically downloads coreboot if not present, aswell as GRUB and everything
else. You can run each and every part of lbmk without having to worry about
else. You can run each and every part of gbmk without having to worry about
running something before it, because it is handled automatically; if that is
ever not the case, it's a bug that should be fixed immediately (in Libreboot
20160907, such fine tuned automation did not exist and you did have to run
specific parts of the build system manually, in a precise order, but this is
no longer the case in modern `lbmk` or `lbmk`).
no longer the case in `lbmk`, when we forked it to create `gbmk`).
Another example: if you run `./build payload grub` but `./build module grub` is
not completed, it will automatically run that first, to produce
@ -138,12 +138,13 @@ Another example: if you run `./build boot roms` and crossgcc isn't yet built
for the revision used on each given board, it will automatically compile that
version of it, using *that* coreboot tree's own build system to do it.
This level of automation means that modern `lbmk` is much
This level of automation means that modern `gbmk` is much
easier to use, compared to the build system present in Libreboot 20160907.
Massive improvements to that build system were made, during most of 2021, when
implementing the `lbmk` build system.
the Libreboot project spent time re-implementing their `lbmk` build system,
upon which `gbmk` (the nonGeNUine Boot build system) is now based.
All sections below pertain to actual files in lbmk:
All sections below pertain to actual files in gbmk:
.gitcheck
=========
@ -152,12 +153,12 @@ This checks whether Git credentials are set, and sets placeholder credentials
if required, locally for the given project.
If something went wrong during build, these placeholder credentials will still
be in effect, but only within `lbmk`. You can unset them like so:
be in effect, but only within `gbmk`. You can unset them like so:
./.gitcheck Clean
This is important, when working on Libreboot. Ordinarily, temporary credentials
are cleared after running lbmk, but may not be cleared in error conditions.
This is important, when working on nonGeNUine Boot. Ordinarily, temporary credentials
are cleared after running gbmk, but may not be cleared in error conditions.
A bit of a hack, but it avoids build issues when the user hasn't set a name
and email address in Git. If you've set a *global* one, then this script is
@ -166,17 +167,17 @@ irrelevant.
NOTE: In a git repository, the directory `.git` and files like `.gitignore`
or `.gitmodules` are used by the Git software. The name of this script begins
with `.git`, but the Git software does not make use of this file. It is
a *shell script*, executed by lbmk when you run commands in it.
a *shell script*, executed by gbmk when you run commands in it.
More context about Git name/email can be found in
the [Libreboot build instructions](../build/).
the [nonGeNUine Boot build instructions](../build/).
.git
====
Metadata used by git-scm, the version control system that Libreboot uses for
Metadata used by git-scm, the version control system that nonGeNUine Boot uses for
development. This directory will be present in the Git repository. It is not
provided in Libreboot *releases*. Learn more about Git here:
provided in nonGeNUine Boot *releases*. Learn more about Git here:
<https://git-scm.com/>
@ -184,8 +185,8 @@ provided in Libreboot *releases*. Learn more about Git here:
==========
This file is used by Git. It tells Git to *ignore* certain files, so that they
do not get added accidentally to commits for the Libreboot Git repository,
named `lbmk.git`.
do not get added accidentally to commits for the nonGeNUine Boot Git repository,
named `gbmk.git`.
You can learn more about `.gitignore` files here:
@ -195,49 +196,47 @@ COPYING
=======
This file contains a copy of the GNU General Public License, version 3.0. It is
the license that most parts of `lbmk` are released under.
the license that most parts of `gbmk` are released under.
NOTE: Not all of Libreboot is released under this license, but it is heavily
used in the Libreboot *build system*. Much of coreboot is GPL version 2 and
NOTE: Not all of nonGeNUine Boot is released under this license, but it is heavily
used in the nonGeNUine Boot *build system*. Much of coreboot is GPL version 2 and
in some cases, other licenses (such as BSD-style licenses) are used. This is
inevitable, with Libreboot being an *aggregate distribution* of software,
inevitable, with nonGeNUine Boot being an *aggregate distribution* of software,
namely coreboot and *payloads*, plus utilities.
Including a `COPYING` file is a good, conservative first step in adhering
to *good practise* when it comes to software, and it is *mostly* technically
correct in the context of *lbmk*, because *most* of lbmk is under GPLv3. This
is a legacy from when Libreboot started, where that license was chosen, and
it has just been *de facto* standard for Libreboot (build system) ever since.
correct in the context of *gbmk*, because *most* of gbmk is under GPLv3. This
is a legacy from when nonGeNUine Boot started, where that license was chosen, and
it has just been *de facto* standard for nonGeNUine Boot (build system) ever since.
You should perform an audit, to learn more about other licenses. This can be
done by inspecting the various projects that lbmk makes use of, like coreboot.
For aggregate distributions such as coreboot distributions or Linux distros,
done by inspecting the various projects that gbmk makes use of, like coreboot.
For aggregate distributions such as coreboot distributions or GNU+Linux distros,
it's not trivial to keep track of every license in a simple way, so such an
audit is inevitable if you want to know more.
Makefile
========
For use with *GNU* Make, this is a frontend to `lbmk`, which can be used to run
various commands in `lbmk`.
For use with *GNU* Make, this is a frontend to `gbmk`, which can be used to run
various commands in `gbmk`.
Use of this file is purely optional, and largely beneficial if you simply want
to build all of `lbmk` (just run `make` when the current work directory is the
root directory of `lbmk`).
to build all of `gbmk` (just run `make` when the current work directory is the
root directory of `gbmk`).
README*.*md
===========
This file contains a brief description of libreboot, along with information
This file contains a brief description of nonGeNUine Boot, along with information
about the project
It's basically a copy of the homepage text, relative to libreboot.org.
build
=====
This is the main shell script, part of `lbmk`, used for running most `lbmk`
commands. You could say that this file *is* `lbmk`. Run `./build help` for
This is the main shell script, part of `gbmk`, used for running most `gbmk`
commands. You could say that this file *is* `gbmk`. Run `./build help` for
usage instructions.
It calls scripts in `resources/scripts/build/`. For example, the
@ -277,7 +276,7 @@ You may also refer to the [build instructions](../build)
download
========
This is the main shell script for downloading various components used by `lbmk`.
This is the main shell script for downloading various components used by `gbmk`.
For example, this script downloads coreboot. Scripts called by `download` may
also apply patches and such, to the corresponding project; for example, it will
apply custom patches to GRUB.
@ -311,11 +310,11 @@ gitclone
This script is used by the `download` script, specifically for cloning of
Git repositories, for certain projects as defined in the file at location,
path `resources/git/revisions` within lbmk.
path `resources/git/revisions` within gbmk.
It downloads a project, from a main Git repository or a backup if defined and
the main one is down. It then resets to a defined revision (commit ID). If
patches are supplied for that project, by lbmk, then those patches are applied.
patches are supplied for that project, by gbmk, then those patches are applied.
The patches are applied as per: ascending, alphanumerical order of patch file
name.
@ -344,18 +343,18 @@ If you run it without arguments, help text is shown.
projectname
===========
This file contains a single line of text, with the string "libreboot".
This file contains a single line of text, with the string "nongenuineboot".
If you were to fork libreboot, you could very easily just modify this file, so
as to rename your fork in a largely automated way. Many parts of lbmk use this
If you were to fork nonGeNUine Boot, you could very easily just modify this file, so
as to rename your fork in a largely automated way. Many parts of gbmk use this
file.
resources/coreboot/
===================
This directory contains configuration, patches and so on, for each mainboard
supported in the `lbmk` build system. These directories contain such
configuration, so that `lbmk` can build working ROM images.
supported in the `gbmk` build system. These directories contain such
configuration, so that `gbmk` can build working ROM images.
The scripts in `resources/scripts/build/boot/` make heavy use of this
directory.
@ -400,9 +399,9 @@ be `coreboot/bar/`. ALSO:
FUN FACT: such references are infinitely checked until resolved. For
example, `foo` can refer to `bar` and `bar` can refer to `baz` but if there is
an infinite loop, this is detected and handled by `lbmk`. For example,
an infinite loop, this is detected and handled by `gbmk`. For example,
if `bar` refers to `foo` which refers back to `bar`, this is not permitted
and will throw an error in `lbmk`.
and will throw an error in `gbmk`.
The `romtype` entry largely defines what `./build boot roms` does once the ROM
is built; for example, `romtype="4MiB ICH9 IFD NOR flash"` would specify that
@ -410,7 +409,7 @@ an Intel Flash Descriptor for ICH9M, generated by `ich9gen`, would have to be
inserted.
The `cbrevision` entry defines which coreboot revision to use, from the
coreboot Git repository. *At present, lbmk only supports use of the official
coreboot Git repository. *At present, gbmk only supports use of the official
repository from the upstream coreboot project*.
The `arch` entry specifies which CPU architecture is to be used: currently
@ -445,7 +444,7 @@ other than `default`, which is the default if the option is missing.
The `grub_scan_disk` option specifies can be `ahci`, `ata` or `both`, and it
determines which types of disks are to be scanned, when the `grub.cfg` file in
GRUB payloads tries to automatically find other `grub.cfg` files supplied by
your Linux distribution. On some machines, setting it to `ata` or `ahci`
your GNU+Linux distribution. On some machines, setting it to `ata` or `ahci`
can improve boot speed by reducing delays; for example, trying to scan `ata0`
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
@ -467,7 +466,7 @@ Configuration file names can be as follows:
Information pertaining to this can be found on
the [installation manual](../install/)
In `lbmk`, a board-specific directory under `resources/coreboot/` should never
In `gbmk`, a board-specific directory under `resources/coreboot/` should never
specify a coreboot revision. Rather, a directory *without* coreboot configs
should be created, specifying a coreboot revision. For example, the
directory `resources/coreboot/default/` specifies a coreboot revision. In the
@ -476,7 +475,7 @@ specify `cbtree="default"` but without specifying a coreboot revision (this
is specified by `resources/coreboot/default/board.cfg`).
When you create a coreboot configuration, you should set the payload to *none*
because `lbmk` itself will assume that is the case, and insert payloads itself.
because `gbmk` itself will assume that is the case, and insert payloads itself.
Configurations with `libgfxinit` will use coreboot's native graphics init code
if available on that board. If the file name has `txtmode` in it, coreboot
@ -497,7 +496,7 @@ the VGA ROM (on an add-on graphics card, as opposed to onboard chipset), you
should have a *separate* directory just for that, under `resources/coreboot/`;
another directory for that board will have configs with `libgfxinit`. HOWEVER:
It *is* supported in lbmk to have SeaBIOS used, on either setup. In the
It *is* supported in gbmk to have SeaBIOS used, on either setup. In the
directory `resources/seabios/` there are SeaBIOS configs for both; the vgarom
one sets VGA hardware type to *none* while the libgfxinit one sets it
to *coreboot linear framebuffer*. However, if you use SeaBIOS on a setup with
@ -507,7 +506,7 @@ SeaBIOS, but the board has libgfxinit, it is recommended that you do it from
a `libgfxinit` ROM.
HOWEVER: there's no hard and fast rule. For example, you could make a vgarom
configuration, on a board in lbmk, but in its coreboot configuration, don't
configuration, on a board in gbmk, but in its coreboot configuration, don't
enable native init *or* oproms, and do SeaBIOS-only on that board.
On `vgarom` setups, coreboot can be configured to start with a high resolution
@ -540,7 +539,7 @@ This and other documents from coreboot shall help you to understand *coreboot*.
You create a config, for `resources/coreboot/BOARDNAME/configs`, by running
the `make menuconfig` command in the *coreboot* build system. You should do
this after running `./download coreboot` in lbmk.
this after running `./download coreboot` in gbmk.
You can simply clone coreboot upstream, add whatever patches you want, and
then you can make your config. It will appear afterwards in a file
@ -554,15 +553,15 @@ The *base* revision, upon which any custom patches you wrote are applied,
shall be the `cbrevision` entry.
REMINDER: Do not enable a payload in coreboot's build system. Set it
to *none*, and enable whatever payload you want in lbmk.
to *none*, and enable whatever payload you want in gbmk.
If a payload is not supported in lbmk, patches are very much welcome! It is
the policy of libreboot, to only ever use the *coreboot* build system inside
If a payload is not supported in gbmk, patches are very much welcome! It is
the policy of nonGeNUine Boot, to only ever use the *coreboot* build system inside
coreboot, but not use any of *coreboot's* own integration for payloads. It is
far more flexible and *robust* to handle payloads externally, relative to the
coreboot build system.
Scripts exist in `lbmk` for automating the modification/updating of *existing*
Scripts exist in `gbmk` for automating the modification/updating of *existing*
configs, but not for adding them. Adding them is to be done manually, based on
the above guidance.
@ -583,8 +582,8 @@ the command `./download coreboot`, those patches will be applied chronologically
in alphanumerical order as per patch file names.
The patch files should be named with `.patch` file extensions. All other files
will be ignored. By having `lbmk` do it this way, you could add a `README` file
for instance, and `lbmk` will not erroneously try to apply `README` as though
will be ignored. By having `gbmk` do it this way, you could add a `README` file
for instance, and `gbmk` will not erroneously try to apply `README` as though
it were a patch file. This might be useful if you have a *lot* of patches, and
you want to provide some explanations about specific files.
@ -592,11 +591,11 @@ resources/git/revisions
=======================
This defines git repositories and commit IDs (revisions) to reset to, for
various projects used by Libreboot. *This* file is used, for projects that
various projects used by nonGeNUine Boot. *This* file is used, for projects that
are relatively simple to handle when downloading (coreboot is not defined
here).
In the past, Libreboot had bespoke logic for *each* program, to download it.
In the past, nonGeNUine Boot had bespoke logic for *each* program, to download it.
This was repetitive, so much of the download logic was centralised with the
use of the `gitclone` script, which references this file.
@ -627,7 +626,7 @@ resources/grub/keymap/
======================
This directory contains keymaps for GRUB. They allow for different keyboard
layouts to be used. The `lbmk` build system uses these to produce ROM images
layouts to be used. The `gbmk` build system uses these to produce ROM images
with various keyboard layouts used by default, when the GRUB payload is to be
used.
@ -657,19 +656,19 @@ Patches applied to `me_cleaner` when downloading it.
resources/memtest86plus/patches/
==============================
Patches applied to Memtest86+ when downloading it. Libreboot includes
Patches applied to Memtest86+ when downloading it. nonGeNUine Boot includes
memtest86+ as a secondary payload, loaded from SeaBIOS *or* GRUB when booted
via int10h text mode on x86 hosts.
(using it with corebootfb mode is also possible, if your machine has a viable
serial output on it with memtest86+ configured accordingly, and this was done
on some older Libreboot releases in the past, but current Libreboot releases
on some older nonGeNUine Boot releases in the past, but current nonGeNUine Boot releases
only provide memtest86+ in text mode, for use directly on the machine)
resources/scripts/
==================
These scripts implement the *core* logic of Libreboot's *automated build
These scripts implement the *core* logic of nonGeNUine Boot's *automated build
system*, to produce coreboot ROM images with payloads.
resources/scripts/build/
@ -682,7 +681,7 @@ resources/scripts/build/boot/
=============================
This directory contains shell scripts for compiling ROM images. Many other
scripts in lbmk are called by these scripts; for example, GRUB payload scripts.
scripts in gbmk are called by these scripts; for example, GRUB payload scripts.
resources/scripts/build/boot/roms
=================================
@ -702,7 +701,7 @@ example:
./build boot roms x60 x200_8mb
Since November 2022, this script can build images for x86 *and* ARM targets.
The *ARM* targets are ChromeOS devices (chromebooks and such); Libreboot uses
The *ARM* targets are ChromeOS devices (chromebooks and such); nonGeNUine Boot uses
the *U-Boot* payload, rather than Google's *depthcharge* bootloader. In this
setup, U-Boot is running on the bare metal, as enabled by *coreboot*.
@ -740,8 +739,8 @@ for `romtype`:
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,
means however that booting GNU+Linux kernels from SAS devices is impossible on
those boards, unless a GNU+Linux payload is used; GNU+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
@ -760,7 +759,7 @@ for `romtype`:
part). In all cases, the default *ME* (Intel Management Engine) region is
disabled, as is the ME itself, based on bits set to disable it in the Intel
Flash Descriptor. The descriptor is used in such a setup, because on all
such boards in libreboot, GbE NVM is needed to get gigabit ethernet working
such boards in nonGeNUine Boot, GbE NVM is needed to get gigabit ethernet working
correctly; it is the sole reason `ich9gen` was written, because it is
otherwise possible to boot these machines in a *descriptorless* setup, where
ICH9M behaves similarly to ICH7: all one region of flash, for the boot
@ -798,14 +797,14 @@ then expected to handle option ROMs, and SeaBIOS should not do it.
This script handles U-Boot separately, for ARM-based chromeos devices.
Essentially, the `roms_helper` script makes use of each and every part of
lbmk. It is the heart of libreboot.
gbmk. It is the beating heart of nonGeNUine Boot.
When the ROM is finished compiling, it will appear under a directory in `bin/`
resources/scripts/build/clean/cbutils
=====================================
This simply runs `make clean` on various utilities from coreboot, which lbmk
This simply runs `make clean` on various utilities from coreboot, which gbmk
makes use of.
Command: `./build clean cbutils`
@ -814,7 +813,7 @@ resources/scripts/build/clean/crossgcc
======================================
This runs `make crossgcc-clean` on all of the coreboot revisions present in
lbmk.
gbmk.
Command: `./build clean crossgcc`
@ -873,7 +872,7 @@ resources/scripts/build/clean/u-boot
======================================
This runs `make distclean` and `git clean -fdx` on all of the U-Boot revisions
present in lbmk.
present in gbmk.
Command: `./build clean u-boot`
@ -1112,7 +1111,7 @@ resources/scripts/update/seabios/configs
========================================
This runs `make oldconfig` on SeaBIOS configs. It is most useful when updating
the version of SeaBIOS used by lbmk.
the version of SeaBIOS used by gbmk.
Command: `./update seabios configs`
@ -1132,7 +1131,7 @@ However, using `make oldconfig` is not optimal for U-Boot, as their Kconfig
dependencies/defaults are not as well specified as coreboot's is. When updating
configs for an upstream board, it's usually better (but not automated) to:
- Turn `lbmk` config into a defconfig in the old version
- Turn `gbmk` config into a defconfig in the old version
- Compare it with the old version's upstream defconfig
- Apply the difference to the new version's upstream defconfig
- Create an updated config in the new version
@ -1190,7 +1189,7 @@ resources/u-boot/
=================
This directory contains configuration, patches and so on, for each mainboard
that can use U-Boot as a payload in the `lbmk` build system. U-Boot doesn't yet
that can use U-Boot as a payload in the `gbmk` build system. U-Boot doesn't yet
have reliable generic configurations that can work across all coreboot boards
(per-architecture), so these are used to build it per-board.
@ -1225,12 +1224,12 @@ created u-boot source tree would be `u-boot/bar/`. ALSO:
FUN FACT: such references are infinitely checked until resolved. For
example, `foo` can refer to `bar` and `bar` can refer to `baz` but if there is
an infinite loop, this is detected and handled by `lbmk`. For example,
an infinite loop, this is detected and handled by `gbmk`. For example,
if `bar` refers to `foo` which refers back to `bar`, this is not permitted
and will throw an error in `lbmk`.
and will throw an error in `gbmk`.
The `ubrevision` entry defines which U-Boot revision to use, from the U-Boot
Git repository. *At present, lbmk only supports use of the official repository
Git repository. *At present, gbmk only supports use of the official repository
from the upstream U-Boot project*.
The `arch` entry specifies which CPU architecture is to be used: currently
@ -1245,7 +1244,7 @@ resources/u-boot/BOARDNAME/config/\*
Files in this directory are *U-Boot* configuration files. Configuration file
names can be anything, but for now `default` is the only one used.
In `lbmk`, a board-specific directory under `resources/u-boot/` should never
In `gbmk`, a board-specific directory under `resources/u-boot/` should never
specify a U-Boot revision. Rather, a directory *without* U-Boot configs should
be created, specifying a U-Boot revision. For example, the directory
`resources/u-boot/default/` specifies a U-Boot revision. In the board-specific
@ -1264,10 +1263,10 @@ When making a U-Boot configuration, you should also pay special attention to
the `CONFIG_SYS_TEXT_BASE` (`CONFIG_TEXT_BASE` in later versions), whose defaults
may cause it to overlap coreboot, in which case it won't boot. Normally, the
upstream coreboot build system checks for this when given `CONFIG_PAYLOAD_ELF`,
but `lbmk` injects the payload itself and doesn't check for this yet.
but `gbmk` injects the payload itself and doesn't check for this yet.
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
boards, which has been so far enabled in the ones `gbmk` supports, just to be
safe.
U-Boot build system
@ -1282,7 +1281,7 @@ You create a config, for `resources/u-boot/BOARDNAME/configs`, by finding the
corresponding board name in the upstream U-Boot `configs` directory, and
running `make BOARDNAME_defconfig` and `make menuconfig` commands in the
*U-Boot* build system. You should do this after running `./download u-boot` in
`lbmk`.
`gbmk`.
You might want to consider basing your config on the upstream `coreboot` boards
when possible, but such a board is not available upstream for ARM yet.
@ -1298,7 +1297,7 @@ under `resources/u-boot/BOARDNAME`.
The *base* revision, upon which any custom patches you wrote are applied,
shall be the `ubrevision` entry.
Scripts exist in `lbmk` for automating the modification/updating of *existing*
Scripts exist in `gbmk` for automating the modification/updating of *existing*
configs, but not for adding them. Adding them is to be done manually, based on
the above guidance.
@ -1312,15 +1311,15 @@ the command `./download u-boot`, those patches will be applied chronologically
in alphanumerical order as per patch file names.
The patch files should be named with `.patch` file extensions. All other files
will be ignored. By having `lbmk` do it this way, you could add a `README` file
for instance, and `lbmk` will not erroneously try to apply `README` as though
will be ignored. By having `gbmk` do it this way, you could add a `README` file
for instance, and `gbmk` will not erroneously try to apply `README` as though
it were a patch file. This might be useful if you have a *lot* of patches, and
you want to provide some explanations about specific files.
util/
=====
This directory contains utilities that `lbmk` makes use of.
This directory contains utilities that `gbmk` makes use of.
util/nvmutil/
=============
@ -1347,7 +1346,7 @@ about here:
[ich9utils manual](../install/ich9utils.html)
This source code also pertains to `ich9gen`, which is what GM45 laptops in
Libreboot use in order to generate a config that *excludes* Intel ME firmware.
nonGeNUine Boot use in order to generate a config that *excludes* Intel ME firmware.
Patches welcome.

View File

@ -1,14 +1,9 @@
---
title: Apply to become board maintainer/tester for Libreboot
title: Apply to become board maintainer/tester for nonGeNUine Boot
x-toc-enable: true
...
This page is very new, and these guidelines/procedures will be revised over
time. We are, as of April 2023, formalising our testing / release engineering
procedures somewhat. The Libreboot project is *expanding* to support a lot
more hardware these days.
Libreboot strives to make Coreboot accessible for as many users as possible.
nonGeNUine Boot strives to make Coreboot accessible for as many users as possible.
To accomplish this goal, we must add as many boards as possible.
As the total number of supported boards increases it becomes more and more difficult
for our main contributors to test every single release for every single supported board.
@ -23,13 +18,13 @@ All you need to do in order to become a board maintainer is:
+ Have the board you wish to maintain
Once you become a board maintainer, your real name and screen name can
be added to the public list on the Libreboot contributors page.
be added to the public list on the nonGeNUine Boot contributors page.
You can, of course, choose to forego the public listing (we will ask for
permission, before publishing your name).
To apply for such a posting, ping `leah` or `shmalebx9` on
[irc,](../../contact.html#irc-chatroom) or email
Leah Rowe via [leah@libreboot.org](mailto:leah@libreboot.org)
the nonGeNUine Boot maintainers.
Do not be afraid to apply to maintain a board with another listed
maintainer or multiple maintainers; more is better.
@ -66,9 +61,9 @@ Testing Procedure
=================
You will receive an email when roms are ready for testing.
The email will link to an open issue on our [current git hosting platform.](/git.html#lbmk-libreboot-make)
The email will link to an open issue on our [current git hosting platform.](/git.html#gbmk-nongenuineboot-make)
Whether you receive an email from a libreboot.org email
Whether you receive an email from a GNU email
domain or one of our developer's email you should verify (for
your own security)
that the downloaded roms are signed with the [official key.](/download.html#gpg-signing-key)

View File

@ -10,7 +10,7 @@ Introduction
This document lists product codenames for some hardware.
Please note that just because a certain device is listed here does NOT mean
that it is supported in libreboot. For supported devices refer to the
that it is supported in nonGeNUine Boot. For supported devices refer to the
installation documentation.
### A note on GPUs

View File

@ -1,21 +1,21 @@
---
title: Building Libreboot for Emulation
title: Building nonGeNUine Boot for Emulation
x-toc-enable: true
...
Introduction
============
Libreboot supports building for qemu as a target board.
nonGeNUine Boot supports building for qemu as a target board.
The resulting rom can then be tested using qemu.
The qemu board is mostly intended to speed up development by removing the need to flash to bare metal during initial tests.
Qemu may also be useful for end users who intend to make changes to their libreboot rom without having to flash and reboot their machine.
Qemu may also be useful for end users who intend to make changes to their nonGeNUine Boot rom without having to flash and reboot their machine.
Building and Testing
====================
Libreboot can be built for qemu just like any other board.
nonGeNUine Boot can be built for qemu just like any other board.
`./build boot roms qemu_x86_12mb`
@ -40,7 +40,7 @@ Use Cases
=========
While development is the primary motivation for qemu support, the board makes it easy to test minor changes to release roms.
For example one can use *cbfstool* from coreboot to edit the background image in a libreboot rom as follows:
For example one can use *cbfstool* from coreboot to edit the background image in a nonGeNUine Boot rom as follows:
```
cbfstool /path/to/rom remove -n background.png

View File

@ -3,14 +3,16 @@ title: Miscellaneous
x-toc-enable: true
...
TODO: this page is very old, and could do with an update.
TODO: this page is very old, and could do with an update. It was *old* when
we inherited it from Libreboot, which we forked to create nonGeNUine Boot; it is
even older now. It's almost a tradition now, that this page is never updated.
High Pitched Whining Noise on Idle in Debian or Devuan
======================================================================
Start powertop automatically at boot time.
Included with libreboot is a script called 'powertop.debian'. Run this
Included with nonGeNUine Boot is a script called 'powertop.debian'. Run this
as root and it will setup powertop to run with --auto-tune at boot
time. Load the file in your text editor to see how it does that.
@ -20,7 +22,7 @@ Might want to run with --calibrate first
If powertop doesn't work, another way (reduces battery life slightly)
is to add *processor.max\_cstate=2* to the *linux* line in grub.cfg,
using [this guide](../linux/grub_cbfs.md).
using [this guide](../gnulinux/grub_cbfs.md).
High Pitched Whining Noise on Idle in Arch-based distros
==============================================================
@ -34,7 +36,7 @@ is a step towards that. Also, in some instances you will need to run
'sudo powertop --auto-tune' again. This needs to be implemented
properly in coreboot itself!
On the X60 with coreboot or libreboot, there is a high pitched sound
On the X60 with coreboot or nonGeNUine Boot, there is a high pitched sound
when idle. So far we have use processor.max\_cstate=2 or idle=halt in
GRUB. These consume power. Stop using them!
@ -74,7 +76,7 @@ Might want to run with --calibrate first
If powertop doesn't work, another way (reduces battery life slightly)
is to add *processor.max\_cstate=2* to the *linux* line in grub.cfg,
using [this guide](../linux/grub_cbfs.md).
using [this guide](../gnulinux/grub_cbfs.md).
X60/T60: Serial port - how to use (for dock owners)
@ -86,7 +88,7 @@ X60 Tablet it is called X6 Tablet UltraBase). For the ThinkPad T60, you
can use the "Advanced Mini Dock".
If you are using one of the ROM images with 'serial' in the name, then
you have serial port enabled in libreboot and you have memtest86+
you have serial port enabled in nonGeNUine Boot and you have memtest86+
included inside the ROM. Connect your null modem cable to the serial
port on the dock and connect the other end to a 2nd system using your
USB Serial adapter.
@ -101,7 +103,7 @@ Y.
There are also others like Minicom but Screen works nicely.
By doing this before booting the X60/T60, you will see console output
from libreboot. You will also see GRUB displaying on the serial output,
from nonGeNUine Boot. You will also see GRUB displaying on the serial output,
and you will be able to see MemTest86+ on the serial output aswell. You
can also configure your distro so that a terminal (TTY) is accessible
from the serial console.
@ -112,12 +114,12 @@ Devuan, to enable a serial console using GeTTY:\
Note: part of the tutorial above requires changing your grub.cfg. Just
change the `linux` line to add instructions for enabling getty. See
[../linux/grub\_cbfs.md](../linux/grub_cbfs.md).
[../gnulinux/grub\_cbfs.md](../gnulinux/grub_cbfs.md).
Finetune backlight control on intel gpu's
=========================================
Sometimes the backlight control value (BLC\_PWM\_CTL) set by libreboot
Sometimes the backlight control value (BLC\_PWM\_CTL) set by nonGeNUine Boot
is not ideal. The result is either flicker, which could cause nausea or
epilepsy or an uneven backlight and/or coil whine coming from the
display. To fix this a different value for the gpu reg BLC\_PWM\_CTL
@ -211,34 +213,34 @@ Power Management Beeps on Thinkpads
When disconnecting or connecting the charger, a beep occurs. When the
battery goes to a critically low charge level, a beep occurs. Nvramtool
is included in libreboot, and can be used to enable or disable this
is included in nonGeNUine Boot, and can be used to enable or disable this
behaviour.
You need to write changes in a libreboot rom image, and flash it, in order
You need to write changes in a nonGeNUine Boot ROM image, and flash it, in order
to apply them. You can either use a pre-compiled rom image, or create an image
from the current one in your computer. See here
<https://libreboot.org/docs/linux/grub_cbfs.html#get-the-rom-image> for
more information on how to do that.
from the current one in your computer. See here
[../gnulinux/grub_cbfs.html#get-the-rom-image](../gnulinux/grub_cbfs.html#get-the-rom-image)
for more information on how to do that.
Once you have a libreboot rom image, say 'libreboot.rom', you can write
Once you have a nonGeNUine Boot rom image, say 'nongenuineboot.rom', you can write
changes on the image with the following commands.
Disable or enable beeps when removing/adding the charger:
sudo ./nvramtool -C libreboot.rom -w power_management_beeps=Enable
sudo ./nvramtool -C libreboot.rom -w power_management_beeps=Disable
sudo ./nvramtool -C nongenuineboot.rom -w power_management_beeps=Enable
sudo ./nvramtool -C nongenuineboot.rom -w power_management_beeps=Disable
Disable or enable beeps when battery is low:
sudo ./nvramtool -C libreboot.rom -w low_battery_beep=Enable
sudo ./nvramtool -C libreboot.rom -w low_battery_beep=Disable
sudo ./nvramtool -C nongenuineboot.rom -w low_battery_beep=Enable
sudo ./nvramtool -C nongenuineboot.rom -w low_battery_beep=Disable
You can check that the parameters are set in the image with :
sudo ./nvramtool -C libreboot.rom -a
sudo ./nvramtool -C nongenuineboot.rom -a
Finally, you need to flash the rom with this new image. See here
<https://libreboot.org/docs/linux/grub_cbfs.html#with-re-flashing-the-rom>
[../gnulinux/grub_cbfs.html#with-re-flashing-the-rom](../gnulinux/grub_cbfs.html#with-re-flashing-the-rom)
for a detailed explanation.
Get EDID: Find out the name (model) of your LCD panel
@ -280,7 +282,7 @@ using more power) non-stop, which will drain battery life if this is a
laptop. If power usage is a concern, then you should not use this.
(we're also not sure whether this workaround is appropriate)*
To disable c-states, do this in Linux:
To disable c-states, do this in GNU+Linux:
```
for i in /sys/devices/system/cpu/cpu/cpuidle/state/disable;

View File

@ -3,16 +3,15 @@ title: U-Boot payload
x-toc-enable: true
...
U-Boot integration in Libreboot is currently at a proof-of-concept
U-Boot integration in nonGeNUine Boot is currently at a proof-of-concept
stage, with most boards completely untested and most likely not working.
ROM images for them are mostly intended for further testing and
development. If you have one of these machines and want to help fix
things, you can ping `alpernebbi` on Libera IRC, who ported these boards
to Libreboot.
to nonGeNUine Boot.
As of 14 December 2022, building of U-Boot images has been tested on
Debian. Make sure you have the latest `lbmk` from the Git repository,
and the build dependencies are installed like so, from `lbmk/` as root:
Make sure you have the latest `gbmk` from the Git repository,
and the build dependencies are installed like so, from `gbmk/` as root:
./build dependencies debian
@ -52,7 +51,7 @@ inside the shell, which can be saved to and automatically loaded from
persistent storage configured at build-time.
WARNING: Environment variable storage has not been explicitly configured
so far and is untested in the context of Libreboot. It may cause data
so far and is untested in the context of nonGeNUine Boot. It may cause data
loss or even brick your device by overwriting your disk's partition
table, unexpected parts of the SPI ROM image, or do something else
entirely.
@ -60,10 +59,10 @@ entirely.
Known issues
============
U-Boot integration in Libreboot is incomplete. Here is a list of known
U-Boot integration in nonGeNUine Boot is incomplete. Here is a list of known
issues that affect all boards:
- Branding is U-Boot with their logo (Libreboot only in version number)
- Branding is U-Boot with their logo (nonGeNUine Boot only in version number)
- Splash screen might be better instead of console messages
- Cursor/drawing bugs with video improvements patches
- Environment storage is likely dangerously broken

View File

@ -1,24 +1,27 @@
---
title: Installing ArchLinuxARM on a Chromebook with U-Boot installed
title: Installing ArchGNU+LinuxARM on a Chromebook with U-Boot installed
x-toc-enable: true
...
**TODO FOR nonGeNUine Boot PROJECT: Test with Parabola, which is the FSF-endorsed
version of Arch. See: <https://www.parabola.nu/>**
Background
==========
The following process should theoretically be applicable to other U-Boot devices and GNU/Linux distributions, but the focus here is specifically on ArchLinuxARM.
The following process should theoretically be applicable to other U-Boot devices and GNU+Linux distributions, but the focus here is specifically on ArchGNU+LinuxARM.
Sources used for this guide include the [following guide to install ArchLinuxARM on a RockPro64,](https://jforberg.se/blog/posts/2023-02-19-rockpro64/rockpro64.html)
Sources used for this guide include the [following guide to install ArchGNU+LinuxARM on a RockPro64,](https://jforberg.se/blog/posts/2023-02-19-rockpro64/rockpro64.html)
And the the instructions from the ArchLinuxARM wiki [here](https://archlinuxarm.org/platforms/armv8/rockchip/asus-chromebook-flip-c101pa)
And the the instructions from the ArchGNU+LinuxARM wiki [here](https://archlinuxarm.org/platforms/armv8/rockchip/asus-chromebook-flip-c101pa)
(Be aware that there will be overlap in my documentation with these guides, so some of this information will be very close to verbatim.)
The purpose of this guide is to instruct users on how to install an ArchLinuxARM on an external disk that will boot on a gru_bob chromebook, and optionally on the internal eMMC. Many concepts covered in this guide may be familiar to prospective and veteran Libreboot users, with the scope being comprehensive.
The purpose of this guide is to instruct users on how to install an ArchGNU+LinuxARM on an external disk that will boot on a gru_bob chromebook, and optionally on the internal eMMC. Many concepts covered in this guide may be familiar to prospective and veteran nonGeNUine Boot users, with the scope being comprehensive.
Boot Method
===========
There are (at least) three methods that can be used to boot into a Linux distribution from u-boot:
There are (at least) three methods that can be used to boot into a GNU+Linux distribution from u-boot:
1) EFI - common, modern boot method for amd64 architecture machines. This is not distribution-specific, so if you intend to make a portable drive that is compatible across multiple systems, you may have a use case.
This is an unlikely use-case, so it's a bit odd to use an EFI partition when not using a UEFI system.
@ -46,14 +49,14 @@ timeout 50
label arch
menu label Arch Linux ARM
menu label Arch GNU+Linux ARM
linux /Image
initrd /initramfs-linux.img
fdt /dtbs/rockchip/rk3399-gru-bob.dtb
append root=PARTUUID=$PARTUUID rw console=tty1 console=ttyS2,115200 earlycon rootwait LANG=en_US.UTF-8
label archfallback
menu label Arch Linux ARM (FALLBACK)
menu label Arch GNU+Linux ARM (FALLBACK)
linux /Image
initrd /initramfs-linux-fallback.img
fdt /dtbs/rockchip/rk3399-gru-bob.dtb
@ -64,7 +67,7 @@ Formatting and Partitioning Your External Media
===============================================
Now it's time partition the boot disk. During testing, a microSD card was used in the microSD card slot of the gru-bob chromebook.
The libreboot configuration will boot the microSD card above the onboard eMMC if both are present and bootable. This is useful because it means no knowledge or use of the u-boot console is required.
The nonGeNUine Boot configuration will boot the microSD card above the onboard eMMC if both are present and bootable. This is useful because it means no knowledge or use of the u-boot console is required.
Since the eMMC is 16GB of storage space, it's advisable to choose an external storage disk of less than 16GB if you intend to install onto the onboard storage, or to create a root partition of less than 15.8GB.
@ -83,7 +86,7 @@ In the fdisk tui, create two partitions on a Master Boot Record:
- set type to fat32 (ext2 is also supported by extlinux I believe, but I used fat32)
- create a second partition of up to 15.8GB
You will find the appropriate options by typing `m` when using the fdisk tui on GNU/Linux distros.
You will find the appropriate options by typing `m` when using the fdisk tui on GNU+Linux distros.
Now make the filesystems:
```
@ -109,27 +112,27 @@ Boot-Disk Creation
Now that we've got an extlinux.conf file, copy it to your /tmp directory, and we'll begin.
```
cd /tmp
curl -LO http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz
curl -LO http://os.archlinuxarm.org/os/ArchGNU+LinuxARM-aarch64-latest.tar.gz
mkdir root
mkdir boot
mount /dev/sdX2 root
mount /dev/sdX1 boot
tar -C boot --strip-components=2 -xvf ArchLinuxARM-aarch64-latest.tar.gz ./boot/
tar -C root --exclude=./boot -xvf ArchLinuxARM-aarch64-latest.tar.gz
tar -C boot --strip-components=2 -xvf ArchGNU+LinuxARM-aarch64-latest.tar.gz ./boot/
tar -C root --exclude=./boot -xvf ArchGNU+LinuxARM-aarch64-latest.tar.gz
mkdir boot/extlinux
cp extlinux.conf boot/extlinux/extlinux.conf
sync
umount boot
umount root
```
Note the use of ArchLinuxARM-aarch64-latest.tar.gz and not ArchLinuxARM-gru-latest.tar.gz
Note the use of ArchGNU+LinuxARM-aarch64-latest.tar.gz and not ArchGNU+LinuxARM-gru-latest.tar.gz
The current gru build only supports a depthcharge payload and, of course, we're not using depthcharge are we?
With that, you should now have a (kind of) working boot disk - insert your installation media and boot.
Extensive testing with ArchLinuxARM-latest release, showed that booting the fallback initramfs image will work, but the main image won't.
Extensive testing with ArchGNU+LinuxARM-latest release, showed that booting the fallback initramfs image will work, but the main image won't.
If you create an extlinux.conf file with paths to both images - like in the template above - you can select either by number at boot.
Going Live - Necessary Tweaks
@ -170,7 +173,7 @@ lsblk -o NAME,UUID,FSTYPE,SIZE
Final Steps
===========
At this stage, you now have a fully functional ArchLinuxARM system on an external disk, and are ready to configure your system.
At this stage, you now have a fully functional ArchGNU+LinuxARM system on an external disk, and are ready to configure your system.
If you intend to install onto the eMMC module, you can make your changes permanent with:
```
dd if=/dev/mmcblk0 of=/dev/mmcblk1 bs=4M status=progress

View File

@ -6,9 +6,9 @@ x-toc-enable: true
System Configuration
====================
Hardware: Samsung Chromebook Plus XE513C24 (gru_kevin)
Hardware: Samsung Chromebook Plus XE513C24 (gru\_kevin)
Libreboot: 2023-04-23
Tested on Libreboot 20230423 (nonGeNUine Boot is a fork of Libreboot)
Operating System: Debian Bookworm RC2
@ -34,7 +34,7 @@ netinst version.
[https://cdimage.debian.org/cdimage/bookworm_di_rc2/arm64/iso-dvd/](https://cdimage.debian.org/cdimage/bookworm_di_rc2/arm64/iso-dvd/)
Write the iso file to a micro sdcard. Replace "sdcard_device" below
Write the iso file to a micro sdcard. Replace `sdcard_device` below
with the appropriate device path on your system.
```
# dd if=debian-bookworm-DI-rc2-arm64-DVD-1.img of=/dev/sdcard_device bs=1M status=progress; sync
@ -54,12 +54,12 @@ The system automatically found an EFI image (efi/boot/bootaa64.efi), but after
loading it the "Synchronous Abort" handler activated and the chromeboot would
reboot.
Since libreboot/uboot has a 2 second pause at the beginning to stop autoboot if
desired I paused autoboot and it dropped me to the uboot command line. Per the
suggestion from alpernebbi on libreboot IRC I looked for the grub EFI image on
the micro sdcard and started that up instead. Below are the series of uboot
commands I used to understand the media and partition structure. Device 1 is
the micro sdcard slot, and in this case the efi partition is 2.
Since nongenuineboot/uboot has a 2 second pause at the beginning to stop autoboot if
desired I paused autoboot and it dropped me to the uboot command line. Look for
the grub EFI image on the micro sdcard and started that up instead. Below are
the series of uboot commands I used to understand the media and partition
structure. Device 1 is the micro sdcard slot, and in this case the efi
partition is 2.
```
Hit any key to stop autoboot: 0
@ -102,12 +102,12 @@ everything was in text mode and easy to read. The "Graphical install" worked
also, however the screen resolution was so high that all the text and buttons
were quite small on the display and harder to read.
![](https://av.libreboot.org/xe513c24/debbook-grub.jpg)
![](https://avgnu.vimuser.org/xe513c24/debbook-grub.jpg)
At this point the installation proceeded normally.
![](https://av.libreboot.org/xe513c24/debbook-lang.jpg)
![](https://av.libreboot.org/xe513c24/debbook-packages.jpg)
![](https://avgnu.vimuser.org/xe513c24/debbook-lang.jpg)
![](https://avgnu.vimuser.org/xe513c24/debbook-packages.jpg)
Note that you will see a message during install asking whether you want to
search for non-free firmware. My experience was that the system would use
@ -115,11 +115,11 @@ non-free firmware regardless what I selected in that dialogue. The system was
able to connect wirelessly to the internet and download packages and updates as
needed.
![](https://av.libreboot.org/xe513c24/debbook-nonfree.jpg)
![](https://avgnu.vimuser.org/xe513c24/debbook-nonfree.jpg)
Some users have mentioned experiencing corruption of the first partition after
installing Debian Bookworm on a Libreboot / uboot xe513c24 system. This is
possibly due to the experimental nature of the libreboot / uboot system at this
installing Debian Bookworm on a nonGeNUine Boot / uboot xe513c24 system. This is
possibly due to the experimental nature of the nongenuineboot / uboot system at this
time.
One potential workaround is to leave some unused space at the beginning of the
@ -163,8 +163,8 @@ grub though, so you may need to repeat this as a workaround for now.
Below are a couple screen shots of the installed system running from the
internal emmc.
![](https://av.libreboot.org/xe513c24/debbook-desktop.jpg)
![](https://av.libreboot.org/xe513c24/debbook-firefox.jpg)
![](https://avgnu.vimuser.org/xe513c24/debbook-desktop.jpg)
![](https://avgnu.vimuser.org/xe513c24/debbook-firefox.jpg)
System Functionality
====================
@ -176,7 +176,7 @@ Things that work:
* Touchpad
* Audio (Speakers and headphone jack)
* Volume buttons on side of laptop.
* Graphics (the open source panfrost driver is impressive)
* Graphics (the free software panfrost driver is impressive)
* Playing videos
Things that do not work:

View File

@ -6,9 +6,9 @@ x-toc-enable: true
System Configuration
====================
Hardware: Samsung Chromebook Plus XE513C24 (gru_kevin)
Hardware: Samsung Chromebook Plus XE513C24 (gru\_kevin)
Libreboot: 2023-04-23
Tested on Libreboot 20230423 (nonGeNUine Boot is a fork of Libreboot)
Operating System: OpenBSD 7.3
@ -19,7 +19,7 @@ Follow the OpenBSD arm64 installation instructions in the link below:
https://ftp.openbsd.org/pub/OpenBSD/snapshots/arm64/INSTALL.arm64
Write the install73.img file to a micro sdcard. Replace "sdcard_device" below
Write the install73.img file to a micro sdcard. Replace `sdcard_device` below
with the appropriate device path on your system.
```
# dd if=install73.img of=/dev/sdcard_device bs=1M status=progress; sync
@ -41,4 +41,4 @@ indicating an error opening random.seed but continued to load the OpenBSD
kernel. Unfortunately the system then froze indefinitely. See screen shot
below.
![](https://av.libreboot.org/xe513c24/openbsd-attempt.jpg)
![](https://avgnu.vimuser.org/xe513c24/openbsd-attempt.jpg)

View File

@ -3,148 +3,99 @@ title: Downloads
x-toc-enable: true
...
Introduction
============
New releases are announced in the [main news section](news/).
If you're more interested in libreboot development, go to the
[libreboot development page](../git.md), which also includes links to the
If you're more interested in nonGeNUine Boot development, go to the
[nonGeNUine Boot development page](../git.md), which also includes links to the
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/).
nonGeNUine Boot is put together, and how to maintain it. If you wish to build
nonGeNUine Boot from source, [read this page](docs/build/).
non**G**e**NU**ine Boot 20230717 release
---------------------------------------------
The latest non-**G**e**NU**ine firmware can be found here, originally released
on 17 July 2023 as *unofficial* GNU Boot 20230717, but re-branded on [21
July 2021](news/nongenuineboot20230717.html#update-21-july-2023) to *nonGeNUine
Boot*:
**<https://av.vimuser.org/notgnuboot/20230717/>**
**Please read the [nonGeNUine Boot 20230717 release
announcement](news/nongenuineboot20230717.md)**
*This non-**G**e**NU**ine release is proposed to the GNU project, for use in
the GNU Boot releases, but it is not officially sanctioned. It was created
by Leah Rowe, leader of the [Libreboot project](https://libreboot.org), based
directly upon the [Libreboot 20230625
release](https://libreboot.org/news/libreboot20230625.html) of 25 June 2023;
the intent is to help GNU Boot reach parity with current Libreboot releases,
so that the two projects can begin to operate in sync (while GNU Boot continues
to exclude parts of Libreboot that it finds unacceptable); as of
July 16th, 2023, GNU Boot was struggling to get up to speed with Libreboot, so
it was decided that the Libreboot project itself would help GNU Boot in
whatever way it can.*
On that day, GNU Boot's code repository was still based on Libreboot from
late 2022, and its website repository was mostly based upon Libreboot from
late 2021. *This* mock nonGeNUine Boot website and release, though unofficial, *is*
validly adherent to GNU Boot policy, and *is* real. You can *use it*, today.
*nonGeNUine* Boot policy adheres to the [GNU Free System Distribution
Guidelines (GNU FSDG)](https://www.gnu.org/distros/free-system-distribution-guidelines.en.html),
whereas Libreboot adheres to the [Binary Blob Reduction
Policy](https://libreboot.org/news/policy.html), and that is the reason GNU
wanted to fork Libreboot. We in Libreboot do not agree with the GNU Boot
project, especially since Libreboot already still provides blob-free
configurations when possible, on any given mainboard, but no-blob configuration
is still the preferred configuration when possible, in Libreboot. Indeed, this
nonGeNUine Boot release adds several new mainboards that the real GNU Boot can make
use of (Dell Latitude E6400 and 2 RK3399 chromebooks).
GPG signing key
---------------
**The latest *censored* release is Libreboot c20230710, under the `censored` directory.**
**The latest *official* release is TBD.**
### NEW KEY
**NOTE: The signing key below is used by Libreboot, and was used to
sign the unofficial nonGeNUine Boot 20230717 release, linked above.**
Full key fingerprint: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856`
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:
This key is for Libreboot 20160907, and releases older than 20160907:
Full key fingerprint: CDC9 CAE3 2CB4 B7FC 84FD C804 969A 9795 05E8 C5B2
The GPG key can also be downloaded with this exported dump of the
pubkey: [lbkeyold.asc](lbkeyold.asc).
sha512sum -c sha512sum.txt
gpg --verify sha512sum.txt.sig
nonGeNUine Boot releases are signed using GnuPG.
Git repository
--------------
Links to regular release archives are listed on this page.
However, for the absolute most bleeding edge up-to-date version of Libreboot,
However, for the absolute most bleeding edge up-to-date version of nonGeNUine Boot,
there is a Git repository that you can download from. Go here:
[How to download Libreboot from Git](git.md)
[How to download nonGeNUine Boot from Git](git.md)
HTTPS mirrors {#https}
-------------
**The latest *censored* release is Libreboot c20230710, under the `censored` directory.**
**The latest *official* release is TBD.**
These mirrors are recommended, since they use TLS (https://) encryption.
You can download Libreboot from these mirrors:
* <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)
* <https://mirror.mangohost.net/libreboot/> (mangohost.net, Moldova)
**NO MIRRORS YET. GNU will no doubt use its FTP infrastructure for this.**
RSYNC mirrors {#rsync}
-------------
The following rsync mirrors are available publicly:
* <rsync://rsync.mirrorservice.org/libreboot.org/release/> (University of Kent,
UK)
* <rsync://mirror.math.princeton.edu/pub/libreboot/> (Princeton university, USA)
* <rsync://rsync.shapovalov.tech/libreboot/> (shapovalov.tech, Ukraine)
* <rsync://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)
* <rsync://mirror.mangohost.net/libreboot/> (mangohost.net, Moldova)
Are you running a mirror? Contact the libreboot project, and the link will be
added to this page!
You can make your rsync mirror available via your web server, and also configure
your *own* mirror to be accessible via rsync. There are many resources online
that show you how to set up an rsync server.
How to create your own rsync mirror:
Useful for mirroring Libreboot's entire set of release archives. You can put
an rsync command into crontab and pull the files into a directory on your
web server.
If you are going to mirror the entire set, it is recommended that you allocate
at least 25GiB. Libreboot's rsync is currently about 12GiB, so allocating 25GiB
will afford you plenty of space for the future. At minimum, you should ensure
that at least 15-20GiB of space is available, for your Libreboot mirror.
*It is highly recommended that you use the libreboot.org mirror*, if you wish
to host an official mirror. Otherwise, if you simply want to create your own
local mirror, you should use one of the other mirrors, which sync from
libreboot.org.
Before you create the mirror, make a directory on your web server. For
example:
mkdir /var/www/html/libreboot/
Now you can run rsync, for instance:
rsync -avz --delete-after rsync://rsync.libreboot.org/mirrormirror/ /var/www/html/libreboot/
You might put this in an hourly crontab. For example:
crontab -e
Then in crontab, add this line and save/exit (hourly crontab):
0 * * * * rsync -avz --delete-after rsync://rsync.libreboot.org/mirrormirror/ /var/www/html/libreboot/
**It's extremely important to have the final forward slash (/) at the end of each path,
in the above rsync command. Otherwise, rsync will behave very strangely.**
**NOTE: `rsync.libreboot.org` is not directly accessible by the public, except
those whose IPs are whitelisted. For bandwidth reasons, the firewall running
on libreboot.org blocks incoming rsync requests, except by specific IPs.**
**If you wish to run an rsync mirror, sync from one of the third party mirrors
above and set up your mirror. You can then contact Leah Rowe, to have your IP
addresses whitelisted for rsync usage - if the IP addresses match DNS A/AAAA
records for your rsync host, this can be used. A script runs in an hourly
crontab on libreboot.org, that fetches the A/AAAA records of whitelisted
rsync mirrors, automatically adding rules permitting them to get through the
firewall.**
If you wish to regularly keep your rsync mirror updated, you can add it to a
crontab. This page tells you how to use crontab:
<https://man7.org/linux/man-pages/man5/crontab.5.html>
**NO MIRRORS YET. GNU will no doubt use its FTP infrastructure for this.**
HTTP mirrors {#http}
------------
**The latest *censored* release is Libreboot c20230710, under the `censored` directory.**
**The latest *official* release is TBD.**
WARNING: these mirrors are non-HTTPS which means that they are
unencrypted. Your traffic could be subject to interference by
@ -152,38 +103,13 @@ adversaries. Make especially sure to check the GPG signatures, assuming
that you have the right key. Of course, you should do this anyway, even
if using HTTPS.
* <http://mirror.linux.ro/libreboot/> (linux.ro, Romania)
* <http://mirror.helium.in-berlin.de/libreboot/> (in-berlin.de, Germany)
**NO MIRRORS YET. GNU will no doubt use its FTP infrastructure for this.**
FTP mirrors {#ftp}
-----------
**The latest *censored* release is Libreboot c20230710, under the `censored` directory.**
**The latest *official* release is TBD.**
WARNING: FTP is also unencrypted, like HTTP. The same risks are present.
* <ftp://ftp.mirrorservice.org/sites/libreboot.org/release/> (University
of Kent, UK)
* <ftp://ftp.linux.ro/libreboot/> (linux.ro, Romania)
Statically linked
------------------
Libreboot includes statically linked executables in some releases, built from
the available source code. Those executables have certain libraries built into
them, so that the executables will work on many Linux distros.
Libreboot 20160907 was built in Trisquel Linux, version 7.0 64-bit.
Some older Libreboot releases will have been built in Trisquel 6.0.1.
To comply with GPL v2, Trisquel 6 and 7 source ISOs are supplied by the
Libreboot project. You can find these source ISOs in the `ccsource` directory
on the `rsync` mirrors.
Libreboot releases past version 20160907 do not distribute statically linked
binaries. Instead, these releases are source-only, besides pre-compiled ROM
images for which the regular Libreboot source code archives suffice. These newer
releases instead automate the installation of build dependencies, with instructions
in the documentation for building various utilities from source.
These executables are utilities such as `flashrom`.
**NO MIRRORS YET. GNU will no doubt use its FTP infrastructure for this.**

View File

@ -5,146 +5,92 @@ x-toc-enable: true
Нові випуски оголошуються в [основній секції новин](news/).
Якщо ви більше зацікавлені в розробці libreboot, пройдіть на
[сторінку розробки libreboot](../git.md), яка також включає посилання на
Якщо ви більше зацікавлені в розробці nonGeNUine Boot, пройдіть на
[сторінку розробки nonGeNUine Boot](../git.md), яка також включає посилання на
репозиторії Git. Сторінка на [/docs/maintain/](docs/maintain/) описує те, як
Libreboot складається разом, і як підтримувати його. Якщо ви бажаєте зібрати
Libreboot із джерельного кода, [прочитайте цю сторінку](docs/build/).
nonGeNUine Boot складається разом, і як підтримувати його. Якщо ви бажаєте зібрати
nonGeNUine Boot із джерельного кода, [прочитайте цю сторінку](docs/build/).
Non-**G**e**NU**ine Boot 20230717 release
---------------------------------------------
The latest non-**G**e**NU**ine firmware can be found here, originally released
on 17 July 2023:
**<https://av.vimuser.org/notgnuboot/20230717/>**
**Please read the [nonGeNUine Boot 20230717 release
announcement](news/nongenuineboot20230717.md)**
*This non-**G**e**NU**ine release is proposed to the GNU project, for use in
the GNU Boot releases, but it is not officially sanctioned. It was created
by Leah Rowe, leader of the [Libreboot project](https://libreboot.org), based
directly upon the [Libreboot 20230625
release](https://libreboot.org/news/libreboot20230625.html) of 25 June 2023;
the intent is to help GNU Boot reach parity with current Libreboot releases,
so that the two projects can begin to operate in sync (while GNU Boot continues
to exclude parts of Libreboot that it finds unacceptable); as of
July 16th, 2023, GNU Boot was struggling to get up to speed with Libreboot, so
it was decided that the Libreboot project itself would help GNU Boot in
whatever way it can.*
On that day, GNU Boot's code repository was still based on Libreboot from
late 2022, and its website repository was mostly based upon Libreboot from
late 2021. *This* mock nonGeNUine Boot website and release, though unofficial, *is*
validly adherent to GNU Boot policy, and *is* real. You can *use it*, today.
*nonGeNUine* Boot policy adheres to the [GNU Free System Distribution
Guidelines (GNU FSDG)](https://www.gnu.org/distros/free-system-distribution-guidelines.en.html),
whereas Libreboot adheres to the [Binary Blob Reduction
Policy](https://libreboot.org/news/policy.html), and that is the reason GNU
wanted to fork Libreboot. We in Libreboot do not agree with the GNU Boot
project, especially since Libreboot already still provides blob-free
configurations when possible, on any given mainboard, but no-blob configuration
is still the preferred configuration when possible, in Libreboot. Indeed, this
nonGeNUine Boot release adds several new mainboards that the real GNU Boot can make
use of (Dell Latitude E6400 and 2 RK3399 chromebooks).
Код підпису GPG
---------------
**Останнім випуском є Censored-Libreboot c20230710, в директорії `censored`.**
**The latest *official* release is TBD.**
### НОВИЙ КЛЮЧ
**NOTE: The signing key below is used by Libreboot, and was used to
sign the unofficial nonGeNUine Boot 20230717 release, linked above.**
Повний відбиток ключа: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856`
Вищезазначений ключ для Censored-Libreboot 20230710, та наступних випусків.
Завантажте ключ тут: [lbkey.asc](lbkey.asc)
Випуски Libreboot підписані з використанням GPG.
### СТАРИЙ КЛЮЧ:
Цей ключ для Libreboot 20160907 та всіх старіших випусків:
Повний відбиток ключа: CDC9 CAE3 2CB4 B7FC 84FD C804 969A 9795 05E8 C5B2
Ключ GPG також може бути завантажений разом із цим експортованим дампом
публічного ключа: [lbkeyold.asc](lbkeyold.asc).
sha512sum -c sha512sum.txt
gpg --verify sha512sum.txt.sig
Випуски nonGeNUine Boot підписані з використанням GnuPG.
Репозиторій Git
--------------
Посилання на архіви регулярних випусків зазначені на цій сторінці.
Однак, для абсолютно найновішої версії Libreboot,
Однак, для абсолютно найновішої версії nonGeNUine Boot,
існує репозиторії Git, з якого можна завантажити. Ідіть сюди:
[Як завантажити Libreboot через Git](git.md)
[Як завантажити nonGeNUine Boot через Git](git.md)
Дзеркала HTTPS {#https}
-------------
**Останнім випуском є Censored-Libreboot c20230710, в директорії `censored`.**
**The latest *official* release is TBD.**
Дані дзеркала є рекомендованими, оскільки використовують TLS (https://) шифрування.
Ви можете завантажити Libreboot через дані дзеркала:
* <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, Франція)
* <https://mirror.mangohost.net/libreboot/> (mangohost.net, Moldova)
**NO MIRRORS YET. GNU will no doubt use its FTP infrastructure for this.**
Дзеркала RSYNC {#rsync}
-------------
Наступні дзеркала rsync доступні публічно:
* <rsync://rsync.mirrorservice.org/libreboot.org/release/> (Кентський університет,
Великобританія)
* <rsync://mirror.math.princeton.edu/pub/libreboot/> (Прінстонський університет, США)
* <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, Гонконг)
* <rsync://mirror.mangohost.net/libreboot/> (mangohost.net, Moldova)
Ви підтримуєте роботу дзеркала? Зв'яжіться з проектом libreboot, і посилання буде
додано до цієї сторінки!
Ви можете зробити своє дзеркало rsync доступним через свій веб-сервер, а також налаштувати
ваше *власне* дзеркало бути доступним через rsync. Є багато онлайн-ресурсів,
які показують вам те, як налаштувати сервер rsync.
Як створити ваше власне дзеркало rsync:
Корисно для відзеркалювання повного набору архівів випусків Libreboot. Ви можете розмістити
команду rsync в crontab та витягувать файли в директорію на
вашому веб-сервері.
Якщо ви збираєтесь відзеркалювати повний набір, рекомендовано, щоб вами було виділено
хоча би 25 ГБ. Rsync Libreboot наразі приблизно 12 ГБ, таким чином виділення 25 ГБ
забезпечить вам багато місця на майбутнє. Мінімально, ви маєте переконатись, що
хоча би 15-20 ГБ простору доступно, для вашого дзеркала Libreboot.
*Настійно рекомендується, щоб ви використовували дзеркало libreboot.org*, якщо бажаєте
розміщувати офіційне дзеркало. В іншому випадку, якщо ви просто бажаєте створити своє власне
локальне дзеркало, вам варто використовувати одне з інших дзеркал, яке синхронізується з
libreboot.org.
Перед створенням дзеркала, зробіть директорію на вашому веб-сервері. Для
прикладу:
mkdir /var/www/html/libreboot/
Тепер ви можете виконувати rsync, для прикладу:
rsync -avz --delete-after rsync://rsync.libreboot.org/mirrormirror/ /var/www/html/libreboot/
Ви могли би розмістить це в щогодинний crontab. Для прикладу:
crontab -e
Потім в crontab, додайте цей рядок і збережіться/вийдіть (щогодинний crontab):
0 * * * * rsync -avz --delete-after rsync://rsync.libreboot.org/mirrormirror/ /var/www/html/libreboot/
**Це надзвичайно важливо, щоб мати в кінці косу лінію (/) в кінці кожного шляху,
в вищезазначеній команді rsync. В інакшому випадку, rsync буде поводитись дуже дивно.**
**ПОМІТКА: `rsync.libreboot.org` не є напряму доступним для громадськості, окрім
тих, чиї IP у білому списку. Через пропускну здатність, Брандмауер, який працює
на libreboot.org, блокує вхідні запити rsync, окрім окремих IP.**
**Якщо ви бажаєте запустити дзеркало rsync, синхронізуйте з одного з дзеркал третіх сторін
вище і встановіть своє дзеркало. Ви можете потім зв'язатись з Лією Роу, щоб мати ваші адреси
IP внесеним в білий список для використання rsync - якщо адреси IP відповідають DNS A/AAAA
записам для вашого хоста rsync, це може бути використано. Сценарій виконується в щогодинному
crontab на libreboot.org, який отримує A/AAAA записи внесених в білий список дзеркал
rsync, автоматично додаючи правила, які дозволяють їм проходити через
брандмауер.**
Якщо ви бажаєте регулярно тримати свої дзеркала rsync оновленими, ви можете додати це до
crontab. Ця сторінка розповідає вам, як використовувати crontab:
<https://man7.org/linux/man-pages/man5/crontab.5.html>
**NO MIRRORS YET. GNU will no doubt use its FTP infrastructure for this.**
Дзеркала HTTP {#http}
------------
**Останнім випуском є Censored-Libreboot c20230710, під директорією `censored`.**
**The latest *official* release is TBD.**
УВАГА: ці дзеркала є не-HTTPS, що означає, що вони
незашифровані. Ваш трафік може бути об'єктом втручання
@ -152,38 +98,13 @@ crontab. Ця сторінка розповідає вам, як викорис
ви маєте правильний ключ. Звісно, вам варто зробити це в будь-якому випадку, навіть
при використанні HTTPS.
* <http://mirror.linux.ro/libreboot/> (linux.ro, Румунія)
* <http://mirror.helium.in-berlin.de/libreboot/> (in-berlin.de, Німеччина)
**NO MIRRORS YET. GNU will no doubt use its FTP infrastructure for this.**
Дзеркала FTP {#ftp}
-----------
**Останнім випуском є Censored-Libreboot 20230710, під директорією `censored`.**
**The latest *official* release is TBD.**
УВАГА: FTP є також незашифрованим, подібно HTTP. Ті ж самі ризики присутні.
* <ftp://ftp.mirrorservice.org/sites/libreboot.org/release/> (Кентський
університет, Великобританія)
* <ftp://ftp.linux.ro/libreboot/> (linux.ro, Румунія)
Статично зв'язані
------------------
Libreboot включає статично зв'язані виконувані файли в деяких випусках, побудовані з
доступного джерельного кода. Ці виконувані файли мають деякі бібліотеки, вбудовані в
них, так щоб виконувані файли працювали на багатьох дистрибутивах Linux.
Libreboot 20160907 було побудовано в Trisquel Linux, версія 7.0 64-біти.
Деякі старіші випуски Libreboot буде побудовано в Trisquel 6.0.1.
Для дотримання GPL v2, Trisquel 6 та 7 джерельні ISO постачаються
проектом Libreboot. Ви можете знайти ці джерельні ISO в директорії `ccsource`
на дзеркалах `rsync`.
Попередні випуски Libreboot 20160907 не розповсюджують статично зв'язані двійкові
файли. Натомість ці випуски є лише вихідними кодами, окрім попередньо скомпільованих образів
ПЗП, для яких достатньо звичайних архівів джерельного коду Libreboot. Ці новіші
випуски натомість автоматизують встановлення залежностей побудови, з інструкцієї
в документації для побудови різних утиліт з джерельного коду.
Ці виконувані файли є утилітами, подібними `flashrom`.
**NO MIRRORS YET. GNU will no doubt use its FTP infrastructure for this.**

View File

@ -8,15 +8,15 @@ AKA Frequently Questioned Answers
Important issues
================
How to compile libreboot from source
How to compile nonGeNUine Boot from source
------------------------------------
Refer to the [lbmk build instructions](docs/build/).
Refer to the [gbmk build instructions](docs/build/).
How does the build system work?
-------------------------------
Refer to the [lbmk maintenance manual](docs/maintain/).
Refer to the [gbmk maintenance manual](docs/maintain/).
Do not use CH341A!
------------------
@ -30,7 +30,7 @@ learn more.
How Can I Help
--------------
If you have a board supported in Libreboot then please consider becoming a
If you have a board supported in nonGeNUine Boot then please consider becoming a
tester.
Testing involves minimal effort and really helps out the project.
See the [board maintainers documentation](/docs/maintain/testing.md)
@ -46,7 +46,7 @@ that has `CONFIG_STRICT_DEVMEM` and `CONFIG_IO_STRICT_DEVMEM` not enabled.
Example flashrom output with both `CONFIG_STRICT_DEVMEM` and `CONFIG_IO_STRICT_DEVMEM` enabled:
```
flashrom v0.9.9-r1955 on Linux 4.11.9-1-ARCH (x86_64)
flashrom v0.9.9-r1955 on GNU+Linux 4.11.9-1-ARCH (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
@ -71,7 +71,7 @@ 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
both on the original BIOS and in nonGeNUine Boot. It's a quirk in the
hardware. On debian systems, a workaround is to restart the networking
service when you connect the ethernet cable:
@ -91,7 +91,7 @@ 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
this in the payload (if you use a linux kernel payload, like linuxboot),
or to boot (with SeaGRUB and/or SeaBIOS) from regular SATA and then use
it in Linux. The Linux kernel is capable of using the PIKE2008
it in GNU+Linux. The GNU+Linux kernel is capable of using the PIKE2008
module without loading the option ROM.
How to save kernel panic logs on thinkpad laptops?
@ -162,11 +162,11 @@ the target (`target$`):
Hardware compatibility
======================
What systems are compatible with libreboot?
What systems are compatible with nonGeNUine Boot?
-----------------------------------------------------------------------------------
Any system can easily be added, so *compatibility* merely refers to whatever
boards are integrated in the `lbmk` build system, which libreboot uses.
boards are integrated in the `gbmk` build system, which nonGeNUine Boot uses.
Please read the [hardware compatibility list](docs/hardware/).
@ -259,7 +259,7 @@ application introduced in Q2 2013 with ME firmware version 9.0 on 4th
Generation Intel Core i3/i5/i7 (Haswell) CPUs. It allows a PC OEM to
generate an asymmetric cryptographic keypair, install the public key in
the CPU, and prevent the CPU from executing boot firmware that isn't
signed with their private key. This means that ***coreboot and libreboot
signed with their private key. This means that ***coreboot and nonGeNUine Boot
are impossible to port*** to such PCs, without the OEM's private
signing key. Note that systems assembled from separately purchased
mainboard and CPU parts are unaffected, since the vendor of the
@ -297,7 +297,7 @@ privacy that can't be ignored.
Before version 6.0 (that is, on systems from 2008/2009 and earlier), the
ME can be disabled by setting a couple of values in the SPI flash
memory. The ME firmware can then be removed entirely from the flash
memory space. The libreboot project [does this](docs/install/ich9utils.md) on
memory space. The nonGeNUine Boot project [does this](docs/install/ich9utils.md) on
the Intel 4 Series systems that it supports, such as the [ThinkPad
X200](../docs/install/x200_external.md) and [ThinkPad
T400](../docs/install/t400_external.md). ME firmware versions 6.0 and
@ -319,7 +319,7 @@ hopelessly proprietary and "tivoized".
**In summary, the Intel Management Engine and its applications are a
backdoor with total access to and control over the rest of the PC. The
ME is a threat to freedom, security, and privacy, and the libreboot
ME is a threat to freedom, security, and privacy, and the nonGeNUine Boot
project strongly recommends avoiding it entirely. Since recent versions
of it can't be removed, this means avoiding all recent generations of
Intel hardware.**
@ -393,9 +393,6 @@ most cases (they will just integrate the blobs that Intel provides).
Newer Intel graphics chipsets also [require firmware
blobs](https://01.org/linuxgraphics/intel-linux-graphics-firmwares?langredirect=1).
The `libreboot` project *does* provide some support for newer Intel platforms, but
you should be aware of these issues if you choose to run those machines.
Freedom pitfalls to consider on AMD hardware {#amd}
----------------------------------------------------------------------------
@ -440,7 +437,7 @@ machine completely outside of the user's knowledge.
Much like with the Intel Boot Guard (an application of the Intel
Management Engine), AMD's PSP can also act as a tyrant by checking
signatures on any boot firmware that you flash, making replacement boot
firmware (e.g. libreboot, coreboot) impossible on some boards. Early
firmware (e.g. nongenuineboot, coreboot) impossible on some boards. Early
anecdotal reports indicate that AMD's boot guard counterpart will be
used on most OEM hardware, disabled only on so-called "enthusiast"
CPUs.
@ -524,7 +521,7 @@ Please consult the coreboot project for guidance.
General questions
=================
How do I install libreboot?
How do I install nonGeNUine Boot?
-------------------------------------------------------
See [installation guide](docs/install/)
@ -541,7 +538,7 @@ align the pins properly. The connection is generally more sturdy.
How do I write-protect the flash chip?
----------------------------------------------------------------------------
By default, there is no write-protection on a libreboot system. This is
By default, there is no write-protection on a nonGeNUine Boot system. This is
for usability reasons, because most people do not have easy access to an
external programmer for re-flashing their firmware, or they find it
inconvenient to use an external programmer.
@ -552,7 +549,7 @@ possible, using dedicated hardware). For example, on current GM45
laptops (e.g. ThinkPad X200, T400), you can write-protect (see
[ICH9 gen utility](docs/install/ich9utils.md#ich9gen)).
It's possible to write-protect on all libreboot systems, but the instructions
It's possible to write-protect on all nonGeNUine Boot systems, but the instructions
need to be written. The documentation is in the main git repository, so you are
welcome to submit patches adding these instructions.
@ -562,17 +559,18 @@ other methods on AMD systems.
How do I change the BIOS settings?
------------------------------------------------------------------------
Most libreboot setups actually use the [GRUB
Most nonGeNUine Boot setups actually use the [GRUB
payload](http://www.coreboot.org/GRUB2). More information about payloads
can be found at
[coreboot.org/Payloads](http://www.coreboot.org/Payloads). SeaBIOS is also
available. The *CMOS* config is hardcoded in libreboot.
available. The *CMOS* config is hardcoded in nonGeNUine Boot, but you can change the
defaults via `nvramtool -C nongenuineboot.rom -w config_item=value`
The libreboot project inherits the modular payload concept from coreboot, which
Our nonGeNUine Boot project inherits the modular payload concept from coreboot, which
means that pre-OS bare-metal *BIOS setup* programs are not very
practical. Coreboot (and libreboot) does include a utility called
practical. Coreboot (and nonGeNUine Boot) does include a utility called
*nvramtool*, which can be used to change some settings. You can find
nvramtool under *coreboot/util/nvramtool/*, in the libreboot source
nvramtool under *coreboot/util/nvramtool/*, in the nonGeNUine Boot source
archives.
The *-a* option in nvramtool will list the available options, and *-w*
@ -582,7 +580,7 @@ coreboot wiki for more information.
In practise, you don't need to change any of those settings, in most
cases.
Default libreboot setups lock the CMOS table, to ensure consistent functionality
Default nonGeNUine Boot setups lock the CMOS table, to ensure consistent functionality
for all users. You can use:
nvramtool -C yourrom.rom -w somesetting=somevalue
@ -599,10 +597,10 @@ How do I pad a ROM before flashing?
It is advisable to simply use a larger ROM image. This section was written
mostly for ASUS KCMA-D8 and KGPE-D16 mainboards, where previously we only
provided 2MiB ROM images in libreboot, but we now provide 16MiB ROM images.
provided 2MiB ROM images in nonGeNUine Boot, but we now provide 16MiB ROM images.
Other sizes are not provided because in practise, someone upgrading one of
these chips will just use a 16MiB one. Larger sizes are available, but 16MiB
is the maximum that you can use on all currently supported libreboot systems
is the maximum that you can use on all currently supported nonGeNUine Boot systems
that use SPI flash.
Required for ROMs where the ROM image is smaller than the flash chip
@ -637,17 +635,17 @@ With padding removed cbfstool will be able to operate on the image as usual.
Do I need to install a bootloader when installing a distribution?
---------------------------------------------------------------------------------------------------
Most libreboot setups integrate the GRUB bootloader already, as a
Most nonGeNUine Boot setups integrate the GRUB bootloader already, as a
*[payload](http://www.coreboot.org/Payloads)*. This means that the GRUB
bootloader is actually *flashed*, as part of the boot firmware
(libreboot). This means that you do not have to install a boot loader on
(nonGeNUine Boot). This means that you do not have to install a boot loader on
the HDD or SSD, when installing a new distribution. You'll be able to
boot just fine, using the bootloader (GRUB) that is in the flash chip.
This also means that even if you remove the HDD or SSD, you'll still
have a functioning bootloader installed which could be used to boot a
live distribution installer from a USB flash drive. See
[How to install Linux on a libreboot system](../docs/linux/grub_boot_installer.md)
[Install GNU+Linux on nonGeNUine Boot](../docs/gnulinux/grub_boot_installer.md)
Nowadays, other payloads are also provided. If you're using the SeaBIOS payload,
then the normal MBR bootsector is used on your HDD or SSD, like you would
@ -656,12 +654,12 @@ expect. So the above paragraphs only apply to the GRUB payload.
Do I need to re-flash when I re-install a distribution?
-------------------------------------------------------------------------------------------
Not anymore. Recent versions of libreboot (using the GRUB payload) will
Not anymore. Recent versions of nonGeNUine Boot (using the GRUB payload) will
automatically switch to a GRUB configuration on the HDD or SSD, if it
exists. You can also load a different GRUB configuration, from any kind
of device that is supported in GRUB (such as a USB flash drive). For
more information, see
[Modifying the GRUB Configuration in libreboot Systems](../docs/linux/grub_cbfs.md)
[Modifying the GRUB configuration in nonGeNUine Boot](../docs/gnulinux/grub_cbfs.md)
If you're using the SeaBIOS payload, it's even easier. It works just like you
would expect. SeaBIOS implements a normal x86 BIOS interface.
@ -672,53 +670,7 @@ What does a flash chip look like?
You can find photos of various chip types on the following page:\
[External 25xx NOR flashing guide](docs/install/spi.md)
Inability to modprobe thinkpad\_acpi on Haswell
===============================================
This was reported by a user, running Debian 11 with
kernel `5.19.0-0.deb11.2-amd64`. The `thinkpad_acpi` module was not loading,
with the following message:
```
modprobe: ERROR: could not insert 'thinkpad_acpi': "No such device"
```
Battery info in `/sys` was absent, because of this. The user reported that
the following workaround was effective (in Debian).
Add this line to `/etc/modprobe.d/thinkpad_acpi.conf`:
```
options thinkpad_acpi force_load=1
```
tlp
---
You can install the `tlp` package and start that service. For example, on
Debian:
```
apt-get install tlp tlp-rdw
systemctl enable tlp
systemctl start tlp
```
Now read the manual:
```
man tlp-stat
```
As root, you can do:
```
tlp-stat -b
```
This will provide information about the battery.
What other firmware exists outside of libreboot?
What other firmware exists outside of nonGeNUine Boot?
==================================================
### External GPUs
@ -732,7 +684,8 @@ in a coreboot ROM image and have coreboot executes it, if you use a
different payload, such as GRUB).
The *coreboot project* provides free initialization code, on many boards, and
libreboot will use this code when it is available, depending on the configuration.
nonGeNUine Boot will use this code when it is available, depending on the
configuration.
In configurations where SeaBIOS and native GPU init are used together,
a special shim VBIOS is added that uses coreboot linear framebuffer.
@ -767,7 +720,7 @@ is transparent to the user of the drive.
HDDs and SSDs are quite complex, and these days contain quite complex
hardware which is even capable of running an entire operating system (by
this, we mean that the drive itself is capable of running its own
embedded OS), even Linux.
embedded OS), even GNU+Linux.
SSDs and HDDs are a special case, since they are persistent storage
devices as well as computers.
@ -799,11 +752,6 @@ it through the controller. This
<http://www.intel.co.uk/content/dam/www/public/us/en/documents/technical-specifications/serial-ata-ahci-spec-rev1_3.pdf>
(pages 59, 67, 94, 99).
The following is based on discussion with Peter Stuge (CareBear\\) in
the coreboot IRC channel on Friday, 18 September 2015, when
investigating whether the SATA drive itself can make use of DMA. The
following is based on the datasheets linked above:
According to those linked documents, FIS type 39h is *"DMA Activate FIS
- Device to Host"*. It mentions *"transfer of data from the host to
the device, and goes on to say: Upon receiving a DMA Activate, if the
@ -854,8 +802,8 @@ Other links:
It is recommended that you use full disk encryption, on HDDs connected
via USB. There are several adapters available online, that allow you to
connect SATA HDDs via USB, and Libreboot is capable of booting from them the
normal way. Consult the documentation for your Linux/BSD operating system, so
connect SATA HDDs via USB, and nonGeNUine Boot is capable of booting from them the
normal way. Consult the documentation for your GNU+Linux/BSD operating system, so
that you can know how to install it with *full disk encryption*.
The current theory (unproven) is that this will at least prevent
@ -893,7 +841,7 @@ workaround.
Webcams have firmware integrated into them that process the image input
into the camera; adjusting focus, white balancing and so on. Can use USB
webcam hardware, to work around potential DMA issues; integrated webcams
(on laptops, for instance) are discouraged by the libreboot project, for
(on laptops, for instance) are discouraged by the nonGeNUine Boot project, for
security reasons.
### USB host controller
@ -918,7 +866,7 @@ by the GSM network, by triangulating the signal).
On some laptops, these cards use USB (internally), so won't have DMA,
but it's still a massive freedom and privacy issue. If you have an
internal WWAN chip/card, the libreboot project recommends that you
internal WWAN chip/card, the nonGeNUine Boot project recommends that you
disable and (ideally, if possible) physically remove the hardware. If
you absolutely must use this technology, an external USB dongle is much
better because it can be easily removed when you don't need it, thereby
@ -930,12 +878,12 @@ as these are generally much safer.
Operating Systems
=================
Can I use Linux?
Can I use GNU+Linux?
--------------------------------------------------
Absolutely! It is well-tested in libreboot, and highly recommended. See
[installing Linux](../docs/linux/grub_boot_installer.md) and
[booting Linux](../docs/linux/grub_cbfs.md).
Absolutely! It is well-tested in nonGeNUine Boot, and highly recommended. See
[installing GNU+Linux](../docs/gnulinux/grub_boot_installer.md) and
[booting GNU+Linux](../docs/gnulinux/grub_cbfs.md).
Any recent distribution should work, as long as it uses KMS (kernel mode
setting) for the graphics.
@ -945,12 +893,12 @@ Fedora won't boot? (may also be applicable to Redhat/CentOS)
On Fedora, by default the grub.cfg tries to boot linux in 16-bit mode. You
just have to modify Fedora's GRUB configuration.
Refer to [the Linux page](docs/linux/).
Refer to [the GNU+Linux page](docs/gnulinux/).
Can I use BSD?
----------------------------------
Absolutely! The libreboot firmware has good support for FreeBSD, NetBSD and
Absolutely! The nonGeNUine Boot firmware has good support for FreeBSD, NetBSD and
OpenBSD. Other systems are untested, but should work just fine.
See:
@ -961,17 +909,17 @@ Are other operating systems compatible?
Unknown. Perhaps so, but it's impossible to say without further testing.
What level of software freedom does libreboot give me?
What level of software freedom does nonGeNUine Boot give me?
===================================================
The libreboot firmware provides host hardware initialisation inside ROM files,
nonGeNUine Boot firmware provides host hardware initialisation inside ROM files,
that can be written to NOR flash, but on many systems there exist
a lot more small computers on the mainboard running blob firmware.
Some of them are not practicable to replace due to being located on Mask ROM.
Most laptops have EC (Embedded Controller) firmware, for example.
Besides software itself (embedded in ROM or not), most hardware
(from ICs to circuit boards) are not released under open source licenses.
(from ICs to circuit boards) are not released under free software licenses.
We do not have a single device that can be considered be "100% free",
and such absolutes are nearly impossible to reach.

View File

@ -8,15 +8,15 @@ x-toc-enable: true
Важливі питання
================
Як скомпілювати libreboot з джерельного коду
Як скомпілювати nonGeNUine Boot з джерельного коду
------------------------------------
Зверніться до [інструкцій зі збірки lbmk](docs/build/).
Зверніться до [інструкцій зі збірки gbmk](docs/build/).
Як працює система збірки?
-------------------------------
Зверніться до [посібника з обслуговування lbmk](docs/maintain/).
Зверніться до [посібника з обслуговування gbmk](docs/maintain/).
Не використовуйте CH341A!
------------------
@ -37,7 +37,7 @@ Flashrom скаржиться на доступ DEVMEM
Приклад виводу flashrom з обома `CONFIG_STRICT_DEVMEM` та `CONFIG_IO_STRICT_DEVMEM` ввімкненими:
```
flashrom v0.9.9-r1955 on Linux 4.11.9-1-ARCH (x86_64)
flashrom v0.9.9-r1955 on GNU+Linux 4.11.9-1-ARCH (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
@ -62,7 +62,7 @@ Ethernet не працює на моєму X200/T400/X60/T60, коли я йог
-------------------------------------------------------------------
Це спостерігалося в деяких системах, які використовують network-manager. Таке буває
як в оригінальному BIOS, так і в libreboot. Це примха в
як в оригінальному BIOS, так і в nonGeNUine Boot. Це примха в
обладнанні. У системах debian обхідним шляхом є перезапуск сервіса
мережі, коли ви підключаєте кабель ethernet:
@ -82,7 +82,7 @@ Ethernet не працює на моєму X200/T400/X60/T60, коли я йог
або KGPE-D16 викликає зависання системи під час завантаження. Можна використовувати
це в корисному навантаженні (якщо ви використовуєте корисне навантаження ядра linux, таке як linuxboot),
або завантажитись (з SeaGRUB та/або SeaBIOS) зі звичайного SATA, а потім використовувати
це в Linux. Ядро Linux здатне використовувати PIKE2008
це в GNU+Linux. Ядро GNU+Linux здатне використовувати PIKE2008
модуль без завантаження Option ROM.
Як зберегти журнали паніки ядра на ноутбуках Thinkpad?
@ -153,11 +153,11 @@ Ethernet не працює на моєму X200/T400/X60/T60, коли я йог
Апаратна сумісність
======================
Які системи сумісні з libreboot?
Які системи сумісні з nonGeNUine Boot?
-----------------------------------------------------------------------------------
Будь-яку систему можна легко додати, тому *сумісність* посилається до будь-якої
інтегрованої до системи побудови `lbmk` плати, яку libreboot використовує.
інтегрованої до системи побудови `gbmk` плати, яку nonGeNUine Boot використовує.
Прочитайте [список сумісного обладнання](docs/hardware/).
@ -250,7 +250,7 @@ Platform Module (TPM), Intel Boot Guard, аудіо та відео DRM
поколінні процесорів Intel Core i3/i5/i7 (Haswell). Це дозволяє виробникам комплектного обладнання для ПК
згенерувати асиметричну криптографічну пару ключів, встановити публічний ключ
в ЦП і запобігти ЦП від запуску завантажувальної мікропрограми, яка не підписана
з їх приватним ключем. Це означає, що ***coreboot та libreboot
з їх приватним ключем. Це означає, що ***coreboot та nonGeNUine Boot
неможливо перенести*** на такі ПК, без приватного ключа підпису
OEM. Зверніть увагу, що системи, зібрані з придбаних окремо материнської плати
та ЦП залишаються незмінними, оскільки постачальник материнської
@ -288,7 +288,7 @@ Intel Management Engine із власною мікропрограмою маю
До версії 6.0 (тобто в системах 2008/2009 і раніше),
ME можна вимкнути, встановивши пару значень у флеш-пам'яті SPI.
Прошивку ME потім можна повністю видалити з простору флеш-
пам'яті. Проект libreboot [робить це](docs/install/ich9utils.md) на
пам'яті. Проект nonGeNUine Boot [робить це](docs/install/ich9utils.md) на
системах Intel серії 4, які він підтримує, наприклад [ThinkPad
X200](../docs/install/x200_external.uk.md) та [ThinkPad
T400](../docs/install/t400_external.md). Прошивка ME версії 6.0 та
@ -310,7 +310,7 @@ PCH, включає мікропрограму "ME Ignition", яка викон
**Підсумовуючи, Intel Management Engine і його програми є
лазівкою з повним доступом до та контролем над рештою ПК.
ME є загрозою свободі, безпеці та конфіденційності, і проект libreboot
ME є загрозою свободі, безпеці та конфіденційності, і проект nonGeNUine Boot
наполегливо рекомендує повністю уникати цього. З останніх версій
його не можна видалити, це означає уникати всіх останніх поколінь обладнання
Intel.**
@ -384,7 +384,7 @@ Revealed (Розкрито вбудовану технологію безпек
Новіші графічні чіпсети Intel [вимагають блобів
прошивки](https://01.org/linuxgraphics/intel-linux-graphics-firmwares?langredirect=1).
Проект `libreboot` *надає* деяку підтримку для новіших платформ Intel, але
Проект nonGeNUine Boot *надає* деяку підтримку для новіших платформ Intel, але
вам варто знати про ці проблемні питання, якщо ви вибираєте використовувати ці машини.
Підводні камені свободи, які слід враховувати на апаратному забезпеченні AMD {#amd}
@ -431,7 +431,7 @@ PSP теоретично має доступ до всього простору
Подібно до Intel Boot Guard (додаток Intel
Management Engine), PSP від AMD також може діяти як тиран, перевіряючи
підписи будь-якої завантажувальної мікропрограми, яку ви прошиваєте, унеможливлюючи заміну
завантажувальної мікропрограми (наприклад, libreboot, coreboot) на деяких платах. Ранні
завантажувальної мікропрограми (наприклад, nongenuineboot, coreboot) на деяких платах. Ранні
неофіційні повідомлення свідчать про те, що аналог AMD boot guard буде використовуватися
на більшості апаратного забезпечення OEM, відключений лише на так званих процесорах
"ентузіастів".
@ -515,7 +515,7 @@ Family 15h (на стороні AMD) або будь-яке інше, випущ
Загальні питання
=================
Як встановити libreboot?
Як встановити nonGeNUine Boot?
-------------------------------------------------------
Подивіться [посібник з встановлення](docs/install/)
@ -532,7 +532,7 @@ Family 15h (на стороні AMD) або будь-яке інше, випущ
Як захистити флеш-чіп від запису?
----------------------------------------------------------------------------
За замовчуванням немає захисту від запису на системі libreboot. Це
За замовчуванням немає захисту від запису на системі nonGeNUine Boot. Це
з міркувань зручності використання, оскільки більшість людей не мають легкого доступу до зовнішнього
програматора для перепрошивання їх мікропрограми, або вони знаходять
незручним використання зовнішнього програматора.
@ -543,7 +543,7 @@ Family 15h (на стороні AMD) або будь-яке інше, випущ
(таких як, ThinkPad X200, T400) можна захистити від запису (див.
[утиліту ICH9 gen](docs/install/ich9utils.md#ich9gen)).
Захист від запису можна встановити на всіх системах libreboot, але інструкції
Захист від запису можна встановити на всіх системах nonGeNUine Boot, але інструкції
потрібно написати. Документація знаходиться в основному репозиторії git, тому ви можете
надсилати виправлення, додаючи ці інструкції.
@ -553,18 +553,18 @@ Family 15h (на стороні AMD) або будь-яке інше, випущ
Як змінити налаштування BIOS?
------------------------------------------------------------------------
Більшість налаштувань libreboot насправді використовує [корисне навантаження
Більшість налаштувань nonGeNUine Boot насправді використовує [корисне навантаження
GRUB](http://www.coreboot.org/GRUB2). Більше інформації про корисні навантаження
може бути знайдено на
[coreboot.org/Payloads](http://www.coreboot.org/Payloads). SeaBIOS також
доступний. Конфігурацію *CMOS* жорстко закодовано в libreboot.
доступний. Конфігурацію *CMOS* жорстко закодовано в nonGeNUine Boot.
Проект libreboot успадковує модульну концепцію корисного навантаження від coreboot, що
Проект nonGeNUine Boot успадковує модульну концепцію корисного навантаження від coreboot, що
означає, що програми *налаштування BIOS* не дуже
практичні. Coreboot (та libreboot) включає утиліту, названу
практичні. Coreboot (та nonGeNUine Boot) включає утиліту, названу
*nvramtool*, яка може бути використана для зміни деяких налаштувань. Ви можете знайти
nvramtool у *coreboot/util/nvramtool/*, в архівах джерельного коду
libreboot.
nonGeNUine Boot.
Параметр *-a* у nvramtool покаже список доступних параметрів, і *-w*
може бути використано для їх зміни. Зверніться до документації nvramtool на
@ -573,7 +573,7 @@ coreboot вікі для більшої інформації.
На практиці, у більшості випадків, вам не потрібно змінювати жодні з цих
налаштувань.
Налаштування libreboot за замовчуванням блокують таблицю CMOS, щоб забезпечити узгоджену функціональність
Налаштування nonGeNUine Boot за замовчуванням блокують таблицю CMOS, щоб забезпечити узгоджену функціональність
для всіх користувачів. Ви можете використовувати:
nvramtool -C вашаROM.rom -w деякеналаштування=деякезначення
@ -590,10 +590,10 @@ coreboot вікі для більшої інформації.
Бажано просто використовувати більший образ ROM. Цей розділ був написаний здебільшого для
материнських плат ASUS KCMA-D8 та KGPE-D16, де раніше ми надавали
тільки образи ROM розміром 2 MБ у libreboot, але тепер ми надаємо образи ROM розміром 16 МБ.
тільки образи ROM розміром 2 MБ у nonGeNUine Boot, але тепер ми надаємо образи ROM розміром 16 МБ.
Інші розміри не надаються, оскільки на практиці хтось, оновлюючи один із
цих чіпів, використовуватиме лише 16 МБ. Доступні більші розміри, але 16 МБ
це максимум, який ви можете використати на всіх підтримуваних системах libreboot, які
це максимум, який ви можете використати на всіх підтримуваних системах nonGeNUine Boot, які
використовують флеш-пам'ять SPI.
Необхідно для ROM, де образ ROM менший за флеш-чіп
@ -628,17 +628,17 @@ ROM та флеш-чіпом. Випадок вище, наприклад:
Чи потрібно встановлювати завантажувач під час встановлення дистрибутива?
---------------------------------------------------------------------------------------------------
Більшість налаштувань libreboot уже інтегрують завантажувач GRUB як
Більшість налаштувань nonGeNUine Boot уже інтегрують завантажувач GRUB як
*[корисне навантаження](http://www.coreboot.org/Payloads)*. Це означає, що завантажувач GRUB
фактично *прошивається* як частина завантажувальної прошивки
(libreboot). Це означає, що вам не потрібно встановлювати завантажувач на
(nonGeNUine Boot). Це означає, що вам не потрібно встановлювати завантажувач на
HDD або SSD під час встановлення нового дистрибутива. Ви зможете нормально завантажитися,
використовуючи завантажувач (GRUB), який знаходиться у мікросхемі флеш-пам'яті.
Це означає, що навіть якщо ви виймете жорсткий диск або твердотільний накопичувач, у вас всеодно
буде встановлено функціонуючий завантажувач, який можна використовувати для завантаження програми
встановлення дистрибутива з флеш-пам'яті USB. Див.
[Як інсталювати Linux у системі libreboot](../docs/linux/grub_boot_installer.md)
[Як інсталювати GNU+Linux у системі nonGeNUine Boot](../docs/gnulinux/grub_boot_installer.md)
В даний час також передбачені інші корисні навантаження. Якщо ви використовуєте корисне навантаження SeaBIOS,
тоді на вашому HDD або SSD використовується звичайний завантажувальний сектор MBR, як і слід було
@ -647,12 +647,12 @@ HDD або SSD під час встановлення нового дистри
Чи потрібно мені перепрошивати, коли я перевстановлю дистрибутив?
-------------------------------------------------------------------------------------------
Більше ні. Останні версії libreboot (з використанням корисного навантаження GRUB)
Більше ні. Останні версії nonGeNUine Boot (з використанням корисного навантаження GRUB)
автоматично переключатимуться на конфігурацію GRUB на HDD або SSD, якщо
існує. Ви також можете завантажити іншу конфігурацію GRUB з будь-якого пристрою, який підтримується
GRUB (наприклад, флеш-накопичувач USB). Для
більшої інформації див.
[Змінення конфігурації GRUB в системах libreboot](../docs/linux/grub_cbfs.md)
[Змінення конфігурації GRUB в системах nonGeNUine Boot](../docs/gnulinux/grub_cbfs.md)
Якщо ви використовуєте корисне навантаження SeaBIOS, це ще простіше. Це працює так, як ви
очікували. SeaBIOS реалізує звичайний інтерфейс x86 BIOS.
@ -663,53 +663,7 @@ GRUB (наприклад, флеш-накопичувач USB). Для
Ви можете знайти фотографії різних видів чипів на наступній сторінці:\
[Керівництво зовнішньої прошивки 25xx NOR](docs/install/spi.md)
Неможливість виконати modprobe thinkpad\_acpi на Haswell
===============================================
Про це повідомив користувач, який використовує Debian 11 з
ядром `5.19.0-0.deb11.2-amd64`. Модуль `thinkpad_acpi` не завантажувався
з таким повідомленням:
```
modprobe: ERROR: could not insert 'thinkpad_acpi': "No such device"
```
Інформація про батарею в `/sys` була відсутньою, по цій причині. Користувач повідомив, що
наступний обхідний шлях був ефективним (в Debian).
Додайте цей рядок до `/etc/modprobe.d/thinkpad_acpi.conf`:
```
options thinkpad_acpi force_load=1
```
tlp
---
Ви можете встановити пакет `tlp` та розпочати той сервіс. Наприклад, на
Debian:
```
apt-get install tlp tlp-rdw
systemctl enable tlp
systemctl start tlp
```
Тепер прочитайте документацію:
```
man tlp-stat
```
Від імені root, ви можете зробити:
```
tlp-stat -b
```
Це надасть інформацію про батарею.
Яке ще мікропрограмне забезпечення існує за межами libreboot?
Яке ще мікропрограмне забезпечення існує за межами nonGeNUine Boot?
==================================================
### Зовнішні графічні карти
@ -723,7 +677,7 @@ VBIOS (спеціальний вид OptionROM) зазвичай вбудова
інше корисне навантаження, таке як GRUB).
*Проект coreboot* надає вільний код ініціалізації, на багатьох платах, і
libreboot буде використовувати цей код, коли він наявний, в залежності від конфігурації.
nonGeNUine Boot буде використовувати цей код, коли він наявний, в залежності від конфігурації.
В конфігураціях, де SeaBIOS і власна ініціалізація GPU використовуються разом,
додається спеціальна прокладка VBIOS, яка використовує лінійний кадровий буфер coreboot.
@ -758,7 +712,7 @@ AHCI/SATA), який програмне забезпечення ОС може
Жорсткі диски та твердотільні накопичувачі є досить складними, і сьогодні містять досить складне
обладнання, яке навіть здатне запускати цілу операційну систему (під цим ми маємо
на увазі, що сам диск здатний запускати свою власну вбудовану ОС), навіть
Linux або BusyBox/Linux.
GNU+Linux або BusyBox/GNU+Linux.
SSD та HDD є особливим випадком, оскільки вони є постійними пристроями зберігання,
а також комп'ютерами.
@ -790,11 +744,6 @@ SSD проект
<http://www.intel.co.uk/content/dam/www/public/us/en/documents/technical-specifications/serial-ata-ahci-spec-rev1_3.pdf>
(сторінки 59, 67, 94, 99).
Наступне засновано на дискусії з Пітером Стьюджем (CareBear\\) в
каналі IRC coreboot в п'ятницу, 18 вересня 2015 року, під час
дослідження того, чи може сам диск SATA використовувати DMA. Наступне
базується на таблицях даних, посилання на які наведено вище:
Згідно з цими приведеними документами, тип FIS 39h - це *"DMA Activate FIS
- Device to Host"*. У ньому згадується *"передача даних від хоста до
пристрою, і далі сказано: після отримання DMA Activate,
@ -844,8 +793,8 @@ USB 3.0, який ще не можна використовувати в сво
Рекомендовано використовувати повне шифрування диска на жорстких дисках,
підключених через USB. У мережі є кілька адаптерів, які дозволяють підключати жорсткі диски
SATA через USB, і проект Libreboot здатний завантажуватись з них
звичайним чином. Проконсультуйтесь з документацією для вашої операційної системи Linux/BSD,
SATA через USB, і проект nonGeNUine Boot здатний завантажуватись з них
звичайним чином. Проконсультуйтесь з документацією для вашої операційної системи GNU+Linux/BSD,
щоб знати те, як встановити їх з *повнодисковим шифруванням*:
@ -884,7 +833,7 @@ SATA через USB, і проект Libreboot здатний завантажу
Веб-камери мають вбудоване програмне забезпечення, яке обробляє зображення, що вводиться
в камеру; налаштування фокуса, балансу білого тощо. Можна використовувати апаратне забезпечення
веб-камери USB, щоб вирішити можливі проблеми DMA; інтегровані веб-камери
(наприклад, на ноутбуках) не рекомендовані проектом libreboot з
(наприклад, на ноутбуках) не рекомендовані проектом nonGeNUine Boot з
міркувань безпеки.
### Хост-контролер USB
@ -909,7 +858,7 @@ WWAN, підключення до мережі 3g/4g (наприклад, GSM).
На деяких ноутбуках ці карти використовують USB (внутрішньо), тому не матимуть DMA,
але це все одно є великою проблемою свободи та конфіденційності. Якщо у вас є
внутрішній чіп/карта WWAN, проект libreboot рекомендує вимкнути та
внутрішній чіп/карта WWAN, проект nonGeNUine Boot рекомендує вимкнути та
(в ідеалі, якщо можливо) фізично видалити апаратне забезпечення. Якщо вам абсолютно
необхідно використовувати цю технологію, зовнішній USB-адаптер набагато
кращий, оскільки його можна легко вийняти, коли він вам не потрібен, тим самим
@ -921,12 +870,12 @@ WWAN, підключення до мережі 3g/4g (наприклад, GSM).
Операційні системи
=================
Чи я можу використовувати Linux?
Чи я можу використовувати GNU+Linux?
--------------------------------------------------
Абсолютно! Він добре перевірений в libreboot, та дуже рекомендований. Подивіться
[встановлення Linux](../docs/linux/grub_boot_installer.md) та
[запуск Linux](../docs/linux/grub_cbfs.md).
Абсолютно! Він добре перевірений в nonGeNUine Boot, та дуже рекомендований. Подивіться
[встановлення GNU+Linux](../docs/gnulinux/grub_boot_installer.md) та
[запуск GNU+Linux](../docs/gnulinux/grub_cbfs.md).
Будь-який сучасний дистрибутив має працювати, допоки він використовує KMS (kernel mode
setting) для графіки.
@ -936,12 +885,12 @@ Fedora не завантажується? (також може бути заст
У Fedora типово grub.cfg намагається завантажити linux в 16-розрядному режимі.
Вам просто потрібно змінити конфігурацію GRUB Fedora.
Зверніться до [сторінки Linux](docs/linux/).
Зверніться до [сторінки GNU+Linux](docs/gnulinux/).
Чи я можу використовувати BSD?
----------------------------------
Абсолютно! Прошивка libreboot має добру підтримку для FreeBSD, NetBSD та
Абсолютно! Прошивка nonGeNUine Boot має добру підтримку для FreeBSD, NetBSD та
OpenBSD. Інші системи не перевірені, але мають працювти нормально.
Дивіться:
@ -952,10 +901,10 @@ OpenBSD. Інші системи не перевірені, але мають п
Невідомо. Можливо, але неможливо сказати без подальшого випробовування.
Який рівень програмної свободи дає мені libreboot?
Який рівень програмної свободи дає мені nonGeNUine Boot?
===================================================
Прошивка libreboot надає ініціалізацію апаратного забезпечення хоста всередині файлів ROM,
Прошивка nonGeNUine Boot надає ініціалізацію апаратного забезпечення хоста всередині файлів ROM,
що може бути записано на флеш NOR, але на багатьох системах існує
набагато більше маленьких комп'ютерів на материнській платі, виконуючих двійкові прошивки.
Деякі з них неможливо замінити через те, що вони розташовані на Mask ROM.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -2,7 +2,7 @@
-------------------------------------------------------------------------------
* [Diese Seite bearbeiten](/git.de.md)
* [Wer entwickelt Libreboot?](/who.de.md)
* [Wer entwickelt nonGeNUine Boot?](/who.md)
* [Lizenz](/license.md)
* [Vorlage](/template-license.md)
* [Logo](/logo-license.md)

View File

@ -2,7 +2,7 @@
-------------------------------------------------------------------------------
* [Edit this page](/git.md)
* [Who develops Libreboot?](/who.md)
* [Who develops nonGeNUine Boot?](/who.md)
* [License](/license.md)
* [Template](/template-license.md)
* [Logo](/logo-license.md)

View File

@ -2,11 +2,11 @@
-------------------------------------------------------------------------------
* [Редагувати цю сторінку](/git.md)
* [Хто розробляє Libreboot?](/who.uk.md)
* [Хто розробляє nonGeNUine Boot?](/who.md)
* [Ліцензія](/license.md)
* [Шаблон](/template-license.uk.md)
* [Логотип](/logo-license.uk.md)
* [Автори](/contrib.uk.md)
* [Логотип](/logo-license.md)
* [Автори](/contrib.md)
-------------------------------------------------------------------------------

View File

@ -2,7 +2,7 @@
-------------------------------------------------------------------------------
* [编辑本页面](/git.md)
* [谁在开发 Libreboot?](/who.md)
* [谁在开发 nonGeNUine Boot?](/who.md)
* [许可证](/license.md)
* [模板](/template-license.md)
* [图标](/logo-license.md)

View File

@ -3,65 +3,57 @@ title: Code review
x-toc-enable: true
...
Libreboot Repositories
**NOTE TO GNU Boot AUDITORS: Obviously, these repository links are unofficial
and you'll want to change them to your own ones for GNUBoot.**
**The repositories below are real, containing the actual code for this
nonGeNUine Boot website intended for use by GNU Boot, images and also the [nonGeNUine
Boot 20230717 release](news/nongenuineboot20230717.md). The GNU project is both free,
and encouraged, to re-use this work officially.**
nonGeNUine Boot Repositories
===================
Informationen darüber wer an Libreboot arbeitet und wer das Projekt betreibt
sind unter [who.de.md](who.de.md) zu finden.
Informationen darüber wer an nonGeNUine Boot arbeitet und wer das Projekt betreibt
sind unter [who.md](who.md) zu finden.
Das `libreboot` Projekt hat hauptsächlich 3 Git Repositories:
Das nonGeNUine Boot Projekt hat hauptsächlich 3 Git Repositories:
* Build system: <https://codeberg.org/libreboot/lbmk>
* Webseite (+Anleitungen): <https://codeberg.org/libreboot/lbwww>
* Bilder (für die Webseite): <https://codeberg.org/libreboot/lbwww-img>
* Build system: <https://codeberg.org/vimuser/gbmk>
* Webseite (+Anleitungen): <https://codeberg.org/vimuser/gbwww>
* Bilder (für die Webseite): <https://codeberg.org/vimuser/gbwww-img>
Du kannst dir lbmk auch auf Libreboot's eigener cgit Instanz *ansehen*,
allerdings ist dies nicht für die Entwicklung gedacht (benutze hierfür bitte codeberg):\
<https://browse.libreboot.org/lbmk.git/>
Weiter unten auf dieser Seite sind Mirror von `lbmk` und `lbwww` aufgelistet,
Weiter unten auf dieser Seite sind Mirror von `gbmk` und `gbwww` aufgelistet,
sofern die Haupt Git Repositories nicht erreichbar sein sollten.
Zuvor hat Libreboot NotABug verwendet, aber es gab regelmässig
Probleme mit der der Zuverlässigkeit aufgrund von HTTP Error 500,
hauptsächlich in den Abendstunden, höchstwahrscheinlich weil zu viele Leute
darauf zugegriffen haben; daher wurde beschlossen, das Libreboot eine
stabilere Lösung benötigt, daher verwendet Libreboot nun codeberg. Siehe
[Ankündigung des Wechsels zu codeberg, 8. April 2023](news/codeberg.md)
Zudem gibt es noch diese vom nonGeNUine Boot Projekt gehosteten Programme, welche
von nonGeNUine Boot entweder empfohlen oder verwendet werden:
Zudem gibt es noch diese vom Libreboot Projekt gehosteten Programme, welche
von libreboot entweder empfohlen oder verwendet werden:
Das `ich9utils` Projekt ist nun unter `util/ich9utils` in lbmk verfügbar,
und lbmk verdendet *dies*, aber das alte standalone Repository ist nach
wie vor verfügbar unter notabug (bucts is also there):
* Bucts (Utility): <https://notabug.org/libreboot/bucts>
* ich9utils (Utility): <https://notabug.org/libreboot/ich9utils>
bucts is also there: <https://notabug.org/libreboot/bucts>
Du kannst diese Repositories herunterladen, sie nach deinen Wünschen ändern,
und dann deine Änderungen zur Verfügung stellen mithilfe der folgenden
Anleitungen.
Es wird empfohlen den libreboot build (alle zugehörigen Teile) in einer
Linux Umgebung herzustellen. Unter BSD Systemen ist das build system (lbmk)
Es wird empfohlen den nonGeNUine Boot build (alle zugehörigen Teile) in einer
GNU+Linux Umgebung herzustellen. Unter BSD Systemen ist das build system (gbmk)
beispielsweise nicht getestet.
Installiere `git` auf deinem Linux System und lade eines der Repositories
Installiere `git` auf deinem GNU+Linux System und lade eines der Repositories
herunter.
Die Entwicklung von Libreboot findet mithilfe der Versionskontrolle von
Die Entwicklung von nonGeNUine Boot findet mithilfe der Versionskontrolle von
Git statt. Sieh in der [offiziellen Git Dokumentation](https://git-scm.com/doc)
nach, sofern Du nicht weisst wie man Git verwendet.
Das `bucts` Repository wird auch vom Libreboot Projekt gehostet, da das
Das `bucts` Repository wird auch vom nonGeNUine Boot Projekt gehostet, da das
Original Repository auf `stuge.se` nicht mehr verfügbar ist, seit wie dies
zuletzt geprüft haben. Das `bucts` Programm wurde von Peter Stuge geschrieben.
Du benötigst `bucts` sofern Du ein Libreboot ROM intern auf ein Thinkpad X60
Du benötigst `bucts` sofern Du ein nonGeNUine Boot ROM intern auf ein Thinkpad X60
oder T60 flashen möchtest, welches (derzeit) noch ein nicht-freies Lenovo
BIOS verwendet. Anleitungen hierfür findest Du hier:\
[Libreboot Installations Anleitungen](docs/install/)
[nonGeNUine Boot Installations Anleitungen](docs/install/)
Das `ich9utils` Repository wird erheblich vom `lbmk` build system verwendet.
Das `ich9utils` Repository wird erheblich vom `gbmk` build system verwendet.
Du kannst `ich9utils` allerdings auch separat herunterladen und verwenden.
Es erzeugt ICH9M descriptor+GbE Images für GM45 ThinkPads welche die ICH9M
Southbridge verwenden. Es könnte auch für andere Systeme funktionieren,
@ -69,60 +61,60 @@ welche dieselbe Platform bzw. denselben Chipsatz verwenden.
Dokumentation für `ich9utils` ist hier verfügbar:\
[ich9utils Dokumentation](docs/install/ich9utils.md)
lbmk (libreboot-make)
gbmk (non**G**eNUine**B**oot**M**a**K**e)
---------------------
Dies ist das zentrale build system in Libreboot. Man könnte auch sagen `lbmk` *ist*
Libreboot! Das Git repository herunterladen:
Dies ist das zentrale build system in nonGeNUine Boot. Man könnte auch sagen `gbmk` *ist*
nonGeNUine Boot! Das Git repository herunterladen:
git clone https://codeberg.org/libreboot/lbmk
git clone https://codeberg.org/vimuser/gbmk
Der oben dargestellte `git` Befehl, wird das Libreboot build system `lbmk`
Der oben dargestellte `git` Befehl, wird das nonGeNUine Boot build system `gbmk`
herunterladen.
Du kannst dann folgendermassen in das Verzeichnis wechseln:
cd lbmk
cd gbmk
Ändere dies nach deinen Vorstellungen oder erstelle einfach einen build.
Für Anleitungen bzgl. `lbmk` build, siehe [build Anleitungen](docs/build/).
Für Anleitungen bzgl. `gbmk` build, siehe [build Anleitungen](docs/build/).
Informationen über das build system selbst und wie es funktioniert, sind
verfügbar unter dem [lbmk maintenance guide](docs/maintain/).
verfügbar unter dem [gbmk maintenance guide](docs/maintain/).
lbwww and lbwww-img
gbwww and gbwww-img
-------------------
Die *gesamte* Libreboot Website sowie Dokumentation befindet sich in einem
Die *gesamte* nonGeNUine Boot Website sowie Dokumentation befindet sich in einem
Git Repository.
Du kannst es folgendermassen herunterladen:
git clone https://codeberg.org/libreboot/lbwww
git clone https://codeberg.org/vimuser/gbwww
Bilder befinden sich unter <https://av.libreboot.org/> und sind verfügbar
Bilder befinden sich unter <https://avgnu.vimuser.org/> und sind verfügbar
in einem separaten Git Repository:
git clone https://codeberg.org/libreboot/lbwww-img
git clone https://codeberg.org/vimuser/gbwww-img
Du kannst alles nach deinen Vorstellungen ändern. Beachte die nachfolgenden
Informationen wie Du deine Änderungen zur Verfügung stellen kannst.
Die gesamte Website ist in Markdown geschrieben, insbesondere die Pandoc Version.
Die statischen HTML Seiten werden mit [Untitled](https://untitled.vimuser.org/)
generiert. Leah Rowe, die Gründerin von Libreboot, ist auch die Gründerin des Untitled static
generiert. Leah Rowe, die Gründerin von nonGeNUine Boot, ist auch die Gründerin des Untitled static
site generator Projekts.
Wenn Du möchtest, kannst Du einen lokalen HTTP Server einrichten und eine
lokale Version der Website herstellen. Bitte bedenke, dass alle Bilder nach
wie vor mit den Bildern auf <https://av.libreboot.org/> verknüpft werden,
daher werden jegliche Bilder die Du `lbwww-img` hinzugefügt hast nicht auf
deiner lokalen `lbwww` Seite dargestellt, sofern Du die Bilder (die Du
hinzugefügt hast) mit `av.libreboot.org` verknüpfst. Es ist jedoch erforderlich,
dass sich diese Bilder auf av.libreboot.org befinden.
wie vor mit den Bildern auf <https://avgnu.vimuser.org/> verknüpft werden,
daher werden jegliche Bilder die Du `gbwww-img` hinzugefügt hast nicht auf
deiner lokalen `gbwww` Seite dargestellt, sofern Du die Bilder (die Du
hinzugefügt hast) mit `avgnu.vimuser.org` verknüpfst. Es ist jedoch erforderlich,
dass sich diese Bilder auf avgnu.vimuser.org befinden.
Sofern Du der Webseite Bilder hinzufügen möchtest, füge diese ebenso
dem `lbwww-img` Repository hinzu, indem Du diese dann jeweils mit diesem Link verknüpfst
<https://av.libreboot.org/path/to/your/new/image/in/lbwww-img>.
Wenn dein Patch der Libreboot Webseite hinzugefügt wird, werden erscheinen deine Bilder live.
dem `gbwww-img` Repository hinzu, indem Du diese dann jeweils mit diesem Link verknüpfst
<https://avgnu.vimuser.org/path/to/your/new/image/in/gbwww-img>.
Wenn dein Patch der nonGeNUine Boot Webseite hinzugefügt wird, werden erscheinen deine Bilder live.
Zu Entwicklungszwecken, könntest Du deine Bilder auch lokal verknüpfen, und
anschliesend die URLs anpassen sobald Du deine Patches für die Dokumentation/Webseite schickst.
@ -130,7 +122,7 @@ anschliesend die URLs anpassen sobald Du deine Patches für die Dokumentation/We
Eine Anleitung wie Du eine lokale Version der Webseite herstellen kannst,
befinden sich auf der Untitled Webseite. Lade untitled
herunter, und erstelle in dem `untitled` Verzeichnis ein Verzeichnis mit
dem Namen `www/` dann wechsle in dieses Verzeichnis und klone das `lbwww`
dem Namen `www/` dann wechsle in dieses Verzeichnis und klone das `gbwww`
Repository dorthin. Konfiguriere deinen lokalen HTTP Server entsprechend.
Nochmal, Anleitungen hierfür findest Du auf der Untitled Webseite.
@ -143,8 +135,8 @@ Repository öffentlich aufgezeichnet. Dies betrifft ebenso den Namen sowie
die email Adresse des Mitwirkenden.
Du musst bei Git keinen Autoren Namen bzw. keine email Addresse verwenden,
mithilfe derer Du identifizierbar bist. Du kannst `libreboot Contributor`
verwenden und deine email Addresse könnte als contributor@libreboot.org
mithilfe derer Du identifizierbar bist. Du kannst `nongenuineboot Contributor`
verwenden und deine email Addresse könnte als john@doe.com
spezifiert werden. Es ist Dir gestattet dies zu tun, sofern Du deine Privatsphäre
wahren möchtest. Wir glauben an Privatsphäre. Sofern Du anonym bleiben möchtest
werden wir dies respektieren.
@ -167,131 +159,13 @@ bevor Du einem öffentlichen Git Repository Änderungen hinzufügst.
Lizenzen (für Mitwirkende)
--------
Stelle sicher, dass deine Beiträge mit einer libre Lizenz frei lizensiert
sind. Libreboot schreibt nicht mehr vor, welche Lizenzen akzeptiert werden,
und es existieren einige Lizenzen. Wir werden deinen Beitrag prüfen und
dir mitteilen sofern es ein Problem damit gibt (z.B. keine Lizenz).
Make sure to freely license your work, under a free license.
Gib *immer* eine Lizenz an für deine Arbeit! Keine Lizenz anzugeben bedeutet
das deine Arbeit unter die Standard Urheberrechte fällt, was deine Arbeit
proprietär macht und somit von denselben Einschränkungen betroffen ist.
*Always* declare a license on your work! Not declaring a license means that
the default, restrictive copyright laws apply, which would make your work
proprietary, subject to all of the same restrictions.
Die MIT Lizenz ist ein guter Start, und sie ist die bevorzugte Lizenz
für sämtliche Arbeit an Libreboot, aber wir sind nicht pingelig. Libreboot
hat in der Vergangenheit GNU Lizenzen so wie GPL verwendet; vieles davon
besteht nach wie vor und wird auch weiterhin bestehen.
Es ist deine Arbeit; sofern deine Arbeit auf der Arbeit eines anderen basiert,
ist es aufgrund der Lizenz-Kompatibilität ggfs. naheliegend diesselbe Lizenz zu
verwenden.
The Free Software Foundation maintains a handy dandy list, which you can review
here:
[Hier](https://opensource.org/licenses) findest Du übliche Beispiele für Lizenzen.
*Wenn* deine Arbeit auf bestehender Arbeit basiert, dann ist es wichtig
(für deinen Beitrag) das die Lizenz deiner Arbeit kompatibel ist mit der
Lizenz der Arbeit auf der sie beruht. Die MIT Lizenz ist hierfür gut geeignet,
weil sie mit vielen anderen Lizenen kompatibel ist, und Freiheit zulässt
(wie zum Beispiel die Freiheit einer SubLizenz) was bei vielen anderen
Lizenzen nicht der Fall ist:
<https://opensource.org/licenses/MIT>
Patches senden
------------
Erstelle einen Account unter <https://codeberg.org/> und navigiere (während
Du eingeloggt bist) zu dem Repository das Du bearbeiten möchtest. Klicke
auf *Fork* und Du wirst ein eigenes Libreboot Repository in deinem Account
erhalten. Erstelle einen Clone dieses Repository, füge alle gewünschten Änderungen hinzu
und führe anschliessend einen Push in dein Repository in deinem Account
auf Codeberg durch. Du kannst dies auch in einem neuen Branch erledigen,
sofern Du magst.
In deinem Codeberg Account kannst Du nun zum offiziellen Libreboot
Repository navigieren und dort einen Pull Request erstellen. Die Art und
Weise wie dies funktioniert ist vergleichbar mit anderen populären Web basierten
Git Plattformen die heutzutage verwendet werden.
Du kannst dort deine Patches bereitstellen. Alternativ kannst Du dich in
den Libreboot IRC Kanal einloggen und dort bekannt geben welche deiner Patches
geprüft werden sollen, sofern Du ein eigenes Git repository mit den Patches
hast.
Sobald Du einen Pull Request erstellt hast, werden die Libreboot Maintainer
per email informiert. Sofern Du nicht schnell genug eine Antwort erhälst,
kannst Du das Projekt ebenso mithilfe des `#libreboot` Kanals auf Libera
Chat kontaktieren.
Ein weiterer Weg Patches zu senden ist Leah Rowe direkt eine email zu senden:
[info@minifree.org](mailto:info@minifree.org) ist Leah's Projekt email Addresse.
Um den Prozess der Quelltext Überprüfung transparent zu gestalten,
wird jedoch empfohlen künftig Codeberg zu verwenden.
Mirrors für lbmk.git
===================
Das `lbmk` Repository enthält Libreboot's automatischess build system, welches
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.disroot.org/libreboot/lbmk>
* <https://gitea.treehouse.systems/libreboot/lbmk>
* <https://git.fosscommunity.in/libreboot/lbmk>
* <https://0xacab.org/libreboot/lbmk/>
* <https://framagit.org/libreboot/libreboot>
* <https://gitlab.com/libreboot/lbmk>
* <https://pagure.io/libreboot>
* <https://rocketgit.com/libreboot/libreboot>
lbwww.git Mirror
----------------
Das `lbwww` Repository enthält Markdown Dateien (Pandoc Variant), für die
Verwendung mit dem [Untitled Static Site Generator](https://untitled.vimuser.org/);
dies wird von Libreboot verwendet um HTML Web Seiten bereitzustellen, *inklusive*
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.disroot.org/libreboot/lbwww>
* <https://gitea.treehouse.systems/libreboot/lbwww>
* <https://git.fosscommunity.in/libreboot/lbwww>
* <https://0xacab.org/libreboot/lbwww>
* <https://framagit.org/libreboot/lbwww/>
* <https://gitlab.com/libreboot/lbwww>
* <https://rocketgit.com/libreboot/lbwww>
HINWEIS: Das `lbwww-img` Repository wird generell nicht auf einem Mirror
zur Verfügung gestellt, weil dies lediglich Bilder sind die Du unter
<https://av.libreboot.org> finden kannst und es ist nicht die Intention
des Libreboot Projektes *Mirror* mit zusätzlichen Datenverkehr durch
Bilder zu belasten.
Notabug Repositories
====================
Commits die zu codeberg gepusht werden, werden ebenso zu notabug gepusht,
zusätzlich zu den anderen Mirrors.
Notabug wird seit dem 8. April 2023 als *Mirror* betrachtet, seitdem
Libreboot's Haupt Entwicklung zu *Codeberg* gewechselt hat.
In die ALTEN notabug Repositories wird zu Backup Zwecken nach wie vor gepusht,
aber der codeberg mirror wird nun als der hauptsächliche/offizielle betrachtet,
wie in dieser [Ankündigung vom 8. April 2023](news/codeberg.md). Siehe:
* Build system: <https://notabug.org/libreboot/lbmk>
* Webseite (+Dokumentation): <https://notabug.org/libreboot/lbwww>
* Bilder (für die Webseite): <https://notabug.org/libreboot/lbwww-img>
Um Patches zu senden, wird nun bevorzugt wenn Du *codeberg* verwendest.
Technisch gesehen sind pull requests via Notabug nach wie vor möglich.
Während Notabug nach wie vor existiert, werden Libreboot Patches nach wie
vor dorthin gepushed, als Mirror für Änderungen die auf Notabug gepushed werden.
Weil pull requests und issues in der Vergangenheit auf notabug verfügbar waren,
macht es Sinn diese offen zu lassen, dennoch würden wir dich bitten an codeberg
zu schicken. Sofern diese auf notabug geschlossen werden, dann werden diese PRs
und issues ohnehin nicht mehr sichtbar, daher sollten diese offen bleiben.
<https://www.gnu.org/licenses/license-list.en.html>

View File

@ -3,123 +3,115 @@ title: Code review
x-toc-enable: true
...
libreboot repositories
**NOTE TO GNU Boot AUDITORS: Obviously, these repository links are unofficial
and you'll want to change them to your own ones for GNUBoot.**
**The repositories below are real, containing the actual code for this
nonGeNUine Boot website intended for use by GNU Boot, images and also the [nonGeNUine
Boot 20230717 release](news/nongenuineboot20230717.md). The GNU project is both free,
and encouraged, to re-use this work officially.**
nonGeNUine Boot repositories
===================
Information about who works on libreboot and who runs the project can be
Information about who works on nonGeNUine Boot and who runs the project can be
found on [who.md](who.md)
The `libreboot` project has 3 main Git repositories:
The nonGeNUine Boot project has 3 main Git repositories:
* Build system: <https://codeberg.org/libreboot/lbmk>
* Website (+docs): <https://codeberg.org/libreboot/lbwww>
* Images (for website): <https://codeberg.org/libreboot/lbwww-img>
* Build system: <https://codeberg.org/vimuser/gbmk>
* Website (+docs): <https://codeberg.org/vimuser/gbwww>
* Images (for website): <https://codeberg.org/vimuser/gbwww-img>
You can also *browse* lbmk on Libreboot's own cgit instance, though it is not
intended for development (use codeberg for that):\
<https://browse.libreboot.org/lbmk.git/>
If the main Git repositories are down, mirrors of `lbmk` and `lbwww` are listed
If the main Git repositories are down, mirrors of `gbmk` and `gbwww` are listed
further down in this page
Libreboot was previously using NotABug, but it had continued reliability
issues due to HTTP 500 errors being returned, largely in the evenings, most
likely because too many people were on it; it was decided that Libreboot
needed something more stable, so now Libreboot is hosted on codeberg. See:
[announcement of move to codeberg, 8 April 2023](news/codeberg.md)
There are also these programs, hosted by the Libreboot project, and libreboot
There are also these programs, hosted by the nonGeNUine Boot project, and nonGeNUine Boot
either recommends them or makes use of them:
The `ich9utils` project is now available under `util/ich9utils` in lbmk, and
lbmk uses *that*, but the old standalone repository is still available on
notabug (bucts is also there):
* Bucts (utility): <https://notabug.org/libreboot/bucts>
* ich9utils (utility): <https://notabug.org/libreboot/ich9utils>
bucts is also there: <https://notabug.org/libreboot/bucts>
You can download any of these repositories, make whatever changes you like, and
then submit your changes using the instructions below.
It is recommended that you build libreboot (all parts of it) in a Linux
distribution. For example, the build system (lbmk) is untested on BSD systems.
Install `git` in your Linux system, and download one of the repositories.
It is recommended that you build nonGeNUine Boot (all parts of it) in a GNU+Linux
distribution. For example, the build system (gbmk) is untested on BSD systems.
Install `git` in your GNU+Linux system, and download one of the repositories.
Development of libreboot is done using the Git version control system.
Development of nonGeNUine Boot is done using the Git version control system.
Refer to the [official Git documentation](https://git-scm.com/doc) if you don't
know how to use Git.
The `bucts` repository is hosted by the libreboot project, because the original
The `bucts` repository is hosted by the nonGeNUine Boot project, because the original
repository on `stuge.se` is no longer available, last time we checked. The
`bucts` program was written by Peter Stuge. You need `bucts` if you're flashing
internally an libreboot ROM onto a ThinkPad X60 or T60 that is currently running
internally an nonGeNUine Boot ROM onto a ThinkPad X60 or T60 that is currently running
the non-free Lenovo BIOS. Instructions for that are available here:\
[libreboot installation guides](docs/install/)
[nonGeNUine Boot installation guides](docs/install/)
The `ich9utils` repository is used heavily, by the `lbmk` build system. However,
The `ich9utils` repository is used heavily, by the `gbmk` build system. However,
you can also download `ich9utils` on its own and use it. It generates ICH9M
descriptor+GbE images for GM45 ThinkPads that use the ICH9M southbridge. It may
also work for other systems using the same platform/chipset.
Documentation for `ich9utils` is available here:\
[ich9utils documentation](docs/install/ich9utils.md)
lbmk (libreboot-make)
gbmk (non**G**eNUine**B**oot**M**a**K**e)
---------------------
This is the core build system in libreboot. You could say that `lbmk` *is*
libreboot! Download the Git repository:
This is the core build system in nonGeNUine Boot. You could say that `gbmk` *is*
nonGeNUine Boot! Download the Git repository:
git clone https://codeberg.org/libreboot/lbmk
git clone https://codeberg.org/vimuser/gbmk
The `git` command, seen above, will download the libreboot build system `lbmk`.
The `git` command, seen above, will download the nonGeNUine Boot build system `gbmk`.
You can then go into it like so:
cd lbmk
cd gbmk
Make whatever changes you like, or simply build it. For instructions on how to
build `lbmk`, refer to the [build instructions](docs/build/).
build `gbmk`, refer to the [build instructions](docs/build/).
Information about the build system itself, and how it works, is available in
the [lbmk maintenance guide](docs/maintain/).
the [gbmk maintenance guide](docs/maintain/).
lbwww and lbwww-img
gbwww and gbwww-img
-------------------
The *entire* libreboot website and documentation is hosted in a Git repository.
The *entire* nonGeNUine Boot website and documentation is hosted in a Git repository.
Download it like so:
git clone https://codeberg.org/libreboot/lbwww
git clone https://codeberg.org/vimuser/gbwww
Images are hosted on <https://av.libreboot.org/> and available in a separate
Images are hosted on <https://avgnu.vimuser.org/> and available in a separate
repository:
git clone https://codeberg.org/libreboot/lbwww-img
git clone https://codeberg.org/vimuser/gbwww-img
Make whatever changes you like. See notes below about how to send patches.
The entire website is written in Markdown, specifically the Pandoc version of
it. The static HTML pages are generated with [Untitled](https://untitled.vimuser.org/).
Leah Rowe, the founder of libreboot, is also the founder of the Untitled static
site generator project.
The entire website is written in Markdown, specifically the Pandoc version.
Static HTML pages are generated with the [Untitled Static Site
Generator](https://untitled.vimuser.org/).
If you like, you can set up a local HTTP server and build your own local
version of the website. Please note that images will still link to the ones
hosted on <https://av.libreboot.org/>, so any images that you add to `lbwww-img`
will not show up on your local `lbwww` site if you make the image links (for
images that you add) link to `av.libreboot.org`. However, it is required that such
images be hosted on av.libreboot.org.
hosted on <https://avgnu.vimuser.org/>, so any images that you add to `gbwww-img`
will not show up on your local `gbwww` site if you make the image links (for
images that you add) link to `avgnu.vimuser.org`. However, it is required that such
images be hosted on avgnu.vimuser.org.
Therefore, if you wish to add images to the website, please also submit to the
`lbwww-img` repository, with the links to them being
<https://av.libreboot.org/path/to/your/new/image/in/lbwww-img> for each one.
When it is merged on the libreboot website, your images will appear live.
`gbwww-img` repository, with the links to them being
<https://avgnu.vimuser.org/path/to/your/new/image/in/gbwww-img> for each one.
When it is merged on the nonGeNUine Boot website, your images will appear live.
For development purposes, you might make your images local links first, and
then adjust the URLs when you submit your documentation/website patches.
Instructions are on the Untitled website, for how to set up your local version
of the website. Download untitled, and inside your `untitled` directory, create
a directory named `www/` then go inside the www directory, and clone the `lbwww`
a directory named `www/` then go inside the www directory, and clone the `gbwww`
repository there. Configure your local HTTP server accordingly.
Again, instructions are available on the Untitled website for this purpose.
@ -132,8 +124,8 @@ everyone can access. This includes the name and email address of the
contributor.
In Git, for author name and email address, you do not have to use identifying
data. You can use `libreboot Contributor` and your email address could be
specified as contributor@libreboot.org. You are permitted to do this, if
data. You can use `nongenuineboot Contributor` and your email address could be
specified as john@doe.com. You are permitted to do this, if
you wish to maintain privacy. We believe in privacy. If you choose to remain
anonymous, we will honour this.
@ -153,123 +145,16 @@ push changes to a public Git repository.
Licenses (for contributors)
--------
Make sure to freely license your work, under a libre license. Libreboot no
longer sets arbitrary restrictions on what licenses are accepted, and many
licenses out there already exist. We will audit your contribution and tell
you if there are problems with it (e.g. no license).
Make sure to freely license your work, under a free license.
*Always* declare a license on your work! Not declaring a license means that
the default, restrictive copyright laws apply, which would make your work
proprietary, subject to all of the same restrictions.
The MIT license is a good one to start with, and it is the preferred license
for all new works in Libreboot, but we're not picky. Libreboot has historically
used GNU licensing such as GPL; much of that remains, and is likely to remain.
It's your work; obviously, if you're deriving from an existing work,
it may make sense to use the same license on your contribution, for license
compatibility.
The Free Software Foundation maintains a handy dandy list, which you can review
here:
You can find common examples of licenses
[here](https://opensource.org/licenses).
<https://www.gnu.org/licenses/license-list.en.html>
If you *are* deriving from an existing work, it's important that your license
(for your contribution) be compatible with the licensing of the work from which
yours was derived. The MIT license is good because it's widely compatible
with many other licenses, and permits many freedoms (such as the freedom to
sublicense) that other licenses do not:
<https://opensource.org/licenses/MIT>
Send patches
------------
Make an account on <https://codeberg.org/> and navigate (while logged in) to the
repository that you wish to work on. Click *Fork* and in your account,
you will have your own repository of libreboot. Clone your repository, make
whatever changes you like to it and then push to your repository, in your
account on Codeberg. You can also do this on a new branch, if you wish.
In your Codeberg account, you can then navigate to the official libreboot
repository and submit a Pull Request. The way it works is similar to other
popular web-based Git platforms that people use these days.
You can submit your patches there. Alternative, you can log onto the libreboot
IRC channel and notify the channel of which patches you want reviewed, if you
have your own Git repository with the patches.
Once you have issued a Pull Request, the libreboot maintainers will be notified
via email. If you do not receive a fast enough response from the project, then
you could also notify the project via the `#libreboot` channel on Libera Chat.
Another way to submit patches is to email Leah Rowe directly:
[info@minifree.org](mailto:info@minifree.org) is Leah's project email address.
However, for transparency of the code review process, it's recommended that you
use Codeberg, for the time being.
Mirrors of lbmk.git
===================
The `lbmk` repository contains Libreboot's automated build system, which
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.disroot.org/libreboot/lbmk>
* <https://gitea.treehouse.systems/libreboot/lbmk>
* <https://git.fosscommunity.in/libreboot/lbmk>
* <https://0xacab.org/libreboot/lbmk/>
* <https://framagit.org/libreboot/libreboot>
* <https://gitlab.com/libreboot/lbmk>
* <https://pagure.io/libreboot>
* <https://rocketgit.com/libreboot/libreboot>
lbwww.git mirror
----------------
The `lbwww` repository contains Markdown files (pandoc variant), for use
with the [Untitled Static Site Generator](https://untitled.vimuser.org/); this
is what Libreboot uses to provide HTML web pages, *including* the page that
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.disroot.org/libreboot/lbwww>
* <https://gitea.treehouse.systems/libreboot/lbwww>
* <https://git.fosscommunity.in/libreboot/lbwww>
* <https://0xacab.org/libreboot/lbwww>
* <https://framagit.org/libreboot/lbwww/>
* <https://gitlab.com/libreboot/lbwww>
* <https://rocketgit.com/libreboot/lbwww>
NOTE: The `lbwww-img` repository is not generally provided, on mirrors, as
those are just image files which you can find on <https://av.libreboot.org>
and it is not the intention of the Libreboot project to bog down *mirrors*
with additional traffic by hosting images.
Notabug repositories
====================
Commits that go to codeberg are also still pushed to notabug, in addition to
the other mirrors. Notabug is considered a *mirror* since 8 April 2023, when
Libreboot's main development site moved to *Codeberg*.
OLD notabug repos are still pushed to as backup, but the codeberg mirror is
considered to be main/official now, as of the [announcement on 8
April 2023](news/codeberg.md). See:
* Build system: <https://notabug.org/libreboot/lbmk>
* Website (+docs): <https://notabug.org/libreboot/lbwww>
* Images (for website): <https://notabug.org/libreboot/lbwww-img>
For sending patches, it is now preferred that you use *codeberg*. Technically,
pull requests are still possible via Notabug. While Notabug still exists,
Libreboot patches will continue be pushed there, mirroring what gets pushed
on Notabug.
Because pull requests and issues were available on notabug in the past, it
makes sense to keep them open, though we ask that you send to codeberg. If
they were to be closed on notabug, existing PRs and issues won't be visible
anymore either, so they have to stay open.
As a GNU project, it is natural that you may use copyleft licenses for works
submitted to nonGeNUine Boot.

View File

@ -3,123 +3,116 @@ title: Огляд коду
x-toc-enable: true
...
репозиторії libreboot
**NOTE TO GNU Boot AUDITORS: Obviously, these repository links are unofficial
and you'll want to change them to your own ones for GNUBoot.**
**The repositories below are real, containing the actual code for this
nonGeNUine Boot website intended for use by GNU Boot, images and also the [nonGeNUine
Boot 20230717 release](news/nongenuineboot20230717.md). The GNU project is both free,
and encouraged, to re-use this work officially.**
репозиторії nonGeNUine Boot
===================
Інформацію про те, хто працює над libreboot і хто керує проектом, можна
знайти на [who.uk.md](who.uk.md)
Інформацію про те, хто працює над nonGeNUine Boot і хто керує проектом, можна
знайти на [who.md](who.md)
Проект `libreboot` має 3 основні сховища Git:
Проект nonGeNUine Boot має 3 основні сховища Git:
* Система побудови: <https://codeberg.org/libreboot/lbmk>
* Веб-сайт (+документація): <https://codeberg.org/libreboot/lbwww>
* Зображення (для веб-сайта): <https://codeberg.org/libreboot/lbwww-img>
* Система побудови: <https://codeberg.org/vimuser/gbmk>
* Веб-сайт (+документація): <https://codeberg.org/vimuser/gbwww>
* Зображення (для веб-сайта): <https://codeberg.org/vimuser/gbwww-img>
You can also *browse* lbmk on Libreboot's own cgit instance, though it is not
intended for development (use codeberg for that):\
<https://browse.libreboot.org/lbmk.git/>
If the main Git repositories are down, mirrors of `lbmk` and `lbwww` are listed
If the main Git repositories are down, mirrors of `gbmk` and `gbwww` are listed
further down in this page
Libreboot was previously using NotABug, but it had continued reliability
issues due to HTTP 500 errors being returned, largely in the evenings, most
likely because too many people were on it; it was decided that Libreboot
needed something more stable, so now Libreboot is hosted on codeberg. See:
[announcement of move to codeberg, 8 April 2023](news/codeberg.md)
Є також ці програми, розміщені в проекті Libreboot, і libreboot
Є також ці програми, розміщені в проекті nonGeNUine Boot, і nonGeNUine Boot
або рекомендує їх, або використовує їх:
The `ich9utils` project is now available under `util/ich9utils` in lbmk, and
lbmk uses *that*, but the old standalone repository is still available on
notabug (bucts is also there):
* Bucts (утиліта): <https://notabug.org/libreboot/bucts>
* ich9utils (утиліта): <https://notabug.org/libreboot/ich9utils>
bucts is also there: <https://notabug.org/libreboot/bucts>
Ви можете завантажити будь-яке з цих сховищ, внести будь-які зміни, і
потім надіслати свої зміни, дотримуючись інструкцій нижче.
Рекомендовано створювати libreboot (усі його частини) у дистрибутиві
Linux. Наприклад, система збірки (lbmk) не перевірена на системах BSD.
Встановіть `git` у вашій системі Linux, і завантажте одне із сховищ.
Рекомендовано створювати nonGeNUine Boot (усі його частини) у дистрибутиві
GNU+Linux. Наприклад, система збірки (gbmk) не перевірена на системах BSD.
Встановіть `git` у вашій системі GNU+Linux, і завантажте одне із сховищ.
Розробка libreboot виконується за допомогою системи контролю версій Git.
Розробка nonGeNUine Boot виконується за допомогою системи контролю версій Git.
Зверніться до [офіційної документації Git](https://git-scm.com/doc), якщо ви не
знаєте, як користуватися Git.
Репозиторій `bucts` розміщено в проекті libreboot, оскільки оригінальний
Репозиторій `bucts` розміщено в проекті nonGeNUine Boot, оскільки оригінальний
репозиторій на `stuge.se` більше не доступний, коли ми перевіряли останній раз.
Програма `bucts` була написана Пітером Стьюджем. Вам знадобляться `bucts`, якщо ви прошиваєте
внутрішньо libreboot ROM на ThinkPad X60 або T60, на якому зараз працює
внутрішньо nonGeNUine Boot ROM на ThinkPad X60 або T60, на якому зараз працює
невільний Lenovo BIOS. Інструкції щодо цього доступні тут:\
[посібники зі встановлення libreboot](docs/install/)
[посібники зі встановлення nonGeNUine Boot](docs/install/)
Репозиторій `ich9utils` активно використовується системою збирання `lbmk`. Однак
Репозиторій `ich9utils` активно використовується системою збирання `gbmk`. Однак
ви також можете завантажити `ich9utils` самостійно та використовувати його. Він генерує ICH9M
дескриптор+GbE образи для GM45 ThinkPad, які використовують південний міст ICH9M. Він
також може працювати з іншими системами, що використовують ту саму платформу/чіпсет.
Документація для `ich9utils` доступна тут:\
[документація ich9utils](docs/install/ich9utils.md)
lbmk (libreboot-make)
gbmk (non**G**eNUine**B**oot**M**a**K**e)
---------------------
Це основна система збирання в libreboot. Можна сказати, що `lbmk` *це*
libreboot! Завантажте репозиторій Git:
Це основна система збирання в nonGeNUine Boot. Можна сказати, що `gbmk` *це*
nonGeNUine Boot! Завантажте репозиторій Git:
git clone https://codeberg.org/libreboot/lbmk
git clone https://codeberg.org/vimuser/gbmk
Команда `git`, показана вище, завантажить систему збірки libreboot `lbmk`.
Команда `git`, показана вище, завантажить систему збірки nonGeNUine Boot `gbmk`.
Потім ви можете перейти до цього так:
cd lbmk
cd gbmk
Внесіть будь-які зміни, які забажаєте, або просто побудуйте. Щоб отримати вказівки щодо
збирання `lbmk`, зверніться до [інструкцій зі збирання](docs/build/).
збирання `gbmk`, зверніться до [інструкцій зі збирання](docs/build/).
Інформація про саму систему збірки та про те, як вона працює, доступна в
[посібнику обслуговування lbmk](docs/maintain/).
[посібнику обслуговування gbmk](docs/maintain/).
lbwww та lbwww-img
gbwww та gbwww-img
-------------------
*Весь* веб-сайт і документація libreboot розміщені в репозиторії Git.
*Весь* веб-сайт і документація nonGeNUine Boot розміщені в репозиторії Git.
Завантажте так:
git clone https://codeberg.org/libreboot/lbwww
git clone https://codeberg.org/vimuser/gbwww
Зображення розміщені на <https://av.libreboot.org/> і доступні в окремому
Зображення розміщені на <https://avgnu.vimuser.org/> і доступні в окремому
сховищі:
git clone https://codeberg.org/libreboot/lbwww-img
git clone https://codeberg.org/vimuser/gbwww-img
Вносьте будь-які зміни, які забажаєте. Дивіться нотатки нижче про те, як надсилати виправлення.
Весь веб-сайт написаний у Markdown, зокрема його версія Pandoc.
Статичні сторінки HTML створюються за допомогою [Untitled](https://untitled.vimuser.org/).
Лія Роу, засновниця libreboot, також є засновницею проекту генератор статичних сайтів
Лія Роу, засновниця nonGeNUine Boot, також є засновницею проекту генератор статичних сайтів
Untitled.
Якщо хочете, ви можете налаштувати локальний HTTP-сервер і створити власну локальну
версію веб-сайту. Зауважте, що зображення все одно будуть посилатися на ті, що
розміщені на <https://av.libreboot.org/>, тому будь-які зображення, які ви додаєте до `lbwww-img`
не відображатимуться на вашому локальному сайті `lbwww`, якщо ви зробите, щоб посилання на зображення (для
зображень, які ви додаєте) посилались на `av.libreboot.org`. Однак необхідно, щоб такі
зображення розміщувалися на av.libreboot.org.
розміщені на <https://avgnu.vimuser.org/>, тому будь-які зображення, які ви додаєте до `gbwww-img`
не відображатимуться на вашому локальному сайті `gbwww`, якщо ви зробите, щоб посилання на зображення (для
зображень, які ви додаєте) посилались на `avgnu.vimuser.org`. Однак необхідно, щоб такі
зображення розміщувалися на avgnu.vimuser.org.
Тому, якщо ви бажаєте додати зображення на веб-сайт, надішліть їх також до
репозиторія `lbwww-img`, із посиланням на них
<https://av.libreboot.org/шлях/до/вашого/нового/зображення/в/lbwww-img> для кожного з них.
Коли його буде поєднано на веб-сайті libreboot, ваші зображення з'являться в реальному часі.
репозиторія `gbwww-img`, із посиланням на них
<https://avgnu.vimuser.org/шлях/до/вашого/нового/зображення/в/gbwww-img> для кожного з них.
Коли його буде поєднано на веб-сайті nonGeNUine Boot, ваші зображення з'являться в реальному часі.
Для цілей розробки ви можете спочатку створити локальні посилання на зображення, а
потім налаштувати URL-адреси, коли надсилатимете документацію/патчі веб-сайту.
На веб-сайті Untitled є інструкції щодо налаштування локальної версії
веб-сайту. Завантажте untitled, і в своєму каталозі `untitled` створіть каталог
під назвою `www/`, потім увійдіть у каталог www і клонуйте сховище `lbwww`
під назвою `www/`, потім увійдіть у каталог www і клонуйте сховище `gbwww`
там. Налаштуйте локальний HTTP-сервер відповідним чином.
Знову ж таки, інструкції для цього доступні на веб-сайті Untitled.
@ -132,8 +125,8 @@ Untitled.
учасника.
У Git для імені автора та електронної адреси вам не потрібно використовувати
ідентифікаційні дані. Ви можете використовувати `libreboot Contributor`, а свою електронну адресу можна
вказати як contributor@libreboot.org. Вам дозволено це робити, якщо
ідентифікаційні дані. Ви можете використовувати `nongenuineboot Contributor`, а свою електронну адресу можна
вказати як john@doe.com. Вам дозволено це робити, якщо
ви бажаєте зберегти конфіденційність. Ми віримо в конфіденційність. Якщо ви вирішите залишитися
анонімними, ми врахуємо це.
@ -153,123 +146,13 @@ Untitled.
Ліцензії (для учасників)
--------
Обов'язково вільно ліцензуйте свою роботу, за вільною ліцензією. Libreboot більше не
встановлює довільні обмеження на те, які ліцензії приймаються, і багато
інших ліцензій вже існує. Ми перевіримо ваш внесок і розкажемо вам, якщо з ним
виникли проблеми (наприклад, немає ліцензії).
Make sure to freely license your work, under a free license.
*Завжди* декларуйте ліцензію на свою роботу! Недекларування ліцензії означає, що
за замовчуванням застосовуються обмежувальні закони про авторське право, які зроблять вашу роботу
захищеною власністю, підпадаючи під усі ті самі обмеження.
*Always* declare a license on your work! Not declaring a license means that
the default, restrictive copyright laws apply, which would make your work
proprietary, subject to all of the same restrictions.
Ліцензія MIT є хорошою для початку, і вона є бажаною ліцензією
для всіх нових робіт у Libreboot, але ми не вибагливі. Libreboot історично
використовував ліцензування GNU, таке як GPL; багато з цього залишилося, і, ймовірно, залишиться.
Це ваша робота; очевидно, якщо ви використовуєте існуючу роботу,
може мати сенс використовувати ту саму ліцензію для вашого внеску, для сумісності
ліцензії.
The Free Software Foundation maintains a handy dandy list, which you can review
here:
Ви можете знайти типові приклади ліцензій
[тут](https://opensource.org/licenses).
Якщо ви *виходите* на основі існуючого твору, важливо, щоб ваша ліцензія (на ваш внесок)
була сумісна з ліцензуванням твору, з якого
ваш був отриманий. Ліцензія MIT хороша, оскільки вона широко сумісна
з багатьма іншими ліцензіями та надає багато свобод (наприклад, свободу
субліцензування), яких немає в інших ліцензіях:
<https://opensource.org/licenses/MIT>
Надсилайте виправлення
------------
Створіть обліковий запис на <https://codeberg.org/> і перейдіть (увійшовши в систему) до
репозиторію, над яким ви хочете працювати. Натисніть *Fork*, і у вашому обліковому записі,
ви матимете власне сховище libreboot. Клонуйте свій репозиторій, внесіть у нього
будь-які зміни, а потім надішліть їх у свій репозиторій у своєму обліковому
записі на NotABug. Ви також можете зробити це на новій гілці, якщо хочете.
У своєму обліковому записі Codeberg, ви можете перейти до офіційного репозиторія libreboot
і надіслати запит на отримання. Принцип роботи подібний до інших популярних веб-платформ
Git, якими люди користуються сьогодні.
Ви можете відправити свої патчі туди. Крім того, ви можете увійти на
IRC-канал libreboot і повідомити канал, які виправлення ви хочете бути переглянутими, якщо у вас
є власне сховище Git з виправленнями.
Після того, як ви подасте Pull Request, розробники libreboot отримають сповіщення
електронною поштою. Якщо ви не отримаєте достатньо швидкої відповіді від проекту, ви
також можете повідомити проект через канал `#libreboot` на Libera Chat.
Інший спосіб подати виправлення - це напряму надіслати Лії Роу електронною поштою:
[leah@libreboot.org](mailto:leah@libreboot.org) - це адреса електронної пошти проекту Лії.
Однак, для прозорості процесу перевірки коду, ми рекомендуємо на даний момент
використовувати Codeberg.
Mirrors of lbmk.git
===================
The `lbmk` repository contains Libreboot's automated build system, which
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.disroot.org/libreboot/lbmk>
* <https://gitea.treehouse.systems/libreboot/lbmk>
* <https://git.fosscommunity.in/libreboot/lbmk>
* <https://0xacab.org/libreboot/lbmk/>
* <https://framagit.org/libreboot/libreboot>
* <https://gitlab.com/libreboot/lbmk>
* <https://pagure.io/libreboot>
* <https://rocketgit.com/libreboot/libreboot>
lbwww.git mirror
----------------
The `lbwww` repository contains Markdown files (pandoc variant), for use
with the [Untitled Static Site Generator](https://untitled.vimuser.org/); this
is what Libreboot uses to provide HTML web pages, *including* the page that
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.disroot.org/libreboot/lbwww>
* <https://gitea.treehouse.systems/libreboot/lbwww>
* <https://git.fosscommunity.in/libreboot/lbwww>
* <https://0xacab.org/libreboot/lbwww>
* <https://framagit.org/libreboot/lbwww/>
* <https://gitlab.com/libreboot/lbwww>
* <https://rocketgit.com/libreboot/lbwww>
NOTE: The `lbwww-img` repository is not generally provided, on mirrors, as
those are just image files which you can find on <https://av.libreboot.org>
and it is not the intention of the Libreboot project to bog down *mirrors*
with additional traffic by hosting images.
Notabug repositories
====================
Commits that go to codeberg are also still pushed to notabug, in addition to
the other mirrors. Notabug is considered a *mirror* since 8 April 2023, when
Libreboot's main development site moved to *Codeberg*.
OLD notabug repos are still pushed to as backup, but the codeberg mirror is
considered to be main/official now, as of the [announcement on 8
April 2023](news/codeberg.md). See:
* Build system: <https://notabug.org/libreboot/lbmk>
* Website (+docs): <https://notabug.org/libreboot/lbwww>
* Images (for website): <https://notabug.org/libreboot/lbwww-img>
For sending patches, it is now preferred that you use *codeberg*. Technically,
pull requests are still possible via Notabug. While Notabug still exists,
Libreboot patches will continue be pushed there, mirroring what gets pushed
on Notabug.
Because pull requests and issues were available on notabug in the past, it
makes sense to keep them open, though we ask that you send to codeberg. If
they were to be closed on notabug, existing PRs and issues won't be visible
anymore either, so they have to stay open.
<https://www.gnu.org/licenses/license-list.en.html>

View File

@ -31,21 +31,20 @@
html
{
background: #280b22;
color: #eee;
background: #fff;
color: #222;
font-family: sans-serif;
line-height: 1.4;
text-shadow: 1px 1px #000;
}
code,pre, #TOC, a:hover
{
background: #4e324e;
background: #eee;
}
a
{
color: #fcc;
color: #22d;
}
img,video,iframe,pre
@ -142,3 +141,14 @@ img
.p {
max-width: 13em;
}
span.fcc
{
background: #fcc;
position: fixed;
bottom: 0;
left: 0;
right: 0;
font-size: 0.9em;
}
.fcc p {padding:0; margin: 0}

View File

@ -1,76 +1,74 @@
---
title: Libreboot projekt
title: nonGeNUine Boot
x-toc-enable: true
...
Das *Libreboot* Projekt bietet
eine [freie](https://writefreesoftware.org/) *Boot
Das *nonGeNUine Boot* Projekt bietet
eine [freie](https://www.gnu.org/philosophy/free-sw.html) *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/)
und dann einen Bootloader für dein Betriebssystem startet. [GNU+Linux](docs/gnulinux/)
sowie [BSD](docs/bsd/) werden gut unterstützt. Es ersetzt proprietäre BIOS/UEFI
Firmware. Hilfe ist verfügbar
via [\#libreboot](https://web.libera.chat/#libreboot)
und [Libera](https://libera.chat/) IRC.
Firmware.
<img tabindex=1 class="r" src="https://av.libreboot.org/t500/0005.jpg" /><span class="f"><img src="https://av.libreboot.org/t500/0005.jpg" /></span>
<img tabindex=1 class="r" src="https://avgnu.vimuser.org/t500/0005.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/t500/0005.jpg" /></span>
**NEUESTE VERSION: Die neueste Version von Censored Libreboot ist c20230710, veröffentlicht am
10. July 2023.
Siehe auch: [Censored Libreboot c20230710 release announcement](news/censored-libreboot20230710.md).**
**NEUESTE VERSION: Die neueste Version von nonGeNUine Boot ist 20230717, veröffentlicht am
17. July 2023.
Siehe auch: [nonGeNUine Boot 20230717 release announcement](news/nongenuineboot20230717.md).**
Warum solltest Du *Libreboot* verwenden?
Warum solltest Du *nonGeNUine Boot* verwenden?
----------------------------
Libreboot gibt dir [Freiheit](https://writefreesoftware.org/) welche
nonGeNUine Boot gibt dir [Freiheit](https://www.gnu.org/philosophy/free-sw.html) welche
Du mit den meisten Boot Firmwares nicht hast, und zusätzlich schnellere Boot
Geschwindigkeiten sowie [höhere Sicherheit](docs/linux/grub_hardening.md).
Geschwindigkeiten sowie [höhere Sicherheit](docs/gnulinux/grub_hardening.md).
Es ist extrem leistungsfähig und für viele Einsatzzwecke [konfigurierbar](docs/maintain/).
Du hast Rechte. Das Recht auf Privatsphäre, Gedankenfreiheit, Meinungsäußerungsfreiheit,
und Informationsfreiheit. In diesem Zusammenhang, Libreboot gibt dir diese Rechte.
und Informationsfreiheit. In diesem Zusammenhang, nonGeNUine Boot gibt dir diese Rechte.
Deine Freiheit ist wichtig.
[Das Recht auf Reparatur](https://yewtu.be/watch?v=Npd_xDuNi9k) ist wichtig.
Viele Menschen verwenden proprietäre (non-libre)
Boot Firmware, sogar wenn Sie ein [Libre OS](https://www.openbsd.org/) verwenden.
Boot Firmware, sogar wenn Sie ein [Libre OS](https://www.gnu.org/distros/) verwenden.
Proprietäre Firmware [enthält](faq.html#intel) häufig [Hintertüren](faq.html#amd),
und kann fehlerhaft sein. Das Libreboot Projekt wurde im Dezember 2013 gegründet,
und kann fehlerhaft sein. Das nonGeNUine Boot Projekt wurde im July 2023 gegründet,
mit dem Ziel, Coreboot Firmware auch für technisch unerfahrene Nutzer verfügbar
zu machen.
Das Libreboot Projekt verwendet [Coreboot](https://www.coreboot.org/) für
Das nonGeNUine Boot Projekt verwendet [Coreboot](https://www.coreboot.org/) für
[die Initialiserung der Hardware](https://doc.coreboot.org/getting_started/architecture.html).
Die Coreboot Installation ist für unerfahrene Benutzer überaus schwierig; sie
übernimmt lediglich die Basis Initialisierung und springt dann zu einem separaten
[payload](https://doc.coreboot.org/payloads.html) Programm (z.B.
[GRUB](https://www.gnu.org/software/grub/),
[Tianocore](https://www.tianocore.org/)), welche zusätzlich konfiguriert werden muss.
*Libreboot löst dieses Problem*; es ist eine *Coreboot Distribution* mit
*nonGeNUine Boot löst dieses Problem*; es ist eine *Coreboot Distribution* mit
einem [automatisierten Build System](docs/build/) welches vollständige *ROM images*
für eine robustere Installation erstellt.
Dokumentation ist verfügbar.
Libreboot ist kein Coreboot Fork
nonGeNUine Boot ist kein Coreboot Fork
-----------------------------------
<img tabindex=1 class="l" style="max-width:15%;" src="https://av.libreboot.org/dip8/adapter.jpg" /><span class="f"><img src="https://av.libreboot.org/dip8/adapter.jpg" /></span>
<img tabindex=1 class="l" style="max-width:15%;" src="https://avgnu.vimuser.org/dip8/adapter.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/dip8/adapter.jpg" /></span>
Tatsächlich versucht Libreboot so nah am regulären Coreboot zu bleiben wie möglich,
für jedes Board, aber mit vielen automatisch durch das Libreboot Build System zur
Tatsächlich versucht nonGeNUine Boot so nah am regulären Coreboot zu bleiben wie möglich,
für jedes Board, aber mit vielen automatisch durch das nonGeNUine Boot Build System zur
Verfügung gestellten verschiedenen Konfigurationstypen.
Ebenso wie *Alpine Linux* eine *Linux Distribution* ist, ist Libreboot eine
Ebenso wie *Trisquel GNU+Linux* eine *GNU+Linux Distribution* ist, ist nonGeNUine Boot eine
*Coreboot Distribution*. Sofern Du ein ROM Image von Grund auf herstellen möchtest,
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
möchtest um das ROM Image vorzubereiten. Mithilfe von *nonGeNUine Boot* kannst Du
sprichwörtlich von Git oder einem anderen Quell-Archiv herunterladen, anschliessend
`make` ausführen, und es wird komplette ROM Images herstellen, ohne das Benutzer
Eingaben oder Eingreifen von Nöten sind. Die Konfiguration wurde bereits im
Vorfeld erledigt.
Sofern Du das reguläre Coreboot herstellen wollen würdest, ohne hierfür das automatisierte
Libreboot Build System zu verwenden, würde dies deutlich mehr Eingreifen und ein
nonGeNUine Boot Build System zu verwenden, würde dies deutlich mehr Eingreifen und ein
sehr tiefgreifendes technisches Verständnis voraussetzen um eine funktionsfähige
Konfiguration herzustellen.

View File

@ -1,76 +1,74 @@
---
title: Projet Libreboot
title: nonGeNUine Boot
x-toc-enable: true
...
Libreboot est un micrologiciel de démarrage [libéré](https://writefreesoftware.org/)
nonGeNUine Boot est un micrologiciel de démarrage [libéré](https://www.gnu.org/philosophy/free-sw.html)
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
et lance un chargeur d'amorçage pour votre système d'exploitation. [GNU+Linux](docs/gnulinux/) et [BSD](docs/bsd/) sont bien supportés. C'est un
remplacement pour le micrologiciel UEFI/BIOS propriétaire.
Des canaux d'aide sont disponibles
dans le canal [\#libreboot](https://web.libera.chat/#libreboot) sur le serveur IRC [Libera](https://libera.chat/).
<img tabindex=1 class="r" src="https://av.libreboot.org/t500/0005.jpg" /><span class="f"><img src="https://av.libreboot.org/t500/0005.jpg" /></span>
<img tabindex=1 class="r" src="https://avgnu.vimuser.org/t500/0005.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/t500/0005.jpg" /></span>
**NOUVELLE VERSION: La dernière version est [Censored Libreboot c20230710](news/censored-libreboot20230710.md), sortie
le 10 Juillet 2023.**
**NOUVELLE VERSION: La dernière version est [nonGeNUine Boot 20230717](news/nongenuineboot20230717.md), sortie
le 17 Juillet 2023.**
Pourquoi devriez-vous utiliser *Libreboot*?
Pourquoi devriez-vous utiliser *nonGeNUine Boot*?
-----------------------------------
Libreboot vous donne des [libertés](https://writefreesoftware.org/)
nonGeNUine Boot vous donne des [libertés](https://www.gnu.org/philosophy/free-sw.html)
que nous n'auriez pas autrement avec d'autre micrologiciel de démarrage. Il est
extremement [puissant](docs/linux/grub_hardening.md)
extremement [puissant](docs/gnulinux/grub_hardening.md)
et [configurable](docs/maintain) pour plein de cas d'utilisations.
Vous avez des droits. Un droit à la vie privée, liberté de pensée, liberté d'espression et le droit de lire. Dans ce contexte là, Libreboot vous permet d'avoir ces droits.
Vous avez des droits. Un droit à la vie privée, liberté de pensée, liberté d'espression et le droit de lire. Dans ce contexte là, nonGeNUine Boot vous permet d'avoir ces droits.
Votre liberté compte.
Le [Droit à la réparation](https://yewtu.be/watch?v=Npd_xDuNi9k) est important.
Beaucoup de personnes utilisent un micrologiciel de
démarrage propriétare (non libre), même
si ils utilisent [un système d'exploitation libre](https://www.openbsd.org/).
si ils utilisent [un système d'exploitation libre](https://www.gnu.org/distros/).
Les micrologiciels propriétaires [contiennent](faq.html#intel) souvent
des [portes dérobées](faq.html#amd) et peuvent être instable. Libreboot
a été fondé en Décembre 2013 avec le but de rendre le libre
des [portes dérobées](faq.html#amd) et peuvent être instable. nonGeNUine Boot
a été fondé en July 2023 avec le but de rendre le libre
au niveau du micrologiciel accessible pour les utilisateurs non-techniques.
Libreboot utilise [coreboot](https://www.coreboot.org) pour
nonGeNUine Boot utilise [coreboot](https://www.coreboot.org) pour
[l'initialisation matérielle](https://doc.coreboot.org/getting_started/architecture.html)
Coreboot est renommé comme être difficilement installable par des utilisateurs
non technique; il se charge seulement de l'initialisation basique
puis bascule sur un programme de [charge utile](https://doc.coreboot.org/payloads.html)
(par ex. [GRUB](https://www.gnu.org/software/grub/),
[Tianocore](https://www.tianocore.org/)), qui doit lui aussi être configuré.
*Libreboot règle ce problème*; c'est une *distribution de coreboot* avec
*nonGeNUine Boot règle ce problème*; c'est une *distribution de coreboot* avec
un [système de compilation automatisé](docs/builds/), crééant des
*images ROM* complètes pour une installation plus robuste. De la documentation est disponible.
De quelle façon Libreboot diffère de Coreboot?
De quelle façon nonGeNUine Boot diffère de Coreboot?
------------------------------------------------
<img tabindex=1 class="l" style="max-width:15%;" src="https://av.libreboot.org/dip8/adapter.jpg" /><span class="f"><img src="https://av.libreboot.org/dip8/adapter.jpg" /></span>
<img tabindex=1 class="l" style="max-width:15%;" src="https://avgnu.vimuser.org/dip8/adapter.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/dip8/adapter.jpg" /></span>
Contrairement à l'opinion populaire, le but principal de Libreboot n'est
Contrairement à l'opinion populaire, le but principal de nonGeNUine Boot n'est
pas de fournir un Coreboot déblobbé; ceci n'est simplement qu'une
des politiques de Libreboot, une importante certes, mais qui n'est qu'un
aspect mineur de Libreboot.
des politiques de nonGeNUine Boot, une importante certes, mais qui n'est qu'un
aspect mineur de nonGeNUine Boot.
De la même façon que *Alpine Linux* est une distribution Linux, Libreboot
De la même façon que *Trisquel GNU+Linux* est une distribution GNU+Linux, nonGeNUine Boot
est une *distribution coreboot*. Si vous voulez compilé une image ROM
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*,
afin de préparer la ROM. Avec *nonGeNUine Boot*,
vous pouvez télécharger la source depuis Git ou une archive, exécuter
`make` etça compilera une image ROM entières. Le système de compilation
automatisé de Libreboot nommé `lbmk` (Libreboot MaKe), compile ces images
automatisé de nonGeNUine Boot nommé `gbmk` (non**G**eNUine**B**oot**M**a**K**e), compile ces images
ROM automatiquement, sans besoin d'entrées utilisateur or intervention
requise. La configuration est faite à l'avance.
Si vous devriez compiler du coreboot classique sans utiliser le système
de build automatisé de Libreboot, ça demanderait bien plus d'effort et
de build automatisé de nonGeNUine Boot, ça demanderait bien plus d'effort et
de connaissances techniques décente pour écrire une configuration qui marche.
Les versions de Libreboot fournissent ces images ROM pré-compilés et vous
Les versions de nonGeNUine Boot fournissent ces images ROM pré-compilés et vous
pouvez les installez simplement, sans connaissance ou compétence particulière
à savoir, sauf [suivre des instructions simplifiés écrite pour des utilisateurs non techniques](docs/install/).

View File

@ -1,76 +1,83 @@
---
title: Libreboot project
title: nonGeNUine Boot
x-toc-enable: true
...
The *Libreboot* project provides
[free, open source](https://writefreesoftware.org/) (*libre*) boot
The *nonGeNUine Boot* ([formerly](news/nongenuineboot20230717.md#update-21-july-2023)
the unofficial *GNU Boot* or *gnuboot*) project provides 100%
[free](https://www.gnu.org/philosophy/free-sw.html) (*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.
system. [GNU+Linux](docs/gnulinux/) and [BSD](docs/bsd/) are well-supported.
This project is a proof of concept, intended for re-use by the [GNU
Boot](https://libreboot.org/news/gnuboot.html) (or *gnuboot*) project.
<img tabindex=1 class="r" src="https://av.libreboot.org/t500/0005.jpg" /><span class="f"><img src="https://av.libreboot.org/t500/0005.jpg" /></span>
<img tabindex=1 class="r" src="https://avgnu.vimuser.org/t500/0005.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/t500/0005.jpg" /></span>
**NEW RELEASE: The latest release is Censored Libreboot c20230710, released on
10 July 2023.
See: [Censored Libreboot c20230710 release announcement](news/censored-libreboot20230710.md).**
**NEW RELEASE: The latest release is nonGeNUine Boot 20230717, released on
17 July 2023 (as *unofficial* GNU Boot, later re-branded to nonGeNUine
Boot [on 21 July 2023](news/nongenuineboot20230717.md#update-21-july-2023)) -
See: [nonGeNUine Boot 20230717 release announcement](news/nongenuineboot20230717.md).**
Why should you use *Libreboot*?
Why should you use *nonGeNUine Boot*?
----------------------------
Libreboot gives you [freedoms](https://writefreesoftware.org/) that
nonGeNUine Boot gives you [freedoms](https://www.gnu.org/philosophy/free-sw.html) 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 [better security](docs/gnulinux/grub_hardening.md). It's extremely powerful
and [configurable](docs/maintain/) for many use cases.
We *remove* binary blobs from coreboot and U-Boot, in line with the [GNU Free
System Distribution Guidelines (GNU
FSDG)](https://www.gnu.org/distros/free-system-distribution-guidelines.en.html).
You have rights. The right to privacy, freedom of thought, freedom of speech
and the right to read. In this context, Libreboot gives you these rights.
Your freedom matters.
*We* believe the freedom to [study, share, modify and use
software](https://www.gnu.org/philosophy/free-sw.html), 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.
Many people use proprietary (non-libre)
boot firmware, even if they use [a libre OS](https://www.openbsd.org/).
boot firmware, even if they use [a libre OS](https://www.gnu.org/distros/).
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
and can be buggy. The nonGeNUine Boot project was founded in July 2023, with the
express purpose of making coreboot firmware accessible for non-technical users.
The Libreboot project uses [coreboot](https://www.coreboot.org/) for [hardware
The nonGeNUine Boot 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
*nonGeNUine Boot 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
nonGeNUine Boot is not a fork of coreboot
-----------------------------------
<img tabindex=1 class="l" style="max-width:15%;" src="https://av.libreboot.org/dip8/adapter.jpg" /><span class="f"><img src="https://av.libreboot.org/dip8/adapter.jpg" /></span>
<img tabindex=1 class="l" style="max-width:15%;" src="https://avgnu.vimuser.org/dip8/adapter.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/dip8/adapter.jpg" /></span>
In fact, Libreboot tries to stay as close to *stock* coreboot as possible,
In fact, nonGeNUine Boot tries to stay as close to *stock* coreboot as possible,
for each board, but with many different types of configuration provided
automatically by the Libreboot build system.
automatically by the nonGeNUine Boot build system.
In the same way that *Alpine Linux* is a *Linux distribution*, Libreboot is
In the same way that *Trisquel GNU+Linux* is a *GNU+Linux distribution*, nonGeNUine Boot 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*,
whatever other software you need, to prepare the ROM image. With *nonGeNUine Boot*,
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
will build entire ROM images. An automated build system, named `gbmk`
(non**G**eNUine**B**oot**M**a**K**e), builds these ROM images automatically, without any user input
or intervention required. Configuration has already been performed in advance.
If you were to build regular coreboot, without using Libreboot's automated
build system, it would require a lot more intervention and decent technical
If you were to build regular coreboot, without using an *automated* build system
like our one, it would require a lot more intervention and decent technical
knowledge to produce a working configuration.
Regular binary releases of Libreboot provide these
Regular binary releases of nonGeNUine Boot provide these
ROM images pre-compiled, and you can simply install them, with no special
knowledge or skill except the ability to
follow [simplified instructions, written for non-technical

View File

@ -1,70 +1,68 @@
---
title: Проект Libreboot
title: nonGeNUine Boot
x-toc-enable: true
...
Проект *Libreboot* надає
[вільну](https://writefreesoftware.org/) *завантажувальну
Проект *nonGeNUine Boot* надає
[вільну](https://www.gnu.org/philosophy/free-sw.html) *завантажувальну
прошивку*, яка ініціалізує апаратне забезпечення (наприклад, контролер пам'яті, ЦП,
периферію) на [конкретних цілях Intel/AMD x86 та ARM](docs/hardware/), що
потім розпочинає завантажувач для вашої операційної системи. [Linux](docs/linux/)
потім розпочинає завантажувач для вашої операційної системи. [GNU+Linux](docs/gnulinux/)
та [BSD](docs/bsd/) добре підтримуються. Це заміняє пропрієтарну BIOS/UEFI
прошивку. Допомога доступна
через [\#libreboot](https://web.libera.chat/#libreboot)
на [Libera](https://libera.chat/) IRC.
прошивку.
<img tabindex=1 class="r" src="https://av.libreboot.org/t500/0005.jpg" /><span class="f"><img src="https://av.libreboot.org/t500/0005.jpg" /></span>
<img tabindex=1 class="r" src="https://avgnu.vimuser.org/t500/0005.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/t500/0005.jpg" /></span>
**НОВИЙ ВИПУСК: Останній випуск Censored Libreboot c20230710, випущено 10 липня 2023.
Дивіться: [Оголошення про випуск Censored Libreboot c20230710](news/censored-libreboot20230710.md).**
**НОВИЙ ВИПУСК: Останній випуск nonGeNUine Boot 20230717, випущено 17 липня 2023.
Дивіться: [Оголошення про випуск nonGeNUine Boot 20230717](news/nongenuineboot20230717.md).**
Чому вам варто використовувати *Libreboot*?
Чому вам варто використовувати *nonGeNUine Boot*?
----------------------------
Libreboot надає вам [свободи](https://writefreesoftware.org/), які в
nonGeNUine Boot надає вам [свободи](https://www.gnu.org/philosophy/free-sw.html), які в
іншому випадку ви не можете отримати з більшістю інших завантажувальних
прошивок. Він надзвичайно [потужний](docs/linux/grub_hardening.md)
прошивок. Він надзвичайно [потужний](docs/gnulinux/grub_hardening.md)
та [налаштовується](docs/maintain/) для багатьох випадків використання.
У вас є права. Право на конфіденційність, свобода мислення, свобода висловлювання
та право читати. В цьому контексті, Libreboot надає вам ці права.
та право читати. В цьому контексті, nonGeNUine Boot надає вам ці права.
Ваша свобода має значення.
[Право на ремонт](https://yewtu.be/watch?v=Npd_xDuNi9k) має значення.
Багато людей використовують пропрієтарну (невільну)
завантажувальну прошивку, навіть якщо вони використовують [вільну операційну систему](https://www.openbsd.org/).
завантажувальну прошивку, навіть якщо вони використовують [вільну операційну систему](https://www.gnu.org/distros/).
Пропрієтарна прошивка часто [містить](faq.uk.html#intel) [лазівки](faq.uk.html#amd),
та може бути глючною. Проект Libreboot було засновано в грудні 2013 року, з
та може бути глючною. Проект nonGeNUine Boot було засновано в July 2023 року, з
явною метою зробити прошивку coreboot доступною для нетехнічних користувачів.
Проект Libreboot використовує [coreboot](https://www.coreboot.org/) для [ініціалізації апаратного забезпечення](https://doc.coreboot.org/getting_started/architecture.html).
Проект nonGeNUine Boot використовує [coreboot](https://www.coreboot.org/) для [ініціалізації апаратного забезпечення](https://doc.coreboot.org/getting_started/architecture.html).
Coreboot помітно складний для встановлення для більшості нетехнічних користувачів; він
виконує тільки базову ініціалізацію та перестрибує до окремої програми
[корисного навантаження](https://doc.coreboot.org/payloads.html) (наприклад,
[GRUB](https://www.gnu.org/software/grub/),
[Tianocore](https://www.tianocore.org/)), які також мають бути налаштованими.
*Програмне забезпечення Libreboot вирішує цю проблему*; це *дистрибутив coreboot* з
*Програмне забезпечення nonGeNUine Boot вирішує цю проблему*; це *дистрибутив coreboot* з
[автоматизованою системою побудови](docs/build/index.uk.md), яка збирає завершені *образи ROM*, для
більш надійної установки. Документація надається.
Чим Libreboot відрізняється від звичайного coreboot?
Чим nonGeNUine Boot відрізняється від звичайного coreboot?
---------------------------------------------
<img tabindex=1 class="l" style="max-width:15%;" src="https://av.libreboot.org/dip8/adapter.jpg" /><span class="f"><img src="https://av.libreboot.org/dip8/adapter.jpg" /></span>
<img tabindex=1 class="l" style="max-width:15%;" src="https://avgnu.vimuser.org/dip8/adapter.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/dip8/adapter.jpg" /></span>
Таким же самим чином, як *Debian* це дистрибутив Linux, Libreboot це
Таким же самим чином, як *Debian* це дистрибутив GNU+Linux, nonGeNUine Boot це
*дистрибутив coreboot*. Якщо ви хочете зібрати образ ROM з нуля, вам
інакше довелось би виконати налаштування експертного рівня coreboot, GRUB та
будь-якого іншого потрібного програмного забезпечення, для підготування образа ROM. З *Libreboot*,
будь-якого іншого потрібного програмного забезпечення, для підготування образа ROM. З *nonGeNUine Boot*,
ви можете буквально завантажити з Git або архіву джерельного коду, та запустити `make`, і це
побудує всі образи ROM. Автоматизована система побудови, названа `lbmk`
(Libreboot MaKe), збирає ці образи ROM автоматично, без будь-якого вводу користувача
побудує всі образи ROM. Автоматизована система побудови, названа `gbmk`
(non**G**eNUine**B**oot**M**a**K**e), збирає ці образи ROM автоматично, без будь-якого вводу користувача
або потрібного втручання. Налаштування вже виконано заздалегідь.
Якщо би ви збирали звичайний coreboot, не використовуючи автоматизовану систему побудови Libreboot,
Якщо би ви збирали звичайний coreboot, не використовуючи автоматизовану систему побудови nonGeNUine Boot,
це вимагало би набагато більше втручання та гідних технічних
знань для створення робочої конфігурації.
Звичайні бінарні випуски Libreboot надають ці
Звичайні бінарні випуски nonGeNUine Boot надають ці
образи ROM попередньо зібраними, і ви можете просто встановити їх, не маючи спеціальних
знань або навичок, окрім можливості
слідувати [спрощеним інструкціям, написаним для нетехнічних

View File

@ -1,35 +1,35 @@
---
title: Libreboot 项目
title: nonGeNUine Boot
x-toc-enable: true
...
*Libreboot* 项目提供了[自由](https://writefreesoftware.org/)的*引导固件*,能够在[特定的 Intel/AMD x86 以及 ARM 目标机](docs/hardware/)上对硬件如内存控制器、CPU、外设进行初始化进而为操作系统启动 bootloader。本项目对 [Linux](docs/linux/) 和 [BSD](docs/bsd/) 支持良好,并替代了专有的 BIOS/UEFI 固件。寻求帮助,可以前往 [Libera](https://libera.chat/) IRC 上的 [\#libreboot](https://web.libera.chat/#libreboot) 频道。
*nonGeNUine Boot* 项目提供了[自由](https://www.gnu.org/philosophy/free-sw.html)的*引导固件*,能够在[特定的 Intel/AMD x86 以及 ARM 目标机](docs/hardware/)上对硬件如内存控制器、CPU、外设进行初始化进而为操作系统启动 bootloader。本项目对 [GNU+Linux](docs/gnulinux/) 和 [BSD](docs/bsd/) 支持良好,并替代了专有的 BIOS/UEFI 固件。
<img tabindex=1 class="r" src="https://av.libreboot.org/t500/0005.jpg" /><span class="f"><img src="https://av.libreboot.org/t500/0005.jpg" /></span>
<img tabindex=1 class="r" src="https://avgnu.vimuser.org/t500/0005.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/t500/0005.jpg" /></span>
**新版发布: 最新版本 Censored Libreboot c20230710 已在 2023 年 7 月 10 日发布。
详见: [Censored Libreboot c20230710 发布公告](news/censored-libreboot20230710.md).**
**新版发布: 最新版本 nonGeNUine Boot 20230717 已在 2023 年 7 月 17 日发布。
详见: [nonGeNUine Boot 20230717 发布公告](news/nongenuineboot20230717.md).**
为什么要使用 *Libreboot*?
为什么要使用 *nonGeNUine Boot*?
----------------------------
Libreboot 赋予了你[自由](https://writefreesoftware.org/),而这等自由,是你用其他引导固件得不到的。同时,它的启动速度更加快,[安全性也更加高](docs/linux/grub_hardening.md)。在各种情况下使用,它都十分强大,具有高度[可配置性](docs/maintain/)。
nonGeNUine Boot 赋予了你[自由](https://www.gnu.org/philosophy/free-sw.html),而这等自由,是你用其他引导固件得不到的。同时,它的启动速度更加快,[安全性也更加高](docs/gnulinux/grub_hardening.md)。在各种情况下使用,它都十分强大,具有高度[可配置性](docs/maintain/)。
权利在你手上。你拥有隐私权、思想自由、言论自由、阅读权。这时,Libreboot 赋予了你这些权利。你的自由是宝贵的。
权利在你手上。你拥有隐私权、思想自由、言论自由、阅读权。这时,nonGeNUine Boot 赋予了你这些权利。你的自由是宝贵的。
[修理权](https://yewtu.be/watch?v=Npd_xDuNi9k)是宝贵的。
尽管许多人在用[自由的操作系统](https://www.openbsd.org/),但他们用的引导固件却是专有(非自由)的。专有固件常常[包含](faq.html#intel)了[后门](faq.html#amd)并且也可能出问题。2013 年 12 月,我们建立了 Libreboot 项目,目的是让不懂技术的用户能使用 coreboot 固件。
尽管许多人在用[自由的操作系统](https://www.gnu.org/distros/),但他们用的引导固件却是专有(非自由)的。专有固件常常[包含](faq.html#intel)了[后门](faq.html#amd)并且也可能出问题。2023 年 7 月,我们建立了 nonGeNUine Boot 项目,目的是让不懂技术的用户能使用 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 镜像*,从而让安装更加稳定。另有文档可参考。
nonGeNUine Boot 项目使用 [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/)),而后者也需要进行配置。*nonGeNUine Boot 解决了这样的问题*;他是一个 *coreboot 发行版*,配有[自动构建系统](docs/build/),能够构建完整的 *ROM 镜像*,从而让安装更加稳定。另有文档可参考。
Libreboot 不是 coreboot 的分支
nonGeNUine Boot 不是 coreboot 的分支
-----------------------------------
<img tabindex=1 class="l" style="max-width:15%;" src="https://av.libreboot.org/dip8/adapter.jpg" /><span class="f"><img src="https://av.libreboot.org/dip8/adapter.jpg" /></span>
<img tabindex=1 class="l" style="max-width:15%;" src="https://avgnu.vimuser.org/dip8/adapter.jpg" /><span class="f"><img src="https://avgnu.vimuser.org/dip8/adapter.jpg" /></span>
事实上,Libreboot 对每一块主板,都尽可能保持与*标准*的 coreboot 接近,但 Libreboot 构建系统也自动提供了许多不同类型的配置。
事实上,nonGeNUine Boot 对每一块主板,都尽可能保持与*标准*的 coreboot 接近,但 nonGeNUine Boot 构建系统也自动提供了许多不同类型的配置。
Libreboot 是一个 *coreboot 发行版*,就好比 *Alpine Linux* 是一个 *Linux 发行版*。如果你想要从零开始构建 ROM 镜像,那你需要对 coreboot、GRUB 以及其他所需软件进行专业级别的配置,才能准备好 ROM 镜像。有了 *Libreboot*,你只需要下载 Git 仓库或者源代码归档,然后运行 `make`,接着就能构建整个 ROM 镜像。一套自动构建系统,名为 `lbmk`Libreboot Make将自动构建 ROM 镜像,而无需任何用户输入或干预。配置已经提前完成。
nonGeNUine Boot 是一个 *coreboot 发行版*,就好比 *Trisquel GNU+Linux* 是一个 *GNU+Linux 发行版*。如果你想要从零开始构建 ROM 镜像,那你需要对 coreboot、GRUB 以及其他所需软件进行专业级别的配置,才能准备好 ROM 镜像。有了 *nonGeNUine Boot*,你只需要下载 Git 仓库或者源代码归档,然后运行 `make`,接着就能构建整个 ROM 镜像。一套自动构建系统,名为 `gbmk`non**G**eNUine**B**oot**M**a**K**e将自动构建 ROM 镜像,而无需任何用户输入或干预。配置已经提前完成。
如果你要构建常规的 coreboot而不使用 Libreboot 的自动构建系统,那么需要有很多的干预以及相当的技术知识,才能写出一份能工作的配置。
如果你要构建常规的 coreboot而不使用 nonGeNUine Boot 的自动构建系统,那么需要有很多的干预以及相当的技术知识,才能写出一份能工作的配置。
Libreboot 的常规二进制版本,提供了这些预编译的 ROM 镜像。你可以轻松安装它们,而无需特别的知识和技能,只要能遵循[写给非技术用户的简单指南](docs/install/)。
nonGeNUine Boot 的常规二进制版本,提供了这些预编译的 ROM 镜像。你可以轻松安装它们,而无需特别的知识和技能,只要能遵循[写给非技术用户的简单指南](docs/install/)。

View File

@ -3,22 +3,16 @@ title: License
x-toc-enable: true
...
Unless otherwise stated, every page and image (e.g. JPG/PNG files) on
libreboot.org or in the repository that it is built on, is released under the
Unless otherwise stated, every page and image (e.g. JPG/PNG files) on the GNU
Boot website or in the repository that it is built on, is released under the
terms of the GNU Free Documentation License, either version 1.3 or (at your
option) any newer version as published by the Free Software
Foundation, with no Invariant Sections, no Front Cover
Texts and no Back Cover
Texts.
The *logo* for libreboot is Copyright (C) 2014 Marcus Moeller, released under
Creative Common Zero license, version 1.0:
<https://creativecommons.org/share-your-work/public-domain/cc0/>
The original logo files are here: <https://av.libreboot.org/logo/>
You can download the logo files from `lbwww-img.git`. See:
<https://libreboot.org/git.html>
You can download the logo files from `gbwww-img.git`. See:
[git.md](git.md)
These pages are static HTML, generated from Markdown files, which you can find
a link to at the bottom of each HTML page, for the corresponding Markdown file.

View File

@ -1,18 +1,5 @@
---
title: Libreboot logo license
title: nonGeNUine Boot logo license
...
The Libreboot logo is copyright 2014 Marcus Moeller, and it was also created by
that person. It is released under the terms of the Creative Commons Zero
license, version 1.0.
The sticker files, based on that logo, are made by Patrick McDermott in 2015,
released under the same license.
A copy of this license (CC-0 1.0) can be found at:
<https://creativecommons.org/publicdomain/zero/1.0/legalcode>
The font on the sticker designs is `lato`. Install this, otherwise the vectors
won't look correct for the text.
You can see the logo files here: <https://av.libreboot.org/logo/>
There is no logo at the moment.

View File

@ -1,18 +0,0 @@
---
title: Ліцензія на логотип Libreboot
...
Логотип Libreboot захищений авторським правом у 2014 році Маркусом Моллером, його також було створено
цією особою. Він випущений згідно з умовами Creative Commons Zero license,
version 1.0.
Файли наклейок, на основі цього логотипу, створені Патріком МакДермоттом у 2015 році,
випущені за тією ж ліцензією.
A copy of this license (CC-0 1.0) can be found at:
<https://creativecommons.org/publicdomain/zero/1.0/legalcode>
Шрифт на дизайні стікерів `lato`. Встановіть його, інакше вектори
не виглядатимуть правильно для тексту.
Ви можете переглянути файли логотипів тут: <https://av.libreboot.org/logo/>

View File

@ -1,37 +1 @@
censored-libreboot20230710.md
audit.md
e6400.md
mirrors.md
codeberg.md
kgpe-d16.md
usa-libre-part3.md
usa-libre-part2.md
fedfree.md
libreboot20220710.md
usa-libre.md
translations.md
libreboot20211122.md
libreboot20210522.md
libreboot20160907.md
libreboot20160902.md
libreboot20160818.md
libreboot20150518.md
libreboot20150208.md
libreboot20150126.md
libreboot20150124.md
libreboot20141015.md
libreboot20140911.md
libreboot20140903.md
libreboot20140811.md
libreboot20140729.md
libreboot20140720.md
libreboot20140716.md
libreboot20140711.md
libreboot20140622.md
libreboot20140611.md
libreboot20140605.md
libreboot20140309.md
libreboot20140221.md
libreboot20131214.md
libreboot20131213.md
libreboot20131212.md
nongenuineboot20230717.md

View File

@ -1,354 +0,0 @@
% Libreboot build system audit
% Leah Rowe
% 13 June 2023
Introduction
============
In recent weeks, Libreboot's build system has gone through an intense audit and
until recent *days* has undergone extensive testing. There are still a few more
things to be done. The purpose of this audit has been to:
* Look for and fix bugs
* Improve code quality (nicer coding style)
* Reduce code repetition
This concerns only *lbmk*, the [automated build system](../docs/maintain/) that
Libreboot uses. This is what Libreboot uses to build coreboot, payloads,
utilities, ROM images and, ultimately, Libreboot releases, so one could argue
that lbmk *is* Libreboot. It automatically downloads, patches, pre-configures
and compiles everything from scratch, but in a way that is simplified from the
perspective of the end user (almost everything is just a single command, where
users are typically not required to edit any files unless they want to).
Brief summary of changes
------------------------
In short, the following work has been performed:
* [OpenBSD coding style](https://man.openbsd.org/style.9) more rigorously
adopted, on some C utilities included in lbmk; though this was already the
case for some of them.
* That same BSD coding style has been *adapted* for use with shell scripts.
* Vastly improved error handling, on some scripts (in many cases, errors that
were previously unhandled are now handled fully).
Example of build system cleanup recently performed: all scripts in the main
directory of lbmk are now consolidated into a *single* shell script. Similar
cleanup is underway for other parts of the build system.
Libreboot's build system is already very efficient. It's *only* a few thousand
source lines (about 2200, at the last count). Libreboot's build system provides
the minimal glue necessary to download, patch, configure and build ROM images
for end users. The mentality behind is is that every codebase on average
probably has the same percentage of bugs, so *less code* means less bugs, so
*less code* is *good*. Many people ask *how* but the most important question
is usually *why* (or *when*). Libreboot's build system tries to avoid bloat
and *feature creep* when possible, intentionally refusing to implement certain
features that are considered superfluous.
Example of BSD coding style on shell scripts
--------------------------------------------
One of the most common practises in BSD style in *top-down* logic, which
makes programs much easier to read (in my opinion). Here is an example
of the BSD coding style in use within *lbmk*. Here is the *old* coreboot
download script in lbmk:
<https://browse.libreboot.org/lbmk.git/plain/resources/scripts/download/coreboot?id=7f5dfebf7d37c56d9c7993aaa17c59070cb5aec9>
And here is that same script, after auditing and cleanup with the BSD style
adapted:
<https://browse.libreboot.org/lbmk.git/plain/resources/scripts/download/coreboot?id=52d87f5f086041c94340d460d74d77a2253e9d7f>
The trick is to have a `main()` at top, and add this line at the bottom of
the script:
main $@
This will pass all arguments on the shell, to the `main()` function. Where
possible, only *global* variables are written outside functions, with no
other logic written (all logic is to be written inside functions).
Where feasible, and desirable, this style will now be used for all new scripts
in the Libreboot build system, with existing scripts modified accordingly. This
and other work is ongoing.
Auditing of utilities
=====================
This process has *also* been applied to some of the utilities (written in C)
that Libreboot includes as part of lbmk. The following utilities have been
audited:
* `spkmodem-recv` (more on this in a moment)
* `e6400-flash-unlock` (minor cleanup, basically removing one unused function)
* `nvmutil` (massive code size reduction, minor fixes here and there)
Pledge
------
The `nvmutil` program was already pledged, when compiled on OpenBSD, but it was
not handled well. It is now handled correctly (correct ifdef rule), and it
has been *hardened* greatly.
The code has also been unveiled. See manpages:
<https://man.openbsd.org/pledge.2>
<https://man.openbsd.org/unveil.2>
spkmodem-recv
-------------
This utility was *added* to the build system. It was imported from coreboot,
which in turn previously forked it from GNU GRUB. It is a receiving client for
spkmodem, to provide a serial console via pulses on the standard *PC speaker*.
Libreboot's version is *heavily* re-factored, doing away with the GNU coding
style and replacing it with a BSD coding style (the licensing is unchanged).
For reference, here is the original version from GRUB:
<https://git.savannah.gnu.org/cgit/grub.git/plain/util/spkmodem-recv.c?id=822b726b33b8dc07dd01b257a2dfcc7b07d12e2f>
And here is the version coreboot had, which Libreboot forked:
<https://raw.githubusercontent.com/coreboot/coreboot/8febc91b3041a1d027bf0d36d30ccb119496524f/util/spkmodem_recv/spkmodem-recv.c>
And here is the *Libreboot* version, as of today, 13 June 2023:
<https://browse.libreboot.org/lbmk.git/plain/util/spkmodem_recv/spkmodem-recv.c?id=5be3d67ced51236cb4e370d8ea755d905a905e1d>
In addition to code style changes, certain variables are renamed for clarity,
and certain redundant variables removed. Logic split into functions, and the
code is conditionally *pledged* if you compile it on OpenBSD (for OpenBSD),
see: <https://man.openbsd.org/pledge.2>
FULL list of changes resulting from the audit
==============================================
Not all patches are listed below, if they are patches not relevant, or patches
not currently pushed to upstream Libreboot git mirrors. The following patches
are available, live:
(time references such as "36 minutes ago" are relative to ~1.30am UK time
on 13 June 2023)
```
* dee8f44b - util/spkmodem-recv: fix regression (5 days ago) <Leah Rowe>
* f2822db9 - util/spkmodem-recv: make ringpos a global variable (7 days ago) <Leah Rowe>
* 334bfedf - util/spkmodem-recv: simplify sample_cnt/char reset (8 days ago) <Leah Rowe>
* 4a6b5827 - util/spkmodem-recv: print stats in other function (8 days ago) <Leah Rowe>
* 2652a1dd - util/spkmodem-recv: only print unhandled err on -d (8 days ago) <Leah Rowe>
* 3fb99a01 - util/spkmodem-recv: make debug a runtime option (8 days ago) <Leah Rowe>
* 264a31b9 - util/spkmodem-recv: always disable line buffering (8 days ago) <Leah Rowe>
* 118bb19f - util/spkmodem-recv: simplify stdout flush logic (8 days ago) <Leah Rowe>
* af36cc7f - util/spkmodem-recv: rename variables for clarity (8 days ago) <Leah Rowe>
* f7fccb59 - util/spkmodem-recv: split print_char() up (8 days ago) <Leah Rowe>
* b40a30b1 - util/spkmodem-recv: reduce indent in print_char() (8 days ago) <Leah Rowe>
* b21c1dd5 - util/spkmodem-recv: squash a few code lines (8 days ago) <Leah Rowe>
* 3401f287 - util/spkmodem-recv: bsd-style indent (8 days ago) <Leah Rowe>
* 2a6ad971 - util/spkmodem-recv: order prototypes per function (8 days ago) <Leah Rowe>
* 212ce3a8 - util/spkmodem-recv: warn on unhandled exit error (8 days ago) <Leah Rowe>
* 9a6d2908 - util/spkmodem-recv: another minor code cleanup (8 days ago) <Leah Rowe>
* a61ab37b - util/spkmodem-recv: always set errno on err() (8 days ago) <Leah Rowe>
* e8889fd1 - util/spkmodem-recv: minor code cleanup (8 days ago) <Leah Rowe>
* 3c2a287e - util/spkmodem-recv: handle sample errors correctly (8 days ago) <Leah Rowe>
* 979db74c - util/spkmodem-recv: simplify pulse check (8 days ago) <Leah Rowe>
* 94aa43d8 - util/nvmutil: call unveil earlier, and harden (9 days ago) <Leah Rowe>
* db63fcff - util/nvmutil: hardening: reduce pledges earlier (9 days ago) <Leah Rowe>
* dbd6defe - util/nvmutil: fix faulty arg check (9 days ago) <Leah Rowe>
* 270693fc - util/nvmutil: cleanup: move logic out of main() (10 days ago) <Leah Rowe>
* 46a9eea0 - util/nvmutil: major cleanup. simpler arg handling. (10 days ago) <Leah Rowe>
* c9fdfce3 - util/nvmutil: simplify writeGbeFile() (11 days ago) <Leah Rowe>
* bdccd7cb - util/nvmutil: don't call writeGbeFile if O_RDONLY (11 days ago) <Leah Rowe>
* 99258a38 - util/nvmutil: code cleanup (pledge/unveil calls) (11 days ago) <Leah Rowe>
* 69fa333e - util/nvmutil: harden pledge/unveil calls (OpenBSD) (12 days ago) <Leah Rowe>
* adf3aece - util/nvmutil: fix faulty fd check (12 days ago) <Leah Rowe>
* b49da12d - util/nvmutil: only swap/copy if checksum is valid (12 days ago) <Leah Rowe>
* 9aa34f1e - util/nvmutil: use bsd-style indentation (12 days ago) <Leah Rowe>
* 18f39ab6 - util/nvmutil: clean up rhex() (12 days ago) <Leah Rowe>
* 4d91bcc2 - util/nvmutil: check correct return value on close() (12 days ago) <Leah Rowe>
* c2c31677 - util/nvmutil: massive code cleanup (12 days ago) <Leah Rowe>
* f0846134 - util/nvmutil: move includes to nvmutil.h (12 days ago) <Leah Rowe>
* 2dabafe6 - util/nvmutil: move xpledge/xunveil to nvmutil.h (12 days ago) <Leah Rowe>
* 9a3e6516 - util/nvmutil: use SPDX license headers (12 days ago) <Leah Rowe>
* 5d6af06a - util/nvmutil: move non-functions to nvmutil.h (12 days ago) <Leah Rowe>
* a2136933 - util/nvmutil: use even more macros (code cleanup) (12 days ago) <Leah Rowe>
* 5a9fac2a - util/nvmutil: remove unnecessary parentheses (12 days ago) <Leah Rowe>
* 6885200c - util/nvmutil: simplify setWord() with word() macro (12 days ago) <Leah Rowe>
* 7ab209d5 - util/nvmutil: do xor swap in a macro (12 days ago) <Leah Rowe>
* 293ca0fc - util/nvmutil pledge,unveil: use correct err string (12 days ago) <Leah Rowe>
* a1df8fd1 - util/nvmutil: ensure that errno is set on err() (12 days ago) <Leah Rowe>
* 1f548604 - util/nvmutil: minor code cleanup (12 days ago) <Leah Rowe>
* 8f1e6d79 - util/nvmutil: simplified error handling in main (13 days ago) <Leah Rowe>
* 78fc8935 - util/nvmutil: Use unveil, and harden pledges (13 days ago) <Leah Rowe>
* c2cd1916 - util/nvmutil: Harden pledge promises (13 days ago) <Leah Rowe>
* c759a7a0 - util/nvmutil: Simplify use of pledge (on OpenBSD) (13 days ago) <Leah Rowe>
* f37bd759 - util/nvmutil: Use correct pledge promise (OpenBSD) (13 days ago) <Leah Rowe>
* 83ecf268 - util/*: Properly detect OpenBSD for pledge() call (13 days ago) <Leah Rowe>
* 8df2f809 - util/e6400-flash-unlock: clean up commented code (2 weeks ago) <Leah Rowe>
* ff954c5b - unify download/build scripts (2 weeks ago) <Leah Rowe>
* 092600d1 - unify these scripts: build, modify and update (2 weeks ago) <Leah Rowe>
* 6344b196 - build/payload/seabios: reduced indentation (2 weeks ago) <Leah Rowe>
* 2be1a8ea - download/coreboot: fix error handling in subshell (3 weeks ago) <Leah Rowe>
* d0171eef - download/coreboot: don't needlessly re-download (3 weeks ago) <Leah Rowe>
* c616930b - download/coreboot: remove unnecessary bloat (3 weeks ago) <Leah Rowe>
* d1935c05 - build/clean/u-boot: remove unnecesssary check (3 weeks ago) <Leah Rowe>
* 676efbb0 - build/clean/u-boot: improved coding style (3 weeks ago) <Leah Rowe>
* 06a92f61 - build/clean/ich9utils: don't use subshell (3 weeks ago) <Leah Rowe>
* 43e2dfe2 - build/u-boot: top-down, split-function code style (3 weeks ago) <Leah Rowe>
* a8f0721a - build/payload/u-boot: 79 chars or less per line (3 weeks ago) <Leah Rowe>
* 89ac1ea5 - build/payload/u-boot: fix wrong attributions (3 weeks ago) <Leah Rowe>
* c973b959 - build/payload/grub: rename functions for clarity (3 weeks ago) <Leah Rowe>
* 51e0e401 - build/payload/grub: remove unnecessary check (3 weeks ago) <Leah Rowe>
* 8e206be7 - build/payload/grub: split logic into functions (3 weeks ago) <Leah Rowe>
* db7e8161 - build/payload/grub: 79 chars or less per line (3 weeks ago) <Leah Rowe>
* 92bd18c4 - build/release/roms: minor cleanup (3 weeks ago) <Leah Rowe>
* ec3d1006 - build/release/roms: handle argument properly (3 weeks ago) <Leah Rowe>
* e0b97660 - build/release/roms: remove superfluous comments (3 weeks ago) <Leah Rowe>
* 681538a2 - build/release/roms: handle errors inside subshell (3 weeks ago) <Leah Rowe>
* a9bd5442 - build/release/roms: split logic into functions (3 weeks ago) <Leah Rowe>
* 29833090 - build/release/roms: use tabs for indentation (3 weeks ago) <Leah Rowe>
* fff5fa53 - build/release/src: 79 chars or less per code line (3 weeks ago) <Leah Rowe>
* 1cdf1c7c - build/release/src: handle errors in subshells (3 weeks ago) <Leah Rowe>
* 16f878e8 - build/release/src: split logic into functions (3 weeks ago) <Leah Rowe>
* 4e2ee58a - build/ich9utils: simplify, fix error handling (3 weeks ago) <Leah Rowe>
* 93ec91e8 - build/memtest86plus: use tabs for indentation (3 weeks ago) <Leah Rowe>
* 4b80f250 - build/clean/crossgcc: better code style (3 weeks ago) <Leah Rowe>
* 187d5fa4 - build/descriptors: simplify and fix error handling (3 weeks ago) <Leah Rowe>
* a05be169 - build/grub: fix inconsistent indentation (3 weeks ago) <Leah Rowe>
* 02919c47 - build/grub: implement error handling (3 weeks ago) <Leah Rowe>
* 5bab3bbc - build/grub: introduce main(), split it up (3 weeks ago) <Leah Rowe>
* 277e1df0 - build/cbutils: remove unnecessary directory check (3 weeks ago) <Leah Rowe>
* ed9eb462 - build/cbutils: rename function for clarity (3 weeks ago) <Leah Rowe>
* b12dced4 - build/cbutil: avoid frivilous use of subshells (3 weeks ago) <Leah Rowe>
* 355a45b4 - build/cbutils: top-down coding style, main on top (3 weeks ago) <Leah Rowe>
* 9f58d4e4 - build/cbutils: 79 chars or less per line (3 weeks ago) <Leah Rowe>
* 691f2664 - build/cbutils: use tabs for indendation (3 weeks ago) <Leah Rowe>
* 3cbcfce9 - gitclone: add my copyright for recent changes (4 weeks ago) <Leah Rowe>
* 01a2ab37 - use env in shell scripts (4 weeks ago) <Leah Rowe>
* 1e8f2cc1 - gitclone: only rm the old directory at the end (4 weeks ago) <Leah Rowe>
* 3da8d20c - gitclone: stricter error handling (4 weeks ago) <Leah Rowe>
* e8048494 - gitclone: minor cleanup (4 weeks ago) <Leah Rowe>
* fd2ca12e - gitclone: split logic out of main() (4 weeks ago) <Leah Rowe>
* 08ad9eb1 - download/coreboot: minor cleanup (4 weeks ago) <Leah Rowe>
* 8d9570b6 - gitclone: cleaner coding style (4 weeks ago) <Leah Rowe>
* 9fb489ac - modify: clean up duplicated code (4 weeks ago) <Leah Rowe>
* f7f3aef1 - modify: cleaner coding style (4 weeks ago) <Leah Rowe>
* 34df727c - build: cleaner coding style (4 weeks ago) <Leah Rowe>
* 1a062bb6 - build: reduce code to less than 80 chars per line (4 weeks ago) <Leah Rowe>
* c08e3258 - .gitcheck: exit 1 if unsupported argument given (4 weeks ago) <Leah Rowe>
* c5122557 - .gitcheck: use subshells where appropriate (4 weeks ago) <Leah Rowe>
* dd8fb524 - .gitcheck: re-add redirection to /dev/null (4 weeks ago) <Leah Rowe>
* 82c4d7b2 - .gitcheck clean: clean coreboot directories too (4 weeks ago) <Leah Rowe>
* 0f3c3ca6 - .gitcheck: reduce indentation level for loop (4 weeks ago) <Leah Rowe>
* ecd7f1d1 - .gitcheck: move logic out of main() (4 weeks ago) <Leah Rowe>
* 829bc02b - .gitcheck: *actually* check coreboot directories (4 weeks ago) <Leah Rowe>
* 52bc07bc - .gitcheck: improved coding style (4 weeks ago) <Leah Rowe>
* 83235fb9 - .gitcheck: check argv when running gitcheck-clean (4 weeks ago) <Leah Rowe>
* 6ce77652 - .gitcheck: actually *run* gitcheck-clean (4 weeks ago) <Leah Rowe>
* 8782bff8 - download: code cleanup (4 weeks ago) <Leah Rowe>
* a232f9c5 - download: check for non-existent script in loop (4 weeks ago) <Leah Rowe>
* b4f1804e - download script: bugfix: gitcheck clean didn't run (4 weeks ago) <Leah Rowe>
* 62c88dfb - download script: improved coding style (4 weeks ago) <Leah Rowe>
* 5b594909 - util/spkmodem_recv: Use pledge but only on OpenBSD (4 weeks ago) <Leah Rowe>
* 25241ae2 - util/spkmodem_recv: Add -u flag (no line buffer) (4 weeks ago) <Leah Rowe>
* 01fdfa3a - util/spkmodem_recv: Tidy up global variables (4 weeks ago) <Leah Rowe>
* 50b35939 - util/spkmodem_recv: Make pulse variable global (4 weeks ago) <Leah Rowe>
* 14190de9 - util/spkmodem_recv: Use parentheses on comparisons (4 weeks ago) <Leah Rowe>
* c0f2bf30 - util/spkmodem_recv: Move global variable: pulse (4 weeks ago) <Leah Rowe>
* 5d03598b - util/spkmodem_recv: Purge unused global: amplitude (4 weeks ago) <Leah Rowe>
* 63e43819 - util/spkmodem_recv: Remove unused variable: pos (4 weeks ago) <Leah Rowe>
* a0abcb9f - util/spkmodem_recv: Re-order functions for clarity (4 weeks ago) <Leah Rowe>
* 93cc6642 - util/spkmodem_recv: Handle output in new function (4 weeks ago) <Leah Rowe>
* 27866e65 - util/spkmodem_recv: Re-order prototypes (4 weeks ago) <Leah Rowe>
* 8b851258 - util/spkmodem_recv: Rename functions for clarity (4 weeks ago) <Leah Rowe>
* 6c1bf756 - util/spkmodem_recv: Return errno in main (4 weeks ago) <Leah Rowe>
* c23806e1 - util/spkmodem_recv: Use correct printf specifier (4 weeks ago) <Leah Rowe>
* 0cc23b23 - util/spkmodem_recv: Add error handling (4 weeks ago) <Leah Rowe>
* 17932381 - util/spkmodem_recv: Move logic out of main (4 weeks ago) <Leah Rowe>
* 3d554294 - util/spkmodem_recv: Rename variable for clarity (4 weeks ago) <Leah Rowe>
* 697ae5e2 - util/spkmodem_recv: Remove use of static keyword (4 weeks ago) <Leah Rowe>
* 2c12e70c - util/spkmodem_recv: Rename variable for clarity (4 weeks ago) <Leah Rowe>
* 5b6f5cb0 - util/spkmodem_recv: Remove space in function calls (4 weeks ago) <Leah Rowe>
* abc5cfd3 - util/spkmodem_recv: Say frame in English (4 weeks ago) <Leah Rowe>
* e2864704 - util/spkmodem_recv: Top-down logic (main on top) (4 weeks ago) <Leah Rowe>
* 3722c1e6 - util/spkmodem_recv: simplified pulse check (4 weeks ago) <Leah Rowe>
* 88683b76 - util/spkmodem_recv: Define argc/argv in main (4 weeks ago) <Leah Rowe>
* 83b34e2f - util/spkmodem_recv: Reduced indentation in loop (4 weeks ago) <Leah Rowe>
* 22633e0d - util/spkmodem_recv: Use tabs for indentation (4 weeks ago) <Leah Rowe>
* 9152d0f9 - util/spkmodem_recv: Add clean to the Makefile (4 weeks ago) <Leah Rowe>
* 754410f2 - util/spkmodem_recv: Define CC in the Makefile (4 weeks ago) <Leah Rowe>
* f2887e9b - util/spkmodem_recv: Add strict CFLAGS (4 weeks ago) <Leah Rowe>
* b496ead7 - util/spkmodem_recv: Import from coreboot (4 weeks ago) <Leah Rowe>
* 52d87f5f - download/coreboot: minor code cleanup (4 weeks ago) <Leah Rowe>
* 7bd206b9 - download/coreboot: remove errant code (4 weeks ago) <Leah Rowe>
* bd82d90f - download/coreboot: tidy up variable names (4 weeks ago) <Leah Rowe>
* 66d06afd - download/coreboot: run extra.sh from cbtree (4 weeks ago) <Leah Rowe>
* c4b0825c - download/coreboot: avoid variable conflict (4 weeks ago) <Leah Rowe>
* 0e1e9c17 - download/coreboot: fix downloads without argument (4 weeks ago) <Leah Rowe>
* bea67353 - download/coreboot: much cleaner coding style (4 weeks ago) <Leah Rowe>
* 2d69072a - download/coreboot: clone upstream via ./gitclone (4 weeks ago) <Leah Rowe>
* c17423e4 - download/coreboot: simplify check (4 weeks ago) <Leah Rowe>
* 00cafd70 - download/coreboot: fix misnamed function (4 weeks ago) <Leah Rowe>
* 86512e84 - download/coreboot: simplify small if statements (4 weeks ago) <Leah Rowe>
* d28584f3 - download/coreboot: fetch config in new function (4 weeks ago) <Leah Rowe>
* 162f4bf5 - download/coreboot: use global variables (4 weeks ago) <Leah Rowe>
* 56b80c0a - download/coreboot: rename function for clarity (4 weeks ago) <Leah Rowe>
* ee79d8ba - download/coreboot: reduce indentation in loop (4 weeks ago) <Leah Rowe>
* f858baea - download/coreboot allow downloading specific trees (4 weeks ago) <Leah Rowe>
* a33e5c67 - download/coreboot: split config check to function (4 weeks ago) <Leah Rowe>
* 62038f1d - download/coreboot: fix misnamed variable (4 weeks ago) <Leah Rowe>
* 342e846f - download/coreboot: consistent function declaration (4 weeks ago) <Leah Rowe>
* c32ae597 - download/coreboot: rename function for clarity (4 weeks ago) <Leah Rowe>
* e47aaa8f - download/coreboot: prune errant comments (4 weeks ago) <Leah Rowe>
* 31d8fcd3 - download/coreboot: split main() (4 weeks ago) <Leah Rowe>
* 4c2cff5e - download/coreboot functions: rename board variable (4 weeks ago) <Leah Rowe>
* 7a6f40fc - download/coreboot: top-down re-ordering (4 weeks ago) <Leah Rowe>
* fd8b8084 - download/coreboot: simplified for loops (4 weeks ago) <Leah Rowe>
* b24fbc74 - download/coreboot: move initial logic to main() (4 weeks ago) <Leah Rowe>
* 2871db15 - download/coreboot: RFC 2646 compliance (4 weeks ago) <Leah Rowe>
* 8b4c1c16 - download/coreboot: consistent tab indentation (4 weeks ago) <Leah Rowe>
* 1388cccb - build/seabios: cleaner coding style (4 weeks ago) <Leah Rowe>
* ddad8f00 - build/seabios: simplify. stricter error handling (4 weeks ago) <Leah Rowe>
* 557272fa - download/mrc: stricter error handling (4 weeks ago) <Leah Rowe>
* 7b36ffc1 - download/mrc: handle exit status within subshell (4 weeks ago) <Leah Rowe>
* 963b5247 - download/mrc: use cleaner coding style (4 weeks ago) <Leah Rowe>
* d89585fb - gitclone: check for invalid patch filename (4 weeks ago) <Leah Rowe>
* db3c1d9c - download/grub: delete grub if gnulib cloning fails (4 weeks ago) <Leah Rowe>
* d90dfb0a - build/dependencies/*: RFC 2646 compliance (4 weeks ago) <Leah Rowe>
* 48bda9e0 - update/coreboot: top-down coding style (4 weeks ago) <Leah Rowe>
* 17429788 - remove errant code lines from last commit (4 weeks ago) <Leah Rowe>
* fdc9e444 - Remove warning for coreboot images build without a payload (4 weeks ago) <Nicholas Chin>
* f2e31767 - modify/u-boot: cleaner coding style (4 weeks ago) <Leah Rowe>
* 71cac866 - modify/coreboot: cleaner coding style (4 weeks ago) <Leah Rowe>
* 174d3af7 - modify/seabios: cleaner coding style (4 weeks ago) <Leah Rowe>
* c8dfc3cc - build/build/roms: simplify mkCoreboot() arguments (4 weeks ago) <Leah Rowe>
* d8a8a1c6 - build/boot/roms: don't use subshells frivilously (4 weeks ago) <Leah Rowe>
* 834be77c - build/boot/roms: remove errant debug line (4 weeks ago) <Leah Rowe>
* 39c14398 - build/boot/roms: simplify build_rom_images() (4 weeks ago) <Leah Rowe>
* 65dfdd56 - build/boot/roms: use fast dd command for ich9m ifd (4 weeks ago) <Leah Rowe>
* 6a4ce66f - build/boot/roms: don't run ich9gen twice (4 weeks ago) <Leah Rowe>
* 1e9ed989 - build/boot/roms: simplify moverom() (4 weeks ago) <Leah Rowe>
* 5811e53e - build/boot/roms: remove unused legacy code (4 weeks ago) <Leah Rowe>
* 3bd82b76 - build/boot/roms: reduced code indentation (4 weeks ago) <Leah Rowe>
* 9eee0fb4 - build/boot/roms: split main() to topdown functions (4 weeks ago) <Leah Rowe>
* bceb5f2e - build/roms_helper: move logic into main() (4 weeks ago) <Leah Rowe>
* df611f9b - remove ga-g41m-es2l board for now (5 weeks ago) <Leah Rowe>
* 3da0ee4f - remove python3 patches (5 weeks ago) <Leah Rowe>
* 6290f999 - build/boot/roms_helper: further cleanup (5 weeks ago) <Leah Rowe>
* 722c844e - build/boot/roms: top-down function order (5 weeks ago) <Leah Rowe>
* 5f44556f - build/roms: general code style cleanup (5 weeks ago) <Leah Rowe>
* d521fca7 - build/roms: fix faulty keymap list expansion (5 weeks ago) <Leah Rowe>
* 67a607b8 - build/boot/roms*: RFC 2646 compliance (5 weeks ago) <Leah Rowe>
* 79939f2f - Add devicetree patch for E6400 with Nvidia GPU (5 weeks ago) <Nicholas Chin>
* 3f1ee015 - seabios: do normal config, disable oprom in vgarom (5 weeks ago) <Leah Rowe>
* ee46c042 - update the makefile (5 weeks ago) <Leah Rowe>
* f5150f26 - remove e6400_8mb and e6400_16mb (keep e6400_4mb) (5 weeks ago) <Leah Rowe>
* f820e304 - add e6400_flash_unlock binary to .gitignore (5 weeks ago) <Leah Rowe>
* f49eccee - util/e6400-flash-unlock: do void on ec_fdo_command (6 weeks ago) <Leah Rowe>
* 6588be67 - don't force console mode in grub (7 weeks ago) <Leah Rowe>
```

View File

@ -1,99 +0,0 @@
% Libreboot Git repositories now on Codeberg (RIP Notabug)
% Leah Rowe
% 8 April 2023
RIP Notabug
===========
Git repositories provided by Libreboot are still available via Notabug, but
the Notabug site has been quite unreliable for some time now. I notice it
mostly in the evenings, when more people are likely using it. Essentially, the
service is overloaded all the time and this results in regular HTTP 500 errors,
causing pull requests, git clone, issue reports and other things to go
offline at random times.
I kept Libreboot on Notabug for as long as possible, because I hoped that the
admin (single) would fix issues, but I can't keep waiting.
Libreboot was originally a member of the Peers Community, which hosts Notabug.
So I had an affinity for Notabug.
Libreboot repos now hosted by Codeberg
--------------------------------------
I've decided to set up an account on Codeberg. You can find it here:
* <https://codeberg.org/libreboot>
On this day, 8 April 2023, the following repositories are available via
Codeberg:
* Build system: <https://codeberg.org/libreboot/lbmk>
* Website (markdown files): <https://codeberg.org/libreboot/lbwww>
* Images (av.libreboot.org): <https://codeberg.org/libreboot/lbwww-img>
The `ich9utils` repository is now part of lbmk,
under `util/ich9utils`, so the ich9utils repository was not
needed on Codeberg (it still exists on Notabug). I'll add bucts
to Libreboot's lbmk repo too (under `util/bucts/`).
Codeberg has nicer features
---------------------------
Codeberg runs on forgejo, itself a fork of Gitea, which *itself* is a fork
of Gogs. *Notabug* runs on an older, modified version of Gogs, which lacks a
lot of nicer features like issue search.
Codeberg's forgejo instance has issue search, and it has a nice CI built in,
namely *woodpecker*. All of this and more could be useful to Libreboot, and
is being looked into.
The interface is virtually identical to that of Notabug, since it's based
upon the same original codebase. Links on libreboot.org have been updated.
You can send issue reports and pull requests in much the same way as before,
but you will need to make a new account on codeberg.org if you don't already
have one.
Notabug still available
-----------------------
The notabug repositories are *still* available, and I'll still push new code
to them. I push to several repositories, not just codeberg/notabug, but those
are the ones that I openly advertise.
Notabug is *usually* available, but it is often overloaded in the evenings,
so it's no longer viable for production use, but it's still viable as a backup.
If codeberg is ever down, at least you'd be able to download from Notabug.
Why not self-host?
==================
Forgejo, based on Gitea, is what runs on Codeberg. They host the project, on
behalf of the developers. Forgejo is working on federating the git forge, so
that mastodon-like features are available (pull requests, issues and such).
Until federated collaboration is possible in Git (via the web), it's simply
not viable for a small project like Libreboot to provide a self-hosted
instance, because it would mean that people have to make an account on the
site *just* for Libreboot. This seems unreasonable as a request. Lots of
people are on codeberg, and already have accounts.
Codeberg is run by a non-profit organisation that seems pretty solid, with
donations infrastructure too, so they'll probably always have the resources
to manage the service effectively.
When federation becomes available, I assume Codeberg's forgejo instance will
become part of that, so it just makes practical sense for Libreboot to
use Codeberg.
Why not sourcehut?
------------------
I considered sourcehut. I like the concept of it (mailing lists made easier,
email-based collaboration) but I don't think most people will want to use that.
Forgejo provides a web-based interface in a style that most people are used to.
Libreboot is *not* hosted on sourcehut, officially, in any capacity.
That is all.

View File

@ -1,75 +0,0 @@
% Dell Latitude E6400 added (blob-free, no disassembly)
% Leah Rowe
% 19 April 2023
NOTE: This pertains to the Intel GPU variant. Nvidia GPU variants are
unsupported, for this class of machine.
Introduction
============
Today, Libreboot gained the Dell Latitude E6400 laptop port. This is a
blob-less port, courtesy of Nicholas Chin (`nic3-14159` on Libreboot IRC).
Nicholas has worked extensively on this port, for several years, and it's in
a ready state for entry to Libreboot.
The hardware platform is GM45, similar to ThinkPad X200, T400 and so on that
Libreboot already supports.
You can learn more on the E6400 [installation page](../docs/install/e6400.md)
and the [hardware info page](../docs/hardware/e6400.md).
100% libre, blob-free
---------------------
This is a *blob-free* board in the boot flash. No Intel ME firmware needed,
and it boots without CPU microcode.
*But wait.* There's more. A lot more of *them*, that is.
Readily available on eBay etc, and cheap
-----------------------------
Dells were much more popular than those ThinkPads, and more commonly used,
so there are still *several* of these available on sites like eBay. Enough to
keep people with an affinity for GM45 machines happy for a while longer (older
GM45 ThinkPad X200, T400 etc are very hard to find nowadays).
This could very well replace X200, T400 etc, in terms of what certain people
want to use - nice enough screen/keyboard, and easy of installation just makes
this a very nice machine indeed.
But wait.... It gets better:
Software flashing possible! (no disassembly)
---------------------------
tl;dr Nicholas is a genius, but he spent time studying the board, finding that
the EC is hooked up to GPIO33 which allows for flash descriptor override. He
successfully reverse engineered a command that can be used to disable IFD
protections, and discovered that the SMM BIOS lock protection could be
bypassed, allowing installation of Libreboot.
This is without needing to disassemble. No clip required.
**That is to say, you can install Libreboot on this board without
taking it apart, and you can install it easily within 5 minutes.**
This is done with the following utility from Nicholas Chin, which I merged
into lbmk:
<https://browse.libreboot.org/lbmk.git/tree/util/e6400-flash-unlock>
The original util, before Nicholas sent it to lbmk, is here (same util):
<https://gitlab.com/nic3-14159/e6400-flash-unlock/-/commits/base>
It merges some code changes that I made myself, after Nicholas published it,
tidying up the code a bit (OpenBSD-like coding style adopted, for fun). See:
<https://codeberg.org/vimuser/e6400-flash-unlock/commits/branch/puffy>
Libreboot users should use the one in `util/` on Libreboot proper.
That is all! Read the manuals to know more about this machine. Thank you!

View File

@ -1,72 +0,0 @@
% Dell Latitude E6400 додано (вільна від блобів конфігурація)
% Лія Роу
% 19 квітня 2023 року
Вступ
============
Сьогодні, Libreboot отримав порт ноутбука Dell Latitude E6400. Цей порт
є вільним від блобів, увічливість Ніколаса Чін (`nic3-14159` на Libreboot IRC).
Ніколас працював розгорнуто над цим портом, протягом декількох років, і він в
готовому стані для вступу до Libreboot.
Платформа апаратного забезпечення GM45, схоже на ThinkPad X200, T400 і так далі,
що Libreboot вже підтримує.
Ви можете вивчити більше на [сторінці встановлення](../docs/install/e6400.md)
E6400 та [сторінці інформації про апаратне забезпечення](../docs/hardware/e6400.md).
вільна від блобів конфігурація
------------------------------
Це є *вільною від блобів* платою в завантажувальній флеш-пам'яті. Прошивка Intel ME
не потрібна, та [мікрокод може бути видалено, якщо ви бажаєте].
*Але почекайте.* Є більше. Набагато більше *цього*, так ось.
Доступно на eBay і так далі, а також дешево
-----------------------------
Dell були набагато більш популярні, ніж ті ThinkPad, та більш звичайно
використовувались, тому існує досі *багато* цих в доступності на сайтах, подібних
eBay. Достатньо, щоб тримати людей з симпатією до машин GM45 щасливими дещо довше
(старіші GM45 ThinkPad X200, T400 і так далі є дуже складними для пошуку в ці дні).
Це могло би дуже добре замінити X200, T400 і так далі, стосовно того, що
деякі люди хочуть використовувати - досить добрий екран/клавіатура, та легке
встановлення просто робить це дуже доброю машиною звісно.
Але почекайте.... Стає ще краще:
Прошивка програмним забезпеченням можлива! (без розбору)
---------------------------
tl;dr Ніколас геній, але він витратив час, вивчаючи плату, шукаючи, що
EC з'єднана з GPIO33, що дозволяє пройти через flash descriptor. Він
успішно провів зворотню розробку команди, яка може бути використана для вимкнення
захистів, дозволяючи встановлення Libreboot.
Це без потреби розбирати. Кліпса не потрібна.
**Це означає, що ви можете встановити Libreboot на цій платі без
розбору на запчастини, і ви можете встановити його легко протягом 5 хвилин.**
Це робиться з наступною утилітою від Ніколаса Чін, яку я злила
в lbmk:
<https://browse.libreboot.org/lbmk.git/tree/util/e6400-flash-unlock>
Оригінальна утиліта, перед тим, як Ніколас відправив її в lbmk, тут (та сама утиліта):
<https://gitlab.com/nic3-14159/e6400-flash-unlock/-/commits/base>
Це поглинає деякі кодові зміни, які я зробила самостійно, після того, як Ніколас
опублікував її, наводячи порядок в коді трохи (OpenBSD-подібний стиль коду взято,
заради веселощів). Дивіться:
<https://codeberg.org/vimuser/e6400-flash-unlock/commits/branch/puffy>
Користувачам Libreboot варто використовувати той, що в `util/` на власне Libreboot.
Це все! Читайте керівництва, щоб дізнатись більше про цю машину. Дякую!

View File

@ -1,44 +0,0 @@
% How libreboot.org is hosted
% Leah Rowe
% 8 January 2023
I've recently started a new project, which I call the *Federation of Freedom*.
It is a website that teaches people how to self-host their own servers on the
internet, on all libre software. You could actually do it all on Libreboot
hardware.
When I say recently, I mean it; Fedfree launched on 25 December 2022. Today
is 8 January 2023. Thus, Fedfree is just about two weeks old, on this day.
**This is the website: [fedfree.org](https://fedfree.org/)**
I'm basically starting out with it, documenting each part of libreboot.org in
terms of hosting, but it will later expand. On that first part, it's still not
complete; it lacks a mail server guide (libreboot.org has mail), rsync
guide (ditto) and cgit guide (ditto) - I'm planning to host
a [forgejo instance](https://forgejo.org/) for git, and that'll be yet
another guide for Fedfree.
The guides it does currently have are:
* [L2TP tunnel router, with redundant
routing](https://fedfree.org/docs/router/debian-l2tp-aaisp.html)
* [Nginx web server on Debian with LetsEncrypt HTTPS and
Certbot](https://fedfree.org/docs/http/debian-nginx.html)
* [BIND9 authoritative name
server](https://fedfree.org/docs/dns/debian-bind.html)
The setups described in those guides is exactly how libreboot.org is hosted,
for the types of services described.
Help is greatly appreciated, if people want to submit their own guides. The
basic premise behind it is this: hardware and software freedom are all well and
good, but most people with good ideas don't know how to do hosting, so they
default to using proprietary services like GitHub. I want to change that!
Basically, I want every website on the internet to be hosted in someone's
living room. I'm only half-joking when I say that. That is literally how
libreboot.org was hosted, for many years; the setup is still self-hosted, but
it's not currently hosted in a *living room*.
More information is available on the [Fedfree website](https://fedfree.org/)

View File

@ -1,59 +0,0 @@
% ASUS KGPE-D16 hardware donation needed
% Leah Rowe
% 30 March 2023
**UPDATE: As of 25 April 2023, I've now ordered one myself. The issue was
finding one with a decent cooler, which is rare, but I found one. 2 CPUs,
some RAM, the cooler - and I'll get a case+PSU to put it in. Expect D16 in
the next Libreboot release. Expect it.**
Please donate a D16 machine if you can
======================================
If someone can donate one to me, that would be a great service to the Libreboot
project. Preferably assembled, with CPU, cooler, working RAM (in coreboot), in
a case with PSU... throw in a graphics card if you can.
ASUS KGPE-D16 support was removed from Libreboot a while ago, because I didn't
have enough testers to be confident in providing ROM images for it.
I would like to re-add support for ASUS KGPE-D16 in a future Libreboot release,
but this time I'd like to be able to test it myself.
I don't currently have a KGPE-D16 set up at my lab, because finding parts
and (especially) the coolers is a challenge, to say the least.
If you would like to help, and have a machine to spare, please can you contact
me at my email address: [info@minifree.org](mailto:info@minifree.org)
KCMA-D8 also needed
-------------------
I'm also arranging for an assembled machine with KCMA-D8 in it to be sent to
me - though I'm not yet sure if that will go through, so if you have one of
those aswell, I'd be interested too.
How I plan to re-add
====================
Dasharo produces updated coreboot images for KGPE-D16, with source code. They
took coreboot from release 4.11 and updated the code. I plan to add support in
lbmk (Libreboot's build system) for using other coreboot repositories besides
the official one, when downloading, patching and compiling for each board.
In other words, I would integrate Dasharo's coreboot repository in Libreboot,
alongside the default one on coreboot.org.
As far as I know, Dasharo does not yet work on KCMA-D8 (that was the case,
last time I checked), but I could inspect code differences between D8/D16 in
coreboot's branch `4.11_branch` and try to port those to Dasharo, to then put
in Libreboot.
Failing that (for KCMA-D8), I would just use `4.11_branch` from coreboot.
D8/D16 support was dropped in coreboot after release 4.11, but updated code
mostly fixing compiler issues and such, is available in a branch off
of 4.11 called `4.11_branch`.
When Libreboot dropped support for D8/D16, it wasn't using `4.11_branch`.
Instead, it was using the normal 4.11 tag in coreboot.git, with some extra
patches on top provided by Libreboot.

View File

@ -1,20 +0,0 @@
% Libreboot 20131212
% Leah Rowe
% 12 December 2013
r20131212 (1st release) {#release20131212}
=======================
- 12th December 2013
Supported:
----------
- ThinkPad X60
- ThinkPad X60s
Development notes
-----------------
- initial release
- source code deblobbed

View File

@ -1,23 +0,0 @@
% Libreboot 20131213
% Leah Rowe
% 13 December 2013
r20131213 (2nd release) {#release20131213}
=======================
- 13th December 2013
Supported:
----------
- ThinkPad X60
- ThinkPad X60s
Development notes
-----------------
- added background image to GRUB2
- added memtest86+ payload to grub2
- improvements to the documentation
- new grub.cfg

View File

@ -1,21 +0,0 @@
% Libreboot 20131214 release
% Leah Rowe
% 14 December 2013
r20131214 (3rd release) {#release20131214}
=======================
- 14th December 2013
Supported:
----------
- ThinkPad X60
- ThinkPad X60s
Development notes
-----------------
- Added SeaBIOS payload to GRUB2 (for booting USB drives)
- new grub.cfg

Some files were not shown because too many files have changed in this diff Show More