Installing Debian-based Linux on Librem 13v4 causes kernel panic (attempt to read or write outside of disk 'hd0', kernel offset unable to mount root fs on unknown block)

Hello dear community,

I’ve been daily driving a Librem 13v4 for 5-6 years until recently. On the NVMe drive, I am running PureOS Byzantium. I also use the SATA slot to dual boot and experiment with other free distros, so far been dual-booting with a 1TB SSD drive running NixOS.

I want to repurpose this machine & share it with a more casual user who has some experience with Ubuntu. They need no encryption and may require non-free packages, so I decided to use the SSD to dual-boot with a more vanilla, apt-based Linux, with an ext4 filesystem, without encryption, and with some non-free packages (e.g. bluetooth, steam).
After research showed nothing special needs to be done, I downloaded a bunch of ISOs to a Ventoy drive and got to work.

Hours later, I had tried multiple versions (live CD or installer only) of Debian 12, Debian 11, Ubuntu 24.04, Ubuntu 24.04.06, and Pop OS 2023, all ending up in kernel panics at the first reboot after install, with the following errors:

First, as the Linux (Debian/Ubuntu) loads:

attempt to read or write outside of disk ‘hd0’

Then in stage 1:

Kernel panic - not syncing : VSF: unable to mount root fs on unknwon-block(0,0)
Kernel Offset: 0x27600000 from 0xffffffff81000000 (relocation range: 0xffffffff81000000-0xffffffffbffffffff)

Then it just freezes and begins to run its fans, until I long-press the on button to shut down. There is no way to drop into a grub shell to try to investigate, and booting in recovery mode results in the same error, so I don’t know what other information to provide.

Things I tried with the same outcome:

  • multiple linux images (see above)
  • removing the NVMe and rebooting and reinstalling without the NVMe in
  • installing grub in the SSD with the distro (e.g. Ubuntu didn’t install it)
  • installing Debian on another machine, confirming it boots after install, then inserting the NVMe into the Librem
  • multiple drive partition configurations: default single partition (+swap), default with a separate /home (+swap), and manual partitions configured like this:
    • tried both GPT partition table and MBR partition table
    • unformated, 8MiB, bios-grub label
    • ext4, 422011MiB, mountpoint /, root label
    • linuxswap, 35840MiB, swap label (I tried both large swap (35GB) and small swap (4GB))

What I haven’t tried:

  • Installing PureOS (maybe I should have started with that!)
  • Updating BIOS? I am not familiar with BIOS and boot that much, and I am wary of making the original NVMe not boot.

What worked:

  • the default install of Nixos 24.11 (redone as sanity check)

The only mildly related/similar issue I found is here, but no answers.

Here are the technical details:
Model: Librem 13v4 32GB
SeaBIOS version: rel-1.12.1-1-ge3a914c
SATA disk: Kingston SUV500480G, 480GB
USB stick: 128GB, running Ventoy 1.0.99 (from October 2024)
Hardware name line in the kernel panic: Purism Librem 13 v4, BIOS 4.11-Purism-1 11/26/2019

Please help.

P.S. If I get it to work, I will thoroughly document this.

1 Like

Start with updating Coreboot + SeaBIOS:

1 Like

Thanks for the prompt response.
Never did this before. Risks? Is there any chance my other NVMe drive would not boot or be affected in some way?

1 Like

No risks, with only one non-applicable caveat:

1 Like

Thank you! I don’t think that is the case for 13v4 (the article says before 2017). Is there an idiot proof way to check?
(I’m confident once inside Linux but a complete and utter n00b regarding anything that happens before it boots.)

1 Like

Your boot firmware is Coreboot + SeaBIOS:

See also:

1 Like