Canoeboot 20250107 released! 100% Free BIOS, GNU FSDG compliant. Now with Raspberry Pi Pico 2 / RP2530 serprog support.

9 réponses [Dernière contribution]
libreleah
Hors ligne
A rejoint: 04/03/2017

Hello everyone,

I'm pleased to announce a new Canoeboot release:

https://canoeboot.org/news/canoeboot20250107.html

Highlights:

* ./mk inject function added, based on the Libreboot one, but the Canoeboot one only sets MAC addresses; it does not download/inject vendor files. It uses the same setmac command syntax. It’s documented now on the nvmutil page.

* coreboot/next, GRUB and SeaBIOS revisions updated to the latest ones from 5 January 2025

* RP2530 devices now supported in pico-serprog, e.g. Raspberry Pi Pico 2. These are cheap MCU boards, reprogrammable. We already support RP2040 for a long time now. Now we have RP2040 (e.g. Pi Pico) and RP2530 (e.g. Pico 2). Our serprog firmware flashed on one of these provides a cheap, reliable SPI flasher, fully free firmware too, including the boot rom.

* Bumped flashprog to revision eb2c041 (14 Nov 2024). This brings in several important fixes from upstream. This is what we use now, instead of flashrom, for over a year.

* Various build system fixes; fully build-tested on Debian Sid and ArchLinux, so should work nicely in say, Parabola GNU/Linux-libre. These fixes address minor issues found in the December 2024 release.

* General improvements to the build system; fixing globbing issues, stricter error handling, safer exits under certain edge cases (e.g. handing of temporary files).

Essentially, this is a bugfix release, relative to the Canoeboot 20241207 release. Canoeboot 20250107 is based on and in sync with the Libreboot changes, up to the recent Libreboot 20241206 revision 8 released which was released on 6 January 2025.

Supported hardware:

Games consoles

* Sony Playstation (PS1/PSX)

Servers (AMD, x86)

* ASUS KFSN4-DRE motherboard
* ASUS KGPE-D16 motherboard

Desktops (AMD, Intel, x86)

* Acer G43T-AM3
* Apple iMac 5,2
* ASUS KCMA-D8 motherboard
* Dell OptiPlex 780 variants e.g. MT, USFF
* Gigabyte GA-G41M-ES2L motherboard
* Intel D510MO and D410PT motherboards
* Intel D945GCLF

Laptops (Intel, x86)

* Apple MacBook1,1 and MacBook2,1
* Dell Latitude E4300, E6400, E6400 XFR and E6400 ATG
* Lenovo ThinkPad R400
* Lenovo ThinkPad R500
* Lenovo ThinkPad T400 / T400S
* Lenovo ThinkPad T500 / W500
* Lenovo ThinkPad T60, X60, X60S, X60 Tablet (with Intel GPU)
* Lenovo ThinkPad X200 / X200S / X200 Tablet

Laptops (ARM, with U-Boot payload)

* ASUS Chromebook Flip C101 (gru-bob)
* Samsung Chromebook Plus (v1) (gru-kevin)

Emulation

* Qemu x86 and arm64

Gnu
Gnu
Hors ligne
A rejoint: 03/08/2012

Installed, all good!

I still use the same method to change the MAC address:


cd libreboot_r20160907_util/ich9deblob/x86_64
./ich9gen --macaddress XX:XX:XX:XX:XX:XX
dd if=ich9fdgbe_8m.bin of=~/x200.rom bs=1 count=12k conv=notrunc

libreleah
Hors ligne
A rejoint: 04/03/2017

ich9gen still works, but it doesn't check whether the mac address specified is multicast (it must not be multi-cast) and doesn't support randomisation

modern canoeboot includes a gbe file pre-generated with ich9gen, and uses nvmutil to modify the mac address, if you use the inject command.

ich9gen generates the entire gbe/ifd from scratch for ich9m machines. and also has a mac address changer.

Gnu
Gnu
Hors ligne
A rejoint: 03/08/2012

What I don't understand is if with the
./mk inject
method you have to compile a "rom" afterwards

Also, it would be necessary to verify if
./mk dependencies arch
works with Hyperbola OS.

The day I have free time I will try.

Kiki_the_Cyber_Squarrel
Hors ligne
A rejoint: 12/02/2024

> Also, it would be necessary to verify if
> ./mk dependencies arch

> works with Hyperbola OS.

It won't, as a former Hyperbola user I can say that Hyperbola is extremely different than Arch, being a LTS-based distro and excluding many and I mean *many* Arch packages, I just looked at the dependency list for using cbmk on Arch and I see programs such as "gettext" (which Hyperbola rejects and instead replaces with gettext-tiny) and "subversion", which is not packaged in Hyperbola.

Gnu
Gnu
Hors ligne
A rejoint: 03/08/2012

I also think it is not possible with Hyperbola, luckily the old package [libreboot_r20160907_util.tar.xz] still works.

Zoma
Hors ligne
A rejoint: 11/05/2024

You are correct, it doesn't work... in one way though:
If you need to add the blob to the rom, it will not work currently.

But if you have a persistent usb, 2nd SSD or another OS partition, or other, you can use that other OS to potentially do it for you.

I have no doubt it will probably work on Trisquel. It works on Devuan Daedalus so... yeah its likely.

Something to add, though. Use caution if you intend to use flashrom. She is only supporting flashprogs. So... I wouldn't use flashrom if possible.

Kiki_the_Cyber_Squarrel
Hors ligne
A rejoint: 12/02/2024

> What I don't understand is if with the
> ./mk inject

> method you have to compile a "rom" afterwards

It won't force you to compile a rom, it just modifies pre-compiled roms rather than forcing you to compile a new one, I tried ./mk inject and what it did was modify the Mac Address of the pre-compiled roms I had downloaded rather than forcing me to compile new roms.

libreleah
Hors ligne
A rejoint: 04/03/2017

the mk-inject method for mac address insertion works on a rom images tarball, that you downloaded from the release archive.

the command does use some utils from coreboot, that you have to compile, so the command auto-compiles them and therefore downloads coreboot sources.

i'm doing an audit of the build system and one of the items on my todo list is to implement a cross compiler script, so that i can provide such utilities pre-compiled in future releases (_util archive in addition to _src, and you would use _util in that future release). this will make using the script a bit easier

Gnu
Gnu
Hors ligne
A rejoint: 03/08/2012

Very good news! Thank you