Those of you who have rolled back, was it as simple as mounting your device on another host, chroot'ing and 'pacman -U' the old kernel? So far no go for me.
I have an odroid-c1 I'm using as the recovery host. I use eMMC on my odroid-xu4, so I connect the eMMC via a USB dongle to the c1. It sees everything fine. I mount the partition to /mnt and arch-chroot into it. I then downgrade the kernel:
$this->bbcode_second_pass_code('', '[root@odroid-c1 pkg]# pacman -U /var/cache/pacman/pkg/linux-odroid-xu3-3.10.105-1-armv7h.pkg.tar.xz
loading packages...
warning: downgrading package linux-odroid-xu3 (4.9.13-2 => 3.10.105-1)
resolving dependencies...
looking for conflicting packages...
Packages (1) linux-odroid-xu3-3.10.105-1
Total Installed Size: 18.38 MiB
Net Upgrade Size: -5.20 MiB
:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring [###########################################] 100%
(1/1) checking package integrity [###########################################] 100%
(1/1) loading package files [###########################################] 100%
(1/1) checking for file conflicts [###########################################] 100%
(1/1) checking available disk space [###########################################] 100%
:: Processing package changes...
(1/1) downgrading linux-odroid-xu3 [###########################################] 100%
>>> Updating module dependencies. Please wait ...
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
')
But no go when I try to boot on the xu4. Thinking about the usual "sd_fusing" messages I see when upgrading kernels, I mounted the eMMC on c1 and tried an sd_fusing:
$this->bbcode_second_pass_code('', '[root@odroid-c1 boot]# ./sd_fusing.sh /dev/sda
/dev/sda reader is identified.
BL1 fusing
30+0 records in
30+0 records out
15360 bytes (15 kB, 15 KiB) copied, 0.0725513 s, 212 kB/s
BL2 fusing
28+1 records in
28+1 records out
14592 bytes (15 kB, 14 KiB) copied, 0.142427 s, 102 kB/s
u-boot fusing
1075+1 records in
1075+1 records out
550830 bytes (551 kB, 538 KiB) copied, 1.5077 s, 365 kB/s
TrustZone S/W fusing
512+0 records in
512+0 records out
262144 bytes (262 kB, 256 KiB) copied, 0.751188 s, 349 kB/s
U-boot image is fused successfully.
[root@odroid-c1 boot]# exit
')
Again, no go. Some googling turns up the
Archlinux downgrading packages wiki|, which suggests when downgrading the kernel to also downgrade the headers. So I look for packages that were upgraded at the same time with my kernel update and downgrade those too:
$this->bbcode_second_pass_code('', '[root@odroid-c1 pkg]# sudo pacman -U ./linux-firmware-20170217.12987ca-2-any.pkg.tar.xz
loading packages...
warning: downgrading package linux-firmware (20170309.695f2d6-1 => 20170217.12987ca-2)
resolving dependencies...
looking for conflicting packages...
Packages (1) linux-firmware-20170217.12987ca-2
Total Installed Size: 174.56 MiB
Net Upgrade Size: -1.94 MiB
:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring [###########################################] 100%
(1/1) checking package integrity [###########################################] 100%
(1/1) loading package files [###########################################] 100%
(1/1) checking for file conflicts [###########################################] 100%
(1/1) checking available disk space [###########################################] 100%
:: Processing package changes...
(1/1) downgrading linux-firmware [###########################################] 100%
:: Running post-transaction hooks...
(1/2) Creating temporary files...
(2/2) Arming ConditionNeedsUpdate...')
$this->bbcode_second_pass_code('', '[root@odroid-c1 pkg]# sudo pacman -U ./linux-api-headers-4.7-1-armv7h.pkg.tar.xz ./glibc-2.24-2-armv7h.pkg.tar.xz ./gcc-libs-6.3.1-1-armv7h.pkg.tar.xz ./binutils-2.27-1-armv7h.pkg.tar.xz ./gcc-6.3.1-1-armv7h.pkg.tar.xz ./gcc-libs-6.3.1-1-armv7h.pkg.tar.xz
loading packages...
warning: downgrading package linux-api-headers (4.10.1-1 => 4.7-1)
warning: downgrading package glibc (2.25-1 => 2.24-2)
warning: downgrading package gcc-libs (6.3.1-2 => 6.3.1-1)
warning: downgrading package binutils (2.28-1 => 2.27-1)
warning: downgrading package gcc (6.3.1-2 => 6.3.1-1)
error: './gcc-libs-6.3.1-1-armv7h.pkg.tar.xz': duplicate target
[root@odroid-c1 pkg]# sudo pacman -U ./linux-api-headers-4.7-1-armv7h.pkg.tar.xz ./glibc-2.24-2-armv7h.pkg.tar.xz ./gcc-libs-6.3.1-1-armv7h.pkg.tar.xz ./binutils-2.27-1-armv7h.pkg.tar.xz ./gcc-6.3.1-1-armv7h.pkg.tar.xz
loading packages...
warning: downgrading package linux-api-headers (4.10.1-1 => 4.7-1)
warning: downgrading package glibc (2.25-1 => 2.24-2)
warning: downgrading package gcc-libs (6.3.1-2 => 6.3.1-1)
warning: downgrading package binutils (2.28-1 => 2.27-1)
warning: downgrading package gcc (6.3.1-2 => 6.3.1-1)
resolving dependencies...
looking for conflicting packages...
Packages (5) binutils-2.27-1 gcc-6.3.1-1 gcc-libs-6.3.1-1 glibc-2.24-2 linux-api-headers-4.7-1
Total Installed Size: 205.07 MiB
Net Upgrade Size: 1.78 MiB
:: Proceed with installation? [Y/n] y
(5/5) checking keys in keyring [###########################################] 100%
(5/5) checking package integrity [###########################################] 100%
(5/5) loading package files [###########################################] 100%
(5/5) checking for file conflicts [###########################################] 100%
(5/5) checking available disk space [###########################################] 100%
:: Processing package changes...
(1/5) downgrading linux-api-headers [###########################################] 100%
(2/5) downgrading glibc [###########################################] 100%
Generating locales...
Generation complete.
(3/5) downgrading gcc-libs [###########################################] 100%
(4/5) downgrading binutils [###########################################] 100%
(5/5) downgrading gcc [###########################################] 100%
:: Running post-transaction hooks...
(1/3) Creating temporary files...
(2/3) Arming ConditionNeedsUpdate...
(3/3) Updating the info directory file...
')
And still no go.
Also, I've built a fresh image from the install page onto an SDcard and booted up with that, which works OK. At least, it comes up on the network fine and pings, I didn't actually bother logging in. Now I'm curious what kernel it was running.. But anyway, I've ruled out any hardware issues with the odroid-xu4. Of course I already knew that since it was running fine a few hours ago before the 4.9.13 upgrade/reboot, but I just wanted to be sure.
Sounds like a few of you were able to successfully downgrade from 4.9.13 back to 3.10.105.. What am I missing? Other than a console cable, that is, which will be my next step once I go dig up a cable..