I've been trying to bring up Armbian on my Banana Pi M2 Ultra (with A40i SoC).
First I tried using the community rolling release, and then building it myself from source code. In every case, it was failing to boot; on the HDMI console it was hanging at the stage where the initrd was attempting to scan for the root partition. ("Scanning for btrfs filesystems")
Taking a closer look at the verbose output of the UART console during a boot attempt, I saw that there was an error message about the sunxi-mmc device driver experiencing a failure while it was enumerating the EMMC chip:
[ 4.136553] mmcblk2: mmc2:0001 8GTF4R 7.28 GiB
[ 4.144362] sunxi-mmc 1c11000.mmc: data error, sending stop command
[ 4.150727] sunxi-mmc 1c11000.mmc: send stop command failed
On a hunch, I patched the device tree to disable that interface. After compiling that change and installing a new image on a microSD card, the board booted flawlessly, and I am now in a working desktop environment.
This leads me to a question: How likely is it that there's just some damaged/defect on my particular board which makes its EMMC unusable? (In which case I might stop here, and be satisfied with the result: Because, I'm not particularly interested in working with the EMMC chip anyway.)
Or, it is possible that there's a systemic problem with the Banana Pi M2 Ultra device tree which would be equally impacting everyone's ability to boot? (In which case it might be worthwhile to dig a little deeper, try to figure out why the kernel is hanging when it attempts to enumerate the EMMC chip, and perhaps submit a patch to fix the problem.)
Has anyone else experienced this? Or, in case this is a systemic problem, does anyone have some advice about the most appropriate next steps to contribute a fix back to the community?