replace all occurances of osboot with libreboot
parent
0d073ce09c
commit
a3bd73a1c2
|
@ -22,11 +22,11 @@ Instructions are also on that page for sending patches (via pull requests).
|
|||
IRC chatroom
|
||||
============
|
||||
|
||||
IRC is the main way to contact the osboot project. `#osboot` on Libera
|
||||
IRC is the main way to contact the libreboot project. `#libreboot` on Libera
|
||||
IRC.
|
||||
|
||||
Webchat:
|
||||
<https://web.libera.chat/#osboot>
|
||||
<https://web.libera.chat/#libreboot>
|
||||
|
||||
Libera is one of the largest IRC networks, used for Free Software projects.
|
||||
Find more about them here: <https://libera.chat/>
|
||||
|
@ -35,7 +35,7 @@ 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: `#osboot`
|
||||
* Channel: `#libreboot`
|
||||
* Port (TLS): `6697`
|
||||
* Port (non-TLS): `6667`
|
||||
|
||||
|
@ -53,12 +53,12 @@ In general, you should check the documentation provided by your IRC software.
|
|||
Social media
|
||||
============
|
||||
|
||||
osboot exists officially on many places.
|
||||
libreboot exists officially on many places.
|
||||
|
||||
Twitter and Mastodon
|
||||
--------------------
|
||||
|
||||
News announcements: <https://twitter.com/OSBootFirmware/>
|
||||
News announcements: <https://twitter.com/libreboot/>
|
||||
|
||||
The founder and lead developer, Leah Rowe, is also on Twitter and Mastodon:
|
||||
|
||||
|
@ -72,4 +72,4 @@ Reddit
|
|||
------
|
||||
|
||||
Mostly used as a support channel, and also for news announcements:
|
||||
<https://www.reddit.com/r/osboot/>
|
||||
<https://www.reddit.com/r/libreboot/>
|
||||
|
|
406
site/contrib.md
406
site/contrib.md
|
@ -10,36 +10,36 @@ 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)
|
||||
|
||||
Information about who works on osboot, and how the project is run, can
|
||||
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 osboot project, simply by reading this page.
|
||||
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 osbootboot project, and currently the lead developer.** Leah
|
||||
works on all aspects of osboot, such as:
|
||||
**Founder of the librebootboot project, and currently the lead developer.** Leah
|
||||
works on all aspects of libreboot, such as:
|
||||
|
||||
* General management. Leah handles all outside contributions to osboot,
|
||||
* 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 osboot.org server infrastructure, hosted
|
||||
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 osboot,
|
||||
members of the public, mostly on IRC. Leah oversees releases of libreboot,
|
||||
and generally keeps the project going. Without Leah, there would be no Osboot!
|
||||
* The build system (osbmk, short for osboot Make). This is the automated build
|
||||
system that sits at the heart of osboot; it downloads, patches, configures
|
||||
* 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, GNU GRUB and generates
|
||||
the osboot ROM images that you can find in release archives (as of 23 March
|
||||
the libreboot ROM images that you can find in release archives (as of 23 March
|
||||
2022, there are not yet any binary releases, it's rolling release, built from
|
||||
source. see: <https://osboot.org/docs/build/>)
|
||||
* Upstream work on coreboot, when necessary (and other projects that osboot
|
||||
uses). This means also working with people from outside of the osboot
|
||||
source. see: <https://libreboot.org/docs/build/>)
|
||||
* 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 osboot uses
|
||||
that libreboot uses
|
||||
* Providing user support on IRC
|
||||
|
||||
Leah is also responsible for [libreboot.org](https://libreboot.org/) which is heavily
|
||||
|
@ -48,52 +48,394 @@ based on Osboot, but with different project goals.
|
|||
Caleb La Grange
|
||||
---------------
|
||||
|
||||
**Secondary developer, number two to Leah.** Caleb is a full time osboot developer
|
||||
**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 osboot Make build
|
||||
* 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 osboot software on the resulting hardware.
|
||||
* Board porting. Anything supported in Coreboot can be ported to osboot, Caleb
|
||||
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 osboot roms for testing on their board.
|
||||
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 osboot or in need of help.
|
||||
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.
|
||||
|
||||
Coreboot project
|
||||
----------------
|
||||
|
||||
Without coreboot, the osboot project simply would not be possible.
|
||||
Without coreboot, the libreboot project simply would not be possible.
|
||||
|
||||
The people and companies that work on coreboot are numerous, and they make the
|
||||
osboot project what it is. The osboot project makes heavy use of coreboot, to
|
||||
libreboot project what it is. The libreboot project makes heavy use of coreboot, to
|
||||
provide hardware initialization.
|
||||
|
||||
GNU GRUB
|
||||
--------
|
||||
|
||||
GRUB is the bootloader used by osboot. It goes without saying that the GRUB
|
||||
developers enable osboot, through their work.
|
||||
GRUB is the bootloader used by libreboot. It goes without saying that the GRUB
|
||||
developers enable libreboot, through their work.
|
||||
|
||||
SeaBIOS
|
||||
-------
|
||||
|
||||
The osboot firmware provides SeaBIOS as a payload option. SeaBIOS provides a
|
||||
The libreboot firmware provides SeaBIOS as a payload option. SeaBIOS provides a
|
||||
legacy x86 BIOS implementation.
|
||||
|
||||
Libreboot contributors
|
||||
----------------------
|
||||
Alyssa Rosenzweig
|
||||
-----------------
|
||||
|
||||
Since osboot is a fork of Libreboot, it goes without saying that many of the
|
||||
contributions to Libreboot have also helped shape the osboot project.
|
||||
Switched the website to use markdown in lieu of handwritten HTML and custom
|
||||
PHP. **Former libreboot project maintainer (sysadmin for libreboot.org).**
|
||||
|
||||
There is a separate list of contributors is maintained by the Libreboot
|
||||
project.
|
||||
Alyssa wrote the original static site generator (bash 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:
|
||||
|
||||
Please read: <https://libreboot.org/contrib.html>
|
||||
<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 Athur'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 Serbineko 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 decision 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.
|
||||
|
||||
Jeroen Quint
|
||||
------------
|
||||
|
||||
Contributed several fixes to the libreboot documentation, relating to
|
||||
installing Parabola 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 free 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://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.
|
||||
|
||||
Leah Rowe initially helped Klemens get his project, autoboot, off the ground.
|
||||
Autoboot (website autoboot.org) is no longer online, but was a fork of Libreboot
|
||||
with different project goals; in late 2020, Leah Rowe decided to create her
|
||||
own new fork of Libreboot called *osboot*, heavily inspired by Klemens's earlier
|
||||
work. See: <https://osboot.org/>
|
||||
|
||||
The following is an archive of autoboot.org, from when it was online back in
|
||||
2016: <http://web.archive.org/web/20160414205513/http://autoboot.org/> (the
|
||||
autoboot website went offline a few months later, after Klemens abandoned the
|
||||
project)
|
||||
|
||||
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 GNU Savannah website were used by
|
||||
the Libreboot project. Lisa was also the one who originally encouraged Leah to
|
||||
have Libreboot join the GNU project (a decision that was later, rather
|
||||
regrettably, reversed). 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):
|
||||
|
||||
<https://media.libreplanet.org/u/libreplanet/m/session-02-c-mws-png-libreplanet-2016-sessions/>
|
||||
(archive link: <http://web.archive.org/web/20170319043913/https://media.libreplanet.org/u/libreplanet/m/session-02-c-mws-png-libreplanet-2016-sessions/>)
|
||||
|
||||
<https://media.libreplanet.org/u/libreplanet/m/session-02-c-wide-png-libreplanet-2016-sessions/>
|
||||
(archive link: <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 <https://www.gnu.org/> and <https://www.fsf.org/> 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.
|
||||
|
||||
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 GNU 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, or you can ping **tpearson** on
|
||||
the Libera IRC network.
|
||||
|
||||
vitali64
|
||||
--------
|
||||
|
||||
Added cstate 3 support on macbook21, enabling higher battery life and cooler
|
||||
CPU temperatures on idle usage. vitali64 on irc
|
||||
|
||||
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).
|
||||
|
|
|
@ -5,8 +5,8 @@ x-toc-enable: true
|
|||
|
||||
Guide last updated on 24 August 2022.
|
||||
|
||||
osboot is capable of booting many BSD systems. This section mostly documents
|
||||
the peculiarities of osboot as it pertains to BSD; you can otherwise refer to
|
||||
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
|
||||
the official documentation for whatever BSD system you would like to use.
|
||||
|
||||
Kernel Mode Setting
|
||||
|
@ -19,7 +19,7 @@ you read this article.
|
|||
Boot BSD, using SeaBIOS
|
||||
=======================
|
||||
|
||||
On x86 platforms, osboot/libreboot both provide the choice of GNU GRUB and/or
|
||||
On x86 platforms, libreboot/libreboot both provide the choice of GNU 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),
|
||||
|
@ -37,7 +37,7 @@ probably don't mind running in text mode all the time.
|
|||
Warnings for X11 users
|
||||
----------------------
|
||||
|
||||
One important peculiarity of most libreboot and osboot systems is: VGA mode
|
||||
One important peculiarity of most libreboot and libreboot 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
|
||||
|
@ -56,7 +56,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 osboot/libreboot don't distribute these (instead, coreboot's own video
|
||||
and libreboot/libreboot don'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).
|
||||
|
@ -111,7 +111,7 @@ Dubious mention: Tianocore
|
|||
--------------------------
|
||||
|
||||
Tianocore is extremely bloated, and unauditable, so it is not included
|
||||
in libreboot or osboot, but it is the reference UEFI implementation by
|
||||
in libreboot or libreboot, 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 and Osboot are
|
||||
|
@ -121,7 +121,7 @@ in any current or future releases of either project.
|
|||
Desktop users
|
||||
-------------
|
||||
|
||||
Desktop users on libreboot/osboot should just install a graphics card,
|
||||
Desktop users on libreboot/libreboot 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
|
||||
|
|
|
@ -3,27 +3,27 @@ title: Build from source
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
osboot's build system is named `osbmk`, short for `osboot Make`, and this
|
||||
libreboot's build system is named `lbmk`, short for `Libreboot Make`, and this
|
||||
document describes how to use it. With this guide, you can know how to compile
|
||||
osboot from the available source code.
|
||||
This version, if hosted live on osboot.org, assumes that you are using
|
||||
the `osbmk` git repository, which
|
||||
libreboot from the available source code.
|
||||
This version, if hosted live on libreboot.org, assumes that you are using
|
||||
the `lbmk` git repository, which
|
||||
you can download using the instructions on [the code review page](../../git.md).
|
||||
|
||||
If you're using a release archive of osboot, please refer to the
|
||||
documentation included with *that* release. osboot releases are only intended
|
||||
If you're using a release archive of libreboot, please refer to the
|
||||
documentation included with *that* release. libreboot releases are only intended
|
||||
as *snapshots*, not for development. For proper development, you should always
|
||||
be working directly in the osboot git repository.
|
||||
be working directly in the libreboot git repository.
|
||||
|
||||
The following document describes how `osbmk` works, and how you can make changes
|
||||
to it: [osboot maintenance manual](../maintain/)
|
||||
The following document describes how `lbmk` works, and how you can make changes
|
||||
to it: [libreboot maintenance manual](../maintain/)
|
||||
|
||||
GNU Make
|
||||
========
|
||||
|
||||
osboot Make includes a file called `Makefile`. You can still use
|
||||
the `osbmk` build system directly, or you can use GNU Make. The `Makefile`
|
||||
simply runs `osbmk` commands. However, using `osbmk` directly will offer you
|
||||
libreboot Make includes a file called `Makefile`. You can still use
|
||||
the `lbmk` build system directly, or you can use GNU Make. The `Makefile`
|
||||
simply runs `lbmk` commands. However, using `osbmk` 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).
|
||||
|
||||
|
@ -45,7 +45,7 @@ Now, simply build the coreboot images like so:
|
|||
make
|
||||
|
||||
This single command will build ROM images for *every* board integrated in
|
||||
osboot. If you only wish to build a limited set, you can use `osbmk` directly:
|
||||
libreboot. If you only wish to build a limited set, you can use `lbmk` directly:
|
||||
|
||||
./build boot roms x200_8mb
|
||||
|
||||
|
@ -56,7 +56,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 `osbmk` commands, so it's very
|
||||
The `Makefile` is simple, because it merely runs `lbmk` 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`):
|
||||
|
@ -77,14 +77,14 @@ Build without using GNU 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 `osbmk` directly, and this
|
||||
Actual development/testing is always done using `lbmk` directly, and this
|
||||
includes when building from source. Here are some instructions to get you
|
||||
started:
|
||||
|
||||
First, install build dependencies
|
||||
---------------------------------
|
||||
|
||||
osboot includes a script that automatically installs apt-get dependencies
|
||||
libreboot includes a script that automatically installs apt-get dependencies
|
||||
in Ubuntu 20.04. It works well in other apt-get distros (such as Trisquel and
|
||||
Debian):
|
||||
|
||||
|
@ -98,11 +98,11 @@ Separate scripts also exist:
|
|||
|
||||
sudo ./build dependencies void
|
||||
|
||||
Technically, any GNU+Linux distribution can be used to build osboot.
|
||||
Technically, any GNU+Linux distribution can be used to build libreboot.
|
||||
However, you will have to write your own script for installing build
|
||||
dependencies.
|
||||
|
||||
osboot Make (osbmk) automatically runs all necessary commands; for example
|
||||
libreboot Make (lbmk) 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.
|
||||
|
||||
|
@ -124,7 +124,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
|
||||
osbmk.
|
||||
lbmk.
|
||||
|
||||
Therefore, if you only want to build ROM images, just do the above. Otherwise,
|
||||
please continue reading!
|
||||
|
@ -132,10 +132,10 @@ please continue reading!
|
|||
Optional: extract binary blobs
|
||||
------------------------------
|
||||
|
||||
Some boards, including all sandy/ivybridge boards require nonfree blobs which cannot be included in osboot.
|
||||
For boards requiring these blobs, osboot will attempt to download the blobs itself.
|
||||
Some boards, including all sandy/ivybridge boards require nonfree blobs which cannot be included in libreboot.
|
||||
For boards requiring these blobs, libreboot will attempt to download the blobs itself.
|
||||
If your board does not have blob sources available, then you must extract them from a backup of you vendor rom.
|
||||
You must point osboot to the backup rom and tell the build system which board you want to extract blobs for.
|
||||
You must point libreboot to the backup rom and tell the build system which board you want to extract blobs for.
|
||||
For example, to extract blobs for the t440p you must run:
|
||||
|
||||
./build descriptors intel_blobs t440p_12mb /path/to/12mb_backup.rom
|
||||
|
@ -150,8 +150,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 `osbmk` by reading
|
||||
the [osboot maintenance manual](../maintain/); osbmk is designed to be modular
|
||||
on! You can read about all available scripts in `lbmk` by reading
|
||||
the [libreboot maintenance manual](../maintain/); lbmk 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).
|
||||
|
||||
|
@ -159,7 +159,7 @@ It's as simple as that:
|
|||
|
||||
./download all
|
||||
|
||||
The above command downloads all modules defined in the osboot build system.
|
||||
The above command downloads all modules defined in the libreboot build system.
|
||||
However, you can download modules individually.
|
||||
|
||||
This command shows you the list of available modules:
|
||||
|
@ -187,7 +187,7 @@ Again, very simple:
|
|||
|
||||
./build module all
|
||||
|
||||
This builds every module defined in the osboot build system, but you can
|
||||
This builds every module defined in the libreboot build system, but you can
|
||||
build modules individually.
|
||||
|
||||
The following command lists available modules:
|
||||
|
@ -243,7 +243,7 @@ Run this command:
|
|||
|
||||
./build boot roms
|
||||
|
||||
Each board has its own configuration in `osbmk` under `resources/coreboot/`
|
||||
Each board has its own configuration in `lbmk` 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
|
||||
|
|
|
@ -18,7 +18,7 @@ and no other coreboot payload provides this functionality.
|
|||
If booting in text mode
|
||||
=======================
|
||||
|
||||
osboot ROM images are provided, which will either boot the system in classic
|
||||
libreboot ROM images are provided, which will either boot the system in classic
|
||||
text mode, or with a framebuffer implemented by coreboot for video display
|
||||
initialization (not to be confused with int10h VGA modes).
|
||||
|
||||
|
@ -44,10 +44,10 @@ would presumably handle INT10H VGA modes.
|
|||
Boot the installer
|
||||
==================
|
||||
|
||||
osboot on x86 can use the GNU GRUB bootloader as a bare metal coreboot
|
||||
libreboot on x86 can use the GNU GRUB bootloader as a bare metal coreboot
|
||||
[payload](http://www.coreboot.org/Payloads#GRUB_2) if you wish, which
|
||||
means that the GRUB configuration file (where your GRUB menu comes from)
|
||||
is stored directly alongside osboot and its GRUB payload executable,
|
||||
is stored directly alongside libreboot and its GRUB payload executable,
|
||||
inside the flash chip. In context, this means that installing
|
||||
distributions and managing them is handled slightly differently compared
|
||||
to traditional BIOS or UEFI systems.
|
||||
|
@ -55,7 +55,7 @@ to traditional BIOS or UEFI systems.
|
|||
On most systems, the `/boot/` partition has to be left unencrypted while
|
||||
the others are encrypted. This is so that GRUB, and therefore the
|
||||
kernel, can be loaded and executed since the firmware can't open a LUKS
|
||||
volume. Not so with osboot! Since GRUB is already included directly
|
||||
volume. Not so with libreboot! Since GRUB is already included directly
|
||||
as a payload, even `/boot/` can be encrypted. This protects /boot from
|
||||
tampering by someone with physical access to the system.
|
||||
|
||||
|
@ -163,7 +163,7 @@ Tasksel
|
|||
=======
|
||||
|
||||
For Debian, use the *MATE* option, or one of the others if you want. The
|
||||
osboot project recommends MATE, unless you're saavy enough to choose
|
||||
libreboot project recommends MATE, unless you're saavy enough to choose
|
||||
something else.
|
||||
|
||||
If you want debian-testing, then you should only select barebones
|
||||
|
@ -208,7 +208,7 @@ Booting your system
|
|||
|
||||
If you didn't install GRUB during the net installation process, don't worry.
|
||||
You can boot your installed system manually, using the *terminal* in GRUB on
|
||||
your boot flash (the version that osboot gives you).
|
||||
your boot flash (the version that libreboot gives you).
|
||||
|
||||
At this point, you will have finished the installation. At your GRUB
|
||||
payload, press C to get to reach the GRUB terminal and enter these commands:
|
||||
|
|
|
@ -9,7 +9,7 @@ This guide assumes that you are using the GNU 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 osboot systems that
|
||||
This guide explains how to prepare a bootable USB for libreboot 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
|
||||
GNU+Linux distributions, by default).
|
||||
|
@ -156,7 +156,7 @@ 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 osboot with coreboot's `text-mode`
|
||||
Most of these issues occur when using libreboot 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 GNU+Linux
|
||||
distributions it can be problematic when they are trying to switch to a
|
||||
|
|
|
@ -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. osboot's default
|
||||
In most circumstances, this guide will not benefit you. libreboot'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, osboot's
|
||||
USB drive installed on your computer. If such a file is found, libreboot'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
|
||||
=============================
|
||||
|
||||
osboot does not currently distribute utilities pre-compiled. It only
|
||||
libreboot 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 osboot ROM
|
||||
As for the ROM, there are mainly three methods for obtaining a libreboot ROM
|
||||
image:
|
||||
|
||||
1. Dump the contents of the the main *boot flash* on your system, which already
|
||||
has osboot installed (with GNU GRUB as the default payload). Extract the
|
||||
has libreboot installed (with GNU GRUB as the default payload). Extract the
|
||||
GRUB configuration from *that* ROM image.
|
||||
2. Extract it from a osboot ROM image supplied by the osboot project, on
|
||||
the osboot website or mirrors of the osboot website.
|
||||
3. Build the ROM yourself, using the osboot build system. Instructions for
|
||||
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
|
||||
how to do this are covered in the following article:
|
||||
[How to build osboot from source](../build/)
|
||||
[How to build libreboot from source](../build/)
|
||||
|
||||
In either case, you will use the `cbfstool` supplied in the osboot build
|
||||
In either case, you will use the `cbfstool` supplied in the libreboot 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 osboot build system, from the root directory
|
||||
of the osboot Git repository.
|
||||
the following command in the libreboot build system, from the root directory
|
||||
of the libreboot 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*, osboot inherits this technology.
|
||||
ROM image; as a *coreboot distribution*, libreboot inherits this technology.
|
||||
|
||||
You will also want to build `flashrom` which osboot recommends for reading
|
||||
from and/or writing to the boot flash. In the osboot build system, you can
|
||||
You will also want to build `flashrom` which libreboot recommends for reading
|
||||
from and/or writing to the boot flash. In the libreboot build system, you can
|
||||
build it by running this command:
|
||||
|
||||
./build module flashrom
|
||||
|
@ -87,10 +87,10 @@ this.
|
|||
Dump the boot flash
|
||||
===================
|
||||
|
||||
If you wish to modify your *existing* osboot ROM, which was installed on
|
||||
If you wish to modify your *existing* libreboot ROM, which was installed on
|
||||
your computer, you can use `flashrom` to acquire it.
|
||||
|
||||
Simply run the following, after using osboot's build system to compile
|
||||
Simply run the following, after using libreboot's build system to compile
|
||||
flashrom:
|
||||
|
||||
sudo ./flashrom/flashrom -p internal -r dump.bin
|
||||
|
@ -117,7 +117,7 @@ machine powered down) and read the contents of the boot flash.
|
|||
Extract grub.cfg
|
||||
================
|
||||
|
||||
osboot images that use the GNU GRUB bootloader will have *two* configuration
|
||||
libreboot images that use the GNU 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 osboot ROM image that you compiled or otherwise
|
||||
or it could refer to the libreboot 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 osboot ROM can then be re-flashed
|
||||
Your modified `dump.bin` or other modified libreboot ROM can then be re-flashed
|
||||
using:
|
||||
|
||||
sudo ./flashrom -p internal -w dump.bin
|
||||
|
|
|
@ -5,21 +5,21 @@ x-toc-enable: true
|
|||
|
||||
This article only applies to those people who use the GNU GRUB bootloader as
|
||||
their default payload (options besides GNU GRUB are also available in
|
||||
osboot). Whenever this article refers to GNU GRUB, or configuration files
|
||||
libreboot). Whenever this article refers to GNU GRUB, or configuration files
|
||||
used in GNU GRUB, it is referring exclusively to those files hosted in CBFS
|
||||
(coreboot file system) in the osboot ROM image. In this configuration, GNU
|
||||
(coreboot file system) in the libreboot ROM image. In this configuration, GNU
|
||||
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 GNU GRUB
|
||||
configuration, for security purposes. These steps are optional, but *strongly*
|
||||
recommended by the osboot project.
|
||||
recommended by the libreboot project.
|
||||
|
||||
GNU GRUB provides *many* advanced security features, which most people don't
|
||||
know about but are fully documented on the osboot website. Read on!
|
||||
know about but are fully documented on the libreboot website. Read on!
|
||||
|
||||
This article doesn't cover how to dump your ROM, or flash a new one. Please
|
||||
read other sections in the osboot documentation if you don't know how to do
|
||||
read other sections in the libreboot 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.
|
||||
|
@ -32,7 +32,7 @@ PGP signatures on *any* type of file, on any storage medium supported by
|
|||
GNU 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 osboot and your
|
||||
at boot time. In conjunction with reproducible builds (both libreboot and your
|
||||
Linux kernel), this can greatly improve system security; Debian is an excellent
|
||||
example of a GNU+Linux distribution that is fully reproducible nowadays (in
|
||||
stable releases).
|
||||
|
@ -49,9 +49,9 @@ repository). More information about reproducible builds can be found here:
|
|||
|
||||
<https://reproducible-builds.org/>
|
||||
|
||||
Reproducibility is a key goal of the osboot project, though it has not yet
|
||||
Reproducibility is a key goal of the libreboot 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 osboot system as instructed by this guide,
|
||||
suggest that, when securing your libreboot 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 Linux kernel, is meaningless
|
||||
if that binary can be compromised as a result of literally not being able to
|
||||
|
@ -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 osboot image (ROM) that you wish to modify,
|
||||
This tutorial assumes you have a libreboot 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 GNU 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 osboot
|
||||
First, extract the old grubtest.cfg and remove it from the libreboot
|
||||
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 osboot build system. Run this command:
|
||||
You can build `cbfstool` in the libreboot build system. Run this command:
|
||||
|
||||
./build module cbutils
|
||||
|
||||
|
@ -87,13 +87,13 @@ This assumes that you already downloaded coreboot:
|
|||
./download coreboot
|
||||
|
||||
This, in turn, assumes that you have installed the build dependencies for
|
||||
osboot. On Ubuntu 20.04 and other apt-get distros, you can do this:
|
||||
libreboot. On Ubuntu 20.04 and other apt-get distros, you can do this:
|
||||
|
||||
./build dependencies ubuntu2004
|
||||
|
||||
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. osboot creates multiple coreboot
|
||||
from the coreboot directory for your board. libreboot creates multiple coreboot
|
||||
archives for different board revisions, on different boards.
|
||||
|
||||
References:
|
||||
|
@ -152,9 +152,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 osboot build system. Run the following commands (assuming
|
||||
GRUB using the libreboot build system. Run the following commands (assuming
|
||||
you have the correct build dependencies installed) to build GNU GRUB, from the
|
||||
osboot Git repository:
|
||||
libreboot Git repository:
|
||||
|
||||
./download grub
|
||||
|
||||
|
@ -208,9 +208,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 osboot configuration is tweaked for *easy of
|
||||
signature checking. The default libreboot configuration is tweaked for *easy of
|
||||
use* by end users, and it is *not* done with security in mind (though security
|
||||
is preferred). Thus, osboot is less restrictive by default. What you are
|
||||
is preferred). Thus, libreboot 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.
|
||||
|
||||
|
@ -240,12 +240,12 @@ 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 `osboot_grub.cfg`. We will sign them by running the following
|
||||
on-disk `libreboot_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 osboot_grub.cfg
|
||||
gpg --homedir keys --detach-sign libreboot_grub.cfg
|
||||
gpg --homedir keys --detach-sign my.grubtest.cfg
|
||||
|
||||
Of course, some further modifications to my.grubtest.cfg will be required. We
|
||||
|
@ -255,7 +255,7 @@ entries):
|
|||
trust (cbfsdisk)/boot.key
|
||||
set check_signatures=enforce
|
||||
|
||||
What remains now is to include the modifications into the osboot image
|
||||
What remains now is to include the modifications into the libreboot image
|
||||
(ROM):
|
||||
|
||||
cbfstool my.rom add -n boot.key -f boot.key -t raw
|
||||
|
|
|
@ -7,7 +7,7 @@ Objective
|
|||
=========
|
||||
|
||||
To provide step-by-step guide for setting up guix system (stand-alone guix) with
|
||||
full disk encryption (including /boot) on devices powered by osboot.
|
||||
full disk encryption (including /boot) on devices powered by libreboot.
|
||||
|
||||
Scope
|
||||
=====
|
||||
|
@ -317,7 +317,7 @@ Post-Installation
|
|||
On reboot, as soon as you see the GNU GRUB menu, choose the option
|
||||
'Load Operating System [o]'
|
||||
|
||||
Enter LUKS Key, for osboot's grub, as prompted.
|
||||
Enter LUKS Key, for libreboot's grub, as prompted.
|
||||
|
||||
You may have to go through warning prompts by repeatedly pressing the
|
||||
"enter/return" key.
|
||||
|
@ -362,7 +362,7 @@ update/upgrade part of post-installation section, to keep your guix distribution
|
|||
and guix system updated.
|
||||
|
||||
That is it! You have now setup guix system with full-disk encryption on your
|
||||
device powered by osboot. Enjoy!
|
||||
device powered by libreboot. Enjoy!
|
||||
|
||||
References
|
||||
==========
|
||||
|
@ -376,14 +376,14 @@ Acknowledgements
|
|||
for helping me with the Guile Scheme Code for the Bootloader Configuration.
|
||||
|
||||
This guide was originally written for the Libreboot project, and later adapted
|
||||
for the osboot project. This fact is clearly stated, out of respect to the
|
||||
for the libreboot project. This fact is clearly stated, out of respect to the
|
||||
Guix project; it is a GNU project, and therefore probably does not agree with
|
||||
the policies of the osboot project. Rather, they most likely agree with the
|
||||
the policies of the libreboot project. Rather, they most likely agree with the
|
||||
Libreboot policies instead. This paragraph is written simply to provide such
|
||||
clarification, so that people do not think the GNU project (or FSF) endorse or
|
||||
condone osboot in any way; they do not.
|
||||
condone libreboot in any way; they do not.
|
||||
|
||||
The osboot project respects GNU, and it is itself a project that aims to bring
|
||||
The libreboot project respects GNU, and it is itself a project that aims to bring
|
||||
as much free software as possible to everyone, on as much hardware as possible.
|
||||
Without the GNU project, it is unlikely that we would have much Free Software
|
||||
today; there were others that started around the same time, but GNU was the
|
||||
|
@ -392,7 +392,7 @@ Today, GNU is still a driving force in the Free Software movement.
|
|||
|
||||
Respect the GNU project. Cherish it.
|
||||
|
||||
The osboot policies are written here: [binary blob reduction
|
||||
The libreboot policies are written here: [binary blob reduction
|
||||
policy](../../news/policy.md)
|
||||
|
||||
The *libreboot* policies are here: [binary blob deletion
|
||||
|
|
|
@ -8,7 +8,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>
|
||||
|
||||
GNU+Linux is the operating system of choice, for osboot development. It is
|
||||
GNU+Linux is the operating system of choice, for libreboot development. It is
|
||||
highly recommended over any other operating system, precisely because it consists
|
||||
of [Free Software](https://www.gnu.org/philosophy/free-sw.html) (free as in
|
||||
freedom). There *are* other free operating systems, such as BSD, but most of
|
||||
|
@ -21,8 +21,8 @@ Useful links
|
|||
|
||||
Refer to the following pages:
|
||||
|
||||
* [How to Prepare and Boot a USB Installer in osboot Systems](grub_boot_installer.md)
|
||||
* [Modifying the GRUB Configuration in osboot Systems](grub_cbfs.md)
|
||||
* [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)
|
||||
* [Installing Hyperbola GNU+Linux, with Full-Disk Encryption (including /boot)](https://wiki.hyperbola.info/en:guide:encrypted_installation)
|
||||
* [Installing Debian or Devuan GNU+Linux-Libre, with Full-Disk Encryption (including /boot)](encrypted_debian.md)
|
||||
* [Installing Guix System, with Full-Disk Encryption (including /boot)](guix.md)
|
||||
|
@ -42,7 +42,7 @@ In general, it is recommended that you use SeaBIOS but if you want extra securit
|
|||
GRUB payload is recommended where you can then have a fully encrypted /boot
|
||||
directory.
|
||||
|
||||
TODO: Nuke *all* distro-specific guides on osboot.org. Instead, move these
|
||||
TODO: Nuke *all* distro-specific guides on libreboot.org. Instead, move these
|
||||
instructions to the wiki pages of these projects, on their websites. The reasons
|
||||
are explained in the above issue page.
|
||||
|
||||
|
@ -73,9 +73,9 @@ This may also apply to CentOS or Redhat. Chroot guide can be found on
|
|||
linux16 issue
|
||||
-------------
|
||||
|
||||
When you use osboot's default GRUB config, and osboot's grub uses fedora's
|
||||
default `grub.cfg` (in `/boot/grub2/grub.cfg`), fedora by default makes use of the
|
||||
`linux16` command, whereas it should be saying `linux`
|
||||
Libreboot'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`
|
||||
|
||||
Do this in fedora:
|
||||
|
||||
|
|
|
@ -7,11 +7,11 @@ TODO: this guide should be reviewed and updated. Some info might be out of
|
|||
date.
|
||||
|
||||
[GNU GRUB](https://www.gnu.org/software/grub/) already has excellent
|
||||
documentation, but there are aspects of osboot that deserve special
|
||||
treatment. osboot provides the option to boot GNU GRUB directly, running on
|
||||
documentation, but there are aspects of libreboot that deserve special
|
||||
treatment. libreboot provides the option to boot GNU GRUB directly, running on
|
||||
bare metal (instead of using BIOS or UEFI services).
|
||||
|
||||
[The GNU+Linux section](../gnulinux/) also has osboot-specific guides for
|
||||
[The GNU+Linux section](../gnulinux/) also has libreboot-specific guides for
|
||||
dealing with GNU+Linux distributions when using GNU GRUB directly, in this
|
||||
setup. [A similar section exists for BSD operating systems](../bsd/)
|
||||
|
||||
|
@ -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 `osbmk` (osboot build system), take your kepmap
|
||||
When you've built GRUB, using `lbmk` (libreboot 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 osbmk. When
|
||||
you build osboot, a ROM image with GRUB payload and your newly created
|
||||
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
|
||||
keymap will be available under the `bin/` directory.
|
||||
[Learn how to build osboot ROM images](../build/)
|
||||
[Learn how to build libreboot ROM images](../build/)
|
||||
|
||||
Many keymaps exist in the osboot build system, but sometimes you must
|
||||
Many keymaps exist in the libreboot 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 osbmk, and it works,
|
||||
If you've added a keymap to lbmk, and it works,
|
||||
[please submit a patch!](../../git.md)
|
||||
|
|
|
@ -4,7 +4,7 @@ title: Intel D510MO and D410PT desktop boards
|
|||
|
||||
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 osboot.
|
||||
for quite a nifty desktop. Powered by libreboot.
|
||||
|
||||
NOTE: D410PT is another name and it's the same board. Flash the exact same
|
||||
ROM and it should work.
|
||||
|
|
|
@ -14,7 +14,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 osboot has to use seabios on this target. Full
|
||||
not fit, which is why libreboot has to use seabios on this target. Full
|
||||
disk encryption like on other supported targets will not be possible, so
|
||||
plan accordingly.
|
||||
|
||||
|
@ -35,13 +35,13 @@ that it should also work but this is untested.
|
|||
Remarks about vendor bios:
|
||||
--------------------------
|
||||
|
||||
- Without coreboot/osboot this board is completely useless, since the
|
||||
- Without coreboot/libreboot 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 osboot it works just
|
||||
connected to the SATA port or USB. With libreboot it works just
|
||||
fine.
|
||||
|
||||
- The vendor bios write protects the flash so it requires external
|
||||
flashing to install osboot on this device. Once osboot is
|
||||
flashing to install libreboot on this device. Once libreboot is
|
||||
flashed there is no problem to update the firmware internally
|
||||
|
||||
Here is an image of the board:\
|
||||
|
|
|
@ -4,14 +4,14 @@ title: Gigabyte GA-G41M-ES2L desktop board
|
|||
|
||||
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 osboot.
|
||||
for quite a nifty desktop. Powered by libreboot.
|
||||
|
||||
NOTE: As of January 4th, 2021, video initialization is broken on this machine.
|
||||
It is advisable to use Libreboot 20160907, for the time being. You can build a
|
||||
ROM image from osboot, and extract the CPU microcode updates to then insert in
|
||||
ROM image from libreboot, and extract the CPU microcode updates to then insert in
|
||||
the Libreboot 20160907 ROM image, like so (using cbfstool):
|
||||
|
||||
cbfstool osboot.rom extract -n cpu_microcode_blob.bin -f cpu_microcode_blob.bin
|
||||
cbfstool libreboot.rom extract -n cpu_microcode_blob.bin -f cpu_microcode_blob.bin
|
||||
cbfstool libreboot.rom add -n cpu_microcode_blob.bin -f cpu_microcode_blob.bin -t microcode
|
||||
|
||||
With this, you will then have a Libreboot ROM image, but with improved stability
|
||||
|
@ -23,7 +23,7 @@ express slots don't work).
|
|||
|
||||
The advice above is only useful for the onboard graphics chipset (the Intel
|
||||
one). If you're using an add-on graphics card (PCI express), you can simply
|
||||
use osboot, and it will work. If you're doing *that*, please use one of the
|
||||
use libreboot, and it will work. If you're doing *that*, please use one of the
|
||||
ROM images with the *SeaBIOS* payload, booting in text mode. SeaBIOS will
|
||||
automatically execute the option ROM on your graphics card, implementing VBE
|
||||
(Video BIOS extension).
|
||||
|
@ -40,22 +40,22 @@ hwaddress ether macaddressgoeshere
|
|||
|
||||
Alternatively:
|
||||
|
||||
cbfstool osboot.rom extract -n rt8168-macaddress -f rt8168-macaddress
|
||||
cbfstool libreboot.rom extract -n rt8168-macaddress -f rt8168-macaddress
|
||||
|
||||
Modify the MAC address in the file `rt8168-macaddress` and then:
|
||||
|
||||
cbfstool osboot.rom remove -n rt8168-macaddress
|
||||
cbfstool osboot.rom add -f rt8168-macaddress -n rt8168-macaddress -t raw
|
||||
cbfstool libreboot.rom remove -n rt8168-macaddress
|
||||
cbfstool libreboot.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 `osboot.rom` for your board. You can find cbfstool
|
||||
image is named `libreboot.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, osbmk, here:\
|
||||
[osboot build instructions](../build/)
|
||||
You can learn more about using the build system, lbmk, here:\
|
||||
[libreboot build instructions](../build/)
|
||||
|
||||
Flashing instructions can be found at
|
||||
[../install/](../install/)
|
||||
|
|
|
@ -2,6 +2,6 @@
|
|||
title: Apple iMac 5,2
|
||||
...
|
||||
|
||||
Information to be written soon, but this board is merged in osboot.
|
||||
Information to be written soon, but this board is merged in libreboot.
|
||||
|
||||
Just refer back to the [hardware section](./) and [install guides](../install/)
|
||||
|
|
|
@ -3,20 +3,20 @@ title: Hardware compatibility list
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
**The osboot project was rebooted on January 4th, 2022. Some boards were
|
||||
**The libreboot project was rebooted on January 4th, 2022. Some boards were
|
||||
deleted as a result, but they will be re-added later, with documentation also
|
||||
re-added. The Libreboot and osboot projects went completely out of sync, but
|
||||
the Libreboot project was more up to date, so osboot, itself a fork of
|
||||
re-added. The Libreboot and libreboot projects went completely out of sync, but
|
||||
the Libreboot project was more up to date, so libreboot, itself a fork of
|
||||
Libreboot originally, was PURGED and then RE-FORKED once again, but from
|
||||
Libreboot in late 2021. From now on, greater care will be taken to keep the
|
||||
two projects in sync. Both projects are lead and were also founded by Leah
|
||||
Rowe.**
|
||||
|
||||
The current version of osboot already has several major differences. For
|
||||
The current version of libreboot already has several major differences. For
|
||||
example, microcode updates are enabled by default, on all boards, even those
|
||||
that Libreboot supports (this greatly increases system stability).
|
||||
|
||||
This sections relates to known hardware compatibility in osboot.
|
||||
This sections relates to known hardware compatibility in libreboot.
|
||||
|
||||
For installation instructions, refer to [../install/](../install/).
|
||||
|
||||
|
@ -25,12 +25,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 osboot uses the Intel one)
|
||||
has an Intel GPU, and libreboot uses the Intel one)
|
||||
|
||||
Supported hardware
|
||||
==================
|
||||
|
||||
osboot currently supports the following systems in this release:
|
||||
libreboot currently supports the following systems in this release:
|
||||
|
||||
### Desktops (AMD, Intel, x86)
|
||||
|
||||
|
@ -67,7 +67,7 @@ osboot currently supports the following systems in this release:
|
|||
- [Lenovo Thinkpad X230](../install/x230_external.md)
|
||||
- [Lenovo Thinkpad X230t](../install/x230_external.md)
|
||||
|
||||
TODO: More hardware is supported. See `resources/coreboot/` in osbmk. Update
|
||||
TODO: More hardware is supported. See `resources/coreboot/` in lbmk. Update
|
||||
the above list!
|
||||
|
||||
'Supported' means that the build scripts know how to build ROM images
|
||||
|
@ -80,7 +80,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
|
||||
osboot, so we don't actually provide that, but if you still have
|
||||
libreboot, so we don't actually provide that, but if you still have
|
||||
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
|
||||
will update both the BIOS and EC version. See:
|
||||
|
||||
|
@ -88,7 +88,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 osboot is unknown. osboot
|
||||
update the EC firmware while running libreboot is unknown. libreboot
|
||||
only replaces the BIOS firmware, not EC.
|
||||
|
||||
Updated EC firmware has several advantages e.g. better battery
|
||||
|
|
|
@ -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.
|
||||
osboot also supports it. The coreboot port was done by Timothy Pearson of
|
||||
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. It is also supported by osboot.
|
||||
years ago. It is also supported by libreboot.
|
||||
|
||||
Note that not all boards are compatible. See [board status](#boardstatus)
|
||||
below to determine compatibility with your board.
|
||||
|
@ -26,7 +26,7 @@ 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/osboot/coreboot, by default
|
||||
currently installed. If you already have libreboot/libreboot/coreboot, by default
|
||||
it is possible to re-flash using software running in GNU+Linux on the kcma-d8,
|
||||
without using external hardware.
|
||||
|
||||
|
@ -46,7 +46,7 @@ this:
|
|||
|
||||
The default chip is a 2MiB one, but we recommend upgrading it to a 16MiB chip.
|
||||
|
||||
NOTE: If you're already running osboot, you probably don't
|
||||
NOTE: If you're already running libreboot, you probably don't
|
||||
need to re-flash externally. Refer instead to the generic instructions on
|
||||
this page: [../install/](../install/)
|
||||
|
||||
|
@ -58,7 +58,7 @@ PCI option ROMs
|
|||
|
||||
Unlike Libreboot 20160907, Libreboot in newer releases now supports finding and
|
||||
loading PCI option ROMs automatically, both in GRUB and SeaBIOS on this machine.
|
||||
This was inherited by osboot, when the Libreboot project was forked.
|
||||
This was inherited by libreboot, 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 osboot. Boards
|
||||
board produced September 2011 *or later* are compatible with libreboot. 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)
|
||||
|
@ -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 osboot recommends; it has excellent support in Nouveau (free Linux
|
||||
are what libreboot recommends; it has excellent support in Nouveau (free 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,
|
||||
|
@ -166,7 +166,7 @@ considerations:
|
|||
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 osboot, which uses a newer
|
||||
TODO: test whether this is still the case in libreboot, 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,7 +174,7 @@ 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
|
||||
osboot, so you could use it. However, you could *also* simply
|
||||
libreboot, 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
|
||||
option ROM; then it can kexec another linux kernel, which in turn also can
|
||||
|
@ -184,7 +184,7 @@ 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 osboot
|
||||
replacement is theoretically possible. For now, the libreboot
|
||||
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
|
||||
|
|
|
@ -4,7 +4,7 @@ x-toc-enable: true
|
|||
...
|
||||
|
||||
This is a server board using AMD hardware (Fam10h). It can also be used
|
||||
for building a high-powered workstation. Powered by osboot.
|
||||
for building a high-powered workstation. Powered by libreboot.
|
||||
|
||||
Flashing instructions can be found at
|
||||
[../install/\#flashrom](../install/#flashrom)
|
||||
|
@ -68,7 +68,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 osboot.
|
||||
Note: the SAS functionality is **not supported** by libreboot.
|
||||
|
||||
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).
|
||||
|
|
|
@ -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 osboot. The coreboot port was done by Timothy Pearson of
|
||||
Powered by libreboot. The coreboot port was done by Timothy Pearson of
|
||||
Raptor Engineering Inc. and, working with them (and sponsoring the
|
||||
work), merged into libreboot. It is also supported by osboot.
|
||||
work), merged into libreboot. It is also supported by libreboot.
|
||||
|
||||
*Memory initialization is still problematic, for some modules. We
|
||||
recommend avoiding Kingston modules.*
|
||||
|
@ -19,7 +19,7 @@ recommend avoiding Kingston modules.*
|
|||
Flashing instructions can be found at
|
||||
[../install/\#flashrom](../install/#flashrom) - note that external
|
||||
flashing is required (e.g. BBB), if the proprietary (ASUS) firmware is
|
||||
currently installed. If you already have osboot, by default it is
|
||||
currently installed. If you already have libreboot, by default it is
|
||||
possible to re-flash using software running in GNU+Linux on the
|
||||
KGPE-D16, without using external hardware.
|
||||
|
||||
|
@ -59,7 +59,7 @@ P-DIP 8 slot (SPI chip). The flash chip can be upgraded to higher sizes:
|
|||
compressed linux+initramfs image (BusyBox+Linux system) into CBFS and
|
||||
boot that, loading it into memory.
|
||||
|
||||
osboot has configs for 2, 4, 8 and 16 MiB flash chip sizes (default
|
||||
libreboot 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
|
||||
|
@ -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 osboot
|
||||
replacement is theoretically possible. For now, the libreboot
|
||||
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
|
||||
osboot.
|
||||
libreboot.
|
||||
- AMD Opteron 6300 series (Fam15h, with full IOMMU support in
|
||||
osboot.
|
||||
libreboot.
|
||||
- 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 osboot)
|
||||
### Memory compatibility (with libreboot)
|
||||
|
||||
- *Total Slots:* 16 (4-channel per CPU, 8 DIMM per CPU), ECC
|
||||
- *Capacity:* Maximum up to 256GB RDIMM (Tested max 128GB)
|
||||
|
|
|
@ -6,7 +6,7 @@ x-toc-enable: true
|
|||
Introduction (GM45+e1000)
|
||||
=========================
|
||||
|
||||
This section is applicable to all osboot-supported laptops with the
|
||||
This section is applicable to all libreboot-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 osboot and other configuration data. Therefore, installing
|
||||
osboot will overwrite it.
|
||||
along with libreboot and other configuration data. Therefore, installing
|
||||
libreboot will overwrite it.
|
||||
|
||||
Thus, for these laptops, prebuilt osboot already contains a generic
|
||||
Thus, for these laptops, prebuilt libreboot 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 osboot computer on
|
||||
to network problems if you have more than one libreboot 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 osboot
|
||||
To prevent these address clashes, you can either modify prebuilt libreboot
|
||||
to use an address of your own choosing or you can change the address in your
|
||||
operating system's boot scripts.
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@ x-toc-enable: true
|
|||
There is an Apple laptop called the macbook1,1 from 2006 which uses the
|
||||
same i945 chipset as the ThinkPad X60/T60. A developer (Mono Moosbart) ported
|
||||
the Macbook2,1 to coreboot, working alongside Vladimir Serbinenko. The ROM
|
||||
images also work on the macbook1,1. osboot's support and documentation for
|
||||
this is based on the osboot project, which also supports macbook2,1
|
||||
images also work on the macbook1,1. libreboot's support and documentation for
|
||||
this is based on the libreboot project, which also supports macbook2,1
|
||||
|
||||
Some macbook2,1 models are late 2006, others are early 2007.
|
||||
You do not need to use external flashing equipment when flashing the MacBook2,1
|
||||
|
@ -64,7 +64,7 @@ External flashing
|
|||
|
||||
macbook1,1 requires external flashing, if running the default Apple firmware.
|
||||
macbook2,1 can be flased internally, regardless.
|
||||
If running coreboot, osboot or osboot, you can already internally re-flash.
|
||||
If running coreboot or libreboot you can already internally re-flash.
|
||||
|
||||
[This page shows disassembly
|
||||
guides](https://www.ifixit.com/Device/MacBook_Core_2_Duo)
|
||||
|
@ -79,9 +79,9 @@ 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)
|
||||
|
||||
You need to replace OS X with GNU+Linux before flashing osboot. (OSX
|
||||
won't run at all in osboot), if you wish to internally flash on a macbook21.
|
||||
osboot won't boot OSX either (well, maybe with Tianocore it would, but that's
|
||||
You need to replace OS X with GNU+Linux before flashing libreboot. (OSX
|
||||
won't run at all in libreboot), if you wish to internally flash on a macbook21.
|
||||
libreboot won't boot OSX either (well, maybe with Tianocore it would, but that's
|
||||
untested and OSX is inferior to GNU+Linux). In general you should think of
|
||||
your Macbook like a regular laptop, for the purposes of anything coreboot.
|
||||
|
||||
|
@ -113,7 +113,7 @@ There is one mouse button only, however multiple finger tapping
|
|||
works. Battery life is poor compared to X60/T60. The Apple logo on the
|
||||
back is a hole, exposing the backlight, which means that it glows. You
|
||||
should [cover it up](http://cweiske.de/tagebuch/tuxbook.htm).
|
||||
The MacBook2,1 consumes more power with osboot than with the Apple EFI firmware, which means it overheats a lot.
|
||||
The MacBook2,1 consumes more power with libreboot than with the Apple EFI firmware, which means it overheats a lot.
|
||||
|
||||
*The MacBook2,1 comes with a webcam which does not work with free
|
||||
software. Webcams are a privacy and security risk; cover it up! Or
|
||||
|
@ -122,11 +122,11 @@ remove it.*
|
|||
Make it overheat less
|
||||
---------------------
|
||||
|
||||
NOTE: on newer osboot revisions, this section is less relevant, because C3
|
||||
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.
|
||||
|
||||
The MacBook2,1 overheats a lot with osboot, we still don't know why but a simple workaround is to install macfanctld.
|
||||
The MacBook2,1 overheats a lot with libreboot, we still don't know why but a simple workaround is to install macfanctld.
|
||||
|
||||
Macfanctld is available on the default repos of many distributions.
|
||||
|
||||
|
|
|
@ -13,7 +13,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 osboot. osboot disables and removes it by using a
|
||||
before flashing libreboot. libreboot disables and removes it by using a
|
||||
modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
|
||||
(contains notes, plus instructions)
|
||||
|
||||
|
@ -25,7 +25,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
|
||||
osboot, so we don't actually provide that, but if you still have
|
||||
libreboot, so we don't actually provide that, but if you still have
|
||||
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
|
||||
will update both the BIOS and EC version. See:
|
||||
|
||||
|
@ -33,7 +33,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 osboot is unknown. osboot
|
||||
update the EC firmware while running libreboot is unknown. libreboot
|
||||
only replaces the BIOS firmware, not EC.
|
||||
|
||||
Updated EC firmware has several advantages e.g. bettery battery
|
||||
|
|
|
@ -11,8 +11,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 osboot, the R500 doesn't have an Intel
|
||||
PHY (for Gigabit Ethernet). However, osboot still includes an Intel flash
|
||||
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
|
||||
descriptor, but with just the descriptor and BIOS region. The `ich9gen` program
|
||||
supports this fully.
|
||||
|
||||
|
|
|
@ -16,7 +16,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 osboot. osboot disables and removes it by using a
|
||||
before flashing libreboot. libreboot disables and removes it by using a
|
||||
modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
|
||||
(contains notes, plus instructions)
|
||||
|
||||
|
@ -28,7 +28,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
|
||||
osboot, so we don't actually provide that, but if you still have
|
||||
libreboot, so we don't actually provide that, but if you still have
|
||||
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
|
||||
will update both the BIOS and EC version. See:
|
||||
|
||||
|
@ -36,7 +36,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 osboot is unknown. osboot
|
||||
update the EC firmware while running libreboot is unknown. libreboot
|
||||
only replaces the BIOS firmware, not EC.
|
||||
|
||||
Updated EC firmware has several advantages e.g. bettery battery
|
||||
|
|
|
@ -18,7 +18,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 osboot. osboot disables and removes it by using a
|
||||
before flashing libreboot. libreboot disables and removes it by using a
|
||||
modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
|
||||
(contains notes, plus instructions)
|
||||
|
||||
|
@ -30,7 +30,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
|
||||
osboot, so we don't actually provide that, but if you still have
|
||||
libreboot, so we don't actually provide that, but if you still have
|
||||
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
|
||||
will update both the BIOS and EC version. See:
|
||||
|
||||
|
@ -38,7 +38,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 osboot is unknown. osboot
|
||||
update the EC firmware while running libreboot is unknown. libreboot
|
||||
only replaces the BIOS firmware, not EC.
|
||||
|
||||
Updated EC firmware has several advantages e.g. bettery battery
|
||||
|
|
|
@ -10,7 +10,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 osboot project. The same may also apply between
|
||||
is currently untested by the libreboot 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
|
||||
|
@ -18,7 +18,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 osboot. osboot disables and removes it by using a
|
||||
before flashing libreboot. libreboot disables and removes it by using a
|
||||
modified descriptor: see [../install/ich9utils.md](../install/ich9utils.md)*
|
||||
(contains notes, plus instructions)
|
||||
|
||||
|
@ -30,7 +30,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
|
||||
osboot, so we don't actually provide that, but if you still have
|
||||
libreboot, so we don't actually provide that, but if you still have
|
||||
Lenovo BIOS then you can just run the Lenovo BIOS update utility, which
|
||||
will update both the BIOS and EC version. See:
|
||||
|
||||
|
@ -40,7 +40,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 osboot is unknown. osboot
|
||||
update the EC firmware while running libreboot is unknown. libreboot
|
||||
only replaces the BIOS firmware, not EC.
|
||||
|
||||
Updated EC firmware has several advantages e.g. better battery
|
||||
|
|
|
@ -2,28 +2,28 @@
|
|||
title: Documentation
|
||||
...
|
||||
|
||||
Always check [osboot.org](https://osboot.org/) for the latest updates to
|
||||
osboot. News, including release announcements, can be found in
|
||||
Always check [libreboot.org](https://libreboot.org/) for the latest updates to
|
||||
libreboot. News, including release announcements, can be found in
|
||||
the [main news section](../news/).
|
||||
|
||||
[Answers to Frequently Asked Questions about osboot](../faq.md).
|
||||
[Answers to Frequently Asked Questions about libreboot](../faq.md).
|
||||
|
||||
Installing osboot
|
||||
Installing libreboot
|
||||
====================
|
||||
|
||||
- [What systems can I use osboot on?](hardware/)
|
||||
- [How to install osboot](install/)
|
||||
- [What systems can I use libreboot on?](hardware/)
|
||||
- [How to install libreboot](install/)
|
||||
|
||||
Documentation related to operating systems
|
||||
============================
|
||||
|
||||
- [GNU+Linux Guides](gnulinux/)
|
||||
- [How to install BSD on a osboot system](bsd/)
|
||||
- [How to install BSD on a libreboot system](bsd/)
|
||||
|
||||
Information for developers
|
||||
==========================
|
||||
|
||||
- [How to compile the osboot source code](build/)
|
||||
- [How to compile the libreboot source code](build/)
|
||||
- [Build system developer documentation](maintain/)
|
||||
- [GRUB payload](grub/)
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: D510MO flashing tutorial
|
||||
...
|
||||
|
||||
This guide is for those who want osboot on their Intel D510MO
|
||||
This guide is for those who want libreboot 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.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: Intel D945GCLF flashing tutorial
|
||||
...
|
||||
|
||||
This guide is for those who want osboot on their Intel D945GCLF
|
||||
This guide is for those who want libreboot on their Intel D945GCLF
|
||||
motherboard while they still have the original BIOS present.
|
||||
|
||||
D945GCLF2D also reported working by a user.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
title: GA-G41M-ES2L flashing tutorial
|
||||
...
|
||||
|
||||
This guide is for those who want osboot on their Intel GA-G41M-ES2L
|
||||
This guide is for those who want libreboot on their Intel GA-G41M-ES2L
|
||||
motherboard while they still have the original BIOS present.
|
||||
|
||||
Flash chip size {#flashchips}
|
||||
|
@ -40,15 +40,15 @@ GNU+Linux. There are 2 flash chips (one is backup).
|
|||
|
||||
Flash the first chip:
|
||||
|
||||
./flashrom -p internal:dualbiosindex=0 -w osboot.rom
|
||||
./flashrom -p internal:dualbiosindex=0 -w libreboot.rom
|
||||
|
||||
Flash the second chip:
|
||||
|
||||
./flashrom -p internal:dualbiosindex=1 -w osboot.rom
|
||||
./flashrom -p internal:dualbiosindex=1 -w libreboot.rom
|
||||
|
||||
NOTE: you can still boot the system with just the main flash chip
|
||||
connected, after desoldering the backup chip. This has been tested while
|
||||
osboot was already installed onto the main chip.
|
||||
libreboot 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
|
||||
|
|
|
@ -13,15 +13,15 @@ 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 `osbmk` (osboot-make) build system, but the code
|
||||
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
|
||||
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 osboot,
|
||||
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,
|
||||
where on systems with just the BIOS region an Intel GbE NIC is not present.
|
||||
In osboot (and Libreboot), we provide descriptor+GbE images with Intel ME
|
||||
In libreboot (and Libreboot), 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
|
||||
|
@ -55,17 +55,17 @@ ich9utils
|
|||
=========
|
||||
|
||||
You can find `ich9utils` on the [Git page](../../git.md) or you can download
|
||||
`osbmk` from the same page and run the following command in there:
|
||||
`lbmk` 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 `osbmk`, you can use the following command to generate descriptors:
|
||||
In `lbmk`, you can use the following command to generate descriptors:
|
||||
|
||||
./build descriptors ich9m
|
||||
|
||||
The osboot build system will use the descriptors under `descriptors/ich9m`
|
||||
The libreboot 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
|
||||
|
@ -104,7 +104,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 osboot's build system
|
||||
that machine. This is the default setup used when libreboot's build system
|
||||
compiles ROM images.
|
||||
|
||||
Alternative versions of these files are also created, which have `ro` in the
|
||||
|
@ -117,27 +117,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 osboot)
|
||||
* Rest of the flash, after GbE: BIOS region (BIOS region will have libreboot)
|
||||
|
||||
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 osboot image is named **osboot.rom**, copy the
|
||||
file to where **osboot.rom** is located and then insert the
|
||||
Assuming that your libreboot image is named **libreboot.rom**, copy the
|
||||
file to where **libreboot.rom** is located and then insert the
|
||||
descriptor+gbe file into the ROM image.
|
||||
|
||||
For 16MiB flash chips:
|
||||
|
||||
dd if=ich9fdgbe_16m.bin of=osboot.rom bs=12k count=1 conv=notrunc
|
||||
dd if=ich9fdgbe_16m.bin of=libreboot.rom bs=12k count=1 conv=notrunc
|
||||
|
||||
For 8MiB flash chips:
|
||||
|
||||
dd if=ich9fdgbe_8m.bin of=osboot.rom bs=12k count=1 conv=notrunc
|
||||
dd if=ich9fdgbe_8m.bin of=libreboot.rom bs=12k count=1 conv=notrunc
|
||||
|
||||
For 4MiB flash chips:
|
||||
|
||||
dd if=ich9fdgbe_4m.bin of=osboot.rom bs=12k count=1 conv=notrunc
|
||||
dd if=ich9fdgbe_4m.bin of=libreboot.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
|
||||
|
@ -154,13 +154,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 osboot use these no-GbE descriptor
|
||||
For shits and giggles, R500 ROM images in libreboot 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 osboot.rom image is now ready to be flashed on the system. Refer
|
||||
Your libreboot.rom image is now ready to be flashed on the system. Refer
|
||||
back to [../install/\#flashrom](../install/#flashrom) for how to flash
|
||||
it.
|
||||
|
||||
|
@ -176,7 +176,7 @@ 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, osboot provides ROMs that are read-write by default. In
|
||||
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
|
||||
which will make software re-flashing impossible (unless you reboot with such
|
||||
memory protections disabled, e.g. `iomem=relaxed` kernel parameter).
|
||||
|
@ -223,16 +223,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 osboot image is named **osboot.rom**, copy the
|
||||
**deblobbed\_descriptor.bin** file to where **osboot.rom** is located
|
||||
Assuming that your libreboot image is named **libreboot.rom**, copy the
|
||||
**deblobbed\_descriptor.bin** file to where **libreboot.rom** is located
|
||||
and then run:
|
||||
|
||||
dd if=deblobbed_descriptor.bin of=osboot.rom bs=12k count=1 conv=notrunc
|
||||
dd if=deblobbed_descriptor.bin of=libreboot.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=osboot.rom bs=4k count=1 conv=notrunc
|
||||
dd if=deblobbed_4kdescriptor.bin of=libreboot.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
|
||||
|
@ -255,7 +255,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 **osboot.rom** image containing the correct 4K
|
||||
You should now have a **libreboot.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.
|
||||
|
@ -285,7 +285,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/osboot in software, without ever having to
|
||||
between factory/libreboot 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
|
||||
|
@ -429,7 +429,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 osboot (deblobbed) the descriptor
|
||||
image and is 0x2000 bytes long. In libreboot (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.
|
||||
|
@ -450,7 +450,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 osboot, we simply use `0xBABA` and
|
||||
GbE regions on factory ROM dumps. In libreboot, 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
|
||||
|
@ -471,7 +471,7 @@ 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 osboot is doing
|
||||
descriptor, which can be used to understand what libreboot is doing
|
||||
about modifying it.
|
||||
|
||||
How to deblob:
|
||||
|
@ -495,7 +495,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 osboot, though.
|
||||
small 128K version. Useless for libreboot, 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
|
||||
|
@ -514,7 +514,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 osboot's descriptor region will simply define the
|
||||
This means that libreboot's descriptor region will simply define the
|
||||
following regions:
|
||||
|
||||
- descriptor (4K)
|
||||
|
@ -532,8 +532,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 osboot, since it appears to be a blob. Removing
|
||||
it didn't cause any issues in osboot. We think it's just random data that
|
||||
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
|
||||
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
|
||||
|
|
|
@ -3,18 +3,18 @@ title: Installation instructions
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
This section relates to installing osboot on supported targets.
|
||||
This section relates to installing libreboot on supported targets.
|
||||
|
||||
NOTE: if running `flashrom -p internal` for software based flashing, and you
|
||||
get an error related to `/dev/mem` access, you should reboot with
|
||||
`iomem=relaxed` kernel parameter before running flashrom, or use a kernel that
|
||||
has `CONFIG_STRICT_DEVMEM` not enabled.
|
||||
|
||||
osboot flashing can be risky business. Please ensure that you have external
|
||||
libreboot 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 osboot if
|
||||
However, you might want to tweak it or try out newer releases of libreboot 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
|
||||
|
@ -28,7 +28,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 osboot, libgfxinit will always be used. On
|
||||
be used. On laptop hardware in libreboot, 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)
|
||||
|
@ -60,11 +60,11 @@ int10h text mode is used on startup.
|
|||
|
||||
### vgarom
|
||||
|
||||
NOTE: no configs in osboot are currently available that use this method.
|
||||
NOTE: no configs in libreboot 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 osboot, so this setup would only
|
||||
implies supplying non-free binary blobs in libreboot, 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
|
||||
|
||||
|
@ -84,7 +84,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 osboot build system, but not
|
||||
The `normal` setup is supported in the libreboot 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..
|
||||
|
@ -132,9 +132,9 @@ following article:
|
|||
|
||||
[ich9utils documentation](ich9utils.md)
|
||||
|
||||
osboot puts a default MAC address in the available ROM images, but this is
|
||||
libreboot puts a default MAC address in the available ROM images, but this is
|
||||
a generic MAC address and it's identical on every ROM image. Technically, you
|
||||
can use it but if you encounter other osboot users on the same ethernet
|
||||
can use it but if you encounter other libreboot users on the same ethernet
|
||||
switch, using the same physical network as you, you will encounter a MAC
|
||||
address conflict.
|
||||
|
||||
|
@ -142,7 +142,7 @@ NOTE: R500 thinkpads do not have an Intel gigabit ethernet NIC, so on that
|
|||
laptop you can just flash the default ROM and you do not have to worry.
|
||||
|
||||
There are also some Intel X4X platforms that use an ICH10 southbridge,
|
||||
supported in osboot, but these are flashed in a *descriptorless* setup,
|
||||
supported in libreboot, but these are flashed in a *descriptorless* setup,
|
||||
which means that the MAC address is irrelevant (either there will be an Intel
|
||||
PHY module that is now unusable, and you use an add-on card, or it doesn't use
|
||||
an Intel PHY module and the onboard NIC is usable).
|
||||
|
@ -170,7 +170,7 @@ carefully.
|
|||
Run flashrom on host CPU
|
||||
------------------------
|
||||
|
||||
You can simply take any ROM image from the osboot project, and flash it.
|
||||
You can simply take any ROM image from the libreboot 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
|
||||
|
@ -195,7 +195,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 osboot.rom
|
||||
sudo flashrom -p internal:laptop=force_I_want_a_brick,boardmismatch=force -w libreboot.rom
|
||||
|
||||
If you are re-flashing a GM45+ICH9M laptop (e.g. ThinkPad X200/X200S/X200T,
|
||||
T400, T500, R400, W500 etc - but not R500), you should run the ich9gen utility
|
||||
|
@ -244,7 +244,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 osboot
|
||||
about this board. If you have a D410PT mainboard, please contact the libreboot
|
||||
project via IRC and ping `leah` before you flash it. When you do so, please
|
||||
reference this paragraph on this web page.
|
||||
|
||||
|
@ -257,7 +257,7 @@ 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 osboot is already running, you
|
||||
the [external flashing guide](spi.md); if libreboot is already running, you
|
||||
can flash internally.
|
||||
|
||||
MacBook2,1 can be flashed internally.
|
||||
|
@ -287,7 +287,7 @@ example of the push pin as a proof of concept:
|
|||
|
||||
#### ThinkPad X60/X60S/X60T/T60 with Lenovo BIOS {#flashrom_lenovobios}
|
||||
|
||||
You can just get bucts from the osboot project, same thing for the patched
|
||||
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.
|
||||
|
@ -307,7 +307,7 @@ 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 osboot, using flashrom running on the host
|
||||
You can replace Lenovo BIOS with libreboot, using flashrom running on the host
|
||||
CPU. However, there are some considerations.
|
||||
|
||||
Firstly, make sure that the yellow CMOS battery is installed, and functioning
|
||||
|
@ -330,10 +330,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 osboot ROM images already have the upper 64KiB bootblock copied to the lower
|
||||
The libreboot ROM images already have the upper 64KiB bootblock copied to the lower
|
||||
one, so you don't have to worry about copying it yourself.
|
||||
|
||||
If you build flashrom using the osboot build system, there will be three
|
||||
If you build flashrom using the libreboot build system, there will be three
|
||||
binaries:
|
||||
|
||||
* `flashrom`
|
||||
|
@ -408,7 +408,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 osboot.rom
|
||||
sudo ./flashrom -p internal -w libreboot.rom
|
||||
|
||||
To reset bucts, do this:
|
||||
|
||||
|
@ -419,10 +419,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 osboot project on IRC for advice, and avoid
|
||||
still set to 1, and consult the libreboot project on IRC for advice, and avoid
|
||||
shutting down your system until you get help.
|
||||
|
||||
If all went well, osboot should now be booting and you should be able to
|
||||
If all went well, libreboot 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
|
||||
|
@ -463,7 +463,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
|
||||
osboot.
|
||||
libreboot.
|
||||
|
||||
Refer to the following article:\
|
||||
[Macbook2,1 and MacBook1,1 installation guide](../hardware/macbook21.md)
|
||||
|
|
|
@ -16,7 +16,7 @@ Do not worry too much about which flash chip your programmer is connected to.
|
|||
Flashrom will fail if you try to flash the wrong sized image for the chip you are connected
|
||||
to.
|
||||
|
||||
The osboot roms released or built for haswell or ivybridge boards come as 12/16MiB roms.
|
||||
The libreboot roms released or built for haswell or ivybridge boards come as 12/16MiB roms.
|
||||
The size of the rom in question refers to the total size of *both* chips.
|
||||
In order to flash a full rom externally, you need to split the rom into two sections to fit the size of the two chips you wish to flash.
|
||||
This guide will show examples for the Thinkpad X230, but all of the information will apply to other boards.
|
||||
|
@ -33,7 +33,7 @@ Obtaining Binary Blobs
|
|||
|
||||
If you have built your rom from source then all of the blobs are generally downloaded automatically.
|
||||
Some boards however, do not have sources for all blobs and require manual blob extraction.
|
||||
If you try to build a rom from source and osbmk fails to locate the blobs, you can extract them from an existing rom backup.
|
||||
If you try to build a rom from source and lbmk fails to locate the blobs, you can extract them from an existing rom backup.
|
||||
To do this, start by obtaining a full backup rom from your machine.
|
||||
|
||||
Once you have connected your programmer and read from both flash chips, you will have to combine the two images to a single rom.
|
||||
|
@ -42,13 +42,13 @@ To create a readable rom file, simply concatenate the two files.
|
|||
|
||||
cat bottom.rom top.rom > full_backup.bin
|
||||
|
||||
Once you have a backup of your vendor rom, you can use osbmk to automatically extract the necessary blobs.
|
||||
Once you have a backup of your vendor rom, you can use lbmk to automatically extract the necessary blobs.
|
||||
The blob extraction script takes a board name as the first argument and a path to a rom as the second argument.
|
||||
For example, here is how you would extract the blobs from an x230 rom backup.
|
||||
|
||||
./blobutil extract x230_12mb full_backup.bin
|
||||
|
||||
Note that the above command must be run from the root of the osbmk directory.
|
||||
Note that the above command must be run from the root of the lbmk directory.
|
||||
See [building instructions](/docs/build/index.html) for more details.
|
||||
|
||||
Injecting Blobs into an Existing Rom
|
||||
|
@ -61,15 +61,15 @@ You must patch the release rom with the necessary blobs *and then* flash it to y
|
|||
Osbmk includes a script that will automatically inject the necessary blobs into a rom file.
|
||||
The script can determine the board automatically if you have not changed the name, but you can also manually set the board name with the `-b` flag.
|
||||
|
||||
In order to inject the necessary blobs into a rom image, run the script from the root of osbmk and point to the rom image.
|
||||
In order to inject the necessary blobs into a rom image, run the script from the root of lbmk and point to the rom image.
|
||||
For example:
|
||||
|
||||
./blobutil inject -r x230_osboot.rom -b x230_12mb
|
||||
./blobutil inject -r x230_libreboot.rom -b x230_12mb
|
||||
|
||||
Optionally, you can use this script to modify the mac address of the rom with the `-m` flag.
|
||||
For example:
|
||||
|
||||
./blobutil inject -r x230_osboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd
|
||||
./blobutil inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd
|
||||
|
||||
Splitting The Rom
|
||||
-----------------
|
||||
|
@ -78,8 +78,8 @@ You can use `dd` to easily split your rom into the two separate portions for
|
|||
external flashing.
|
||||
For example, here is how you would split a 12mb rom for installation:
|
||||
|
||||
dd if=osboot.rom of=top.rom bs=1M skip=8
|
||||
dd if=osboot.rom of=bottom.rom bs=1M count=8
|
||||
dd if=libreboot.rom of=top.rom bs=1M skip=8
|
||||
dd if=libreboot.rom of=bottom.rom bs=1M count=8
|
||||
|
||||
You would then flash the 4MiB chip with `top.rom` and the 8MiB chip with `bottom.rom`.
|
||||
For a larger rom image, the same logic would apply.
|
||||
|
|
|
@ -5,7 +5,7 @@ x-toc-enable: true
|
|||
|
||||
Initial flashing instructions for KGPE-D16.
|
||||
|
||||
This guide is for those who want osboot on their ASUS KGPE-D16
|
||||
This guide is for those who want libreboot 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.
|
||||
|
@ -24,6 +24,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 osboot, using
|
||||
motherboard, which you take out and then re-flash with libreboot, using
|
||||
the programmer. *DO NOT* remove the chip with your hands. Use a chip
|
||||
extractor tool.
|
||||
|
|
|
@ -5,13 +5,13 @@ x-toc-enable: true
|
|||
|
||||
Initial flashing instructions for R400.
|
||||
|
||||
This guide is for those who want osboot on their ThinkPad R400 while
|
||||
This guide is for those who want libreboot 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 osboot
|
||||
Before following this section, please make sure to setup your libreboot
|
||||
ROM properly first. Although ROM images are provided pre-built in
|
||||
osboot, there are some modifications that you need to make to the one
|
||||
libreboot, 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}
|
||||
|
@ -26,7 +26,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 osboot. The Core 2 Duo T9600 was confirmed to work, so the
|
||||
work in libreboot. 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!*
|
||||
|
||||
|
@ -44,7 +44,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).
|
||||
|
||||
osboot is known to work on systems with only the Intel GPU, using
|
||||
libreboot 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.
|
||||
|
@ -152,7 +152,7 @@ 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)
|
||||
|
||||
Now, you should be ready to install osboot.
|
||||
Now, you should be ready to install libreboot.
|
||||
|
||||
Read [this article](spi.md) to learn how you may flash the chip, which is near
|
||||
to the RAM.
|
||||
|
|
|
@ -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
|
||||
osboot uses this type of boot flash; the only exception is ASUS KFSN4-DRE,
|
||||
libreboot 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.
|
||||
|
||||
osboot currently documents how to use these SPI programmers:
|
||||
libreboot currently documents how to use these SPI programmers:
|
||||
|
||||
* Raspberry Pi (RPi)
|
||||
* BeagleBone Black (BBB)
|
||||
|
@ -22,10 +22,10 @@ osboot 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.
|
||||
|
||||
Most systems in osboot have to be re-flashed externally, using instructions
|
||||
Most systems in libreboot 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
|
||||
osboot is running.
|
||||
libreboot is running.
|
||||
|
||||
*Internal* flashing means that the host CPU on your system can re-program the
|
||||
SPI flash, using an on-board SPI programmer (which all boards have). You do this
|
||||
|
@ -37,7 +37,7 @@ is called *external* because it's not the *internal* one on your mainboard.
|
|||
Do not use CH341A!
|
||||
==================
|
||||
|
||||
NOR flashes on osboot systems run on 3.3V DC, and this includes data lines.
|
||||
NOR flashes on libreboot systems run on 3.3V 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.
|
||||
|
@ -222,11 +222,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 osboot build system, from the Git repository, you can download and
|
||||
In the libreboot build system, from the Git repository, you can download and
|
||||
install flashrom. Do this after downloading the
|
||||
[osbmk Git repository](https://notabug.org/osboot/osbmk):
|
||||
[lbmk Git repository](https://notabug.org/libreboot/osbmk):
|
||||
|
||||
cd osbmk
|
||||
cd lbmk
|
||||
sudo ./build dependencies ubuntu2004
|
||||
|
||||
NOTE: debian, arch or void can be written instead of ubuntu2004. the debian
|
||||
|
@ -258,7 +258,7 @@ binary is also available that you can simply run. Pass the `--workaround-mx`
|
|||
argument in flashrom. This mitigates stability issues.
|
||||
|
||||
If you downloaded the flashrom source code directly, you can go into the
|
||||
directory and simply type `make`. In the osboot build system, build
|
||||
directory and simply type `make`. In the libreboot build system, build
|
||||
dependencies are documented in script located
|
||||
at `resources/scripts/build/dependencies/` which you can install
|
||||
using the `apt-get` software.
|
||||
|
@ -334,11 +334,11 @@ Writing
|
|||
|
||||
Next, run this command (RPi):
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/osboot.rom
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=32768 -w /path/to/libreboot.rom
|
||||
|
||||
If using BBB:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/osboot.rom
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w /path/to/libreboot.rom
|
||||
|
||||
If using BBB, you may have to use a lower speed than 512. You may also have to
|
||||
re-flash several times before it works fully.
|
||||
|
@ -359,8 +359,8 @@ If the board you are writing to has two chips you'll need to split the rom into
|
|||
two sections.
|
||||
For example, to split a rom for the x230, t430, t530, or t440p run:
|
||||
|
||||
dd if=osboot_12mb.rom bs=1M of=bottom.rom count=8
|
||||
dd if=osboot_12mb.rom bs=1M of=top.rom skip=8
|
||||
dd if=libreboot_12mb.rom bs=1M of=bottom.rom count=8
|
||||
dd if=libreboot_12mb.rom bs=1M of=top.rom skip=8
|
||||
|
||||
Flash the resulting roms to each of their respective chips according to the above instructions.
|
||||
|
||||
|
@ -381,7 +381,7 @@ Do not *disconnect* your chip from the flasher until you've disconnected or
|
|||
turned off the 3.3V DC power source.
|
||||
|
||||
BE CAREFUL that you are indeed supplying 3.3V DC to the chip. All SPI flashes
|
||||
on all currently supported osboot hardware run on 3.3V DC and logic at that
|
||||
on all currently supported libreboot hardware run on 3.3V DC and logic at that
|
||||
level too.
|
||||
|
||||
It is important to CHECK that you are running on the correct voltage, when you
|
||||
|
@ -405,7 +405,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 osboot
|
||||
mounted to the mainboard of your computer that you wish to install libreboot
|
||||
on.
|
||||
|
||||
It may be beneficial to modify the mainboard so that the SPI flash is powered
|
||||
|
@ -437,8 +437,8 @@ 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 osboot.org, showing how to do this on all mainboards
|
||||
supported by osboot.
|
||||
TODO: Make a page on libreboot.org, showing how to do this on all mainboards
|
||||
supported by libreboot.
|
||||
|
||||
GPIO pins on BeagleBone Black (BBB)
|
||||
-----------------------------------
|
||||
|
@ -457,7 +457,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.osboot.org/rpi/wiring.webp)
|
||||
![](https://av.libreboot.org/rpi/wiring.webp)
|
||||
|
||||
GPIO pins on Raspberry Pi (RPi) 26 Pin
|
||||
-------------------------------
|
||||
|
@ -592,7 +592,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 osboot have
|
||||
16MiB chip. For example, KGPE-D16 and KCMA-D8 mainboards in libreboot 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.
|
||||
|
@ -697,7 +697,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 osboot project, we have never heard of a board where the DIP8 is
|
||||
In the libreboot 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.
|
||||
|
@ -713,7 +713,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 osboot hardware, boards that have WSON8 can also
|
||||
On all currently supported libreboot hardware, boards that have WSON8 can also
|
||||
have a SOIC8 because the pads are long enough to accomodate either type of
|
||||
chip.
|
||||
|
||||
|
@ -825,14 +825,14 @@ This page and the photos on it are available under
|
|||
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 `osbmk`
|
||||
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.osboot.org server).
|
||||
merely linked here, instead of being hosted on the av.libreboot.org server).
|
||||
|
||||
This version of the page is hosted in the `osbwww` git repository, with images
|
||||
for it hosted in the `lbwww-img` repository (from libreboot).
|
||||
|
|
|
@ -5,7 +5,7 @@ x-toc-enable: true
|
|||
|
||||
Initial flashing instructions for T400.
|
||||
|
||||
This guide is for those who want osboot on their ThinkPad T400 while
|
||||
This guide is for those who want libreboot 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.
|
||||
|
||||
|
@ -29,7 +29,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 osboot.
|
||||
to work in libreboot.
|
||||
|
||||
T9600, T9500, T9550 and T9900 are all compatible, as reported by users.
|
||||
|
||||
|
@ -51,7 +51,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).
|
||||
|
||||
osboot is known to work on systems with only the Intel GPU, using
|
||||
libreboot 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.
|
||||
|
@ -171,7 +171,7 @@ also fine:\
|
|||
Of course, make sure to turn on your PSU:\
|
||||
![](https://av.libreboot.org/x200/disassembly/0013.jpg)
|
||||
|
||||
Now, you should be ready to install osboot.
|
||||
Now, you should be ready to install libreboot.
|
||||
|
||||
Refer to the external flashing instructions [here](spi.md), and when you're
|
||||
done, re-assemble your laptop.
|
||||
|
|
|
@ -4,11 +4,11 @@ x-toc-enable: true
|
|||
...
|
||||
|
||||
Read the [Ivybridge/Haswell common guide](/docs/install/ivy_has_common.html) if you want more information.
|
||||
All of the following instructions assume that you've cloned osbmk and are operating from the
|
||||
All of the following instructions assume that you've cloned lbmk and are operating from the
|
||||
root of that project. To do so, run
|
||||
|
||||
git clone https://notabug.org/osboot/osbmk
|
||||
cd osbmk
|
||||
git clone https://notabug.org/libreboot/lbmk
|
||||
cd lbmk
|
||||
|
||||
You can now follow the rest of the instructions.
|
||||
|
||||
|
@ -20,15 +20,15 @@ You must patch the release rom with the necessary blobs *and then* flash it to y
|
|||
Osbmk includes a script that will automatically inject the necessary blobs into a rom file.
|
||||
The script can determine the board automatically if you have not changed the name, but you can also manually set the board name with the `-b` flag.
|
||||
|
||||
In order to inject the necessary blobs into a rom image, run the script from the root of osbmk and point to the rom image.
|
||||
In order to inject the necessary blobs into a rom image, run the script from the root of lbmk and point to the rom image.
|
||||
For example:
|
||||
|
||||
./blobutil inject -r t440p_osboot.rom -b t440p_12mb
|
||||
./blobutil inject -r t440p_libreboot.rom -b t440p_12mb
|
||||
|
||||
Optionally, you can use this script to modify the mac address of the rom with the `-m` flag.
|
||||
For example:
|
||||
|
||||
./blobutil inject -r t440p_osboot.rom -b t440p_12mb -m 00:f6:f0:40:71:fd
|
||||
./blobutil inject -r t440p_libreboot.rom -b t440p_12mb -m 00:f6:f0:40:71:fd
|
||||
|
||||
Splitting The Rom
|
||||
-----------------
|
||||
|
@ -36,8 +36,8 @@ Splitting The Rom
|
|||
You can use `dd` to easily split your rom into the two separate portions for
|
||||
external flashing.
|
||||
|
||||
dd if=osboot.rom of=top.rom bs=1M skip=8
|
||||
dd if=osboot.rom of=bottom.rom bs=1M count=8
|
||||
dd if=libreboot.rom of=top.rom bs=1M skip=8
|
||||
dd if=libreboot.rom of=bottom.rom bs=1M count=8
|
||||
|
||||
Flash the top chip with top.rom, and tho bottom chip with bottom.rom.
|
||||
Don't worry about knowing which chip is which on a standard setup; flashrom will let you know if the
|
||||
|
@ -48,7 +48,7 @@ Disassembly
|
|||
-----------
|
||||
|
||||
Start by removing the back cover screws and the main battery.\
|
||||
<img tabindex=1 src="https://av.osboot.org/board/t440p/t440p_back.jpg" /><span class="f"><img src="https://av.osboot.org/board/t440p/t440p_back_orig.jpg" /></span>
|
||||
<img tabindex=1 src="https://av.libreboot.org/board/t440p/t440p_back.jpg" /><span class="f"><img src="https://av.libreboot.org/board/t440p/t440p_back_orig.jpg" /></span>
|
||||
|
||||
You can then remove the back cover by sliding it off.
|
||||
Next you need to:
|
||||
|
@ -59,14 +59,14 @@ Next you need to:
|
|||
+ Remove all visible screws
|
||||
|
||||
*Note: the ultrabay screw will loosen, but not come out of the assembly*\
|
||||
<img tabindex=1 src="https://av.osboot.org/board/t440p/t440p_nocover.jpg" /><span class="f"><img src="https://av.osboot.org/board/t440p/t440p_nocover_orig.jpg" /></span>
|
||||
<img tabindex=1 src="https://av.libreboot.org/board/t440p/t440p_nocover.jpg" /><span class="f"><img src="https://av.libreboot.org/board/t440p/t440p_nocover_orig.jpg" /></span>
|
||||
|
||||
Now you can pull up around the sides of the bottom assembly to release it.
|
||||
Pull it upwards and lift it open to the front of the machine like a clamshell.
|
||||
Make sure not to break the wires connecting the assembly to the rest of the machine.\
|
||||
<img tabindex=1 src="https://av.osboot.org/board/t440p/t440p_open.jpg" /><span class="f"><img src="https://av.osboot.org/board/t440p/t440p_open_orig.jpg" /></span>
|
||||
<img tabindex=1 src="https://av.libreboot.org/board/t440p/t440p_open.jpg" /><span class="f"><img src="https://av.libreboot.org/board/t440p/t440p_open_orig.jpg" /></span>
|
||||
|
||||
You should now be able to see the two flash chips near the RAM.\
|
||||
<img tabindex=1 src="https://av.osboot.org/board/t440p/t440p_chipLocation.jpg" /><span class="f"><img src="https://av.osboot.org/board/t440p/t440p_chipLocation_orig.jpg" /></span>
|
||||
<img tabindex=1 src="https://av.libreboot.org/board/t440p/t440p_chipLocation.jpg" /><span class="f"><img src="https://av.libreboot.org/board/t440p/t440p_chipLocation_orig.jpg" /></span>
|
||||
|
||||
You can now proceed to [flashing](/docs/install/spi.html) this machine.
|
||||
|
|
|
@ -5,7 +5,7 @@ x-toc-enable: true
|
|||
|
||||
Initial flashing instructions for T500.
|
||||
|
||||
This guide is for those who want osboot on their ThinkPad T500 while
|
||||
This guide is for those who want libreboot 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.
|
||||
|
||||
|
@ -23,7 +23,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 osboot. The T9600 was also tested on the T400 and
|
||||
to work in libreboot. 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.
|
||||
|
@ -53,7 +53,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).
|
||||
|
||||
osboot is known to work on systems with only the Intel GPU, using
|
||||
libreboot 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.
|
||||
|
@ -217,7 +217,7 @@ also fine:\
|
|||
Of course, make sure to turn on your PSU:\
|
||||
![](https://av.libreboot.org/x200/disassembly/0013.jpg)
|
||||
|
||||
Now, you should be ready to install osboot.
|
||||
Now, you should be ready to install libreboot.
|
||||
|
||||
Log in as root on your BBB, using the instructions in
|
||||
[bbb\_setup.html\#bbb\_access](bbb_setup.html#bbb_access).
|
||||
|
@ -246,7 +246,7 @@ chip):
|
|||
|
||||
./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -r factory2.rom
|
||||
|
||||
Note: the `-c` option is not required in osboot's patched
|
||||
Note: the `-c` option is not required in libreboot's patched
|
||||
flashrom, because the redundant flash chip definitions in *flashchips.c*
|
||||
have been removed.\
|
||||
Now compare the 3 images:
|
||||
|
@ -257,7 +257,7 @@ If the hashes match, then just copy one of them (the factory.rom) to a
|
|||
safe place (on a drive connected to another system, not the BBB). This
|
||||
is useful for reverse engineering work, if there is a desirable
|
||||
behaviour in the original firmware that could be replicated in coreboot
|
||||
and osboot.
|
||||
and libreboot.
|
||||
|
||||
While there is a default MAC address inside the gbe region of flash image,
|
||||
it is not one you want to use. Make sure to change the MAC address to the one
|
||||
|
@ -265,11 +265,11 @@ that is correct for your system, for **later internal flash**,
|
|||
but always remember to **flash unmodfied txtmode image first** as it is known
|
||||
to work and only this variant provides memtest. You can follow instructions
|
||||
at [ich9utils.md#ich9gen](ich9utils.md#ich9gen)
|
||||
to change the MAC address inside the osboot image.
|
||||
to change the MAC address inside the libreboot image.
|
||||
|
||||
Now flash it:
|
||||
|
||||
./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w path/to/osboot/rom/image.rom -V
|
||||
./flashrom -p linux_spi:dev=/dev/spidev1.0,spispeed=512 -w path/to/libreboot/rom/image.rom -V
|
||||
|
||||
![](https://av.libreboot.org/x200/disassembly/0015.jpg)
|
||||
|
||||
|
@ -321,7 +321,7 @@ 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 osboot, because the original firmware has a
|
||||
done after installing libreboot, because the original firmware has a
|
||||
whitelist of approved chips, and it will refuse to boot if you use an
|
||||
'unauthorized' wifi card.
|
||||
|
||||
|
|
|
@ -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 osboot, so bricks are rare.
|
||||
ROM images for this machine are well-tested in libreboot, 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 osboot running and you flashed
|
||||
You still have Lenovo BIOS, or you had libreboot 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 osboot wasn't flashed.
|
||||
Lenovo BIOS was present and libreboot 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
|
||||
|
@ -44,7 +44,7 @@ two:\
|
|||
![](https://av.libreboot.org/t60_dev/0006.JPG)
|
||||
|
||||
\*Those dd commands should be applied to all newly compiled T60 ROM
|
||||
images (the ROM images in osboot binary archives already have this
|
||||
images (the ROM images in libreboot 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,7 +72,7 @@ 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 osboot resides).
|
||||
flash the SPI chip (where libreboot resides).
|
||||
|
||||
Remove those screws and remove the HDD:\
|
||||
![](https://av.libreboot.org/t60_dev/0001.JPG) ![](https://av.libreboot.org/t60_dev/0002.JPG)
|
||||
|
@ -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 osboot.rom -V
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w libreboot.rom -V
|
||||
|
||||
If flashrom complains about multiple flash chips detected, just pass the `-c`
|
||||
option as it suggests, and pick any of the chips it lists. `spispeed=4096` or
|
||||
|
|
|
@ -3,7 +3,7 @@ title: First-time ThinkPad X200 flashing
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
This guide is for those who want osboot on their ThinkPad X200 while
|
||||
This guide is for those who want libreboot 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.
|
||||
|
||||
|
@ -13,7 +13,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 osboot.org.
|
||||
flashing, please read other guides available on libreboot.org.
|
||||
|
||||
Flash chip size
|
||||
===============
|
||||
|
@ -55,7 +55,7 @@ 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)
|
||||
|
||||
Now, you should be ready to install osboot.
|
||||
Now, you should be ready to install libreboot.
|
||||
|
||||
Refer to the [SPI programming instructions](spi.md).
|
||||
|
||||
|
@ -138,13 +138,13 @@ 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 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 osboot image.
|
||||
actually flash the entire chip, with just a normal libreboot 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, osboot has a utility that could help with
|
||||
On a related note, libreboot has a utility that could help with
|
||||
investigating this:
|
||||
[ich9utils.md#demefactory](ich9utils.md#demefactory)
|
||||
|
|
|
@ -4,11 +4,11 @@ x-toc-enable: true
|
|||
...
|
||||
|
||||
Read the [Ivybridge/Haswell common guide](/docs/install/ivy_has_common.html) if you want more information.
|
||||
All of the following instructions assume that you've cloned osbmk and are operating from the
|
||||
All of the following instructions assume that you've cloned lbmk and are operating from the
|
||||
root of that project. To do so, run
|
||||
|
||||
git clone https://notabug.org/osboot/osbmk
|
||||
cd osbmk
|
||||
git clone https://notabug.org/libreboot/lbmk
|
||||
cd lbmk
|
||||
|
||||
You can now follow the rest of the instructions.
|
||||
|
||||
|
@ -20,15 +20,15 @@ You must patch the release rom with the necessary blobs *and then* flash it to y
|
|||
Osbmk includes a script that will automatically inject the necessary blobs into a rom file.
|
||||
The script can determine the board automatically if you have not changed the name, but you can also manually set the board name with the `-b` flag.
|
||||
|
||||
In order to inject the necessary blobs into a rom image, run the script from the root of osbmk and point to the rom image.
|
||||
In order to inject the necessary blobs into a rom image, run the script from the root of lbmk and point to the rom image.
|
||||
For example:
|
||||
|
||||
./blobutil inject -r x230_osboot.rom -b x230_12mb
|
||||
./blobutil inject -r x230_libreboot.rom -b x230_12mb
|
||||
|
||||
Optionally, you can use this script to modify the mac address of the rom with the `-m` flag.
|
||||
For example:
|
||||
|
||||
./blobutil inject -r x230_osboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd
|
||||
./blobutil inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd
|
||||
|
||||
Splitting The Rom
|
||||
-----------------
|
||||
|
@ -36,8 +36,8 @@ Splitting The Rom
|
|||
You can use `dd` to easily split your rom into the two separate portions for
|
||||
external flashing.
|
||||
|
||||
dd if=osboot.rom of=top.rom bs=1M skip=8
|
||||
dd if=osboot.rom of=bottom.rom bs=1M count=8
|
||||
dd if=libreboot.rom of=top.rom bs=1M skip=8
|
||||
dd if=libreboot.rom of=bottom.rom bs=1M count=8
|
||||
|
||||
Flash the top chip with top.rom, and tho bottom chip with bottom.rom.
|
||||
Don't worry about knowing which chip is which on a standard setup; flashrom will let you know if the
|
||||
|
@ -52,10 +52,10 @@ Start by removing the battery.
|
|||
Remove every screw from the bottom of the machine marked with a keyboard/touchpad indicator.
|
||||
|
||||
Pry up the keyboard and separate it from the palmrest.
|
||||
![](https://av.osboot.org/board/x230/palmrest.jpg)
|
||||
![](https://av.libreboot.org/board/x230/palmrest.jpg)
|
||||
|
||||
Unplug the ribbon cable from the palmrest and pry it off as well.
|
||||
![](https://av.osboot.org/board/x230/palmrest_cable.jpg)
|
||||
![](https://av.libreboot.org/board/x230/palmrest_cable.jpg)
|
||||
|
||||
Pull up the protective cover to reveal the two soic chips for flashing.
|
||||
![](https://av.osboot.org/board/x230/chipLocation.jpg)
|
||||
![](https://av.libreboot.org/board/x230/chipLocation.jpg)
|
||||
|
|
|
@ -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 osboot, so bricks are rare.
|
||||
ROM images for this machine are well-tested in libreboot, 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 osboot running and you flashed
|
||||
You still have Lenovo BIOS, or you had libreboot 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 osboot wasn't flashed.
|
||||
Lenovo BIOS was present and libreboot 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,7 +41,7 @@ two:\
|
|||
![](https://av.libreboot.org/x60_unbrick/0004.jpg)\
|
||||
|
||||
\*Those dd commands should be applied to all newly compiled X60 ROM
|
||||
images (the ROM images in osboot binary archives already have this
|
||||
images (the ROM images in libreboot 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,7 +68,7 @@ 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 osboot resides).
|
||||
flash the SPI chip (where libreboot resides).
|
||||
|
||||
Remove those screws:\
|
||||
![](https://av.libreboot.org/x60_unbrick/0000.jpg)
|
||||
|
@ -141,7 +141,7 @@ which all draw a lot of current, more than your programmer can provide.
|
|||
|
||||
Example RPi command:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w osboot.rom -V
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w libreboot.rom -V
|
||||
|
||||
If flashrom complains about multiple flash chips detected, just pass the `-c`
|
||||
option as it suggests, and pick any of the chips it lists. `spispeed=4096` or
|
||||
|
|
|
@ -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 osboot, so bricks are rare.
|
||||
ROM images for this machine are well-tested in libreboot, 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 osboot running and you flashed
|
||||
You still have Lenovo BIOS, or you had libreboot 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 osboot wasn't flashed.
|
||||
Lenovo BIOS was present and libreboot 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,7 +41,7 @@ two:\
|
|||
![](https://av.libreboot.org/x60t_unbrick/0008.JPG)\
|
||||
|
||||
\*Those dd commands should be applied to all newly compiled X60 ROM
|
||||
images (the ROM images in osboot binary archives already have this
|
||||
images (the ROM images in libreboot 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,7 +68,7 @@ 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 osboot resides).
|
||||
flash the SPI chip (where libreboot resides).
|
||||
|
||||
![](https://av.libreboot.org/x60t_unbrick/0000.JPG)
|
||||
|
||||
|
@ -121,7 +121,7 @@ which all draw a lot of current, more than most flashers can provide.
|
|||
|
||||
Example command:
|
||||
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w osboot.rom -V
|
||||
sudo ./flashrom -p linux_spi:dev=/dev/spidev0.0,spispeed=4096 -w libreboot.rom -V
|
||||
|
||||
If flashrom complains about multiple flash chips detected, just pass the `-c`
|
||||
option as it suggests, and pick any of the chips it lists. `spispeed=4096` or
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
---
|
||||
title: osbmk maintenance manual
|
||||
title: lbmk maintenance manual
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
Automated pragmatism
|
||||
====================
|
||||
|
||||
This manual describes the nature of `osbmk` (OSBoot MaKe), the automated
|
||||
build system used to produce osboot releases. It is intended as a reference
|
||||
for *osboot development*.
|
||||
This manual describes the nature of `lbmk` (OSBoot MaKe), the automated
|
||||
build system used to produce libreboot releases. It is intended as a reference
|
||||
for *libreboot development*.
|
||||
|
||||
If you simply wish to compile osboot from source, you should instead refer
|
||||
If you simply wish to compile libreboot from source, you should instead refer
|
||||
to the [build instructions](../build/)
|
||||
|
||||
Generally speaking, *testing* releases of osboot will not come with
|
||||
Generally speaking, *testing* releases of libreboot will not come with
|
||||
documentation; if you're later using *old* testing releases, it is prudent to
|
||||
check the `osbwww.git` repository on a revision from around the same time as
|
||||
those releases. Future stable releases of osboot will come with a snapshot of
|
||||
those releases. Future stable releases of libreboot will come with a snapshot of
|
||||
the `osbwww.git` repository, for documentation pertaining to such releases. One
|
||||
way to do this, all testing releases of osboot, will be to simply run `git log`
|
||||
way to do this, all testing releases of libreboot, will be to simply run `git log`
|
||||
on the `news/` section of `osbwww.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
|
||||
osboot.org, when working on the `osbmk.git` repository; the live version is
|
||||
libreboot.org, when working on the `lbmk.git` repository; the live version is
|
||||
intended for development on the Git repository!
|
||||
|
||||
osboot blob reduction policy
|
||||
libreboot blob reduction policy
|
||||
============================
|
||||
|
||||
The coreboot software is nominally free, but it requires additional binary
|
||||
|
@ -35,9 +35,9 @@ blobs on many supported systems. These *blobs* lack source code, and the
|
|||
coreboot project does not control them, but they can be used to perform
|
||||
specific initialization tasks.
|
||||
|
||||
The osboot project *allows* binary blobs from coreboot, but there is *still* a
|
||||
The libreboot project *allows* binary blobs from coreboot, but there is *still* a
|
||||
lot of nuance to precisely what is allowed. It is important that you understand
|
||||
these nuances, when working on *osboot*.
|
||||
these nuances, when working on *libreboot*.
|
||||
|
||||
[Please read the blob reduction guidelines](../../news/policy.md)
|
||||
|
||||
|
@ -45,30 +45,30 @@ lbmk
|
|||
====
|
||||
|
||||
Libreboot *bans* binary blobs outright, in its build system. This is in stark
|
||||
contrast to osboot's more pragmatic policies.
|
||||
contrast to libreboot's more pragmatic policies.
|
||||
|
||||
Libreboot's own build system is named `lbmk`. The `osbmk` build system is a
|
||||
Libreboot's own build system is named `lbmk`. The `lbmk` build system is a
|
||||
direct fork of `lbmk`. For your reference:
|
||||
|
||||
* [Libreboot's lbmk maintenance manual](https://libreboot.org/docs/maintain/)
|
||||
* [Libreboot's blob deletion policy](https://libreboot.org/news/policy.html)
|
||||
|
||||
These should have no bearing on osboot development, but you may wish to
|
||||
educate yourself about the differences. Any changes that you submit to osboot
|
||||
These should have no bearing on libreboot development, but you may wish to
|
||||
educate yourself about the differences. Any changes that you submit to libreboot
|
||||
may in fact be used in Libreboot aswell, and vice versa, if those changes are
|
||||
either not board-specific (such as build system changes), or they are changes
|
||||
made to hardware supported by both osboot and libreboot.
|
||||
made to hardware supported by both libreboot and libreboot.
|
||||
|
||||
The reason is simple: Libreboot and osboot both have the same fundamental
|
||||
The reason is simple: Libreboot and libreboot both have the same fundamental
|
||||
design in their build system. They differ in only very minor aspects, but the
|
||||
core logic is identical. Documentation is also shared between both projects,
|
||||
lead by Leah Rowe who founded *both* projects.
|
||||
|
||||
What is osbmk?
|
||||
What is lbmk?
|
||||
==============
|
||||
|
||||
In the same way that Trisquel and Debian are GNU+Linux distributions, OSboot
|
||||
is a **coreboot distribution**. The `osbmk` build system *is* that distro,
|
||||
is a **coreboot distribution**. The `lbmk` 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
|
||||
|
@ -76,18 +76,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 `osbmk` has *solved*; it is a problem, because most users
|
||||
simply want to *install* coreboot without giving it much thought. The `osbmk`
|
||||
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`
|
||||
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 `osbmk` build system is designed to be simple. Each part of it is its own
|
||||
The `lbmk` 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, `osbmk` isn't necessarily a build system, but rather, a handful of
|
||||
Technically, `lbmk` 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 `osbmk` *be* `osbmk` is what each individual script does, and how scripts
|
||||
makes `lbmk` *be* `osbmk` 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
|
||||
|
@ -96,60 +96,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 osboot is put together.
|
||||
for *technical* users who want to know how libreboot is put together.
|
||||
|
||||
The osbmk design also helps to ease copyright licensing and compliance, because
|
||||
each part of osbmk is literally its own separate program. With this design, it
|
||||
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
|
||||
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, osbmk is GNU GPLv3+, but it's perfectly OK, for
|
||||
files. Generally speaking, lbmk is GNU 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 osbmk's design, you can think of it as like when you have
|
||||
the very least. With lbmk'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 osboot, so that you can contribute patches or
|
||||
entire build system in libreboot, so that you can contribute patches or
|
||||
otherwise make whatever changes you like. As such, this is a reference guide
|
||||
for osboot development.
|
||||
for libreboot development.
|
||||
|
||||
OSboot is a *coreboot distro*, focusing on integration. As such, direct
|
||||
development on software such as coreboot, GNU GRUB, SeaBIOS etc should ideally
|
||||
be done upstream, or if it's a project hosted by osboot (such as ich9utils)
|
||||
be done upstream, or if it's a project hosted by libreboot (such as ich9utils)
|
||||
developed in the corresponding separate repository.
|
||||
|
||||
This document is written for developers and power users alike, or otherwise for
|
||||
anyone who is curious enough to learn more about what *makes* osboot!
|
||||
anyone who is curious enough to learn more about what *makes* libreboot!
|
||||
|
||||
A major planned addition to osbmk in the future is: use it to implement a small
|
||||
A major planned addition to lbmk 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 *osbmk-style*. The
|
||||
osbmk build system is designed for absolute simplicity and modularity, making
|
||||
linux-based bootloader setup similar to Heads, but do it *lbmk-style*. The
|
||||
lbmk 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 GNU Autoconf; the Makefile in osbmk is just bolted
|
||||
on but it not required. The `osbmk` build system is a *non-design*; it evolved
|
||||
complicated programs such as GNU Autoconf; the Makefile in lbmk is just bolted
|
||||
on but it not required. The `lbmk` 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.
|
||||
|
||||
osbmk is largely written in GNU BASH, and this is unlikely to change in the
|
||||
future. However, osbmk integrates several projects such as coreboot, GNU GRUB
|
||||
or SeaBIOS, and these all have *their* own build systems aswell. The `osbmk`
|
||||
lbmk is largely written in GNU BASH, and this is unlikely to change in the
|
||||
future. However, lbmk integrates several projects such as coreboot, GNU GRUB
|
||||
or SeaBIOS, and these all have *their* own build systems aswell. The `lbmk`
|
||||
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 `osbmk` is to
|
||||
for users, in a completely automated fashion. The purpose of `lbmk` is to
|
||||
provide an *unattended* build process, with as little user interaction as
|
||||
possible. Thus, `osbmk` is an *automated build system*. It says on the osboot
|
||||
home page that osboot is a *coreboot distribution* in much the same way that
|
||||
Trisquel is a *GNU+Linux distribution*, and `osbmk` is what implements that!
|
||||
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
|
||||
Trisquel is a *GNU+Linux distribution*, and `lbmk` is what implements that!
|
||||
|
||||
Continue reading, and you will learn of each file contained in `osbmk`. This
|
||||
document largely pertains to the version of `osbmk` as hosted in `osbmk.git`,
|
||||
Continue reading, and you will learn of each file contained in `lbmk`. This
|
||||
document largely pertains to the version of `lbmk` as hosted in `osbmk.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 osbmk, after you downloaded
|
||||
In general, it is advisable to open *every* file in lbmk, 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.
|
||||
|
@ -157,15 +157,15 @@ simply *studying* the logic directly.
|
|||
AUTOMATED automation
|
||||
====================
|
||||
|
||||
Every part of osbmk checks if the prerequisite steps are done, and does them
|
||||
Every part of lbmk 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 osbmk without having to worry about
|
||||
else. You can run each and every part of lbmk 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 `osbmk`).
|
||||
no longer the case in modern `lbmk` or `lbmk`).
|
||||
|
||||
Another example: if you run `./build payload grub` but `./build module grub` is
|
||||
not completed, it will automatically run that first, to produce
|
||||
|
@ -175,40 +175,40 @@ 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` and `osbmk` are both much
|
||||
This level of automation means that modern `lbmk` and `lbmk` are both 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 both the `osbmk` *and* `lbmk` build systems.
|
||||
implementing both the `lbmk` *and* `lbmk` build systems.
|
||||
|
||||
All sections below pertain to actual files in osbmk:
|
||||
All sections below pertain to actual files in lbmk:
|
||||
|
||||
COPYING
|
||||
=======
|
||||
|
||||
This file contains a copy of the GNU General Public License, version 3.0. It is
|
||||
the license that most parts of `osbmk` are released under.
|
||||
the license that most parts of `lbmk` are released under.
|
||||
|
||||
Makefile
|
||||
========
|
||||
|
||||
For use with GNU Make, this is a frontend to `osbmk`, which can be used to run
|
||||
various commands in `osbmk`.
|
||||
For use with GNU Make, this is a frontend to `lbmk`, which can be used to run
|
||||
various commands in `lbmk`.
|
||||
|
||||
Use of this file is purely optional, and largely beneficial if you simply want
|
||||
to build all of `osbmk` (just run `make` when the current work directory is the
|
||||
root directory of `osbmk`).
|
||||
to build all of `lbmk` (just run `make` when the current work directory is the
|
||||
root directory of `lbmk`).
|
||||
|
||||
README.md
|
||||
=========
|
||||
|
||||
This file contains a brief description of osboot, along with information
|
||||
This file contains a brief description of libreboot, along with information
|
||||
about the project
|
||||
|
||||
build
|
||||
=====
|
||||
|
||||
This is the main BASH script, part of `osbmk`, used for running most `osbmk`
|
||||
commands. You could say that this file *is* `osbmk`. Run `./build help` for
|
||||
This is the main BASH script, part of `lbmk`, used for running most `osbmk`
|
||||
commands. You could say that this file *is* `lbmk`. Run `./build help` for
|
||||
usage instructions.
|
||||
|
||||
It calls scripts in `resources/scripts/build/`. For example, the
|
||||
|
@ -246,7 +246,7 @@ You may also refer to the [build instructions](../build)
|
|||
download
|
||||
========
|
||||
|
||||
This is the main BASH script for downloading various components used by `osbmk`.
|
||||
This is the main BASH script for downloading various components used by `lbmk`.
|
||||
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 GNU GRUB.
|
||||
|
@ -294,18 +294,18 @@ This would run:
|
|||
projectname
|
||||
===========
|
||||
|
||||
This file contains a single line of text, with the string "osboot".
|
||||
This file contains a single line of text, with the string "libreboot".
|
||||
|
||||
If you were to fork osboot, you could very easily just modify this file, so
|
||||
as to rename your fork in a largely automated way. Many parts of osbmk use this
|
||||
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
|
||||
file.
|
||||
|
||||
resources/coreboot/
|
||||
===================
|
||||
|
||||
This directory contains configuration, patches and so on, for each mainboard
|
||||
supported in the `osbmk` build system. These directories contain such
|
||||
configuration, so that `osbmk` can build working ROM images.
|
||||
supported in the `lbmk` build system. These directories contain such
|
||||
configuration, so that `lbmk` can build working ROM images.
|
||||
|
||||
The scripts in `resources/scripts/build/boot/` make heavy use of this
|
||||
directory.
|
||||
|
@ -348,9 +348,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 `osbmk`. For example,
|
||||
an infinite loop, this is detected and handled by `lbmk`. For example,
|
||||
if `bar` refers to `foo` which refers back to `bar`, this is not permitted
|
||||
and will throw an error in `osbmk`.
|
||||
and will throw an error in `lbmk`.
|
||||
|
||||
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
|
||||
|
@ -358,13 +358,13 @@ 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, osbmk only supports use of the official
|
||||
coreboot Git repository. *At present, lbmk only supports use of the official
|
||||
repository from the upstream coreboot project*.
|
||||
|
||||
The `arch` entry specifies which CPU architecture is to be used: currently
|
||||
recognized entries are `x86_32`, `x86_64` and `ARMv7`. *At present, setting it
|
||||
to ARMv7 only means that crossgcc-arm will be compiled, but no support for
|
||||
actually building ROMs exists in osbmk exists yet, except for 32-bit and 64-bit
|
||||
actually building ROMs exists in lbmk exists yet, except for 32-bit and 64-bit
|
||||
x86 machines.*
|
||||
|
||||
The `payload_grub` entry specifies whether or not GNU GRUB is to be included in
|
||||
|
@ -408,7 +408,7 @@ Configuration file names can be as follows:
|
|||
Information pertaining to this can be found on
|
||||
the [installation manual](../install/)
|
||||
|
||||
In `osbmk`, a board-specific directory under `resources/coreboot/` should never
|
||||
In `lbmk`, 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
|
||||
|
@ -417,7 +417,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 `osbmk` itself will assume that is the case, and insert payloads itself.
|
||||
because `lbmk` 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
|
||||
|
@ -438,7 +438,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 osbmk to have SeaBIOS used, on either setup. In the
|
||||
It *is* supported in lbmk 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
|
||||
|
@ -448,7 +448,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 osbmk, but in its coreboot configuration, don't
|
||||
configuration, on a board in lbmk, 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
|
||||
|
@ -481,7 +481,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 osbmk.
|
||||
this after running `./download coreboot` in lbmk.
|
||||
|
||||
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
|
||||
|
@ -495,15 +495,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 osbmk.
|
||||
to *none*, and enable whatever payload you want in lbmk.
|
||||
|
||||
If a payload is not supported in osbmk, patches are very much welcome! It is
|
||||
the policy of osboot, to only ever use the *coreboot* build system inside
|
||||
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
|
||||
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 `osbmk` for automating the modification/updating of *existing*
|
||||
Scripts exist in `lbmk` 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.
|
||||
|
||||
|
@ -524,8 +524,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 `osbmk` do it this way, you could add a `README` file
|
||||
for instance, and `osbmk` will not erroneously try to apply `README` as though
|
||||
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
|
||||
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.
|
||||
|
||||
|
@ -556,7 +556,7 @@ resources/grub/keymap/
|
|||
======================
|
||||
|
||||
This directory contains keymaps for GRUB. They allow for different keyboard
|
||||
layouts to be used. The `osbmk` build system uses these to produce ROM images
|
||||
layouts to be used. The `lbmk` build system uses these to produce ROM images
|
||||
with various keyboard layouts used by default, when the GRUB payload is to be
|
||||
used.
|
||||
|
||||
|
@ -627,7 +627,7 @@ for `romtype`:
|
|||
|
||||
* `4MiB IFD BIOS region` will cause only the upper 4MB section of the ROM
|
||||
to be included in a release. This option is largely deprecated, a hangover
|
||||
from osboot, which also no longer uses this option on any boards, and it is
|
||||
from libreboot, which also no longer uses this option on any boards, and it is
|
||||
thus subject for removal.
|
||||
* `d8d16sas` will cause *fake* (empty) files named `pci1000,0072.rom`
|
||||
and `pci1000,3050.rom` to be inserted in CBFS. This prevents SeaBIOS from
|
||||
|
@ -654,7 +654,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 osboot, GbE NVM is needed to get gigabit ethernet working
|
||||
such boards in libreboot, 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
|
||||
|
@ -690,14 +690,14 @@ used, in which case the option is set to *0* (disabled) because coreboot is
|
|||
then expected to handle option ROMs, and SeaBIOS should not do it.
|
||||
|
||||
Essentially, the `roms_helper` script makes use of each and every part of
|
||||
osbmk. It is the heart of osboot.
|
||||
lbmk. It is the heart of libreboot.
|
||||
|
||||
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 osbmk
|
||||
This simply runs `make clean` on various utilities from coreboot, which lbmk
|
||||
makes use of.
|
||||
|
||||
Command: `./build clean cbutils`
|
||||
|
@ -706,7 +706,7 @@ resources/scripts/build/clean/crossgcc
|
|||
======================================
|
||||
|
||||
This runs `make crossgcc-clean` on all of the coreboot revisions present in
|
||||
osbmk.
|
||||
lbmk.
|
||||
|
||||
Command: `./build clean crossgcc`
|
||||
|
||||
|
@ -882,7 +882,7 @@ in `resources/coreboot/`.
|
|||
|
||||
Command: `./download coreboot`
|
||||
|
||||
NOTE: Unlike `lbmk`, the version of this in `osbmk` does not delete blobs at
|
||||
NOTE: Unlike `lbmk`, the version of this in `lbmk` does not delete blobs at
|
||||
all. It also does not delete Git history. Everything is fully preserved.
|
||||
|
||||
NOTE: This version of the script also performs the full git checkout in each
|
||||
|
@ -895,7 +895,7 @@ The `lbmk` version only does this:
|
|||
git submodule update --init
|
||||
|
||||
The coreboot project sets up its Git repository, in such a way where most blobs
|
||||
are skipped if you omit `--checkout`. Since osbmk's policy is to *include*
|
||||
are skipped if you omit `--checkout`. Since lbmk's policy is to *include*
|
||||
these in its distribution, it makes sense to use `--checkout`.
|
||||
|
||||
resources/scripts/download/flashrom
|
||||
|
@ -980,7 +980,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 osbmk.
|
||||
the version of SeaBIOS used by lbmk.
|
||||
|
||||
Command: `./update seabios configs`
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ title: Porting Guide
|
|||
|
||||
This guide is intended for those with very little knowledge of firmware
|
||||
in general and coreboot in particular.
|
||||
Most boards in coreboot can be quite easily ported to osboot.
|
||||
Most boards in coreboot can be quite easily ported to libreboot.
|
||||
You don't need any knowledge of a particular programming language or
|
||||
technology in general to port a board.
|
||||
If you want to make more major contributions to the build system,
|
||||
|
@ -21,29 +21,29 @@ or it's name (ex: thinkpad t420).
|
|||
Because we're targeting chips on the PCB, we refer to all of the above terms
|
||||
synonymously as `board.`
|
||||
The rest of this article will refer to the board you wish to port to
|
||||
osboot as `board.`
|
||||
libreboot as `board.`
|
||||
|
||||
If `board` is not supported in coreboot then you need to start there first.
|
||||
Osboot developers will generally not port new boards to coreboot on request.
|
||||
If you're not sure whether your board is in coreboot check the [coreboot table of hardware.](https://coreboot.org/status/board-status.html)
|
||||
|
||||
If you have determined that `board` is supported by coreboot, but is not
|
||||
supported by osboot, then follow the rest of this guide to try to port it yourself.
|
||||
supported by libreboot, then follow the rest of this guide to try to port it yourself.
|
||||
If you're still unable to port the board, or anything in this guide is
|
||||
unclear, then contact osboot developers.
|
||||
The best way to get in touch is via [osboot irc.](/contact.html#irc-chatroom)
|
||||
unclear, then contact libreboot developers.
|
||||
The best way to get in touch is via [libreboot irc.](/contact.html#irc-chatroom)
|
||||
|
||||
Cloning Osbmk
|
||||
=============
|
||||
|
||||
Before you try to get any work done, you'll need to clone the osbmk (osboot make)
|
||||
Before you try to get any work done, you'll need to clone the lbmk (libreboot make)
|
||||
project.
|
||||
To do so, you'll need to have git installed on your machine. You can then clone
|
||||
the project.
|
||||
|
||||
git clone https://notabug.org/osboot/osbmk
|
||||
git clone https://notabug.org/libreboot/lbmk
|
||||
|
||||
If you want more information on building osbmk see [the build instructions.](/docs/build/index.html)
|
||||
If you want more information on building lbmk see [the build instructions.](/docs/build/index.html)
|
||||
|
||||
Coreboot Config
|
||||
===============
|
||||
|
@ -59,7 +59,7 @@ starting point.
|
|||
|
||||
cp -r resources/coreboot/t420_12mb/ resources/coreboot/t420s_12mb
|
||||
|
||||
You can then easily modify the existing coreboot configs for you board via osbmk.
|
||||
You can then easily modify the existing coreboot configs for you board via lbmk.
|
||||
|
||||
./modify coreboot configs t420s_12mb
|
||||
|
||||
|
@ -113,7 +113,7 @@ binary blobs from a backup of your vendor rom.
|
|||
You'll need a unified rom for dual chip setups; see [the ivybridge haswell guide](/docs/install/ivy_has_common.html)
|
||||
for instructions on creating a unified rom image.
|
||||
|
||||
Extracting the blobs from a vendor rom image is automated in osbmk.
|
||||
Extracting the blobs from a vendor rom image is automated in lbmk.
|
||||
Simply run `./blobutil extract [board] [/path/to/backup.bin]`
|
||||
For example:
|
||||
|
||||
|
@ -127,13 +127,13 @@ Getting Help
|
|||
|
||||
Once you have tried everything above, you might find that the board still doesn't
|
||||
work.
|
||||
If that is the case, then you should contact osboot developers for more help.
|
||||
If that is the case, then you should contact libreboot developers for more help.
|
||||
You can ping `shmalebx9` and/or `leah` on irc or submit an issue on git.
|
||||
In either case, make sure to include a detailed description of everything you
|
||||
tried, and what exactly happened when you tried to flash the rom.
|
||||
If your board is not supported in osboot, then you can assume that osboot
|
||||
If your board is not supported in libreboot, then you can assume that our
|
||||
developers don't have it.
|
||||
You'll therefore be expected to test roms created by osboot developers on
|
||||
You'll therefore be expected to test roms created by libreboot developers on
|
||||
your own machine.
|
||||
|
||||
In the meantime, you can always externally flash a backup of your vendor rom
|
||||
|
|
|
@ -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 osboot. For supported devices refer to the
|
||||
that it is supported in libreboot. For supported devices refer to the
|
||||
installation documentation.
|
||||
|
||||
### A note on GPUs
|
||||
|
|
|
@ -10,7 +10,7 @@ High Pitched Whining Noise on Idle in Debian or Devuan
|
|||
|
||||
Start powertop automatically at boot time.
|
||||
|
||||
Included with osboot is a script called 'powertop.debian'. Run this
|
||||
Included with libreboot 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.
|
||||
|
||||
|
@ -34,7 +34,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 osboot, there is a high pitched sound
|
||||
On the X60 with coreboot or libreboot, 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!
|
||||
|
||||
|
@ -84,7 +84,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 osboot and you have memtest86+
|
||||
you have serial port enabled in libreboot 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.
|
||||
|
@ -99,7 +99,7 @@ Y.
|
|||
There are also others like Minicom but I like GNU Screen
|
||||
|
||||
By doing this before booting the X60/T60, you will see console output
|
||||
from osboot. You will also see GRUB displaying on the serial output,
|
||||
from libreboot. 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.
|
||||
|
@ -117,7 +117,7 @@ change the `linux` line to add instructions for enabling getty. See
|
|||
Finetune backlight control on intel gpu's
|
||||
=========================================
|
||||
|
||||
Sometimes the backlight control value (BLC\_PWM\_CTL) set by osboot
|
||||
Sometimes the backlight control value (BLC\_PWM\_CTL) set by libreboot
|
||||
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
|
||||
|
@ -209,34 +209,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 osboot, and can be used to enable or disable this
|
||||
is included in libreboot, and can be used to enable or disable this
|
||||
behaviour.
|
||||
|
||||
You need to write changes in a osboot rom image, and flash it, in order
|
||||
You need to write changes in a libreboot 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://osboot.org/docs/gnulinux/grub_cbfs.html#get-the-rom-image> for
|
||||
<https://libreboot.org/docs/gnulinux/grub_cbfs.html#get-the-rom-image> for
|
||||
more information on how to do that.
|
||||
|
||||
Once you have a osboot rom image, say 'osboot.rom', you can write
|
||||
Once you have a libreboot rom image, say 'libreboot.rom', you can write
|
||||
changes on the image with the following commands.
|
||||
|
||||
Disable or enable beeps when removing/adding the charger:
|
||||
|
||||
sudo ./nvramtool -C osboot.rom -w power_management_beeps=Enable
|
||||
sudo ./nvramtool -C osboot.rom -w power_management_beeps=Disable
|
||||
sudo ./nvramtool -C libreboot.rom -w power_management_beeps=Enable
|
||||
sudo ./nvramtool -C libreboot.rom -w power_management_beeps=Disable
|
||||
|
||||
Disable or enable beeps when battery is low:
|
||||
|
||||
sudo ./nvramtool -C osboot.rom -w low_battery_beep=Enable
|
||||
sudo ./nvramtool -C osboot.rom -w low_battery_beep=Disable
|
||||
sudo ./nvramtool -C libreboot.rom -w low_battery_beep=Enable
|
||||
sudo ./nvramtool -C libreboot.rom -w low_battery_beep=Disable
|
||||
|
||||
You can check that the parameters are set in the image with :
|
||||
|
||||
sudo ./nvramtool -C osboot.rom -a
|
||||
sudo ./nvramtool -C libreboot.rom -a
|
||||
|
||||
Finally, you need to flash the rom with this new image. See here
|
||||
<https://osboot.org/docs/gnulinux/grub_cbfs.html#with-re-flashing-the-rom>
|
||||
<https://libreboot.org/docs/gnulinux/grub_cbfs.html#with-re-flashing-the-rom>
|
||||
for a detailed explanation.
|
||||
|
||||
Get EDID: Find out the name (model) of your LCD panel
|
||||
|
|
|
@ -7,7 +7,7 @@ Future releases will be announced in the [main news section](news/).
|
|||
Git repository
|
||||
--------------
|
||||
|
||||
There are no binary releases for `osboot` yet, so you must download from the
|
||||
There are no binary releases for `libreboot` yet, so you must download from the
|
||||
available Git repository and compile it yourself.
|
||||
|
||||
Please ensure that you have the [Git](https://git-scm.com/) software installed.
|
||||
|
@ -15,7 +15,7 @@ It is available in *most* distributions, via *package management*.
|
|||
|
||||
Please refer to the following resources:
|
||||
|
||||
* [How to download osboot from Git](git.md)
|
||||
* [How to compile osboot from source](docs/build/)
|
||||
* [osbmk maintenance manual](docs/maintain/)
|
||||
* [How to download libreboot from Git](git.md)
|
||||
* [How to compile libreboot from source](docs/build/)
|
||||
* [lbmk maintenance manual](docs/maintain/)
|
||||
|
||||
|
|
88
site/faq.md
88
site/faq.md
|
@ -8,15 +8,15 @@ AKA Frequently Questioned Answers
|
|||
Important issues
|
||||
================
|
||||
|
||||
How to compile osboot from source
|
||||
How to compile libreboot from source
|
||||
------------------------------------
|
||||
|
||||
Refer to the [osbmk build instructions](docs/build/).
|
||||
Refer to the [lbmk build instructions](docs/build/).
|
||||
|
||||
How does the build system work?
|
||||
-------------------------------
|
||||
|
||||
Refer to the [osbmk maintenance manual](docs/maintain/).
|
||||
Refer to the [lbmk maintenance manual](docs/maintain/).
|
||||
|
||||
Do not use CH341A!
|
||||
------------------
|
||||
|
@ -62,7 +62,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 osboot. It's a quirk in the
|
||||
both on the original BIOS and in libreboot. It's a quirk in the
|
||||
hardware. On debian systems, a workaround is to restart the networking
|
||||
service when you connect the ethernet cable:
|
||||
|
||||
|
@ -87,7 +87,7 @@ module without loading the option ROM.
|
|||
|
||||
Refer to the [linuxboot website](https://www.linuxboot.org/). This is a special
|
||||
busybox+linux system, which goes in the boot flash as a coreboot payload. You
|
||||
can insert it into your osboot ROM image using cbfstool, if it's big enough.
|
||||
can insert it into your libreboot ROM image using cbfstool, if it's big enough.
|
||||
On KCMA-D8/KGPE-D16 it's trivial to upgrade the boot flash to 16MiB, which is
|
||||
more than enough to fit Linuxboot. See:\
|
||||
[External flashing guide](docs/install/spi.md)
|
||||
|
@ -97,14 +97,14 @@ which can boot other Linux kernels using kexec. It can parse GNU GRUB configs,
|
|||
and it can also provide some basic UEFI features. Because it's using the Linux
|
||||
kernel, this means that LinuxBoot can make use of the PIKE2008 module.
|
||||
|
||||
TODO: Integrate this in osboot, as a payload option, but also:
|
||||
TODO: Integrate this in libreboot, as a payload option, but also:
|
||||
|
||||
TODO: Fork LinuxBoot, and make a version of it that uses linux-libre. Ensure
|
||||
that it is a fully free distribution, so that the FSF can endorse it.
|
||||
|
||||
LinuxBoot is *perfect*, especially if you're setting up one of these systems to
|
||||
be used as a server. LinuxBoot is *much* more flexible and configurable than
|
||||
GNU GRUB, which right now is the payload that osboot prefers.
|
||||
GNU GRUB, which right now is the payload that libreboot prefers.
|
||||
|
||||
How to save kernel panic logs on thinkpad laptops?
|
||||
--------------------------------------------------
|
||||
|
@ -174,11 +174,11 @@ the target (`target$`):
|
|||
Hardware compatibility
|
||||
======================
|
||||
|
||||
What systems are compatible with osboot?
|
||||
What systems are compatible with libreboot?
|
||||
-----------------------------------------------------------------------------------
|
||||
|
||||
Any system can easily be added, so *compatibility* merely refers to whatever
|
||||
boards are integrated in the `osbmk` build system, which osboot uses.
|
||||
boards are integrated in the `lbmk` build system, which libreboot uses.
|
||||
|
||||
Please read the [hardware compatibility list](docs/hardware/).
|
||||
|
||||
|
@ -271,7 +271,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 osboot
|
||||
signed with their private key. This means that ***coreboot and libreboot
|
||||
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
|
||||
|
@ -309,7 +309,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 osboot project [does this](docs/install/ich9utils.md) on
|
||||
memory space. The libreboot 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
|
||||
|
@ -331,7 +331,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 osboot
|
||||
ME is a threat to freedom, security, and privacy, and the libreboot
|
||||
project strongly recommends avoiding it entirely. Since recent versions
|
||||
of it can't be removed, this means avoiding all recent generations of
|
||||
Intel hardware.**
|
||||
|
@ -405,7 +405,7 @@ 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 `osboot` project *does* provide some support for newer Intel platforms, but
|
||||
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}
|
||||
|
@ -452,7 +452,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. osboot, coreboot) impossible on some boards. Early
|
||||
firmware (e.g. libreboot, 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.
|
||||
|
@ -500,7 +500,7 @@ practically the same, though it was found with much later hardware in
|
|||
AMD that you could run without microcode updates. It's unknown whether
|
||||
the updates are needed on all AMD boards (depends on CPU).
|
||||
|
||||
The osboot project does not consider microcode updates a problem, and it
|
||||
The libreboot project does not consider microcode updates a problem, and it
|
||||
enables them by default on all supported hardware, even libreboot-compatible
|
||||
hardware.
|
||||
|
||||
|
@ -537,7 +537,7 @@ Hi, I have <insert random system here>, is it supported?
|
|||
If it's supported by coreboot, you can add it immediately.
|
||||
Read the [porting guide](/docs/maintain/porting.html) for how to port for a new board.
|
||||
If you are able to generate a working rom for your system, please read
|
||||
[osbmk maintenance manual](docs/maintain/) for how to add it to osboot.
|
||||
[lbmk maintenance manual](docs/maintain/) for how to add it to libreboot.
|
||||
|
||||
If coreboot lacks support for your hardware, you must add support for it.
|
||||
Please consult the coreboot project for guidance.
|
||||
|
@ -545,7 +545,7 @@ Please consult the coreboot project for guidance.
|
|||
General questions
|
||||
=================
|
||||
|
||||
How do I install osboot?
|
||||
How do I install libreboot?
|
||||
-------------------------------------------------------
|
||||
|
||||
See [installation guide](docs/install/)
|
||||
|
@ -562,7 +562,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 osboot system. This is
|
||||
By default, there is no write-protection on a libreboot 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.
|
||||
|
@ -573,7 +573,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 osboot systems, but the instructions
|
||||
It's possible to write-protect on all libreboot 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.
|
||||
|
||||
|
@ -583,17 +583,17 @@ other methods on AMD systems.
|
|||
How do I change the BIOS settings?
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Most osboot setups actually use the [GRUB
|
||||
Most libreboot 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 osboot.
|
||||
available. The *CMOS* config is hardcoded in libreboot.
|
||||
|
||||
The osboot project inherits the modular payload concept from coreboot, which
|
||||
The libreboot project inherits the modular payload concept from coreboot, which
|
||||
means that pre-OS bare-metal *BIOS setup* programs are not very
|
||||
practical. Coreboot (and osboot) does include a utility called
|
||||
practical. Coreboot (and libreboot) does include a utility called
|
||||
*nvramtool*, which can be used to change some settings. You can find
|
||||
nvramtool under *coreboot/util/nvramtool/*, in the osboot source
|
||||
nvramtool under *coreboot/util/nvramtool/*, in the libreboot source
|
||||
archives.
|
||||
|
||||
The *-a* option in nvramtool will list the available options, and *-w*
|
||||
|
@ -603,7 +603,7 @@ coreboot wiki for more information.
|
|||
In practise, you don't need to change any of those settings, in most
|
||||
cases.
|
||||
|
||||
Default osboot setups lock the CMOS table, to ensure consistent functionality
|
||||
Default libreboot setups lock the CMOS table, to ensure consistent functionality
|
||||
for all users. You can use:
|
||||
|
||||
nvramtool -C yourrom.rom -w somesetting=somevalue
|
||||
|
@ -620,10 +620,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 osboot, but we now provide 16MiB ROM images.
|
||||
provided 2MiB ROM images in libreboot, 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 osboot systems
|
||||
is the maximum that you can use on all currently supported libreboot systems
|
||||
that use SPI flash.
|
||||
|
||||
Required for ROMs where the ROM image is smaller than the flash chip
|
||||
|
@ -658,17 +658,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 osboot setups integrate the GRUB bootloader already, as a
|
||||
Most libreboot 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
|
||||
(osboot). This means that you do not have to install a boot loader on
|
||||
(libreboot). 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 GNU+Linux on a osboot system](../docs/gnulinux/grub_boot_installer.md)
|
||||
[How to install GNU+Linux on a libreboot system](../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
|
||||
|
@ -677,12 +677,12 @@ expect. So the above paragraphs only apply to the GNU GRUB payload.
|
|||
Do I need to re-flash when I re-install a distribution?
|
||||
-------------------------------------------------------------------------------------------
|
||||
|
||||
Not anymore. Recent versions of osboot (using the GRUB payload) will
|
||||
Not anymore. Recent versions of libreboot (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 osboot Systems](../docs/gnulinux/grub_cbfs.md)
|
||||
[Modifying the GRUB Configuration in libreboot Systems](../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.
|
||||
|
@ -693,10 +693,10 @@ 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)
|
||||
|
||||
What other firmware exists outside of osboot?
|
||||
What other firmware exists outside of libreboot?
|
||||
==================================================
|
||||
|
||||
You can also read information about these in the [osboot binary blob
|
||||
You can also read information about these in the [libreboot binary blob
|
||||
reduction policy](docs/policy.md), where it goes into more detail about some
|
||||
of them.
|
||||
|
||||
|
@ -711,7 +711,7 @@ 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
|
||||
osboot will use this code when it is available, depending on the configuration.
|
||||
libreboot 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.
|
||||
|
@ -832,7 +832,7 @@ 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. The osboot documentation says how to install
|
||||
connect SATA HDDs via USB. The libreboot documentation says how to install
|
||||
several distributions with full disk encryption. You can adapt these for
|
||||
use with USB drives:
|
||||
|
||||
|
@ -863,7 +863,7 @@ Microcode configures logic gate arrays in a microprocessor, to implement the
|
|||
instruction set architecture. Special *decoders* in the microprocessor will
|
||||
configure the circuitry, based on that microcode.
|
||||
|
||||
The [osboot blob reduction policy](news/policy.md) goes into great detail
|
||||
The [libreboot blob reduction policy](news/policy.md) goes into great detail
|
||||
about microcode.
|
||||
|
||||
### Sound card
|
||||
|
@ -877,7 +877,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 osboot project, for
|
||||
(on laptops, for instance) are discouraged by the libreboot project, for
|
||||
security reasons.
|
||||
|
||||
### USB host controller
|
||||
|
@ -902,7 +902,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 osboot project recommends that you
|
||||
internal WWAN chip/card, the libreboot 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
|
||||
|
@ -917,7 +917,7 @@ Operating Systems
|
|||
Can I use GNU+Linux?
|
||||
--------------------------------------------------
|
||||
|
||||
Absolutely! It is well-tested in osboot, and highly recommended. See
|
||||
Absolutely! It is well-tested in libreboot, and highly recommended. See
|
||||
[installing GNU+Linux](../docs/gnulinux/grub_boot_installer.md) and
|
||||
[booting GNU+Linux](../docs/gnulinux/grub_cbfs.md).
|
||||
|
||||
|
@ -934,7 +934,7 @@ Refer to [the GNU+Linux page](docs/gnulinux/).
|
|||
Can I use BSD?
|
||||
----------------------------------
|
||||
|
||||
Absolutely! The osboot firmware has native support for NetBSD, OpenBSD and
|
||||
Absolutely! The libreboot firmware has native support for NetBSD, OpenBSD and
|
||||
LibertyBSD. Other distros are untested.
|
||||
|
||||
See:
|
||||
|
@ -945,15 +945,15 @@ Are other operating systems compatible?
|
|||
|
||||
Unknown. Probably not.
|
||||
|
||||
What level of software freedom does osboot give me?
|
||||
What level of software freedom does libreboot give me?
|
||||
===================================================
|
||||
|
||||
TODO: Re-write this section. It has been adapted, poorly, from the Libreboot
|
||||
FAQ section.
|
||||
|
||||
Please read the [osboot binary blob minimization policy](docs/policy.md).
|
||||
Please read the [libreboot binary blob minimization policy](docs/policy.md).
|
||||
|
||||
The osboot firmware provides host hardware init firmware images,
|
||||
The libreboot firmware provides host hardware init firmware images,
|
||||
that can be written 25XX SPI NOR Flash. But on many systems there are
|
||||
a lot more computers running blob firmware.
|
||||
Some of them are not practicable to replace due to being located on Mask ROM.
|
||||
|
|
82
site/git.md
82
site/git.md
|
@ -3,19 +3,19 @@ title: Code review
|
|||
x-toc-enable: true
|
||||
...
|
||||
|
||||
osboot repositories
|
||||
libreboot repositories
|
||||
===================
|
||||
|
||||
Information about who works on osboot and who runs the project can be
|
||||
Information about who works on libreboot and who runs the project can be
|
||||
found on [who.md](who.md)
|
||||
|
||||
The `osboot` project has 3 main Git repositories:
|
||||
The `libreboot` project has 3 main Git repositories:
|
||||
|
||||
* Build system: <https://notabug.org/osboot/osbmk>
|
||||
* Website (+docs): <https://notabug.org/osboot/osbwww>
|
||||
* Images (for website): <https://notabug.org/osboot/osbwww-img>
|
||||
* Build system: <https://notabug.org/libreboot/lbmk>
|
||||
* Website (+docs): <https://notabug.org/libreboot/osbwww>
|
||||
* Images (for website): <https://notabug.org/libreboot/osbwww-img>
|
||||
|
||||
There is also these programs, hosted by the Libreboot project, and osboot
|
||||
There is also these programs, hosted by the Libreboot project, and libreboot
|
||||
either recommends them or makes use of them:
|
||||
|
||||
* Bucts (utility): <https://notabug.org/libreboot/bucts>
|
||||
|
@ -24,78 +24,78 @@ either recommends them or makes use of them:
|
|||
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 osboot (all parts of it) in a GNU+Linux
|
||||
distribution. For example, the build system (osbmk) is untested on BSD systems.
|
||||
It is recommended that you build libreboot (all parts of it) in a GNU+Linux
|
||||
distribution. For example, the build system (lbmk) is untested on BSD systems.
|
||||
Install `git` in your GNU+Linux system, and download one of the repositories.
|
||||
|
||||
Development of osboot is done using the Git version control system.
|
||||
Development of libreboot 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 osboot project, because the original
|
||||
The `bucts` repository is hosted by the libreboot 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 osboot ROM onto a ThinkPad X60 or T60 that is currently running
|
||||
internally an libreboot ROM onto a ThinkPad X60 or T60 that is currently running
|
||||
the non-free Lenovo BIOS. Instructions for that are available here:\
|
||||
[osboot installation guides](docs/install/)
|
||||
[libreboot installation guides](docs/install/)
|
||||
|
||||
The `ich9utils` repository is used heavily, by the `osbmk` build system. However,
|
||||
The `ich9utils` repository is used heavily, by the `lbmk` 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)
|
||||
|
||||
osbmk (osboot-make)
|
||||
lbmk (libreboot-make)
|
||||
---------------------
|
||||
|
||||
This is the core build system in osboot. You could say that `osbmk` *is*
|
||||
osboot! Download the Git repository:
|
||||
This is the core build system in libreboot. You could say that `lbmk` *is*
|
||||
libreboot! Download the Git repository:
|
||||
|
||||
git clone https://notabug.org/osboot/osbmk
|
||||
git clone https://notabug.org/libreboot/lbmk
|
||||
|
||||
The `git` command, seen above, will download the osboot build system `osbmk`.
|
||||
The `git` command, seen above, will download the libreboot build system `lbmk`.
|
||||
You can then go into it like so:
|
||||
|
||||
cd osbmk
|
||||
cd lbmk
|
||||
|
||||
Make whatever changes you like, or simply build it. For instructions on how to
|
||||
build `osbmk`, refer to the [build instructions](docs/build/).
|
||||
build `lbmk`, refer to the [build instructions](docs/build/).
|
||||
|
||||
Information about the build system itself, and how it works, is available in
|
||||
the [osbmk maintenance guide](docs/maintain/).
|
||||
the [lbmk maintenance guide](docs/maintain/).
|
||||
|
||||
osbwww and osbwww-img
|
||||
-------------------
|
||||
|
||||
The *entire* osboot website and documentation is hosted in a Git repository.
|
||||
The *entire* libreboot website and documentation is hosted in a Git repository.
|
||||
Download it like so:
|
||||
|
||||
git clone https://notabug.org/osboot/osbwww
|
||||
git clone https://notabug.org/libreboot/osbwww
|
||||
|
||||
Images are hosted on <https://av.osboot.org/> and available in a separate
|
||||
Images are hosted on <https://av.libreboot.org/> and available in a separate
|
||||
repository:
|
||||
|
||||
git clone https://notabug.org/osboot/osbwww-img
|
||||
git clone https://notabug.org/libreboot/osbwww-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 osboot, is also the founder of the Untitled static
|
||||
Leah Rowe, the founder of libreboot, is also the founder of the Untitled static
|
||||
site generator project.
|
||||
|
||||
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.osboot.org/>, so any images that you add to `osbwww-img`
|
||||
hosted on <https://av.libreboot.org/>, so any images that you add to `osbwww-img`
|
||||
will not show up on your local `lbwww` site if you make the image links (for
|
||||
images that you add) link to `av.osboot.org`. However, it is required that such
|
||||
images be hosted on av.osboot.org.
|
||||
images that you add) link to `av.libreboot.org`. However, it is required that such
|
||||
images be hosted on av.libreboot.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.osboot.org/path/to/your/new/image/in/osbwww-img> for each one.
|
||||
When it is merged on the osboot website, your images will appear live.
|
||||
<https://av.libreboot.org/path/to/your/new/image/in/osbwww-img> for each one.
|
||||
When it is merged on the libreboot 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.
|
||||
|
@ -115,8 +115,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 `osboot Contributor` and your email address could be
|
||||
specified as contributor@osboot.org. You are permitted to do this, if
|
||||
data. You can use `libreboot Contributor` and your email address could be
|
||||
specified as contributor@libreboot.org. 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.
|
||||
|
||||
|
@ -146,29 +146,29 @@ We require all patches to be submitted under a free license:
|
|||
the default, restrictive copyright laws apply, which would make your work
|
||||
non-free.
|
||||
|
||||
GNU+Linux is generally recommended as the OS of choice, for osboot
|
||||
development. However, BSD operating systems also boot on osboot machines.
|
||||
GNU+Linux is generally recommended as the OS of choice, for libreboot
|
||||
development. However, BSD operating systems also boot on libreboot machines.
|
||||
|
||||
Send patches
|
||||
------------
|
||||
|
||||
Make an account on <https://notabug.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 osboot. Clone your repository, make
|
||||
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 NotABug. You can also do this on a new branch, if you wish.
|
||||
|
||||
In your Notabug account, you can then navigate to the official osboot
|
||||
In your Notabug 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 osboot
|
||||
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 osboot maintainers will be notified
|
||||
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 `#osboot` channel on Libera Chat.
|
||||
you could also notify the project via the `#libreboot` channel on Libera Chat.
|
||||
|
||||
Another way to submit patches is to email Leah Rowe directly:
|
||||
[leah@libreboot.org](mailto:leah@libreboot.org) is Leah's project email address.
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
---
|
||||
title: osboot project
|
||||
title: libreboot project
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
The `osboot` project provides
|
||||
The `libreboot` project provides
|
||||
[freedom-respecting](https://www.gnu.org/philosophy/free-sw.html) *boot
|
||||
firmware* that initializes the hardware (e.g. memory controller, CPU,
|
||||
peripherals) on [specific Intel/AMD x86 computers](docs/hardware/) and starts
|
||||
a bootloader for your operating system. [GNU+Linux](docs/gnulinux/)
|
||||
and [BSD](docs/bsd/) are well-supported. It replaces proprietary BIOS/UEFI
|
||||
firmware. Help is available
|
||||
via [\#osboot](https://web.libera.chat/#osboot)
|
||||
via [\#libreboot](https://web.libera.chat/#libreboot)
|
||||
on [Libera](https://libera.chat/) IRC.
|
||||
|
||||
Why should you use *osboot*?
|
||||
Why should you use *libreboot*?
|
||||
----------------------------
|
||||
|
||||
You have rights. The right to privacy, freedom of thought, freedom of speech
|
||||
|
@ -24,78 +24,78 @@ Your freedom matters.
|
|||
Many people use [proprietary](https://www.gnu.org/proprietary/proprietary.html)
|
||||
boot firmware, even if they use [GNU+Linux](https://www.gnu.org/distros/).
|
||||
Non-free firmware often [contains](faq.html#intel) [backdoors](faq.html#amd),
|
||||
and can be buggy. The osboot project was founded in in December 2020, with the
|
||||
and can be buggy. The libreboot project was founded in in December 2020, with the
|
||||
express purpose of making Free Software accessible for non-technical users at
|
||||
the firmware level. It's true that `osboot` can be called Open Source, [but you
|
||||
the firmware level. It's true that `libreboot` can be called Open Source, [but you
|
||||
should call it Free
|
||||
Software](https://www.gnu.org/philosophy/open-source-misses-the-point.en.html).
|
||||
|
||||
The `osboot` project uses [coreboot](https://www.coreboot.org/) for [hardware
|
||||
The `libreboot` project uses [coreboot](https://www.coreboot.org/) for [hardware
|
||||
initialization](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.
|
||||
*The osboot software solves this problem*; it is a *coreboot distribution* with
|
||||
*The libreboot software 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.
|
||||
|
||||
How does osboot differ from regular coreboot?
|
||||
How does libreboot differ from regular coreboot?
|
||||
---------------------------------------------
|
||||
|
||||
In the same way that *Debian* is a GNU+Linux distribution, `osboot` is
|
||||
In the same way that *Debian* is a GNU+Linux distribution, `libreboot` is
|
||||
a *coreboot distribution*. If you want to build a ROM image from scratch, you
|
||||
otherwise have to perform expert-level configuration of coreboot, GRUB and
|
||||
whatever other software you need, to prepare the ROM image. With *osboot*,
|
||||
whatever other software you need, to prepare the ROM image. With *libreboot*,
|
||||
you can literally download from Git or a source archive, and run `make`, and it
|
||||
will build entire ROM images. An automated build system, named `osbmk`
|
||||
will build entire ROM images. An automated build system, named `lbmk`
|
||||
(OSBoot MaKe), 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 osboot's automated
|
||||
If you were to build regular coreboot, without using libreboot's automated
|
||||
build system, it would require a lot more intervention and decent technical
|
||||
knowledge to produce a working configuration.
|
||||
|
||||
Reguar binary releases of `osboot` provide these
|
||||
Reguar binary releases of `libreboot` 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
|
||||
users](docs/install/).
|
||||
|
||||
How does osboot differ from *Libreboot*?
|
||||
How does libreboot differ from *Libreboot*?
|
||||
----------------------------------------
|
||||
|
||||
Libreboot and osboot are both developed in parallel. Both projects were founded
|
||||
Libreboot and libreboot are both developed in parallel. Both projects were founded
|
||||
by Leah Rowe, who leads both projects.
|
||||
|
||||
**The osboot project is a fork of Libreboot, but it has scrapped the [Libreboot
|
||||
**The libreboot project is a fork of Libreboot, but it has scrapped the [Libreboot
|
||||
zero-blob policy](news/policy.md). It comes with CPU microcode updates turned
|
||||
on by default, even on libreboot-compatible hardware (on libreboot-compatible
|
||||
hardware, that is the only difference). The osboot build system automatically
|
||||
hardware, that is the only difference). The libreboot build system automatically
|
||||
downloads the entire set of `3rdparty` submodules from coreboot. The coreboot
|
||||
software is nominally free, but does require some binary blobs on certain
|
||||
machines, and those are included in the `3rdparty` submodules.**
|
||||
|
||||
[CPU microcode updates do not hurt your freedom, because your CPU already has
|
||||
older, buggier microcode in mask ROM anyway. You should choose osboot, not
|
||||
older, buggier microcode in mask ROM anyway. You should choose libreboot, not
|
||||
Libreboot, even on Libreboot-compatible hardware, because the microcode updates
|
||||
improve system stability and reliability.](news/policy.md) Out of principle,
|
||||
`osboot` will always enable microcode updates. Libreboot is inferior to osboot,
|
||||
`libreboot` will always enable microcode updates. Libreboot is inferior to libreboot,
|
||||
in every way, but it will continue to be developed and polished, alongside
|
||||
osboot development.
|
||||
libreboot development.
|
||||
|
||||
The purpose of `osboot` is to provide as
|
||||
The purpose of `libreboot` is to provide as
|
||||
much freedom as possible, to those who wish to move away from their otherwise
|
||||
fully proprietary firmware. The `osboot` build system does not delete binary
|
||||
fully proprietary firmware. The `libreboot` build system does not delete binary
|
||||
blobs like Libreboot's one does, because it *wants* to provide help for all
|
||||
those who wish to have some freedoms over their hardware, even if that hardware
|
||||
isn't supported by Libreboot yet. Libreboot compatibility is still very much
|
||||
desirable, on all hardware, and work to this end is highly encouraged!
|
||||
|
||||
You can learn more by reading osboot's enlightened [binary blobs
|
||||
You can learn more by reading libreboot's enlightened [binary blobs
|
||||
policy](news/policy.md) which is in stark contrast to Libreboot's policy.
|
||||
The osboot project removes all restrictions in its fork of the Libreboot
|
||||
The libreboot project removes all restrictions in its fork of the Libreboot
|
||||
build system, allowing any board from coreboot to be supported (the goal
|
||||
is literally to support all of them).
|
||||
|
||||
|
@ -103,12 +103,12 @@ How to help
|
|||
-----------
|
||||
|
||||
You can check bugs listed on
|
||||
the [bug tracker](https://notabug.org/osboot/osbmk/issues).
|
||||
the [bug tracker](https://notabug.org/libreboot/lbmk/issues).
|
||||
|
||||
If you spot a bug and have a fix, [here are instructions for how to send
|
||||
patches](git.md), and you can also report it. Also, this entire website is
|
||||
written in Markdown and hosted in a [separate
|
||||
repository](https://notabug.org/osboot/osbwww) where you can send patches.
|
||||
repository](https://notabug.org/libreboot/osbwww) where you can send patches.
|
||||
|
||||
Any and all development discussion and user support are all done on the IRC
|
||||
channel. More information is on the [contact page](contact.md).
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
---
|
||||
title: проект osboot
|
||||
title: проект libreboot
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
Проект `osboot` надає
|
||||
Проект `libreboot` надає
|
||||
[поважаючу свободу](https://www.gnu.org/philosophy/free-sw.html) *прошивку*,
|
||||
яка виконує ініціалізацію апаратного забезпечення (такого як - контролер пам'яті, ЦП,
|
||||
периферія) на [деяких комп'ютерах Intel/AMD x86](docs/hardware/) та розпочинає
|
||||
завантажувач для вашої операційної системи. [GNU+Linux](docs/gnulinux/)
|
||||
та [BSD](docs/bsd/) добре підтримуються. Це заміняє невільну BIOS/UEFI
|
||||
прошивку. Допомога доступна
|
||||
через [\#osboot](https://web.libera.chat/#osboot)
|
||||
через [\#libreboot](https://web.libera.chat/#libreboot)
|
||||
на IRC [Libera](https://libera.chat/).
|
||||
|
||||
Чому вам варто використовувати *osboot*?
|
||||
Чому вам варто використовувати *libreboot*?
|
||||
----------------------------
|
||||
|
||||
У вас є права. Право на конфіденційність, свобода думки, свобода мови,
|
||||
|
@ -24,77 +24,77 @@ x-toc-enable: true
|
|||
Багато людей використовує [невільну](https://www.gnu.org/proprietary/proprietary.html)
|
||||
прошивку, навіть якщо вони використовують [GNU+Linux](https://www.gnu.org/distros/).
|
||||
Невільна прошивка часто [містить](faq.html#intel) [лазівки](faq.html#amd),
|
||||
та може бути забагованою. Проект osboot був заснований в грудні 2020 року, з
|
||||
та може бути забагованою. Проект libreboot був заснований в грудні 2020 року, з
|
||||
чіткою метою зробити вільне програмне забезпечення доступним для нетехнічних користувачів на
|
||||
рівні прошивки. Це правда, що `osboot` можна назвати з відкритим джерельним кодом, [але вам
|
||||
рівні прошивки. Це правда, що `libreboot` можна назвати з відкритим джерельним кодом, [але вам
|
||||
варто називати його вільне
|
||||
програмне забезпечення](https://www.gnu.org/philosophy/open-source-misses-the-point.uk.html).
|
||||
|
||||
Проект `osboot` використовує [coreboot](https://www.coreboot.org/) для [апаратної
|
||||
Проект `libreboot` використовує [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/)), які також потрібно налаштувати.
|
||||
*Програмне забезпечення osboot вирішує цю проблему*; це *дистрибутив coreboot* з
|
||||
*Програмне забезпечення libreboot вирішує цю проблему*; це *дистрибутив coreboot* з
|
||||
[автоматизованою системою побудови](docs/build/), який створює *ROM образи*, для
|
||||
більш міцної установки. Документація надається.
|
||||
|
||||
Чим відрізняється osboot від звичайного coreboot?
|
||||
Чим відрізняється libreboot від звичайного coreboot?
|
||||
---------------------------------------------
|
||||
|
||||
Таким же самим чином, як *Debian* є дистрибутивом GNU+Linux, `osboot` є
|
||||
Таким же самим чином, як *Debian* є дистрибутивом GNU+Linux, `libreboot` є
|
||||
*дистрибутивом coreboot*. Якщо ви хочете створити образ ROM з нуля, вам в
|
||||
інакшому випадку доведеться виконати експертну конфігурацію coreboot, GRUB та
|
||||
будь-якого іншого програмного забезпечення, яке вам потрібно, щоб підготувати образ ROM. З *osboot*,
|
||||
будь-якого іншого програмного забезпечення, яке вам потрібно, щоб підготувати образ ROM. З *libreboot*,
|
||||
ви можете завантажити з Git або архіву вихідного коду, та запустити `make`, і таким чином
|
||||
будуть побудовані всі образи ROM. Автоматизована система побудови osboot, названа `osbmk`
|
||||
будуть побудовані всі образи ROM. Автоматизована система побудови libreboot, названа `lbmk`
|
||||
(OSBoot MaKe), будує ці ROM образи автоматично, без будь-якого введення
|
||||
або втручання користувача. Конфігурація вже була виконана заздалегідь.
|
||||
|
||||
Якщо складати звичайний coreboot, без використання автоматизованої
|
||||
системи побудови osboot, це потребувало би набагато більше інтервенцій та пристойних технічних
|
||||
системи побудови libreboot, це потребувало би набагато більше інтервенцій та пристойних технічних
|
||||
знань для створення працюючої конфігурації.
|
||||
|
||||
Регулярні двійкові випуски `osboot` надають ці
|
||||
Регулярні двійкові випуски `libreboot` надають ці
|
||||
образи ROM попередньо зібраними, і ви можете просто встановити їх, не маючи спеціальних
|
||||
знань або навичок, крім можливості
|
||||
дотримуватися [спрощених інструкцій, написаних для нетехнічних користувачів](docs/install/).
|
||||
|
||||
Чим osboot відрізняється від *Libreboot*?
|
||||
Чим libreboot відрізняється від *Libreboot*?
|
||||
----------------------------------------
|
||||
|
||||
Libreboot та osboot обидва розроблюються паралельно. Обидва проекта були засновані
|
||||
Libreboot та libreboot обидва розроблюються паралельно. Обидва проекта були засновані
|
||||
Лією Роу, яка керує обома проектами.
|
||||
|
||||
**Проект osboot є відгалудженням від Libreboot, але він позбавився від [Політики відсутності
|
||||
**Проект libreboot є відгалудженням від Libreboot, але він позбавився від [Політики відсутності
|
||||
двійкових компонентів Libreboot](news/policy.md). Він іде з оновленням мікрокоду ЦП, увімкненим за
|
||||
замовченням, навіть на libreboot-сумісному обладнанні (на libreboot-сумісному
|
||||
обладнанні, це є єдиною різницею). Система побудови osboot автоматично
|
||||
обладнанні, це є єдиною різницею). Система побудови libreboot автоматично
|
||||
завантажує повний набір `3rdparty` підмодулей з coreboot. Програмне забезпечення coreboot
|
||||
номінально вільне, але потребує деяких двійкових компонентів на окремих
|
||||
машинах, які додаються в підмодулях `3rdparty`.**
|
||||
|
||||
[Оновлення мікрокодів ЦП не завдає шкоди вашій свободі, тому що ЦП вже має
|
||||
старіший, з більшою кількістю помилок мікрокод у вбудованій ROM. Вам варто вибирати osboot, не
|
||||
старіший, з більшою кількістю помилок мікрокод у вбудованій ROM. Вам варто вибирати libreboot, не
|
||||
Libreboot, навіть на Libreboot-сумісному обладнанні, тому що оновлення мікрокоду
|
||||
підвищує стабільність та надійність системи.](news/policy.md) Випливає з цього принципу те, що
|
||||
`osboot` буде завжди включати оновлення мікрокоду. Libreboot нижчьої якості за osboot,
|
||||
`libreboot` буде завжди включати оновлення мікрокоду. Libreboot нижчьої якості за libreboot,
|
||||
з будь-якого погляду, але його будуть продовжувати розробляти та полірувати, пліч-о-пліч з
|
||||
розробкою osboot.
|
||||
розробкою libreboot.
|
||||
|
||||
Метою `osboot` є надати настільки
|
||||
Метою `libreboot` є надати настільки
|
||||
багато свободи, скільки можливо, для тих, хто бажає кинути свою в іншому разі
|
||||
повністю невільну прошивку. Система побудови `osboot` не видаляє двійкові
|
||||
повністю невільну прошивку. Система побудови `libreboot` не видаляє двійкові
|
||||
компоненти, як робить Libreboot, тому що вона *хоче* надати допомогу всім
|
||||
тим, хто бажає мати деякі свободи зі своїм обладнанням, навіть якщо це обладнання
|
||||
не підтримується Libreboot наразі. Підтримка Libreboot є досі дуже сильно
|
||||
бажаною, на всьому обладнанні, і працювати до цієї мети дуже заохочується!
|
||||
|
||||
Ви можете дізнатись більше, прочитавши надихнувшу osboot [політику двійкових
|
||||
Ви можете дізнатись більше, прочитавши надихнувшу libreboot [політику двійкових
|
||||
компонентів](news/policy.md), що різко контрастує з політикою Libreboot.
|
||||
Проект osboot видаляє усі обмеження в своєму відгалудженні системи побудови Libreboot,
|
||||
Проект libreboot видаляє усі обмеження в своєму відгалудженні системи побудови Libreboot,
|
||||
дозволяючи підтримувати будь-яку плату з coreboot (метою є
|
||||
буквально підтримка їх всіх).
|
||||
|
||||
|
@ -102,12 +102,12 @@ Libreboot, навіть на Libreboot-сумісному обладнанні,
|
|||
-----------
|
||||
|
||||
Ви можете перевірити баги, перелічені
|
||||
на [баг трекері](https://notabug.org/osboot/osbmk/issues).
|
||||
на [баг трекері](https://notabug.org/libreboot/lbmk/issues).
|
||||
|
||||
Якщо ви виявите помилку та маєте вирішення, [ось інструкції, як відправити
|
||||
виправлення](git.md), і ви можете також повідомити про це. Також, увесь цей веб-сайт
|
||||
написано Markdown та розміщено в [окремому
|
||||
репозиторії](https://notabug.org/osboot/osbwww), де можна надсилати виправлення.
|
||||
репозиторії](https://notabug.org/libreboot/osbwww), де можна надсилати виправлення.
|
||||
|
||||
Будь-яке та усе обговорення розробки та підтримка користувачів виконується на каналі IRC.
|
||||
Більше інформації на [сторінці зворотнього зв'язку](contact.md).
|
||||
|
|
|
@ -4,21 +4,21 @@ x-toc-enable: true
|
|||
...
|
||||
|
||||
Unless otherwise stated, every page and image (e.g. JPG/PNG files) on
|
||||
osboot.org or in the repository that it is built on, is released under the
|
||||
libreboot.org 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](https://www.fsf.org/), with no Invariant Sections, no Front Cover
|
||||
Texts and no Back Cover
|
||||
Texts.
|
||||
|
||||
The *logo* for osboot is Copyright (C) 2022 Ioan Moldovan, released under an
|
||||
The *logo* for libreboot is Copyright (C) 2022 Ioan Moldovan, released under an
|
||||
Expat license which you can find here:
|
||||
<https://av.osboot.org/logo/COPYING>
|
||||
<https://av.libreboot.org/logo/COPYING>
|
||||
|
||||
The original logo files are here: <https://av.osboot.org/logo/>
|
||||
The original logo files are here: <https://av.libreboot.org/logo/>
|
||||
|
||||
You can download the logo files from `osbwww-img.git`. See:
|
||||
<https://osboot.org/git.html>
|
||||
<https://libreboot.org/git.html>
|
||||
|
||||
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.
|
||||
|
|
|
@ -5,49 +5,33 @@
|
|||
Introduction
|
||||
============
|
||||
|
||||
The `osboot` project is a *fork* of the Libreboot project.
|
||||
Libreboot is designed to comply with the Free Software Foundation's
|
||||
[Respects Your Freedom criteria](https://ryf.fsf.org/about/criteria) and
|
||||
the [GNU Free System Distribution Guidelines (GNU FSDG)](https://www.gnu.org/distros/free-system-distribution-guidelines.en.html),
|
||||
ensuring that it is entirely [Free Software](https://www.gnu.org/philosophy/free-sw.html).
|
||||
In the beginning Libreboot intentionally *de-blobbed* coreboot, which is to say that it did not
|
||||
include binary blobs. Coreboot, on the other hand, requires binary blobs on
|
||||
most systems that it has support for. Libreboot's
|
||||
entirely *"free"* version of coreboot consequently supported fewer mainboards.
|
||||
|
||||
It was decided that a formal policy should be written, because there is quite
|
||||
a bit of nuance that would otherwise not be covered. The policies of `osboot`
|
||||
are fundamentally different than those of Libreboot.
|
||||
|
||||
Libreboot intentionally *de-blobs* coreboot, which is to say that it does not
|
||||
include binary blobs. The coreboot software otherwise requires binary blobs on
|
||||
most systems that it has support for. Libreboot's version of coreboot is
|
||||
entirely *free*, on its consequently reduced set of supported mainboards.
|
||||
|
||||
The `osboot` project is *fundamentally* different:
|
||||
Libreboot's [zero blobs policy](https://libreboot.org/news/policy.html) has
|
||||
been scrapped, entirely. The goal of *osboot* is simply to support every single
|
||||
Libreboot's zero blobs policy has
|
||||
been scrapped, entirely. The goal of *libreboot* is simply to support every single
|
||||
system from coreboot, to provide pre-configured, automated compiling of ROM
|
||||
images for *all* of them. This is quite a lot more ambitious in terms of sheer
|
||||
workload, and maintenance. It is expected that the project will *grow* in the
|
||||
future, to accomodate *board maintainers*, just like you have *package
|
||||
maintainers* in Debian; the analogy is highly appropriate, given the nature
|
||||
of the osboot build system, which you can learn more about on the [osbmk
|
||||
maintenance manual](../docs/maintain/).
|
||||
of the libreboot build system, which you can learn more about on the [lbmk maintenance manual](../docs/maintain/).
|
||||
|
||||
**Freedom is very much preferable and a world where everyone can use Free
|
||||
Software, exclusively, is to be welcomed. However, we do not yet live in that
|
||||
world. The osboot project wishes to see more hardware become suitable for
|
||||
entry into Libreboot, in the future. Both osboot and Libreboot are lead by
|
||||
Leah Rowe, who is also the founder of both projects.**
|
||||
world.**
|
||||
|
||||
The osboot position is more like an opinion, as opposed to an actual policy.
|
||||
The libreboot position is more like an opinion, as opposed to an actual policy.
|
||||
That opinion is this: *some* freedom is better than *zero* freedom. There are
|
||||
plenty of people with coreboot-compatible hardware, who wish to move away from
|
||||
otherwise fully proprietary boot firmware (usually supplied by the manufacturer
|
||||
of the hardware). The *osboot* project is here to help! It provides a fully
|
||||
of the hardware). The *libreboot* project is here to help! It provides a fully
|
||||
automated build system, making coreboot much easier to use, and it provides
|
||||
user-friendly [installation guides](../docs/install/) to help you get started.
|
||||
|
||||
The position of the osboot project is basically the same as that of Libreboot,
|
||||
except that it takes a far more *pragmatic* approach, as opposed to Libreboot's
|
||||
*dogmatic* approach. Supporting more hardware, even if the hardware is less
|
||||
Supporting more hardware, even if the hardware is less
|
||||
friendly to software freedom, will provide a path towards coreboot for more
|
||||
people, and it may lead to more coreboot development in the future.
|
||||
|
||||
|
@ -59,9 +43,9 @@ a level of computing freedom that they would otherwise not have.
|
|||
Current project scope
|
||||
=====================
|
||||
|
||||
The osboot project is concerned with what goes in the main boot flash IC, but
|
||||
The libreboot project is concerned with what goes in the main boot flash IC, but
|
||||
there are other pieces of firmware to take into consideration, as covered
|
||||
in the [osboot FAQ](../faq.md#what-other-firmware-exists-outside-of-osboot).
|
||||
in the [libreboot FAQ](../faq.md#what-other-firmware-exists-outside-of-osboot).
|
||||
|
||||
Most critical of these are:
|
||||
|
||||
|
@ -70,7 +54,7 @@ Most critical of these are:
|
|||
* Intel Management Engine / AMD PSP firmware
|
||||
|
||||
Specific binary blobs are also problematic, on most coreboot systems, but they
|
||||
differ per machine. The *osboot* project has a *blob minimalization* policy
|
||||
differ per machine. The *libreboot* project has a *blob minimalization* policy
|
||||
(as opposed to Libreboot's *blob deletion policy*), which you can read about
|
||||
in the following section.
|
||||
|
||||
|
@ -82,41 +66,38 @@ Blob *minimalization* policy
|
|||
Default configurations
|
||||
----------------------
|
||||
|
||||
*Libreboot* has a blob *deletion* policy; it contains no binary blobs, not even
|
||||
CPU microcode updates.
|
||||
|
||||
The *osboot* project has the following policy, by contrast:
|
||||
The *libreboot* project has the following policy:
|
||||
|
||||
* If a blob *can* be avoided, it should be avoided. For example, if VGA ROM
|
||||
initialization otherwise does a better job but coreboot has *free* init code
|
||||
for a given graphics device, that code should be used in osboot, when
|
||||
for a given graphics device, that code should be used in libreboot, when
|
||||
building a ROM image. Similarly, if *memory controller initialization* is
|
||||
possible with a binary blob *or* free code in coreboot, the *free* code
|
||||
should be used in ROMs built by `osbmk`, and the *blob* for raminit should
|
||||
should be used in ROMs built by `lbmk`, and the *blob* for raminit should
|
||||
not be used; however, if no free init code is available for said raminit,
|
||||
it is permitted and osbmk will use the *blob*.
|
||||
it is permitted and lbmk will use the *blob*.
|
||||
* Some nuance is to be observed: on some laptop or desktop configurations, it's
|
||||
common that there will be *two* graphics devices (for example, an nvidia and
|
||||
an intel chip, using nvidia optimus technology, on a laptop). It may be that
|
||||
one of them has free init code in coreboot, but the other one does not. It's
|
||||
perfectly acceptable, and desirable, for osboot to support both devices,
|
||||
perfectly acceptable, and desirable, for libreboot to support both devices,
|
||||
and accomodate the required binary blob on the one that lacks native
|
||||
initialization.
|
||||
* An exception is made for CPU microcode updates: they are permitted, and in
|
||||
fact *required* as per osboot policy. These updates fix CPU bugs, including
|
||||
fact *required* as per libreboot policy. These updates fix CPU bugs, including
|
||||
security bugs, and since the CPU already has non-free microcode burned into
|
||||
ROM anyway, the only choice is either *x86* or *broken x86*. Thus, osboot
|
||||
ROM anyway, the only choice is either *x86* or *broken x86*. Thus, libreboot
|
||||
will only allow coreboot mainboard configurations where microcode updates
|
||||
are *enabled*, if available for the CPU on that mainboard.
|
||||
* Intel Management Engine: in the osboot documentation, words *must* be written
|
||||
* Intel Management Engine: in the libreboot documentation, words *must* be written
|
||||
to tell people how to *neuter* the ME, if possible on a given board.
|
||||
The `me_cleaner` program is very useful, and provides a much more secure ME
|
||||
configuration.
|
||||
* Binary blobs should *never* be deleted, even if they are unused. In the
|
||||
coreboot project, a set of `3rdparty` submodules are available, with binary
|
||||
blobs for init tasks on many boards. These must *all* be included in osboot
|
||||
releases, even if unused. That way, even if `osbmk` does not yet integrate
|
||||
support for a given board, someone who downloads osboot can still make
|
||||
blobs for init tasks on many boards. These must *all* be included in libreboot
|
||||
releases, even if unused. That way, even if `lbmk` does not yet integrate
|
||||
support for a given board, someone who downloads libreboot can still make
|
||||
changes to their local version of the build system, if they wish, to provide
|
||||
a configuration for their hardware.
|
||||
|
||||
|
@ -124,28 +105,28 @@ Generally speaking, common sense is applied. For example, an exception to the
|
|||
minimalization might be if *blob* raminit and *free* raminit are available, but
|
||||
the *free* one is so broken so as to be unusable. In that situation, the blob
|
||||
one should be used instead, because otherwise the user might switch back to an
|
||||
otherwise fully proprietary system, instead of using coreboot (via osboot).
|
||||
otherwise fully proprietary system, instead of using coreboot (via libreboot).
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
The principles above should apply to *default* configurations. However, osboot
|
||||
The principles above should apply to *default* configurations. However, libreboot
|
||||
is to be *configurable*, allowing the user to do whatever they like.
|
||||
|
||||
It's natural that the user may want to create a setup that is *less* free than
|
||||
the default one in osboot. This is perfectly acceptable; freedom is superior,
|
||||
the default one in libreboot. This is perfectly acceptable; freedom is superior,
|
||||
and should be encouraged, but the user's freedom to choose should also be
|
||||
respected, and accomodated.
|
||||
|
||||
In other words, do not lecture the user. Just try to help them with their
|
||||
problem! The goal of the osboot project is simply to make coreboot more
|
||||
problem! The goal of the libreboot project is simply to make coreboot more
|
||||
accessible for otherwise non-technical users.
|
||||
|
||||
FREEDOM CATALOG
|
||||
===============
|
||||
|
||||
A *blob status* page should also be made available, educating people about the
|
||||
status of binary blobs on each machine supported by `osbmk`.
|
||||
status of binary blobs on each machine supported by `lbmk`.
|
||||
|
||||
It is desirable to see a world where all hardware and software is free.
|
||||
Hardware!?
|
||||
|
@ -174,7 +155,7 @@ The FSF RYF guidelines state the following:
|
|||
*"However, there is one exception for secondary embedded processors. The exception applies to software delivered inside auxiliary and low-level processors and FPGAs, within which software installation is not intended after the user obtains the product. This can include, for instance, microcode inside a processor, firmware built into an I/O device, or the gate pattern of an FPGA. The software in such secondary processors does not count as product software."*
|
||||
|
||||
This is a violation of every principle the FSF stands for, *and it should be
|
||||
rejected on ideological grounds*. The rest of osboot's policy and overall
|
||||
rejected on ideological grounds*. The rest of libreboot's policy and overall
|
||||
ideology expressed, in this article, will be based largely on that rejection.
|
||||
The definition of *product software* is completely arbitrary; software is
|
||||
software, and software should always be *free*. Instead of making such
|
||||
|
@ -213,13 +194,13 @@ to user freedom, and ought to be free, but it is completely disregarded by
|
|||
the FSF as *part of the hardware*. This is wrong, and the FSF should actively
|
||||
actively encourage people to free it, on every laptop!
|
||||
|
||||
Other firmware currently outside the reach of the *osboot* project are covered
|
||||
in the osboot FAQ page. For example, HDD/SSD firmware is covered in the FAQ.
|
||||
Other firmware currently outside the reach of the *libreboot* project are covered
|
||||
in the libreboot FAQ page. For example, HDD/SSD firmware is covered in the FAQ.
|
||||
Again, completely disregarded and shrugged off by the FSF.
|
||||
|
||||
The *osboot* project will not hide or overlook these issues, because they are
|
||||
indeed critical, but again, currently outside the scope of what osbmk does.
|
||||
At the moment, osbmk concerns itself just with coreboot, but this ought to
|
||||
The *libreboot* project will not hide or overlook these issues, because they are
|
||||
indeed critical, but again, currently outside the scope of what lbmk does.
|
||||
At the moment, lbmk concerns itself just with coreboot, but this ought to
|
||||
change in the future.
|
||||
|
||||
Examples of FSF *sweeping blobs under the rug*
|
||||
|
@ -250,7 +231,7 @@ provide incentive for levels of software freedom, such as:
|
|||
blobs in a format fully documented by Intel (they are just binary configuration
|
||||
files), but I went ahead and wrote ich9gen anyway. With ich9gen, you can
|
||||
more easily modify the descriptor/gbe regions for your firmware image. See:
|
||||
<https://libreboot.org/docs/install/ich9utils.html> - osboot also has this
|
||||
<https://libreboot.org/docs/install/ich9utils.html> - libreboot also has this
|
||||
* FSF once endorsed the ThinkPad T400 with Libreboot, as sold by Minifree. This
|
||||
machine comes in two versions: with ATI+Intel GPU, or only Intel GPU. If ATI
|
||||
GPU, it's possible to configure the machine so that either GPU is used. If the
|
||||
|
@ -324,7 +305,7 @@ To be clear: it is preferable that microcode be free. The microcode on Intel
|
|||
and AMD systems *are* non-free. Facts and feelings rarely coincide; the
|
||||
purpose of this section is to spread *facts*.
|
||||
|
||||
The *osboot* build system enables microcode updates *by default*, even on
|
||||
The *libreboot* build system enables microcode updates *by default*, even on
|
||||
boards that Libreboot supports. Libreboot *excludes* microcode updates.
|
||||
|
||||
Not including CPU microcode updates is an absolute disaster for system
|
||||
|
@ -393,19 +374,19 @@ Pick your poison. Not adding the updates is *irresponsible*, and ultimately
|
|||
futile, because you still end up with non-free microcode anyway, just you get
|
||||
an older, buggier version instead!
|
||||
|
||||
The *osboot* build system does not apply the two patches linked above! Instead,
|
||||
The *libreboot* build system does not apply the two patches linked above! Instead,
|
||||
CPU microcode updates are enabled by default, on the affected boards. The
|
||||
result is superior IA32 feature control and added PECI support.
|
||||
|
||||
The *osboot* project rejects the FSF's narrow, dogmatic view entirely.
|
||||
The *libreboot* project rejects the FSF's narrow, dogmatic view entirely.
|
||||
|
||||
The osboot firmware is far superior to Libreboot, in terms of reliability, due
|
||||
The libreboot firmware is far superior to Libreboot, in terms of reliability, due
|
||||
to the presence of microcode updates in the firmware, and with zero practical
|
||||
change to your freedom, on libreboot-compatible hardware.
|
||||
|
||||
However:
|
||||
|
||||
**I will continue to develop Libreboot and osboot, in parallel.**
|
||||
**I will continue to develop Libreboot and libreboot, in parallel.**
|
||||
|
||||
There are some people who still want Libreboot, who believe in FSF principles
|
||||
on this subject, and I believe it would ultimately be damaging if I were to
|
||||
|
@ -422,8 +403,8 @@ people, *because I want everyone to have freedom*. I also believe in freedom of
|
|||
choice, and Libreboot is an excellent choice for those who wish to use something
|
||||
that complies with FSF criteria.
|
||||
|
||||
Thus, I continue developing Libreboot in parallel with osboot, even though
|
||||
Libreboot is technically *inferior* to osboot. The *osboot* project is where
|
||||
Thus, I continue developing Libreboot in parallel with libreboot, even though
|
||||
Libreboot is technically *inferior* to libreboot. The *osboot* project is where
|
||||
my heart truly lies. I'm completely in it, whereas Libreboot is something I
|
||||
also maintain on the side. I try to do my best, when working on both projects.
|
||||
I really don't mind maintaining both of them, because they are actually very
|
||||
|
@ -466,7 +447,7 @@ completely disregards many things that are now possible, including freedoms at
|
|||
the hardware level (the RYF criteria only covers *software*). Those guidelines
|
||||
are written with assumptions that were still true in the 1990s, but the world
|
||||
has since evolved. As of 2 January 2022, Libreboot still complies strictly with
|
||||
RYF, and will continue to do so, at least for the time being. The *osboot*
|
||||
RYF, and will continue to do so, at least for the time being. The *libreboot*
|
||||
project rejects those policies in their entirety, and instead takes a pragmatic
|
||||
approach.
|
||||
|
||||
|
@ -480,7 +461,7 @@ As has always been the case, Libreboot tries to always go above and beyond, but
|
|||
the Libreboot project does not see RYF as a *gold standard*. There are levels
|
||||
of freedom possible now that the RYF guidelines do not cover at all, and in
|
||||
some cases even actively discourage/dis-incentivize because it makes compromises
|
||||
based on assumptions that are no longer true. The *osboot* project, again,
|
||||
based on assumptions that are no longer true. The *libreboot* project, again,
|
||||
takes a pragmatic approach, rejecting Libreboot's dogmatic approach entirely.
|
||||
|
||||
Sad truth: RYF actively encourages *less* freedom, by not being bold enough.
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
% Leah Rowe
|
||||
% 4 January 2022
|
||||
|
||||
The osboot website is currently only available in English.
|
||||
The libreboot website is currently only available in English.
|
||||
|
||||
I've recently added support for translations to
|
||||
the [Untitled Static Site Generator](https://untitled.vimuser.org/), which the
|
||||
osboot website uses. Pages on osboot.org are written in Markdown, and
|
||||
libreboot website uses. Pages on libreboot.org are written in Markdown, and
|
||||
this software generates HTML pages.
|
||||
|
||||
This very page that you are reading was created this way!
|
||||
|
@ -14,11 +14,11 @@ This very page that you are reading was created this way!
|
|||
Getting started
|
||||
===============
|
||||
|
||||
The osboot website is available, in Markdown, from a Git repository:\
|
||||
<https://notabug.org/osboot/osbwww>
|
||||
The libreboot website is available, in Markdown, from a Git repository:\
|
||||
<https://notabug.org/libreboot/osbwww>
|
||||
|
||||
Instructions for how to send patches are available here:\
|
||||
<https://osboot.org/git.html>
|
||||
<https://libreboot.org/git.html>
|
||||
|
||||
If you're working on a translation, make note of the commit ID from `osbwww.git`
|
||||
and keep track of further changes (to the English website) in that repository.
|
||||
|
@ -26,12 +26,12 @@ and keep track of further changes (to the English website) in that repository.
|
|||
When you send the translation, please specify what commit ID in `osbwww.git` it
|
||||
is up to date with. From then on, I will keep track of changes to the English
|
||||
website, which is what I work on. My native language is English. When the first
|
||||
translation is made available on osboot.org, I will create a new page (in
|
||||
translation is made available on libreboot.org, I will create a new page (in
|
||||
English only), and add notes to it whenever I make site changes, and show
|
||||
where these changes need to then be performed in translated versions of each
|
||||
page that I change.
|
||||
|
||||
How to translate osboot.org
|
||||
How to translate libreboot.org
|
||||
==============================
|
||||
|
||||
The documentation on <https://untitled.vimuser.org/> tells you how to handle
|
||||
|
|
|
@ -16,7 +16,7 @@ The file `template.include` is the modified version (modified by Leah Rowe).
|
|||
The original version can be found here: [/template.original](/template.original)
|
||||
|
||||
Other modified templates may be used, on specific pages. Check for this on the
|
||||
Git repository for the osboot website.
|
||||
Git repository for the libreboot website.
|
||||
|
||||
The original template file named `template.original` by John MacFarlane was
|
||||
released under these conditions:
|
||||
|
|
16
site/who.md
16
site/who.md
|
@ -1,32 +1,32 @@
|
|||
---
|
||||
title: Who develops osboot?
|
||||
title: Who develops libreboot?
|
||||
x-toc-enable: true
|
||||
...
|
||||
|
||||
The purpose of this page is to clearly define who works on osboot, who runs
|
||||
The purpose of this page is to clearly define who works on libreboot, who runs
|
||||
the project, how decisions are made, and in general how the project functions.
|
||||
|
||||
You can find information about major contributions made to osboot, on this
|
||||
You can find information about major contributions made to libreboot, on this
|
||||
page which lists such people: [List of contributors](contrib.md)
|
||||
|
||||
Leah Rowe (founder, lead developer)
|
||||
===================================
|
||||
|
||||
Leah Rowe is the founder of the osboot project. Leah oversees all development of osboot, reviewing
|
||||
Leah Rowe is the founder of the libreboot project. Leah oversees all development of libreboot, reviewing
|
||||
outside contributions, and has the final say over all decisions. Leah owns and
|
||||
operates the osboot.org servers from her lab in the UK.
|
||||
operates the libreboot.org servers from her lab in the UK.
|
||||
|
||||
You can learn more about Leah's involvement with osboot, by reading her
|
||||
You can learn more about Leah's involvement with libreboot, by reading her
|
||||
entry on the [page listing all contributors, past and present](contrib.md)
|
||||
|
||||
Caleb La Grange
|
||||
===============
|
||||
|
||||
Caleb goes by the screen name `shmalebx9`.
|
||||
Caleb mainly deals with improvements to the osbmk build system, board porting,
|
||||
Caleb mainly deals with improvements to the lbmk build system, board porting,
|
||||
and documentation.
|
||||
|
||||
You can learn more about Caleb's involvement with osboot, by reading his
|
||||
You can learn more about Caleb's involvement with libreboot, by reading his
|
||||
entry on the [page listing all contributors, past and present](contrib.md)
|
||||
|
||||
Developers wanted!
|
||||
|
|
Loading…
Reference in New Issue