Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

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.

  • Author

Ok. I solved the problem. I had to modify u-boot configuration file /boot/armbianEnv.txt. If you are using grub you probably need to modify /boot/grub/grub.cfg.

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.