Canoeboot 20241207 release

Signed-off-by: Leah Rowe <info@minifree.org>
master
Leah Rowe 2024-12-07 19:15:02 +00:00
parent aeb1a3aebb
commit 88b783f2cf
2 changed files with 136 additions and 0 deletions

View File

@ -1,3 +1,4 @@
canoeboot20241207.md
canoeboot20241102.md
audit2.md
canoeboot20240612.md

View File

@ -0,0 +1,135 @@
% Canoeboot 20241207 released!
% Leah Rowe in GNU Leah Mode™
% 7 December 2024
This release, Canoeboot 20241207, is based on and in sync with the recent
stable release of Libreboot, namely Libreboot 20241206. Therefore, this can
be considered a stable release of Canoeboot.
Introduction
============
Canoeboot is a free/libre BIOS/UEFI replacement on x86 and ARM, providing
boot firmware that initialises the hardware in your computer, to then load an
operating system (e.g. GNU+Linux). It is specifically a *coreboot distribution*,
like how Trisquel is a GNU+Linux distribution. It provides an automated
build system to produce coreboot ROM images with a variety of payloads such as
GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy
to use as possible for non-technical users. From a project management perspective,
this works in *exactly* the same way as a Linux distro, providing a source-based
package manager (called cbmk) which patches sources and compiles coreboot images.
It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation,
and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS)
or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating
system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload).
For Canoeboot 20241207, today's release, U-Boot is *also* provided as an
optional coreboot payload on x86 machines. This provides a sensible UEFI
implementation, useful for booting GNU+Linux and BSD systems more easily. More
information available on the [U-Boot x86 page](../docs/uboot/uboot-x86.md).
Since this is based on a stable release, not much has changed; the focus has
been on bug fixes. However, the U-Boot x86 payload is a notable new feature.
Summarised list of changes
==========================
Changes are in order per category, from newest to oldest:
Feature changes
---------------
* U-Boot support, for both x86 and x86\_64, provided as a coreboot payload.
This complements the existing ARM64 U-Boot support present in Canoeboot.
Several changes have been made, for example Canoeboot has added an auto-boot
timeout for the first selected entry on the bootflow menu (upstream does
not currently support this feature, at the time of this Canoeboot release).
Configuration changes
---------------------
* Enabled the serial console by default, on these machines: Thinkpad X60, T60.
* U-Boot x86 enabled on almost every x86 board, chainloaded from SeaBIOS.
The `seauboot` images boot directly into U-Boot first, from SeaBIOS, but
U-Boot can be bypassed by using the ESC menu in SeaBIOS.
Bug fixes
---------
* `script/trees`: reset `PATH` per target, to avoid it being wrong in the next
target, because we manipulate this when enabling cross compilation (by using
the coreboot cross compiler).
* Disabled using Microcode updates in U-Boot builds on x86, because we remove
the microcode from U-Boot so enabling it would yield a build error.
* `rom.sh`: Removed unnecessary shebang; this is not a main script, but only
meant to be included from other scripts.
* Added `openssl-devel-engine` to Fedora dependencies
* Unset `displaymode` on normal `initmode` in the `rom.sh` script, otherwise
images that use `normal` mode would have `normal_normal` in the image name;
now it just has `normal` in the image name.
* U-Boot: merged an x86 bug fix from Simon Glass, well, two fixes: one silently
disables the serial console if a serial device is not present, to prevent a
hanging bug, and a second fix avoids clearing the display when initialising
with VESA, because VESA ROMs already do this (we do not currently use VESA
setups in Canoeboot, so this is a preventative bugfix).
* `script/trees`: unset `CROSS_COMPILE` per target, before setting it per
target, so that the next target does not use the same configuration as the
previous target, in cases where the next target does not enable a cross
compiler. This was necessary to prevent build errors with the x86 U-Boot
payload.
* Added `arm-none-eabi-gcc-cs-c++` to Fedora dependencies.
Revision updates
================
* Updated U-Boot to v2024.10, on both ARM64 and x86 boards.
* Bumped coreboot/next to the latest coreboot revision, from several days
prior to this Canoeboot release. This is currently used for the Dell
OptiPlex 780 ports.
Git log
=======
This git log covers all changes in this audit, relative to Canoeboot 20240612.
```
* 4088cc12eb remove the purple patch on arm64 u-boot
* 4a50e5a3e9 u-boot: Use bootflow menu by default for ARM64 boards
* 81a29cef73 i made u-boot turquoise
* 421e73c04c Add bootflow/branding patches to arm64 U-Boot too
* 773cd8b384 Add canoeboot branding/version to U-Boot bootflow
* ce27bb0ea0 Add auto-boot timeout for U-Boot's bootflow menu
* 2ccc9215d8 8-sec auto-boot timeout for U-Boot's bootflow menu
* ea9e4765f4 add /dump/ to .gitignore
* 2d40305a35 u-boot: Enable USB with a preboot command
* 0cea72c1cc u-boot: Update ARM64 boards to v2024.10
* 6069668153 trees: reset PATH per-target
* f6a2af67d5 Disable including Microcode in U-Boot builds
* 106904ed81 rom.sh: Add U-Boot before SeaBIOS and GRUB (x86)
* 19bc40962a rom.sh: Remove unnecessary shebang
* 9a22d10e47 config/deps/fedora41: Add openssl-devel-engine to dependency list
* 38dd860431 rom.sh: unset displaymode on normal initmode
* b179ef63ed rom.sh: Don't build U-Boot on normal initmode
* c885a63dd5 rom.sh: Don't build txtmode U-Boot images
* dea09b8bf5 rom.sh: Support SeaUBoot for 64-bit x86 U-Boot
* eea06c9659 U-Boot x86: Avoid clearing the VESA display
* 5dd6a4e978 enable the serial console on thinkpad x60
* 112b761926 enable the serial console on thinkpad t60
* 8ba8cf3e60 Only boot 32-bit u-boot from grub, 64 from seabios
* 6ff2a65a7c make the u-boot grub menuentry more useful
* 0a90386ddb Re-enable U-Boot x86 on real mainboards
* f3d68fade3 u-boot x86 serial/ns16550: disable UART as needed
* 8333930599 Disable U-Boot x86 except on Qemu
* d6cf658624 fix U-Boot hotkey mention in grub.cfg
* 5e27c14b05 Update x86 U-Boot to v2024.10 (was v2024.07)
* 186e3c0a23 grub.cfg: mark U-Boot as experimental in the menu
* 414ff6095c trees: unset CROSS_COMPILE per target
* 739207021d Enable x86 U-Boot payload on every x86 board
* ac5c87681f Add U-Boot x86_64 payload
* a70a9813d7 add arm-none-eabi-gcc-cs-c++ to fedora dependency
* 5a641b071d Bump coreboot/next in line with lbmk
* 2d2cdd2368 data/coreboot: add missing variable
* 966fc8c23f Experimental U-Boot payload (32-bit dtb, U-Boot)
```
This is 37 changes since Canoeboot 20231102.