196 lines
9.4 KiB
Markdown
196 lines
9.4 KiB
Markdown
% Libreboot 20230413 released!
|
|
% Leah Rowe
|
|
% 13 April 2023
|
|
|
|
**IMPORTANT ADVICE: [PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING/UPDATING
|
|
LIBREBOOT](safety.md).**
|
|
|
|
Introduction
|
|
============
|
|
|
|
Libreboot provides boot firmware for supported x86/ARM machines, starting a
|
|
bootloader that then loads your operating system. It replaces proprietary
|
|
BIOS/UEFI firmware on x86 machines, and provides an *improved* configuration
|
|
on ARM-based chromebooks supported (U-Boot bootloader, instead of Google's
|
|
depthcharge bootloader). On x86 machines, the GRUB and SeaBIOS coreboot
|
|
payloads are officially supported, provided in varying configurations per
|
|
machine. It provides an automated build system for the configuration and
|
|
installation of coreboot ROM images, making coreboot easier to use for
|
|
non-technical people. You can find the list of supported hardware in the
|
|
Libreboot documentation.
|
|
|
|
The last Libreboot release, version 20230319, was released on 19 March
|
|
in 2023. *This* new release, Libreboot 20230413, is released today on
|
|
April 13th, 2023.
|
|
|
|
This is marked as a *testing* release, though it is *basically stable*.
|
|
It is a bugfix release, relative to Libreboot 20230319. In addition to this,
|
|
massive code cleanup has been performed on parts of the build system.
|
|
|
|
The priority of this release has been build system fixes/improvements. For the
|
|
time being, no more code changes will be made unless needed, in coreboot, for
|
|
existing supported hardware; the focus is going to be on adding *more* boards
|
|
to Libreboot, to support more hardware. I've been on a spree, buying lots of
|
|
mainboards that coreboot supports, that would be interesting in Libreboot.
|
|
|
|
Build from source
|
|
-----------------
|
|
|
|
*This* release was build-tested on Debian *Sid*, as of 13 April 2023. Your
|
|
mileage may vary, with other distros. Refer to Libreboot documentation.
|
|
|
|
KCMA-D8 and KGPE-D16 wanted!
|
|
----------------------------
|
|
|
|
[ASUS KGPE-D16 and KCMA-D8 needed for testing!](kgpe-d16.md)
|
|
|
|
These boards still haven't made it back to Libreboot, but I wish to re-add
|
|
them in a future release. If you can give/loan me a fully assembled workstation
|
|
with one (or both) of these, I would appreciate it. Please
|
|
[get in touch](../contact.md)!
|
|
|
|
Work done since last release
|
|
============================
|
|
|
|
For more detailed change logs, look at the Git repository. This is
|
|
a summary of changes.
|
|
|
|
Summary of changes:
|
|
-------------------
|
|
|
|
Zero code changes within coreboot on any boards, but the build system went
|
|
through a mild overhaul:
|
|
|
|
* Massive code cleanup of `util/nvmutil`, and improved error handling.
|
|
* Insert scripts for post-release sandybridge/ivybridge/haswell ROMs are now
|
|
much easier to use, and less error-prone.
|
|
* A few problematic boards, for which ROM images were excluded in the previous
|
|
release, have now been *removed* from the Libreboot build system. They will
|
|
be re-added in a future release, and you can find a list of them in the
|
|
detailed changelog below.
|
|
* Haswell (T440/W541): `mrc.bin` insertion is now *correct*, on the blobutil
|
|
script. In the previous release, Libreboot's build system inserted this at
|
|
the wrong location in the ROM, after downloading it; coreboot's own build
|
|
system does it correctly, and that is used when compiling, but post-release
|
|
ROM images have it inserted with equivalent logic in the Libreboot build
|
|
system, instead. - NOTE: libre raminit is also available, if you choose
|
|
the ROM images with `t440p_12mb` in the filenames, whereas `t440pmrc_12mb`
|
|
images need `mrc.bin` for raminit. More info about this is in the previous
|
|
release.
|
|
|
|
MRC W541/T440p ROM images re-added
|
|
----------------------------------
|
|
|
|
As alluded to and applied by the above text, T440p/W541 thinkpad images that
|
|
use `mrc.bin` have been re-added. Libreboot supports experimental raminit on
|
|
these boards, where the MRC file is not required, but it also provides ones
|
|
that use it, so that users can choose which one they want.
|
|
|
|
More information this is available, in the *previous*
|
|
[Libreboot 20230319 release announcement](libreboot20230319.md).
|
|
|
|
Detailed descriptions of changes
|
|
--------------------------------
|
|
|
|
Changelog:
|
|
|
|
* `blobutil/inject`: Relative to the fix below (courtesy `shmalebx9`), the
|
|
ROM image archives in releases now contain lists of SHA1 hashes, matching
|
|
what each file should be when running `blobutil/inject`
|
|
* `blobutil/inject`: It is now possible to insert MRC and neutered ME images,
|
|
where required on specific mainboards, into *all* ROM images of a given
|
|
tar archive, in addition to single ROM images. The patch for this is
|
|
courtesy of Caleb La Grange (`shmalebx9` on libreboot IRC)
|
|
* Removed daisy/peach chromebooks: The machines are believed to boot properly,
|
|
with the coreboot and u-boot code being correct, but lbmk currently does not
|
|
handle the BL1 bootloaders on these machines, and this was overlooked before;
|
|
the images for these machines have also been deleted, from previous releases.
|
|
These will be re-added in a future Libreboot release.
|
|
* Removed veyron chromebooks for now: u-boot does not work at all on those
|
|
boards (video issues), last known revision working on veyron was 2021.01 so
|
|
a git-bisect can probably done. These boards will be re-added in a future
|
|
Libreboot release.
|
|
* `util/ich9utils`: Merged it back into lbmk, rather than keeping it as a
|
|
separate repository. It is now directly part of the Libreboot build system,
|
|
once again.
|
|
* `util/nvmutil`: Major code cleanup; reduced SLOC count to 315 source lines,
|
|
whereas it was 386 code lines in the previous release. The compiled binary
|
|
sizes have been reduced by 7%, as tested with TCC on an x86\_64 host. This
|
|
code size reduction is provided, *without* reducing any functionality.
|
|
* `util/nvmutil`: Fixed faulty check for MAC address `00:00:00:00:00:00` - the
|
|
total was being reset for each word, wrongly. This has been corrected.
|
|
* `blobutil/download`: now supports extracting `me.bin` from LZMA archives, in
|
|
addition to inno archives; in practise, lbmk still currently only supports
|
|
machines where inno archives are extracted from, but experimental new ports
|
|
exist outside of `master` that will be present in future releases.
|
|
* `blobutil/download`: no longer hardcodes the `me.bin` path, when extracting
|
|
from updates during auto-download. When compiling ROM images, lbmk now does
|
|
this by bruteforce, automatically finding the correct location of the ME
|
|
image inside vendor archives; this works well on inno/lzma archives.
|
|
The script then runs `me_cleaner` as usual, inserting that into the ROM
|
|
image - this same logic is also used when inserting into release ROMs.
|
|
This is in preparation for *non-Lenovo* sandybridge, ivybridge and haswell
|
|
machines being added in future releases, e.g. Dell and HP laptops that
|
|
coreboot supports.
|
|
* `blobutil/download`: heavily re-factored the logic, switching to top-down
|
|
order of functions, split more operations into functions, generally made
|
|
the script easier to read/work on.
|
|
* `blobutil/inject`: use correct offset for insertion of `mrc.bin` (Haswell
|
|
platform, e.g. ThinkPad T440p) - as written above.
|
|
* Removed mainboard: `d945gclf` - known to be problematic at boot. I have one,
|
|
and I'm going to test it for re-entry in a future release.
|
|
* Added missing dependency in Arch Linux dependencies installation script,
|
|
patch courtesy of Andreas Hartmann.
|
|
|
|
Hardware supported in this release
|
|
==================================
|
|
|
|
All of the following are believed to *boot*, but if you have any issues,
|
|
please contact the Libreboot project. They are:
|
|
|
|
Desktops (AMD, Intel, x86)
|
|
-----------------------
|
|
|
|
- [Gigabyte GA-G41M-ES2L motherboard](../docs/hardware/ga-g41m-es2l.md)
|
|
- [Acer G43T-AM3](../docs/hardware/acer_g43t-am3.md)
|
|
- [Intel D510MO and D410PT motherboards](../docs/hardware/d510mo.md)
|
|
- [Apple iMac 5,2](../docs/hardware/imac52.md)
|
|
|
|
### Laptops (Intel, x86)
|
|
|
|
- ThinkPad X60 / X60S / X60 Tablet
|
|
- ThinkPad T60 (with Intel GPU)
|
|
- [Lenovo ThinkPad X200 / X200S / X200 Tablet](../docs/hardware/x200.md)
|
|
- Lenovo ThinkPad X230
|
|
- Lenovo ThinkPad X301
|
|
- [Lenovo ThinkPad R400](../docs/hardware/r400.md)
|
|
- [Lenovo ThinkPad T400 / T400S](../docs/hardware/t400.md)
|
|
- [Lenovo ThinkPad T500](../docs/hardware/t500.md)
|
|
- [Lenovo ThinkPad T530 / W530](../docs/install/ivy_has_common.md)
|
|
- [Lenovo ThinkPad W500](../docs/hardware/t500.md)
|
|
- [Lenovo ThinkPad R500](../docs/hardware/r500.md)
|
|
- [Apple MacBook1,1 and MacBook2,1](../docs/hardware/macbook21.md)
|
|
- [Lenovo ThinkPad T440p](../docs/install/t440p_external.md)
|
|
- [Lenovo Thinkpad X220](../docs/install/ivy_has_common.md)
|
|
- [Lenovo Thinkpad X220t](../docs/install/ivy_has_common.md)
|
|
- [Lenovo Thinkpad T420](../docs/install/ivy_has_common.md)
|
|
- [Lenovo ThinkPad T420S](../docs/install/ivy_has_common.md)
|
|
- [Lenovo ThinkPad T430](../docs/install/ivy_has_common.md)
|
|
- [Lenovo Thinkpad X230](../docs/install/x230_external.md)
|
|
- [Lenovo Thinkpad X230t](../docs/install/x230_external.md)
|
|
- [Lenovo ThinkPad W541](../docs/install/ivy_has_common.md)
|
|
|
|
### Laptops (ARM, with U-Boot payload)
|
|
|
|
- [HP Chromebook 14 G3 (nyan-blaze)](../docs/install/chromebooks.md)
|
|
- [Acer Chromebook 13 (CB5-311, C810) (nyan-big)](../docs/install/chromebooks.md)
|
|
- [ASUS Chromebook Flip C101 (gru-bob)](../docs/install/chromebooks.md)
|
|
- [Samsung Chromebook Plus (v1) (gru-kevin)](../docs/install/chromebooks.md)
|
|
|
|
Downloads
|
|
=========
|
|
|
|
You can find this release on the downloads page. At the time of this
|
|
announcement, some of the rsync mirrors may not have it yet, so please check
|
|
another one if your favourite one doesn't have it.
|