NitroPC (2023) cannot find Samsung 970 SSD

I took a Samsung SSD hard drive (and some RAM) from a Librem 14 laptop, put it into the NitroPC (1) M.2 slot (the high one), and tried to boot. I get an EFI shell and no volumes appear. If I plug in a USB drive with a GNU/Linux OS, the EFI shell sees the USB drive and I can boot into it.

It makes sense that it doesn’t boot, because the drive does not have an EFI partition on it, however I don’t think it makes sense that it cannot see the drive at all.

Is this something that would be resolved by using the firmware at Release v2024-05-09 - NitroPC 1 firmware releases · Nitrokey/coreboot-builder · GitHub? I see update nitropc to cb 4.22 · Nitrokey/coreboot-builder@ae49a82 · GitHub updated coreboot and also had some changes around the PCI devices in the devicetree.

Or is it something that I can fix without having to flash firmware?

These PC are sold with different firmware options. You should name the one including release yours uses. The dasharo firmware, I believe from memory, has options to disallow new devices, the new M2 should show up in the menu.

1 Like

Invoice from 2024-08 (not 2023, my mistake) said this:

“NitroPC 1 (none, none, none, no wireless, sealed screws and sealed bag, Type B, North America) Operating System: none Option: I donate for firmware updates”

The UEFI shell says:

UEFI Interactive Shell v2.2

EDK II

UEFI v2.70 (EDK II, 0x00010000)

Then shows the USB device on the mapping table as FS0 with BLK0, BLK1.

When I exit, it says:

FW: 4.22-dirty 11/18/2023

Intel(R) Core™ i7-10710U CPU @ 1.10GHz

65536 MB RAM

That must mean I already have the 2024-05-29 firmware release because it includes coreboot 4.22 and also my order was in 2024-08.

If I don’t have the bootable USB stick plugged in, I see nothing on the mapping table.

“Current Secure Boot State” is “Disabled” as well.

I am confident the Samsung SSD works because I can read from it using a USB enclosure on a separate computer.

1 Like

to make sure you are running 4.22

dmidecode --type bios
BIOS Information
	Vendor: coreboot
	Version: 4.22-dirty
	Release Date: 11/18/2023

If I don’t have the bootable USB stick plugged in, I see nothing on the mapping table.

Have you already installed an OS on your new nvme using a diffrent machine? Or is this your first attempt using nitropc

There is no dmidecode command in the EFI shell but from a live USB distribution I was able to run it. Yes, it shows

Vendor: coreboot
Version: 4.22-dirty
Release Date: 11/18/2023
ROM Size: 16 MB
Characteristics:
  PCI is supported
  PC Card (PCMCIA) is supported
  BIOS is upgradeable
  Selectable boot is supported
  ACPI is supported
  Targeted content distribution is supported
BIOS Revision: 4.22
Firmware Revision: 0.0

Yes, it was the sole drive on the Purism Librem 14. I was able to use a USB enclosure to copy all the data off of it. I don’t see an EFI partition on it.

Oh, and yes, these are my first attempts to run anything on the NitroPC, I ordered it without RAM and without a hard drive.

Is it odd that it doesn’t show up in the mapping table at all? Or does it need an EFI partition in order to show up?

Any other ideas?

If you boot a live image, a simple lspci should enumerate the NVME (as “Non-Volatile memory controller”) on the bus, empty or with any partitions. Same for lsblk or sudo blkid If it does not appear, look through kernel messages (dmesg) for red lines. If it does not appear, there is something going on in the firmware.
Within coreboot uefi shell, you can try if it outputs anything related withcbmem -c.