Micro SD slot on x64 not being recognized reliably

  • Version: LibreELEC 8.90.006 9.0

    Kernel: Linux 4.18.11

    CPU: Intel ATOM x5-Z8500

    Hardware InFocus Kangaroo Plus


    When installing from a USB drive, installation occurs successfully to the internal eMMC. However, the built-in Micro SD card is not recognized nor mounted. Further, it does not show up via parted or df.


    If the Micro SD card is formatted to EXT4 in advance of an installation, the installer can see it and install to it successfully. However, when trying to the boot from the Micro SD card after installation, it triggers the error:

    Code
    1. *** Error in mount_flash: mount_common: Could not mount UUID-5BE6-0135 ***
    2. ### Starting debugging shell for boot step: mount_flash... type exit to quit ###
  • LE has always required a formatted target. The installer script uses the "blkid" command to identify potential install targets and blkid won't show anything unless the storage has been formatted with a filesystem first. It doesn't matter what filesystem is used, only that there is one.


    If you attach a USB keyboard you should be able to run commands. It's attempting to follow the boot=UUID=UUID-5BE6-0135 param to mount /flash and the SYSTEM file to continue booting. The UUID is presumably wrong and boot params in extlinux.conf need to be corrected.

  • Many thanks for the help. Two questions:

    1. Even if I format the Micro SD card to EXT4 it is not recognized (nor mounted) after a successful install to the eMMC. By contrast, a USB thumb drive will be recognized and mounted.
    2. Could the above issue be related to why /flash is looking for the wrong UUID or just unable to mount the correct one?
  • Also, I can confirm this is still occurring with LibreELEC-Generic.x86_64-8.90.007.img. Further, I have tested the same EXT4-formatted Micro SD card via USB by using a card reader, and it is recognized fine.

  • I think the issue is local to your hardware. A bug is not impossible, but it's improbable. We've hardly touched the installer code in 2-years (and not recently) and that means ~50k+ successful 'Generic' installs over time. If there was a big problem we'd have a horde of pitchfork waving villagers putting the forums under siege.

  • Thanks for the tip. Unfortunately, it isn’t recognizing the internal MicroSD card reader when I install to the eMMC, but has no problem with a USB thumb drive. I think it likely is a driver-related issue.

  • It's not a driver problem. Bootloaders need to have an elementary understanding of physical hardware to see and present stuff for boot. When you boot from USB (which the bootloader understands) you end up in the kernel initramfs which has drivers/support for the eMMC/SD card so you can see it as an install target. Once you reboot and attempt to boot directly from that the eMMC/SD hardware (which the bootloader doesn't support or understand) .. you don't boot.


    Hence the suggestion of using another bootloader. If you can boot an Ubuntu LiveUSB image on your device; whatever version of GRUB that the LiveUSB is using works on your hardware and you can use that to boot LE. The only thing you'll need to figure out is the GRUB boot config, but that's never too hard and there's probably some posts in this forum on the topic (i'm being lazy and not Googling it for you).

  • Thanks so much for all of the information! It is incredibly helpful.


    To clarify, I have 64GB of internal eMMC as "built-in" storage as well as a Micro SD card reader that's also built-in. My goal is to install LibreELEC to the internal eMMC memory and then use a Micro SD card for media storage.


    I have no issues getting LibreELEC to install from a USB drive to the internal eMMC. However, the Micro SD is not recognized upon insertion. However, LibreELEC recognizes the same card connected via a USB reader fine.


    Would GRUB configured to boot the eMMC impact the ability of the system to also recognize a Micro SD card inserted into the built-in reader?