RockPro64 boots on SD but not on eMMC

  • Hello there,

    I've been using my RockPro64 for a couple of weeks booting from a SD card without issues. The thing is that I've just received my eMMC module and flashed the LibreElec image (based on instructions from the Pine64 wiki) but I got this error when trying to boot it for the first time:

    Code
    rockpro64 emmc grep: /proc/net/pnp: np such file or directory  ***
    Error in mount_flash: mount mount_common: Could not mount UUID ...

    ...

    followed by several other errors and ending up with a Kernel Panic.

    First I thought I had a defective eMMC card, but I tried one of ayufan images and it worked perfectly on the very first try. By the way I kept the sd card installation and it keeps booting from it without errors.

    These are the LibreELEC images I tried so far: LibreELEC-RK3399.arm-9.1.502-rockpro64 (the latest stable one) and RK3399.arm-9.80-nightly-20191031-cfe1640-rockpro64 (the latest nightly one).

    I tried to flash them using both BalenaEtcher (with default configurations) and the following dd line (both on Linux and macOS, and from two different computers):

    sudo gdd if=bionic-minimal-rockpro64-0.9.14-1159-arm64.img of=/dev/disk6 bs=4M conv=fsync status=progress

    (I've tried a couple of variations, as for example the macOS coreutils gdd and Linux dd, another values to parameter bs, etc. No success).

    Am I doing something wrong? Isn't the LibreELEC images compatible with eMMC modules? Could anyone please point me in the right direction?

    Edited once, last by xleox (November 7, 2019 at 11:42 PM).

  • Hi xleox,

    try manually fresh installation on the device:

    - boot libreelec from sd card.

    - make a libreelec backup.

    - copy libreelec backup

    - copy the image file to libreelec, for example in the path Downloads..

    - ssh session to libreelec

    - use parted /dev/your_emmc (print ;to look partitions, rm #number; to delete all partitions on emmc; possibly umount emmc partitions)

    - go to path download

    - dd if=LibreELEC-RK3399.arm-9.1.502-rockpro64.img of=/dev/your_emmc bs=1M && sync

    - remove sd and reboot

    - if it worked, restore backup

    Greetings

  • Hi Joern-p,

    Thank you very much for your prompt reply. You see, the thing is that when I boot with both the SD card and the eMMC module inserted, although it boots normally from the SD card after boot it apparently doesn't recognize the eMMC module (so that I imagine I won't be able to use parted, dd nor any other tool on the eMMC from the running LibreELEC).

    In fact, this part of dmesg probably gives a hint on what's going on (I guess mmc1 would be the inserted secondary eMMC module):

    I googled it and apparently it's due to some lack of support in kernel to this given eMMC. That would explain why it works on other images (probably Ayufan's is optimized to that specific feature and the RockPro64 version of LibreELEC isn't).

    So the problem is I can flash LibreElec image on the eMMC but I can neither boot it as the system disk nor boot it as a secondary disk.

    I really don't know what to do now.

  • Mainline and Nightlies images of RK3399 doesn't support eMMC device block yet.

    If you want the eMMC support then try images by balbes150

    Hi there Aciel,

    Thank you for your reply. I've taken a look but apparently there's no image by balbez150 especially to the RockPro64 board.

    Anyway, I've seen a thread referring to a image developed to the NanoPC T4 board. Is this the one I'm supposed to use?

  • Hi there Aciel,

    Thank you for your reply. I've taken a look but apparently there's no image by balbez150 especially to the RockPro64 board.

    Anyway, I've seen a thread referring to a image developed to the NanoPC T4 board. Is this the one I'm supposed to use?

    He builds same images for all the boards. Here https://yadi.sk/d/qgyvmkow5oqcha/kodi-19, get the Kernel 4 images as they are more stable.

    After you burn the image to SDCard, you'll have to edit extlinux.conf on /flash ppartition and set the dtb according to which ever board you have. After your 1st time boot to LE, from there you can start the procedure to move to eMMC from within LE Configuration.