Odroid-XU stuck at boot

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

Odroid-XU stuck at boot

Postby csoroiu » Wed Apr 08, 2020 7:29 pm

Hi,

For quite some time now my odroid-xu board does not boot anymore with archlinuxarm.
I'm not using it very often, but at some point last year (summer 2019 if i recall corectly), after an update it failed to boot i suspect it is the update that added the dbts folder into the boot folder.

Anyway, after the problematic update, after reboot, it wouldn't reboot.

I went and installed the older https://odroid.in/ubuntu_14.04lts/ubunt ... 714.img.xz image and it works just fine. At boot the green and red leds are on, and then the green led is off and blue is on during boot.

I just tried to install ArchLinuxARM-odroid-xu-latest.tar.gz (marked as march 3rd 2020) and it wouldn't boot.
The green and red leds stay on, not flashing at all and the board seems stuck.

Can someone help me figure this out?

Thanks a lot
csoroiu
 
Posts: 17
Joined: Wed Apr 08, 2020 7:20 pm

Re: Odroid-XU stuck at boot

Postby csoroiu » Thu Apr 09, 2020 7:26 am

Forgot to mention that I boot the board from sdcard and there is no eMMC attached.
csoroiu
 
Posts: 17
Joined: Wed Apr 08, 2020 7:20 pm

Re: Odroid-XU stuck at boot

Postby summers » Fri Apr 10, 2020 2:46 am

It not a board I have so can't say much. But usual approach is to find the uart pins on the board, attach a 3.3v serial adapter and the follow the boot process and see what fails.
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: Odroid-XU stuck at boot

Postby moonman » Sat Apr 11, 2020 6:12 am

If the rootfs comes with kernel <4.3 then it was the systemd bug, which is now fixed.
Pogoplug V4 | GoFlex Home | Raspberry Pi 4 4GB | CuBox-i4 Pro | ClearFog | BeagleBone Black | Odroid U2 | Odroid C1 | Odroid XU4
-----------------------------------------------------------------------------------------------------------------------
[armv5] Updated U-Boot | [armv5] NAND Rescue System
moonman
Developer
 
Posts: 3387
Joined: Sat Jan 15, 2011 3:36 am

Re: Odroid-XU stuck at boot

Postby csoroiu » Sat Apr 11, 2020 6:41 am

@summers, thanks for reminding me about this. I almost forgot about the serial console. I'll probably check this weekend.

@moonman, thanks for hint. I'll soon check the kernel version. Hopefully it will work with a newer kernel.
csoroiu
 
Posts: 17
Joined: Wed Apr 08, 2020 7:20 pm

Re: Odroid-XU stuck at boot

Postby csoroiu » Sat Apr 11, 2020 10:01 am

@moonman I'm using the last available version from here http://os.archlinuxarm.org/os/ArchLinux ... est.tar.gz but i found no clues about the kernel version so far.

Also, i did attach a console and below are my findings

During the first attempt (bellow) if figured out that the installations steps where not updated.
At step 9 on page https://archlinuxarm.org/platforms/armv ... /odroid-xu there should be a recursive copy.

$this->bbcode_second_pass_code('', '
reading dtbs/exynos5410-odroidxu.dtb

** Unable to read "dtbs/exynos5410-odroidxu.dtb" from mmc 0:1 **

Starting kernel ...
')

I fixed the boot partition, and apparently it gets stuck at Starting kernel message. (but now it reads the dbt file).
What i found disturbing are the messages:
$this->bbcode_second_pass_code('', '** Unable to read "u-boot.bin" from mmc 0:1 ** ')
and
$this->bbcode_second_pass_code('', 'eMMC OPEN Failed.!!')

Full boot sequence below:
$this->bbcode_second_pass_code('', '
U-Boot 2012.07 (Sep 13 2013 - 13:53:58) for Exynos5410

CPU: Exynos5410 Rev2.3 [Samsung SOC on SMP Platform Base on ARM CortexA15]
APLL = 900MHz, KPLL = 600MHz
MPLL = 532MHz, BPLL = 800MHz
DRAM: 2 GiB
WARNING: Caches not enabled

TrustZone Enabled BSP
BL1 version:
PMIC VER : 0, CHIP REV : 6
VDD MIF : 1.00000V
VDD ARM : 1.00000V
VDD INT : 1.00000V
VDD G3D : 1.00000V
VDD KFC : 1.00000V

Checking Boot Mode ... SDMMC
MMC: S5P_MSHC2: 0, S5P_MSHC0: 1
MMC Device 0: 29.7 GiB
MMC Device 1: [ERROR] response error : 00000006 cmd 8
[ERROR] response error : 00000006 cmd 55
[ERROR] response error : 00000006 cmd 2
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Net: No ethernet found.
Press 'Enter' or 'Space' to stop autoboot: 0
there are pending interrupts 0x00000001
reading boot.ini

5234 bytes read
Find boot.ini file from FAT Area!!
boot.ini command = setenv hk_current_version "2"
boot.ini command = setenv verify 'if test $hk_version != $hk_current_version;then;fatload mmc 0:1 40008000 u-boot.bin;emmc open 0;movi w z u 0 40008000;emmc close 0;setenv hk_version $hk_c'
boot.ini command = run verify
reading u-boot.bin

** Unable to read "u-boot.bin" from mmc 0:1 **
[ERROR] response timeout error : 00000104 cmd 6
eMMC OPEN Failed.!!
boot.ini command = setenv initrd_high "0xffffffff"
boot.ini command = setenv fdt_high "0xffffffff"
boot.ini command = setenv bootrootfs "console=ttySAC2,115200n8 root=/dev/mmcblk1p2 rootwait rw"
boot.ini command = setenv fb_x_res "1920"
boot.ini command = setenv fb_y_res "1080"
boot.ini command = setenv vout "hdmi"
boot.ini command = setenv left "56"
boot.ini command = setenv right "24"
boot.ini command = setenv upper "3"
boot.ini command = setenv lower "3"
boot.ini command = setenv hsync "14"
boot.ini command = setenv vsync "3"
boot.ini command = setenv fb_control "left=${left} right=${right} upper=${upper} lower=${lower} vsync=${vsync} hsync=${hsync}"
boot.ini command = setenv hdmi_phy_res "1080p60hz"
boot.ini command = setenv led_blink "1"
boot.ini command = setenv bootcmd "fatload mmc 0:1 0x40008000 zImage; if fatload mmc 0:1 0x41f00000 dtbs/exynos5410-odroidxu.dtb; then bootz 0x40008000 - 0x41f00000; else bootz 0x40008000;"
boot.ini command = setenv bootargs "${bootrootfs} ${fb_control} fb_x_res=${fb_x_res} fb_y_res=${fb_y_res} vout=${vout} hdmi_phy_res=${hdmi_phy_res} led_blink=${led_blink}"
boot.ini command = boot
reading zImage

7126664 bytes read
reading dtbs/exynos5410-odroidxu.dtb

43935 bytes read
## Flattened Device Tree blob at 41f00000
Booting using the fdt blob at 0x41f00000
Using Device Tree in place at 41f00000, end 41f0db9e

Starting kernel ...
')

Thanks
Last edited by csoroiu on Sat Apr 11, 2020 3:26 pm, edited 1 time in total.
csoroiu
 
Posts: 17
Joined: Wed Apr 08, 2020 7:20 pm

Re: Odroid-XU stuck at boot

Postby csoroiu » Sat Apr 11, 2020 10:50 am

Actually I believe it is 5.5.7-1-ARCH. I found it in the /usr/lib/modules folder.

I believe it is problem at the boot sequence as the kernel is not getting uncompressed and booted.

But at this point i have no further knowledge on how to debug.

Thanks
csoroiu
 
Posts: 17
Joined: Wed Apr 08, 2020 7:20 pm

Re: Odroid-XU stuck at boot

Postby summers » Sat Apr 11, 2020 2:42 pm

Ok you are using 2012 uboot, so my guess is this is what the machine came with. Its quite old, and functionality will be somewhat different than I'm used to.

Critical bit we can see is:
$this->bbcode_second_pass_code('', 'fatload mmc 0:1 0x40008000 zImage')
So it expects the first partition (/boot) to be FAT formatted, has the zImage, the dtbs directory etc.

Probably worth looking at the boot.ini script, to try and understand what its trying to do at boot, and then run the commands by hand from the serial terminal.

Also in uboot, checking what commands are compiled in, so you know if you can boot a zImage, or if you need a uImage.

It will be a bit of fiddling, but doesn't look like anything serious wrong, so should be able to find a solution.
summers
 
Posts: 984
Joined: Sat Sep 06, 2014 12:56 pm

Re: Odroid-XU stuck at boot

Postby csoroiu » Sat Apr 11, 2020 4:16 pm

Thanks for the suggestion. You rock.
I made it boot.

Apparently it worked after i commented out
$this->bbcode_second_pass_code('', '
setenv fdt_high "0xffffffff"
')
In the boot ini file.

I also compared the boot sequence from the ubuntu version that was working with this one and the bootcmd is:
$this->bbcode_second_pass_code('', '
setenv bootcmd "fatload mmc 0:1 0x40008000 zImage; fatload mmc 0:1 0x42000000 uInitrd; bootz 0x40008000 0x42000000"
')

Compared to archlinux:
$this->bbcode_second_pass_code('', '
setenv bootcmd "fatload mmc 0:1 0x40008000 zImage; if fatload mmc 0:1 0x41f00000 dtbs/exynos5410-odroidxu.dtb; then bootz 0x40008000 - 0x41f00000; else bootz 0x40008000; fi"
')

So, now, arch is using the zImage and FDT to boot without initrd, and before (or earlier when it worked) i believe it was using zImage and initrd.

I'm not sure what is fdt_high used for.

Now I wonder how I can get this change into the archlinuxarm main stream, also the change in the installation steps with the recursive cp.

Thanks a lot,
Claudiu

P.S. I also updated in my previous post, the log as somehow the lines where truncated.
csoroiu
 
Posts: 17
Joined: Wed Apr 08, 2020 7:20 pm

Re: Odroid-XU stuck at boot

Postby csoroiu » Sat Apr 11, 2020 4:45 pm

Stepped into this reference related to u-boot.

$this->bbcode_second_pass_code('', '
fdt_high - if set this restricts the maximum address that the
flattened device tree will be copied into upon boot.
If this is set to the special value 0xFFFFFFFF then
the fdt will not be copied at all on boot. For this
to work it must reside in writable memory, have
sufficient padding on the end of it for u-boot to
add the information it needs into it, and the memory
must be accessible by the kernel.
')

Apparently it is related to the boot issue directly.
csoroiu
 
Posts: 17
Joined: Wed Apr 08, 2020 7:20 pm

Next

Return to Samsung

Who is online

Users browsing this forum: No registered users and 9 guests