Running mainline U-Boot 2022.01 from Armbian on a Radxa Zero, the box image fails to boot because LZO decompression is not enabled in mainline on this board. I enabled LZO, rebuilt U-Boot, and now it looks like LibreELEC boots from SD, goes to resize the filesystem and ends up with file system write errors & corruption.
Tried 3 different SD cards, from 2 different brands. So I guess either the SD slot is highly marginal, or perhaps an issue in LE's DT? I'll have to play with it some more from Armbian and see if that also causes filesystem corruption. Armbian is loaded into the eMMC and is running 5.16.9 kernel from mainline.
Testing from Armbian to SD cards:
kernel: [ 269.339082] mmc0: error -84 writing Cache Enable bit
kernel: [ 269.339107] mmc0: tried to HW reset card, got error -84
kernel: [ 269.378798] I/O error, dev mmcblk0, sector 2080 op 0x1:(WRITE) flags 0x100000 phys_seg 87 prio class 0
kernel: [ 269.378827] Buffer I/O error on dev mmcblk0p1, logical block 32, lost async page write
kernel: [ 269.378841] Buffer I/O error on dev mmcblk0p1, logical block 33, lost async page write
kernel: [ 269.378846] Buffer I/O error on dev mmcblk0p1, logical block 34, lost async page write
kernel: [ 269.378852] Buffer I/O error on dev mmcblk0p1, logical block 35, lost async page write
kernel: [ 269.378857] Buffer I/O error on dev mmcblk0p1, logical block 36, lost async page write
kernel: [ 269.378862] Buffer I/O error on dev mmcblk0p1, logical block 37, lost async page write
kernel: [ 269.378867] Buffer I/O error on dev mmcblk0p1, logical block 38, lost async page write
kernel: [ 269.378872] Buffer I/O error on dev mmcblk0p1, logical block 39, lost async page write
kernel: [ 269.378890] Buffer I/O error on dev mmcblk0p1, logical block 40, lost async page write
kernel: [ 269.378896] Buffer I/O error on dev mmcblk0p1, logical block 41, lost async page write
kernel: [ 269.380164] I/O error, dev mmcblk0, sector 17216 op 0x1:(WRITE) flags 0x100000 phys_seg 87 prio class 0
kernel: [ 269.405032] FAT-fs (mmcblk0p1): error, fat_get_cluster: invalid cluster chain (i_pos 484866)
kernel: [ 269.405056] FAT-fs (mmcblk0p1): Filesystem has been set read-only
kernel: [ 269.405065] FAT-fs (mmcblk0p1): error, fat_free_clusters: deleting FAT entry beyond EOF
kernel: [ 269.625336] FAT-fs (mmcblk0p1): error, fat_get_cluster: invalid cluster chain (i_pos 484866)
So it looks like both are broken, hardware is broken, or it's the kernel since they are both on 5.16. There is also similar initialization errors (false starts) during detection, shows up 2x in dmesg:
[ 2.465881] mmc0: error -84 reading general info of SD ext reg
[ 2.465914] mmc0: error -84 whilst initialising SD card
Then eventually detected:
[ 4.643469] mmc0: new high speed SDHC card at address 59b4
[ 4.649821] mmcblk0: mmc0:59b4 LX32G 29.5 GiB
[ 4.651880] mmcblk0: p1