Canoeboot 20250107 released!

Leah Rowe in Canoe Leah Mode™

7 January 2025


Return to index

Article published by: Leah Rowe in Canoe Leah Mode™

Date of publication: 7 January 2025

Canoeboot is a special fork of Libreboot, providing a de-blobbed configuration on fewer mainboards; Libreboot supports more hardware, and much newer hardware. More information can be found on Canoeboot’s about page and by reading Libreboot’s Binary Blob Reduction Policy.

This release, Canoeboot 20250107, is based on and in sync with the recent stable release of Libreboot, namely Libreboot 20241206 revision 8 from 6 January 2025. Therefore, this can be considered a stable release of Canoeboot.

This page lists all changes since Canoeboot 20241207.

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 Debian 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 GNU+Linux distro, providing a source-based package manager (called cbmk) which patches sources and compiles coreboot images. It makes use of coreboot for hardware initialisation, and then a payload such as SeaBIOS or GNU GRUB to boot your operating system; on ARM(chromebooks), we provide U-Boot (as a coreboot payload). Experimental x86 U-Boot support is also available.

Summarised list of changes

Board support

RP2530 devices now supported in pico-serprog, e.g. Raspberry Pi Pico 2.

We previously only supported the RP2040 devices, e.g. original Pi Pico. We now support both RP2040 and RP2530. Images are provided in the same tarball.

The documentation has been updated, to reflect this improvement. Canoeboot also now imports picotool which is now used to compile the UF2 binaries for installation, when building them from pico-sdk.

Revision updates

In descending order from latest changes to earliest changes:

Feature changes

In descending order from latest changes to earliest changes:

Configuration changes

In descending order from the latest changes to the earliest changes:

None of note; some other entries in this release log could be considered configuration changes.

Bug fixes

Several fixes were made to prevent build errors on the latest Debian Sid and Arch, as of 6 January 2025. Fedora 41 was also tested, fixing various issues.

The following bug fixes have been merged (in descending order from the latest changes to the earliest changes):

General code cleanup

In descending order from the latest changes to the earliest changes:

Git log

This log is relative to Canoeboot 20241207:

* 514f61d6ba pico-sdk: Remove old, unnecessary patch 
* 465b18eff3 remove errant symlink 
* ec7e8d3a8f Bump coreboot/next to 2f1e4e5e85, 31 December 2024 
* 8829539531 rom.sh: don't run mkpicotool on dry builds 
* 62d655b8dd pico-sdk: Import picotool as a dependency 
* adf1a2e1a4 lib.sh: Much safer python version check 
* 1b1dae36d2 set up python in PATH, ensuring that it is python3 
* ac6b7c9e3a add libx86 to arch dependencies 
* 24aa70869e add less to arch dependencies 
* d731b07aa7 lib.sh: Set python after dependencies 
* d57303e080 update my copyright years on modified scripts 
* bf5979f0b2 lib.sh: Fix unescaped quotes in chkvars() 
* 9baf6a72a7 Revert "fix more unescaped quotes in eval" 
* c1dd3da298 fix more unescaped quotes in eval 
* caa18bdcb3 fix ./mk dependencies build issue 
* 43ab374ec7 rom.sh: Remove errant GRUB modules check 
* 2916aee7ab submodule/grub: use codeberg for 1st gnulib mirror 
* 8e30ea27ef util/nvmutil: Update AUTHORS and COPYING files 
* 376b1301f5 util/nvmutil: Describe nvmutil in help output 
* da32fe1928 util/nvmutil: Remove the correct binary on uninstall 
* 54809f06bf util/spkmodem-recv: More correct Makefile 
* ac6f3884ad util/nvmutil: Honour the INSTALL variable 
* e993212146 util/nvmutil: Don't clean when doing uninstall 
* 21c87a6fbf util/nvmutil: Proper DESTDIR/PREFIX handling 
* 5ed1114443 util/nvmutil: Set CC and CFLAGS only if unset 
* 1e494f4530 util/nvmutil: Capitalise BABA 
* ba71891687 util/nvmutil: Add uninstall to Makefile 
* 1310c9a58c util/nvmutil: Add distclean to Makefile 
* faa78f53c2 util/nvmutil: Make the GbE checksum a define 
* 227c396ca2 util/nvmutil: nicer hexdump display 
* 07e8b9f35e util/nvmutil: show the correct hexdump order 
* 76d87782a8 lib.sh mktarball: cleaner if statement 
* 3d1fea0977 fix lbmk shellcheck errors 
* 4862f6a348 lib.sh and rom.sh: update my header 
* 8bdfd31498 rom.sh: handle tarballs in mkcoreboottar 
* 13194ec94a util/nvmutil: Obey the 79-character per line limit 
* ce0fdf183d util/nvmutil: Tidy up copyright header 
* f3feac0728 util/nvmutil: Fix another straggler 
* 145ff612c1 util/nvmutil: Tidy up pledge calls 
* 4a83659885 compile rmodtool alongside cbfstool 
* a22f272dfe fedora41/dependencies: add libuuid-devel 
* de26e984df add uuid-devel to fedora41 dependencies 
* 4ce13dab7a support ./mk dependencies fedora reinstall 
* 9d60470a97 fix missing semicolon in grub nvme patch 
* 2d860d6f66 bump seabios to rev 1602647f1 (7 November 2024) 
* 5d82a911b9 Bump GRUB revision to 6811f6f09 (26 November 2024) 
* b75d32be72 flashprog: Disable -Werror 
* 22206cadeb bump flashprog to revision eb2c041 (14 Nov 2024) 
* 1ebdb20d97 replace liblz4-tool with lz4 and liblz4-dev 
* 012f530656 lib.sh dependencies: support --reinstall argument 
* 33206cae60 move xbmkpath to XBMK_CACHE/ 
* 4a4f7abf0e Revert "Remove legacy update/vendor commands" 
* 71bccad345 Fix U-Boot build issue with Swig 4.3.0 
* 2608bea771 use command -v instead of which 
* 3dc3a557db trees: remove unnecessary subshell 
* dbf8bef5ff trees: only symlink host gcc/gnat to build xgcc 
* cd93e1b615 trees: correction on check_gnu_path 
* 57fafb0b73 trees: match gcc/gnat versions both ways 
* f167d4aeb9 Merge path.sh into script/trees 
* 444154c002 path.sh: Further cleanup 
* c25ea91783 path.sh: More thorough gcc/gnat version check 
* 12221b2828 path.sh: minor cleanup 
* 02b1a45c6b path.sh: remove unnecessary shebang 
* 5a5a7c37f5 Fix globbing issue in cbmk 
* 69c5f8911d remove auto-confirm on distro dependencies 
* 7ee6ec0ce9 Mitigate Debian Trixie/Sid GCC/GNAT version mismatch 
* f1d9ecc468 rom.sh: Name pico directory serprog_pico 
* bb6c31aa16 add 2024 to Riku's copyright header on rom.sh 
* 3d738af507 pico-sdk: update to 2.1.0 
* fa6ed8816e pico-serprog: enable building for multiple pico chips 
* 31a0ea3537 add spdx headers to various config files 
* dd6f914186 git.sh: don't initialise livepull globally 
* 417accd9e0 lib.sh: Support copying files locally 
* 7b8bda9977 lib.sh: Safer exit from ./mk dependencies 
* 63eb43ec39 dependencies/void: add missing escape character 
* daefe4f895 rom.sh: support grub-first setups 
* 73920cb0a1 rom.sh: insert grub background in cbfs not memdisk 
* 5ebeb65cbf add tarballs and signatures to gitignore 
* 5053354644 fix another very stupid mistake 
* df509aac63 fix the stupidest bug ever 

This is precisely 80 changes, since Canoeboot 20241207.

Markdown file for this page: https://canoeboot.org/news/canoeboot20250107.md

Subscribe to RSS for this site

Site map

This HTML page was generated by the Untitled Static Site Generator.