Rock Pi S eMMC support?

TLDR: Is there a support for booting from eMMC on Rock Pi S?
Hi, I recently got myself a Rock PI S with onboard Emmc which I am planning on using in a lot of projects. The Diet Pi OS worked perfectly from SD but since I want to deploy it without using SD, I wanted to use the emmc. The official images (Debian, Ubuntu) are huge, so I dont want to use them, but they, after flashing to emmc, booted well. Unlike diet pi and armbian. Is anyone using diet pi on onboard emmc?
Thanks in advance.

Edit: using probably the newest bootloader from official website: RockpiS/dev/sdnand-install - Radxa Wiki

Nasty, I just migrated our image from using the old Radxa kernel/bootloader to using the new Armbian one, but looks like there are move caveats than missing Bluetooth support. I’ll have a look into the Armbian forum and give you instructions about how to upgrade to “edge” kernel when I’m back home.

Hello. Anything new at this? :slight_smile: I am not able to boot Diet Pi from NAND unfortunately … :frowning:

I agree, would be great to be able to use the NAND on Rock Pi S.
when flashing dietpi using these instructions, but the dietpi image (DietPi_ROCKPiS-ARMv8-Bullseye.img), the boot fails with:

...
[ 3.268183] rk_gmac-dwmac ff4e0000.ethernet: TX Checksum insertion supported
[ 3.269002] rk_gmac-dwmac ff4e0000.ethernet: Wake-Up On Lan supported
[ 3.269780] rk_gmac-dwmac ff4e0000.ethernet: Normal descriptors
[ 3.270317] rk_gmac-dwmac ff4e0000.ethernet: Ring mode enabled
[ 3.270839] rk_gmac-dwmac ff4e0000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[ 3.445504] RTL8201F Fast Ethernet stmmac-0:00: attached PHY driver (mii_bus:phy_addr=stmmac-0:00, irq=POLL)
[ 3.446414] RTL8201F Fast Ethernet stmmac-0:01: attached PHY driver (mii_bus:phy_addr=stmmac-0:01, irq=POLL)
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Waiting for root file system ... Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
done.
Gave up waiting for root file system device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! UUID=098e0736-a567-4bf9-b6a1-b8a7dfe58cfb does not exist. Dropping to a shell!
(initramfs)

@MichaIng let me know if I can provide any more information that would be helpful to you. I am happy to help but I would not know where to start debugging this myself :confused:

Does this blog post help?

Thanks for the tip, unfortunately I tried that already and failed :confused:
I think the issue is, that DietPi does not recognise the nand flash.
The tutorial fails in the first step…
the only drive recognized by lsblk is the sd-card:

dietpi@mew:~$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk0     179:0    0 14.6G  0 disk 
└─mmcblk0p1 179:1    0 14.5G  0 part /

I think the nand flash is missing.

dietpi@mew:~$ ls /dev
autofs           kmsg          pts       tty20  tty41  tty62    vcs6
block            kvm           random    tty21  tty42  tty63    vcsa
btrfs-control    log           rfkill    tty22  tty43  tty7     vcsa1
bus              loop-control  shm       tty23  tty44  tty8     vcsa2
char             loop0         snapshot  tty24  tty45  tty9     vcsa3
console          loop1         snd       tty25  tty46  ttyS0    vcsa4
cpu_dma_latency  loop2         stderr    tty26  tty47  ttyS1    vcsa5
cuse             loop3         stdin     tty27  tty48  ttyS2    vcsa6
disk             loop4         stdout    tty28  tty49  ttyS3    vcsu
ecryptfs         loop5         tty       tty29  tty5   ttyS4    vcsu1
fd               loop6         tty0      tty3   tty50  ttyS5    vcsu2
full             loop7         tty1      tty30  tty51  ttyS6    vcsu3
fuse             mapper        tty10     tty31  tty52  ttyS7    vcsu4
gpiochip0        mem           tty11     tty32  tty53  uhid     vcsu5
gpiochip1        mmcblk0       tty12     tty33  tty54  uinput   vcsu6
gpiochip2        mmcblk0p1     tty13     tty34  tty55  uleds    vfio
gpiochip3        mqueue        tty14     tty35  tty56  urandom  vga_arbiter
gpiochip4        net           tty15     tty36  tty57  vcs      vhci
hugepages        null          tty16     tty37  tty58  vcs1     vhost-net
i2c-1            port          tty17     tty38  tty59  vcs2     zero
iio:device0      ppp           tty18     tty39  tty6   vcs3
initctl          psaux         tty19     tty4   tty60  vcs4
input            ptmx          tty2      tty40  tty61  vcs5

Please try with edge kernel and see whether the NAND flash is detected then:

apt install linux-{image,dtb}-current-rockchip64
reboot

thank you @MichaIng :smiley:
after running

apt install linux-{image,dtb}-edge-rockchip64
reboot

I get:

dietpi@mew:~$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk2     179:0    0 14.6G  0 disk 
└─mmcblk2p1 179:1    0 14.5G  0 part /
mmcblk1     179:32   0  964M  0 disk

so I guess time will solve this issue… as soon as the armbian current kernel and the dietpi gets updated it should work right?!

btw.:
the current dietpi kernel not recognizing nand flash is: 5.15.93-rockchip64
the edge kernel that worked is: 6.1.11-rockchip64

1 Like

Yes exactly. I hope that rockchip64 current moves to v6.1 soon for several other reasons. On ROCK Pi S in particular, it also adds support for overclocking, lower voltage, CPUfreq and/or CPU temperature. I think it was CPUfreq: With current 5.15, the clocks stay at 1.4 GHz all the time, right? (cpu command)
With 6.1 there is proper frequency scaling.

I was able to boot 8.22.3 from SD (using the older RK3308 board, 256MB w/o NAND).