Hi all,
In the past 2-3 months every system upgrade involving linux-odroid-xu package broke the boot.
I have become so paranoid that now I have an eMMC card attached to the Odroid (in addition to the SD card) with a safe boot Arch on it, so I can switch to eMMC boot, log into the safe-boot Arch, mount the hdd partition, chroot into it, and downgrade the package as needed
In case you have the following symptoms very recently (to me just happening this morning, September 24th)
1) Your root partition is mounted externally on a USB HDD device and you have a boot.txt line with PARTUUID pointing to that HDD
2) Performed a full system upgrade
3) Among those, you have upgraded from linux-odroid-xu3-3.10.103-2 to linux-odroid-xu3-3.10.103-3
4) Rebooted your XU4
5) Boot is not working anylonger
Note that downgrading the kernel back to linux-odroid-xu3-3.10.103-2 fixed my problem, and I can boot again.
# Generic instructions
# Mount your device (for example /dev/sda1, please change to your own hdd dev) and Chroot with arch-chroot
mount /dev/sda1 /mnt/temphdd/
arch-chroot /mnt/temphdd
# Check if the previous package is present inside:
cd /var/cache/pacman/pkg
ls -la linux-odroid-xu3-*
/* OUTPUT:
-rw-r--r-- 1 root root 16941184 Sep 6 00:41 linux-odroid-xu3-3.10.103-2-armv7h.pkg.tar.xz
-rw-r--r-- 1 root root 16940812 Sep 22 21:23 linux-odroid-xu3-3.10.103-3-armv7h.pkg.tar.xz
*/
#
# Phew ! Now downgrade:
#
pacman -U linux-odroid-xu3-3.10.103-2-armv7h.pkg.tar.xz
/* OUTPUT:
loading packages...
warning: downgrading package linux-odroid-xu3 (3.10.103-3 => 3.10.103-2)
resolving dependencies...
looking for conflicting packages...
Packages (1) linux-odroid-xu3-3.10.103-2
Total Installed Size: 18.36 MiB
Net Upgrade Size: 0.01 MiB
:: Proceed with installation? [Y/n] Y
(1/1) checking keys in keyring
(1/1) checking package integrity
(1/1) loading package files
(1/1) checking for file conflicts
(1/1) checking available disk space
:: Processing package changes...
(1/1) downgrading linux-odroid-xu3
*/
# exit chroot and poweroff your computer / reboot