I think nixos-hardware is a great call, but I was wondering if there’s a good place on the MNT website too? Do they have some form of community docs?
I finally got unblocked and made some progress on this, but it’s till not great news. I have two ISOs, one is @MartiniMoe’s and the other the one I built on a pocket. My pocket has up-to-date firmware (20251118), but trying to load from either live image (on the pocket) errors when trying to read from MMC with SPL: failed to boot from all boot devices:
41ce typ 24/09/06-09:51:11,fwver: v1.18
ch0 ttot10
ch0 ttot10
ch1 ttot10
ch2 ttot10
ch3 ttot10
ch0 ttot18
LPDDR4, 2112MHz
channel[0] BW=16 Col=10 Bk=8 CS0 Row=18 CS1 Row=18 CS=2 Die BW=8 Size=8192MB
ch1 ttot16
channel[1] BW=16 Col=10 Bk=8 CS0 Row=18 CS1 Row=18 CS=2 Die BW=8 Size=8192MB
ch2 ttot18
channel[2] BW=16 Col=10 Bk=8 CS0 Row=18 CS1 Row=18 CS=2 Die BW=8 Size=8192MB
ch3 ttot16
channel[3] BW=16 Col=10 Bk=8 CS0 Row=18 CS1 Row=18 CS=2 Die BW=8 Size=8192MB
Manufacturer ID:0xff
DQS rds:l0,l0
CH0 RX Vref:34.8%, TX Vref:13.2%,13.2%
DQ rds:h2 l0 h2 h1 h2 h2 l0 l0, h1 h1 h2 h5 h2 h1 h2 h3
DQS rds:h1,l0
CH1 RX Vref:35.2%, TX Vref:13.2%,13.2%
DQ rds:h3 h4 h1 h1 h3 h3 h3 h1, h4 h1 h3 h2 h2 h3 h4 h1
DQS rds:l0,h1
CH2 RX Vref:39.0%, TX Vref:13.2%,13.2%
DQ rds:h2 h1 h3 h1 h3 h3 h3 h6, h2 h2 h2 h2 h4 h1 h5 h2
DQS rds:l0,h1
CH3 RX Vref:37.3%, TX Vref:13.2%,13.2%
DQ rds:h2 h4 h2 h3 h3 h2 h3 h2, h6 h5 h4 h4 h5 h1 h6 h4
stride=0x2, ddr_config=0x4
hash ch_mask0-1 0x20 0x40, bank_mask0-3 0xa00 0x1400 0x2800 0x0, rank_mask0 0x401000
change to F1: 528MHz
ch0 ttot10
ch1 ttot10
ch2 ttot10
ch3 ttot10
change to F2: 1068MHz
ch0 ttot12
ch1 ttot12
ch2 ttot12
ch3 ttot12
change to F3: 1560MHz
ch0 ttot14
ch1 ttot14
ch2 ttot14
ch3 ttot14
change to F0: 2112MHz
ch0 ttot18
ch1 ttot18
ch2 ttot18
ch3 ttot16
out
U-Boot SPL 2024.10 (Jan 01 1980 - 00:00:00 +0000)
Trying to boot from MMC2
mmc_load_image_raw_sector: mmc block read error
Trying to boot from MMC2
mmc_load_image_raw_sector: mmc block read error
Trying to boot from MMC1
mmc_load_image_raw_sector: mmc block read error
SPL: failed to boot from all boot devices
ERROR ### Please RESET the board
I’m building the images, flashing them to a microsd, then verifying that they can be mounted. Here’s the partition info from fdisk:
❯ sudo fdisk /dev/sda -x
Disk /dev/sda: 29.54 GiB, 31719424000 bytes, 61952000 sectors
Disk model: STORAGE DEVICE
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 441999A8-2256-4D48-AAE2-658CDC5AA573
First usable LBA: 2048
Last usable LBA: 61951966
Alternative LBA: 61951999
Partition entries starting LBA: 2
Allocated partition entries: 128
Partition entries ending LBA: 33
Device Start End Sectors Type-UUID UUID Name Attrs
/dev/sda1 32768 4106239 4073472 0FC63DAF-8483-4772-8E79-3D69D8477DE4 0EDC91A3-5CD6-43F0-87E5-AC9E545DE578 LegacyBIOSBootable
And the card itself seems to have everything in the right locations (is extlinux.conf supposed to be at /boot/extlinux/extlinux.conf?)
❯ ls -lisah /run/media/stites/NIXOS_ROOT/{*/,}*
1795 1.4G -r--r--r-- 1 root root 1.4G Dec 31 1969 /run/media/stites/NIXOS_ROOT/nix-store.squashfs
/run/media/stites/NIXOS_ROOT/boot:
total 16K
13 4.0K drwxr-xr-x 4 root root 4.0K Dec 31 1969 .
2 4.0K drwxr-xr-x 4 root root 4.0K Dec 31 1979 ..
14 4.0K drwxr-xr-x 2 root root 4.0K Dec 31 1969 extlinux
16 4.0K drwxr-xr-x 3 root root 4.0K Dec 31 1969 nixos
/run/media/stites/NIXOS_ROOT/boot/extlinux:
total 12K
14 4.0K drwxr-xr-x 2 root root 4.0K Dec 31 1969 .
13 4.0K drwxr-xr-x 4 root root 4.0K Dec 31 1969 ..
15 4.0K -rw-r--r-- 1 root root 646 Dec 31 1969 extlinux.conf
/run/media/stites/NIXOS_ROOT/boot/nixos:
total 84M
16 4.0K drwxr-xr-x 3 root root 4.0K Dec 31 1969 .
13 4.0K drwxr-xr-x 4 root root 4.0K Dec 31 1969 ..
18 4.0K dr-xr-xr-x 41 root root 4.0K Dec 31 1969 j49vilxnwr1800jfz48w4jpdk6k2mabv-linux-6.19.6-mnt-reform-dtbs
17 60M -r--r--r-- 1 root root 62M Dec 31 1969 j49vilxnwr1800jfz48w4jpdk6k2mabv-linux-6.19.6-mnt-reform-Image
1794 24M -r--r--r-- 1 root root 24M Dec 31 1969 k091kzvsls5nwfw6v3ajd798gv736vik-initrd-linux-6.19.6-mnt-reform-initrd
The only other thing I can think of is that these are very old reforms that haven’t been updated… so maybe my u-boot version is really old? I am currently on version `U-Boot 2024.10`[1], but I’m not sure I’m even getting to u-boot with the current error.
Any help here would be appreciated!
[1]: actually, I think this is in the ballpark of correct, the the reform-rk3588-uboot repo uses collabora’s uboot, last updated in 2024
There are wikis as part of every gitlab project on source.mnt.re. I can also mark posts in this discourse as a wiki.
That error should only happen sometimes and will probably go away once you power cycle the board. Can you confirm?
Yes. Your problem is not extlinux.conf according to your output.
You are in u-boot. But u-boot sometimes fails to read from mmc.
Can you confirm that you can boot the latest official Debian-based system images?
Is that linux-firmware? I ask because linux-firmware gets a new release every month. Current is 20260410: https://search.nixos.org/packages?query=linux-firmware
That error should only happen sometimes and will probably go away once you power cycle the board. Can you confirm?
It doesn’t go away, unfortunately. That said, this boots my debian image just fine.
For the Debian-based system images, I am seeing: `U-Boot 2024.10 MNT Pocket Reform with RCORE RK3588 Module 2026-01-28-g424c714eb247-dirty (Jan 27 2026 - 22:55:37 +0000)` in the u-boot output. From a terminal:
$ uname -a
Linux tmp 6.19.8-mnt-reform-arm64 #1 SMP PREEMPT Debian 6.19.8-1+reform20260321T104947Z (2026-03-2 aarch64 GNU/Linux
Is that linux-firmware? I ask because linux-firmware gets a new release every month. Current is 20260410: https://search.nixos.org/packages?query=linux-firmware
No, this is the mnt reform firmware listed by Gnome Firmware (“MNT Research Pocket Reform System Controller 1.0” and “MNT Research Pocket Reform Image 1.0”). I’m not sure what version debian builds, but for the nix flake I am pinned to 25.11. Building a nixos-unstableimage gives me this error:
error: The option `fileSystems."/iso".fsType' was accessed but has no value defined. Try setting the option.
I would assume vanilla linux-firmware works on the Pocket too, but as I do not have a Pocket I am not certain.
With regard to the no value defined-error: can you try to set fileSystems.”/iso”.fsType to the filesystem of that iso, or even leave out the definition forfileSystems.”/iso” entirely? You’ll want to start with 26.05 on your Pocket as support for 25.11 ends in June.
And while I’m adding to this topic I might as well provide an alternative way of installing NixOS on unsupported (by NixOS installer) hardware:
Boot the original Debian that came with the Pocket.
Install nix with sudo apt install nix-bin
Configure nix with echo ‘extra-experimental-features = flakes nix-command’ | sudo tee -a /etc/nix/nix.conf
Start a shell with utilities to install NixOS (add tools for the filesystem of your choice):
nix shell -- nixpkgs#{coreutils-full,dosfstools,f2fs-tools,fscrypt-experimental,gitMinimal,gptfdisk,nixos-install-tools,util-linux,vim}
Create filesystems for / and /boot, mount them under /mnt and /mnt/boot, create a config with nixos-generate-config --root /mnt, edit /mnt/etc/nixos/*.nix, and install into /mnt with nixos-install
Did you upgrade your u-boot on emmc after January 27 this year? If not, then this suggests that you have no u-boot on your emmc and then rk3588 will load u-boot from sd-card. At that point, your problem might be a broken u-boot. Try flashing a known-working u-boot image to your sd-card, for example the one which you see working right now to boot Debian.
Looks like it was me not having flashed the bootloader to emmc! I guess I knew you needed to do that step, but doing it didn’t really register
. I got @MartiniMoe’s image to work (thank you!) but I had some trouble getting my own unstable/26.05pre image working and am hitting a black screen.
I’m noticing that there the kernel is different for @MartiniMoe’s image (tagged 26.05pre) vs the one I built yesterday, so there are a couple more things for me to try. I also had to modify @leif’s code to set the fsType (to "vfat”), which seemed… incorrect.
Edit:
Just a quick followup (no need to ping everyone). It looks like my modifications to nixos-hardware are, in fact, a problem and setting fsType = "vfat"is problematic for getting a working 26.05 image. I would love some help building an up-to-date image, but for anyone else who runs into this issue, pinning to 25.11 is good enough to get something local working. I assume that there is just an issue with the live image format and actually installing NixOS with 26.05 should be fine (that will happen next).
If you are experimenting with u-boot, then I would recommend not flashing it to emmc but leaving it empty. With an empty emmc, rk3588 will read u-boot from the sd-card. If you every have a broken bootloader on the sd-card, flashing a different one using another device is easy. If you flash a broken u-boot to emmc, then recovery becomes tricky because you no longer can boot the pocket reform to fix your emmc.
Anyone here upgraded to NixOS 26.05 with the rk3588? For me it doesn’t boot anymore now
will have to investigate, maybe on the weekend…
// Okay so this was just an issue with gdm v50 which does not work anymore when not having also gnome installed. I switched to greetd and everything is fine now