Is it possible to boot with a nvme on rock4SE

Hello, I have installed a nvme disk crucial P310 PCie Gen 4 M.2 SSD on my rock4SE.

I’ve tried to install the os debian 12 with the tutorial on the radxa website. Boot with the SD card was ok and I can see the nvme disk, and install the OS on it. But I can’t do the step to update the SPI because the rock 4SE don’t have this componant. And after If I remove the SD card, my rock4SE don’t want to boot with my mvme.

So, I would like to know if it is possible to boot on a nvme on a rock4SE without SPI chip? And how to resolve my problem.

Thank you.

I have the same problem. I have tried flash the SPI-unit, with rsetup, but there was only one choice, so I assume it was the same as already was on the SBC, so I did not flash. What ave you done? The alternative are to have the SD-card in, with the bootloder pointing to nvme, I think.

Thank you for your message.As I found no other solution, I think I’m going to use the SD-card to boot and try to modify the bootloader to pointing to nvme. I will tell you if it is ok.

In Armbian for radxa zero 3w you can edit /boot/env*.txt and choice a UUID-partition to boot, but in “rock-4se_bookworm_kde_r2.output_512.img” they have retired env*.txt and say u shall use ‘rsetup’ for overlays and ‘sudo nano /etc/kernel/cmdline && sudo u-boot-update’. But when I look up with sudo blkid, the nvme0n1p3 has the same UUID as mmcblk1p3 with the same label!! I thought UUID should be unik? I flashed the card with the same image. So now have the SD-card and the NVMe same UUID, so I can not do as I did in Armbian :frowning:

If you do a low-level write of a ‘disk‘ image, the UUID’s of the partitions and filesystems do not change of course, so no surprise you end up in this situation. Armbian probably creates or sets new UUID’s while copying the rootfs and maybe other filesystems from 1 storage device to the other, I never used it. I have always done it manually although I have ‘cloning’ scripts that can do it automated as well, but only use those when disaster happened (so restore from backup or so).

You can look up the manual for Ext4 tooling or any other filesystem how to set or change UUID of an existing filesystem or how to set a known UUID when creating new empty filesystem. Also consider what is in /etc/fstab and some Linux distro’s also use UUID’s in initrd, so that needs more effort.

Tanks. Off course.

I have now manage to change UUID on rootfs, but when I reboot I come to a login windows. But I can not login. Have no username or password and I have tried rock-rock, radxa-radxa, but I can not login.
Any suggestions?

I’ve got the same problem as you Johan. It is when I flash a new SD card with a new image of debian bookworm. If I try to boot with this SD and if my nvme is connected it’s impossibe to log with radxa or rock.

If I disconnect the nvme and reboot, I can log with radxa-radxa. After if I reconnect the nvme the boot is correct with radxa-radxa.

For me, it’s mean that with a new installation of debian, the rock4SE seems partially boot with nvme.

But my problem is not resolve too. I’ve try to modify the file /boot/extlinux/extlinux.conf with an editor to modify the uuid of the disk to the uuid of the ext4 partition of my nvme. When I do it, i just arrive to a prompt “initframs”. I don’t know what it means.

Someone have any suggestion?

Thanks

1 Like

The bootloader (U-Boot) needs to be stored somewhere. When no SPI nor eMMC, the only option is SD-card. NVME, SATA, USB, Ethernet or else are not understood by the bootROM.

So I usually take an older/smaller/unused SD-card, wipe it and write only U-Boot to it. Result is that it will appear empty as it has no partitions nor a partition table. Only a binary blob that is U-Boot and sits between the partition table and 1st partition. You should browse docs on how to write a U-Boot to an SD-card.

Other option is to take a complete OS image (so an SD-card that boots the computer from SD-card) and delete its partitions only, not completely wipe it. So it also will appear empty, but the all data is still there including the U-Boot. I use fdisk or gdisk usually for that. You can also wipe boot config files like boot.scr and extlinux*. Or edit them, but you need to know all details about bootloading as there are many options. Only U-Boot on the SD-card is just what is needed and lowest risk of double/wrong UUIDs etc.

If you forgot the password, an easy method is to mount the rootfs partition on the NVMe and wipe it with the help of passwd. see man passwd how to do that. Note that all this cannot be done from Windows, you need a running Linux computer. But easy as your ROCK4SE boots from SD-card, so from there take further action w.r.t. the NVME.

Sorry but I’m always blocked withe the same problem : the login to new OS.

I have created on the nvme the same image than on my SD card. I boot on the SF card. At startup I have a screen to boot with login radxa. Then I have modified the file fstab to mount my nvme at startup, and modified the /boot/extlinux.conf to redirect to my nvme. When I reboot it seems ok, but i dont have the same screen to log. I don’t have anymore the screen with two choices : rock or radxa. I juste have a screen to enter user and password. I tried with radxa and rock but it failed

Could you help me because as I can’t log on my rock4SE, I can’t modify the password. I don’t know if there is a user by default and how to do?

I flashed one SD-card and the NVMe with Debian-KDE. Then I change UUID till 12345678-1234-1234-1234-0123456789ab (so the right number of digets between --sign.
And the I update u-boot.
I reboot and came again to a login with no known user and did not work.
I change to a Diet-pi-SD. And boot up and mounted rootfs from the NVMe:
sudo mkdir /mnt/temp_root
sudo mount /dev/nvme0n1p3 /mnt/temp_root

Then I go to and edit /mnt/temp_root/etc/shadow

The first row was root:*:
Where the * is it use to be a hash-code, but not here. I erased the *-sign and reboot and came to the KDE-login, with the same problem.
But I use ctrl+alt+F2 and terminal appear, and I should log in as root there (but not in the KDE-inlog. Now will I se how I come from root :slight_smile: Probably I need to create a user… /Cheers

/Edit. I add a user as root, but leave out password, or really, I write wrong, so I get to /etc/shadow and erase a !-sign appeared with my user in shadow, then reboot and I came in in KDE. :slight_smile:

Thank you very much. I have done what you have described : and it was ok.

My rock 4SE boot with SD card with the OS on the nvme.

Thanks one more time.