ODROID-XU4 fails to boot after update

This forum is for supported devices using an ARMv7 Samsung SoC.

ODROID-XU4 fails to boot after update

Postby searing » Tue Mar 14, 2017 2:59 am

I updated by XU4 this afternoon, and it pulled down a kernel update (to 4.10). Now it won't boot. I'm not sure how to debug it since I obviously can't SSH into it.

I'm booting from a microSD, if it matters.

Has anyone else had any problems with a recent update?

If possible, I'd like to just downgrade the kernel. I have another XU4 running Arch (that I'm not updating), which has the pkg files for the old version. Is there any way I can plug a USB card reader into my other XU4, copy the old pkg file over (or maybe it's already there), and then chroot to manually install the old pkg and downgrade?
searing
 
Posts: 2
Joined: Tue Mar 14, 2017 2:33 am

Re: ODROID-XU4 fails to boot after update

Postby cbredi » Tue Mar 14, 2017 3:16 am

Happened the same here after updating kernel to linux-odroid-xu3-4.9.13-1, won't boot and no HDMI output.

Downgrading to 3.10.105-2 kernel makes the XU4 boot.

To downgrade the kernel, I have moved the XU4 microSD card to another armv7h device USB microSD card reader, mounted the XU4 root (/dev/sda1) under /mnt, ran arch-chroot /mnt and then pacman -U /var/cache/pacman/pkg/linux-odroid-xu3-3.10.105-2-armv7h.pkg.tar.xz

Hope this helps until we get a XU4 bootable kernel.
cbredi
 
Posts: 4
Joined: Wed Nov 11, 2015 6:45 pm

Re: ODROID-XU4 fails to boot after update

Postby searing » Tue Mar 14, 2017 3:45 am

Yeah, I managed to get it working by downgrading the kernel. Good thing I have another ARM board sitting around that can do it!

For those without arch-chroot (like me), you can do it by bind-mounting dev and mounting proc:

Code: Select all
mount /dev/${partition} /mnt
mount -t proc proc /mnt/proc
mount -o bind /dev /mnt/dev
chroot /mnt
searing
 
Posts: 2
Joined: Tue Mar 14, 2017 2:33 am

Re: ODROID-XU4 fails to boot after update

Postby skrooge » Tue Mar 14, 2017 4:17 am

The same happened to me on my XU3 (loaded on emmc)

Creating a new sdcard using the "ArchLinuxARM-odroid-xu3-latest.tar.gz"
then running pacman -Syu renders it unbootable too.

In the serial console it stops at "Starting Kernel ..." and does not progress any further.
skrooge
 
Posts: 5
Joined: Wed Jan 22, 2014 11:58 am

Re: ODROID-XU4 fails to boot after update

Postby picklegun » Wed Mar 15, 2017 2:36 pm

This happened to me two days ago. I updated to 4.9.13 and then I could not boot.

But it gets weird. I managed to revert to 3.10.105-2 and booted again, but just for kicks, I updated back to the 4.9.13 kernel. It booted, and worked for a couple of days until this morning. I think what is happening in my case is that the board is overheating. The fan is not coming on very often with the new kernel, and if I left the XU4 unplugged for about 10 minutes or so, the board would boot.

Another thing I noticed is that /sys/devices is not populated:
Code: Select all
[alarm@xu4 ~]$ cd /sys/devices/
breakpoint/ platform/   software/   system/     virtual/

This doesn't seem to look right, but I'm not a kernel expert by any means. I found it when I tried to adjust the fan speed.

I guess I'll stick with the 3.10.105-2 kernel for now.
picklegun
 
Posts: 9
Joined: Sun Aug 21, 2016 3:10 pm

Re: ODROID-XU4 fails to boot after update

Postby sdrider » Sat Mar 18, 2017 3:38 am

Another busted xu4 here post-upgrade. Didn't notice the 4.9.13 kernel upgrade until after I upgraded. Was excited until I rebooted and it never came back. :(

Just adding to this report, so maintainers know this is wide spread. I'll try downgrading as suggested here to get this one back on its feet for now.
sdrider
 
Posts: 25
Joined: Sat Aug 10, 2013 3:56 am

Re: ODROID-XU4 fails to boot after update

Postby sdrider » Sat Mar 18, 2017 5:06 am

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:

Code: Select all
[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:

Code: Select all
[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:

Code: Select all
[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...


Code: Select all
[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.. :D
sdrider
 
Posts: 25
Joined: Sat Aug 10, 2013 3:56 am

Re: ODROID-XU4 fails to boot after update

Postby skrooge » Sat Mar 18, 2017 9:05 am

I downgraded the kernel on emmc by creating a new sdcard.
after booting the sdcard I then installed "arch-install-scripts"
ran blkid to check the device name for my emmc partition
then mounted the emmc partition at /mnt
ran "arch-chroot /mnt"
then downgraded the kernel.
skrooge
 
Posts: 5
Joined: Wed Jan 22, 2014 11:58 am

Re: ODROID-XU4 fails to boot after update

Postby picklegun » Sat Mar 18, 2017 2:31 pm

skrooge wrote:I downgraded the kernel on emmc by creating a new sdcard.
after booting the sdcard I then installed "arch-install-scripts"
ran blkid to check the device name for my emmc partition
then mounted the emmc partition at /mnt
ran "arch-chroot /mnt"
then downgraded the kernel.

This is exactly what I did except that I am running on microSD. I used another card to boot with and repair the first one.

I'm not sure if this will help you guys, but I just installed linux-odroid-xu3-4.9.13-3-armv7h with pacman -Syu. I compiled the 4.9.15 kernel for a minute or two in an attempt to warm up the board, and then rebooted. So far so good -- two reboots have been successful so far.

The fan seems to be spinning more rapidly than it was before, but there are still long periods where the fan is idle. My xu4 is not running on much of a load but I'm used to more fan activity than I'm seeing. Less noise might be good for the ears, but I'm not sure how good it is for the board. Still, it seems to be idling around 66 C. I think that number was more in the 50s at idle before. When I compile the kernel, the numbers get to around 78 C before they start to drop and the fan moves along.

I am getting these numbers with:
Code: Select all
watch "awk '{printf \"%3.1f°C\n\", \$1/1000}'" /sys/class/thermal/thermal_zone0/temp

Maybe the temperatures and the reboot issue isn't related, but it seems to be in my case -- that's why I'm throwing this out there. I was seeing a difference when I removed the xu4 from the case. I had a hard time reproducing the reboot error until I screwed it back on. I had to induce a load to get the boot to fail, and when it did, there was no output to help with the error. With the UART cable attached, the output said something like "Loading the kernel" and stopped.

This, of course, might just be my board. Just my two cents.

EDIT: spelling
picklegun
 
Posts: 9
Joined: Sun Aug 21, 2016 3:10 pm

Re: ODROID-XU4 fails to boot after update

Postby viky » Sat Mar 18, 2017 2:59 pm

I upgraded today to 4.9.13-3, reboot worked. I got into system with no issue.
So I powered it off, and then started again. But it didn't booted. Fan is spinning, ethernet is blinking, but the blue "alive" LED never came on. My installation is on eMMC, created about week ago. (kernel 3.10.104 or so)
viky
 
Posts: 6
Joined: Sat Nov 07, 2015 9:05 pm

Next

Return to Samsung

Who is online

Users browsing this forum: No registered users and 1 guest