Guix on Librem Mini V2 not booting

Several years ago, I installed GNU Guix on my Librem Mini (V1), and it has been one of my most reliable machines ever. Eager to expand my swarm, I bought two Librem Mini V2s. However, I have been unable to boot Guix on either one. The PureOS install that came on the devices originally works fine. Though the Guix ISO was able to boot normally, it did not benefit from the new “blob jail” and so I had to connect to the intenet via wifi dongle. I tried several Guix versions from 1.4 to the latest version to several intermediate versions, each with BIOS and UEFI. In all cases the install was either not recognized by the BIOS or it immediately failed when trying to load the kernel. For debugging purposes, I am using a minimal build without disk encryption

Has any one else had this issue? Is this problem fixed in a newer pureboot version?

2 Likes

@jonathon.hall

1 Like

For GNU Guix, I recommend switching to coreboot+SeaBIOS using the coreboot utility script.

PureBoot isn’t able to boot GNU Guix currently. (Even if you install it with a separate /boot partition as PureBoot requires, the kernel is not actually on that partition, and PureBoot doesn’t interpret enough of the GRUB configuration file to find the kernel on another partition.)

4 Likes

Hi @jonathon.hall, thanks for the info. I’ll try that in the next week. Since you seem to be the most knowledgeable I’ve seen so far on the matter, I have a few followup questions in case you happen to know:

  • Will Guix support be added for pureboot in the future?
  • Does the described coreboot+SeaBIOS setup support the V2’s blobjail?
  • If the blobjail is not supported, do you think purism would be willing to replace the new AX200 with an old Atheros AR9462 upon request?

[EDIT] It worked!

1 Like

I would like to, but I can’t guess a timeline for that right now. I added this report to Guixsd vs Heads - How to make it work together? · Issue #753 · linuxboot/heads · GitHub upstream.

No, but Guix prevents use of the blob jail anyway. Guix uses linux-libre, which blocks loading device firmware for iwlwifi and most other devices that require firmware to be provided by the OS, even if you provide the firmware files. The only way to use these devices with Guix is to use a different kernel. If you do that, you can just put the firmware files in /lib/firmware.

I don’t think we have any of these cards in stock.

3 Likes

It is pretty straightforward to swap out linux-libre with linux mainline in guix (see GitHub - nonguix/nonguix: Nonguix mirror – pull requests ignored, please use upstream for that). I bring this up just to point out that from a free software perspective, there is still great value in adding blobjail support for Guix: It allows users to keep their OS + OS installation media independent of any proprietary dependencies (let proprietary hardware provide their own blobs).

Also, side note: the guix install ISO was able to boot with pureboot, but it did not have /lib/firmware mounted, so I think there is still some other bug to be fixed there.

2 Likes