I have searched the existing open and closed issues
Required Information
DietPi version | 9.7
Distro version | n/a
Kernel version | n/a
Architecture | n/a
SBC model | Odroid XU4
Power supply used | 5V 6A
SD card used | eMMC - Hardkernel Ubuntu for XU4
Steps to reproduce
New eMMC from Odroid - preinstalled with their Ubuntu 22.04 (Tested OK)
Flashed DietPi image with Etcher
Boot fails and drops to initramfs
Flashed XU4 eMMC recovery image from Odroid
Booted to the Andriod OS that puts on eMMC - OK
Re-flashed DietPi
Boot fails
Flashed back original Odroid Ubuntu image
Boots OK
Flashed DietPi img again
Boot fails
Expected behaviour
Boots
Actual behaviour
Not booting
Messages below
Extra details
… mmc_host mmc0: There is no candidates value about clksmpl! mmc0: tuning execution failed: -5 mmc0: error -5 whilst initializing MMC card
…
Gave up waiting for root file system device. Common problems:
...
ALERT! UUID=7fdb5035-1637-4a78-b6f1-5775a14ceebf does not exist. Dropping to a shell!
The DietPi image was downloaded from DietPi site yesterday.
The image was flashed to eMMC with Hardkernel eMMC/SD adaptor in Transcend SD/USB
Etcher used for flashing
Tried Etcher both on Windows and Mint
Same result
In the past when flashing Armbian, pre-flashing the XU4 eMMC partition recovery solved eMMC issues. Not this time.
I know there are plenty of other similar topics - but they seem to be resolved by flashing the recovery image first, which I already tried (multiple times).
I also tried updating uboot whilst running on the Odroid Ubuntu OS (as indicated on their recovery page) - no change.
Any help appreciated as I would like to give DietPi a try!
Hmm, generally the Armbian build system uses the original Hardkernel U-Boot sources, without any apparent patches which look like they could break it. But I do see that the function which flashes U-Boot does it differently when doing to eMMC, as there are these /dev/mmcblk0boot0 like special devices. Of course when preparing an image, it can only be flashed the regular way, so maybe it does generally not work to have an image which boots from eMMC right away without flashing U-Boot this special way first.
Can you try this:
Flash DietPi to an SD card and boot that one.
Then run the following, BUT check whether /dev/mmcblk0 is the eMMC, as might might be /dev/mmcblk1 (and the other one the SD card). Or just flash to both:
This issue also applies to Odroid C2:
If you install dietpi to eMMC using the sd-card adapter and put the eMMC on its socket on the board the device will not boot.
My solution was to boot the Odroid C2 from the eMMC on the sd-card adapter in the sd-card port of the device, use dietpi-config to flash the bootloader on mmcblk0, shutdown and than boot from eMMC on its socket. That worked too.
Nasty that this additional step is needed. I wonder whether it is due to a change in the bootloader or in the kernel. Worth to have a look at Armbian commits, whether it is recognised and fixed there. I do not have enough insights to know what to even look for in code.