Creating this topic to not pollute anymore the R5S one as the SBCs can have some minor differences.
My Setup
Nanopi M6 + SD Card + NVMe + Ethernet
NO emmc
NO wifi
These are the tests I already made based on the comments in the above post
Scenario 1 - DietPi Only
This would ideally be the preferred method as it would not go out of the DietPi ecosystem
Flashed DietPi on SD Card and booted the system
Completed the first time setup (including the system update and the password setting) and my M6 now starts perfectly from the SD Card (I’m able to login with ssh etc …)
This is the starting disk status, mmcblk1 being the SD Card
root@DietPi:/tmp# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mmcblk1 179:0 0 7.4G 0 disk
└─mmcblk1p1 179:1 0 7.4G 0 part /
nvme0n1 259:0 0 931.5G 0 disk
I followed the instructions posted by @MichaIng
cd /tmp
wget https://dietpi.com/downloads/images/DietPi_NanoPiM6-ARMv8-Bookworm.img.xz
apt install xz-utils
xz -d DietPi_NanoPiM6-ARMv8-Bookworm.img.xz
dd if=DietPi_NanoPiM6-ARMv8-Bookworm.img of=/dev/nvme0n1 bs=1M status=progress
This is the disk status after the commands, now system is still booting and running from SD card but the nvme is partitioned as the dietpi image before the first setup
root@DietPi:/tmp# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mmcblk1 179:0 0 7.4G 0 disk
└─mmcblk1p1 179:1 0 7.4G 0 part /
nvme0n1 259:0 0 931.5G 0 disk
├─nvme0n1p1 259:1 0 1.1G 0 part
└─nvme0n1p2 259:2 0 1M 0 part
finally applying the last suggested operation to maintain only the basic bootloader on sdcard
parted /dev/mmcblk1 rm 1
<selected 'Ignore'>
reboot
Nanopi is unfortunately stuck with fixed red led, doesn’t boot
Scenario 2 - Start from Armbian
Armbian provides a Nanopi M6 image that allows, using armbian-install, to move the system to nvme maintaining only the bootloader on the SD Card
This are the disks after this setup:
root@nanopi-m6:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
mmcblk1 179:0 0 30G 0 disk
└─mmcblk1p1 179:1 0 29,7G 0 part /boot
/media/mmcboot
zram0 252:0 0 15,5G 0 disk [SWAP]
zram1 252:1 0 50M 0 disk /var/log
zram2 252:2 0 0B 0 disk
nvme0n1 259:0 0 931,5G 0 disk
└─nvme0n1p1 259:1 0 931,5G 0 part /var/log.hdd
/
I then launched the following commands (needed because armbian uses a nested /boot folder)
umount /boot
mv /media/mmcboot/boot/{,.??,.[^.]}* /media/mmcboot/
rmdir /media/mmcboot/boot
umount /media/mmcboot
sed -i '/[[:blank:]]\/boot[[:blank:]]/d' /etc/fstab
sed -i 's|/media/mmcboot|/boot|' /etc/fstab
systemctl daemon-reload
mount /boot
reboot
When it restarted I launched the DietPi conversion script
bash -c "$(curl -sSfL 'https://raw.githubusercontent.com/MichaIng/DietPi/master/.build/images/dietpi-installer')"
filled up the requested fields selecting Nanopi M6 as target and master as the branch.
The script proceeded without issues, but on reboot, as the other users pointed out, there is no way to reach through ssh the nanopi m6 (it waits at the dietpi login on hdmi, but ssh and ping shows unreachable)
Logging in will start the DietPi first setup that will immediately fail as the network is not reachable.
These are the data I managed to obtain