Coreboot 4.12-Purism-4, Pureboot Release 15 updates now available

i hope for those of you who were curious to see the full SATA-3 (6gbs) in action this update should suffice … note that with an NVME (x4 - full 32gigabits/s bandwidth R+W) drive you can get read-speeds in the ~3GB/s (that’s giga BYTES per second) with the Pro version even reach 3.5 GB/s

for those of you who can’t SEE the screen-grabs you need to register and log-in / account / @ Purism-forums

edited : GB is GigaBYTES

@MrChromebox as you can see the drive i benchmarked is just north of 500 MB/s for read speeds (@ max - the 32 MiB Sample Size -screen) however i think that while it isn’t the full 6 gbps (just north of 4 Gbps read max) it’s pretty snappy for a SATA-3 drive and so far i’m happy with the update …

I flashed PureBoot 15 to my Librem 13v4 yesterday. The PureBoot itself works fine, but after it kexecs my kernel, I don’t see any output anymore from kernel. I do start getting output again after kernel starts /bin/init process but nothing before that.

That cost me several hours of wasted time yesterday because my initrd would normally prompt for the encryption passphrase during the boot. Now I don’t see that prompt but after I just tried entering the passphrase and pressing enter, it managed to decrypt it and continue to launch /bin/init after which I managed to get into my machine.

What I observed:

  1. PureBoot prints the “kexec -l …” line and loads the new kernel.
  2. PureBoot executes the new kernel with “kexec -e” and prints the line: kexec_core: Starting new kernel

After that I see nothing on the screen.

I use Gentoo instead of PureBoot, but launching Fedora live from usb stick behaved similarly, except that it reached /bin/init after several seconds because there was no password prompts involved.

Is this a regression or do I need to build the kernel in some different way or add some kernel argument to support the new PureBoot?

is this a change from a previous version of Pureboot? I get graphical prompts for a LUKS password under Qubes and PureOS; haven’t tested Gentoo

Hi, yes, this is a change from previous version of PureBoot. I had either 13 or 14 installed before, I’m not sure which one.

I used to get textual prompt (not graphical) for a LUKS passphrase before this latest version. And I also used to get about a screenful of other messages from kernel about the boot process before it reached the passphrase prompt.

is this on a default (signed) boot, or an force/unverified one?

On any kind of boot: default, selecting any of the available options in OS Boot menu, manually invoking kexec -l ... + kexec -e and also when booting Fedora 32 from USB stick.

I also had problems with “blank” screen after booting into Debian and had to write my password without seeing prompt. After putting:

GRUB_GFXMODE=1280x720
GRUB_GFXPAYLOAD_LINUX=keep

into /etc/default/grub and running grub-upgrade situation improved.

BTW - since recently it’s impossible to compile coreboot under Debian unstable - it calls “python” which was removed from Debian (no more Python2). I haven’t tried linking python3 to python. But, OTOH, using flashtool from Debian worked, after changing script not to test for “-o” option, and not using it.

I think that’s update-grub

Thanks for the suggestion @serpent. I tried that but it didn’t affect my boot experience.

I’m using PureBoot and it doesn’t actually use grub for booting. And the lines in the generated grub.cfg affected by GRUB_GFXMODE and GRUB_GFXPAYLOAD_LINUX settings aren’t used at all by PureBoot. Unless I have misunderstood something.

My understanding is that this script is used in PureBoot to parse the grub.cfg: https://source.puri.sm/coreboot/pureboot/-/blob/release-15/initrd/bin/kexec-parse-boot

My default menuentry in grub.cfg looks like this:

menuentry 'Gentoo GNU/Linux, with Linux 5.4.72-gentoo' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.72-gentoo-advanced-/dev/mapper/luks-6aa31493-ba6b-47bf-8afb-15f385d55f2e' {
        load_video
        if [ "x$grub_platform" = xefi ]; then
                set gfxpayload=keep
        fi
        insmod gzio
        insmod part_msdos
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  ded6ecdb-dcd1-47a9-8276-90f0c4015a59
        else
          search --no-floppy --fs-uuid --set=root ded6ecdb-dcd1-47a9-8276-90f0c4015a59
        fi
        echo    'Loading Linux 5.4.72-gentoo ...'
        linux   /vmlinuz-5.4.72-gentoo root=/dev/mapper/luks-6aa31493-ba6b-47bf-8afb-15f385d55f2e ro  rd.luks.uuid=6aa31493-ba6b-47bf-8afb-15f385d55f2e resume=/dev/mapper/luks-6aa31493-ba6b-47bf-8afb-15f385d55f2e resume_offset=6750454 iommu=pt
        echo    'Loading initial ramdisk ...'
        initrd  /initramfs-5.4.72-gentoo.img
}

To my understanding that parsing script in PureBoot only reads the linux and initrd line which are then used to execute kexec.

Can someone post the kernel boot parameters that PureOS places to its grub.cfg? I wonder if I’m missing something crucial in my setup.