How to boot from SD card but leave rest of the system on NVMe drive?


Recommended Posts

Hi,

I have RockPro64 board and NVMe drive. This board doesn't support booting from NVMe so I need to have spearate boot partition. Here's my /etc/fstab file (on NVMe filesystem):

 

UUID=645f4a77-3e04-48da-ab41-0de8a81c1c13	/boot	ext4	defaults,noatime,nodiratime,commit=600,errors=remount-ro	0 1
UUID=c94a693a-74df-4e63-a466-2107a287f26a	/	ext4	defaults,noatime,nodiratime,commit=600,errors=remount-ro	0 1
tmpfs						/tmp	tmpfs	defaults,nosuid							0 0

 

In my opinion, it shouldn't work because if /etc/fstab is on a different partition, how can it be mounted? But I heard that initramfs stored on /boot will contain drivers and information necessary to mount the root filesystem. Once the root filesystem is mounted, /etc on it is accessible and fstab is processed.

 

So here is my SD card (UUID=645f4a77-3e04-48da-ab41-0de8a81c1c13) content (this what was previously in the /boot directory):

 

armbianEnv.txt                  boot.bmp  boot.scr                  dtb                    Image                         System.map-5.8.17-rockchip64  uInitrd-5.8.17-rockchip64
armbian_first_run.txt.template  boot.cmd  config-5.8.17-rockchip64  dtb-5.8.17-rockchip64  initrd.img-5.8.17-rockchip64  uInitrd                       vmlinuz-5.8.17-rockchip64

 

Here is my NVMe drive (UUID=c94a693a-74df-4e63-a466-2107a287f26a) content (this what was previously in / except /boot, in /boot /dev/mmcblk1p1 is mounted):

 

bin  boot  dev  etc  home  lib  media  mnt  opt  proc  root  run  sbin  selinux  srv  sys  tmp  usr  var

 

I was able to gather this information by booting from USB, then mounting /dev/nvm0n1 in /mnt and /dev/mmcblk1p1 in /mnt/boot, and finally running systemd-nspawn -b -D /mnt. USB is 4th in boot order (after SPI, eMMC and SD card) and when I plugged it into my board it booted successfully, so u-boot flashed to my SPI don't know that my SD card (that is before USB in boot order) contains bootable data. It was able to boot my system when this data was in /boot directory on this same card but can't do it now. Why?

 

Or maybe it's booting and I deduced it wrong...

 

EDIT:

It's booting but then freezes. Even fan isn't working.

Board: Not on the list
Link to post
Share on other sites
Armbian is a community driven open source project. Do you like to contribute your code?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...