Failed to replace Pureboot with Coreboot on Librem Mini v2

Not sure which forum “Pureboot / Coreboot” questions should go into.

I have a Librem Mini v2 which came with Pureboot. It can’t seem to boot hardly anything.

  • PureOS 9.0 gnome live 20200806 amd64: freezes at “Starting new kernel”.
  • Debian installer gives weird coloured lines/rows just at the top of the monitor. I think it’s showing the installer menu but it’s unreadably tiny / corrupt graphics.
  • NixOS Failed to find file /boot/grub/()/nix/store//…

The only thing I can seem to boot into is this developer release of PureOS that someone linked me to:
https://downloads.puri.sm/byzantium/gnome/2020-11-20/pureos-10~devel-gnome-live_20201120-amd64.hybrid.iso

Using the live installer, I tried to replace PureBoot with CoreBoot using coreboot_util.sh from https://source.puri.sm/firmware/utility

This failed at:

coreboot flashing in progress. Do NOT interrupt this process.

Initializing internal Flash Programmer

Error flashing coreboot -- see timestampped flashrom log in current directory for more info

The flashrom-.log has:

flashrom v1.2-116-gc64486b on Linux 5.9.0-1-amd64 (x86_64)
flashrom was built with libpci 3.7.0, GCC 10.2.1 20210110, little endian
Command line (7 args): ./tools/flashrom/flashrom -p internal:ich_spi_mode=hwseq -w ./firmware/coreboot-librem_mini_v2-4.13-Purism-1.rom -V -o ./flashrom-20210420-045227.log
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Initializing internal programmer
Found candidate at: 00000500-00000528
Found coreboot table at 0x00000500.
Error accessing high tables, 0x100000 bytes at 0x0000000099b82000
/dev/mem mmap failed: Operation not permitted
Failed getting access to coreboot high tables.
Using Internal DMI decoder.
Error accessing DMI Table, 0x1000 bytes at 0x0000000099b5d000
/dev/mem mmap failed: Operation not permitted

I tried to replace PureBoot with CoreBoot using coreboot_util.sh

/dev/mem mmap failed: Operation not permitted

Do you execute coreboot_util.sh as root?

edit the grub kernel parameters when booting, add ‘iomem=relaxed’ to the end of the list

OP did, the script will exit immediate if not

Thanks!! I didn’t know how to change the grub kernel parameters from within PureBoot.

But anyway reading https://docs.puri.sm/PureBoot/GettingStarted.html#reverting-to-the-non-pureboot-coreboot-bios more carefully, the script did generate a firmware rom (it just failed to flash it), so I was able to just put that rom onto a usb and install it from within the PureBoot menu.

Now with coreboot installed instead of PureBoot, it’s able to launch other USB installers that didn’t work before, such as FreeBSD.