3 3
Hencke

ODROID C2 cannot start with u-boot default 5.38

Recommended Posts

I run my ODROID C2 from eMMC, and after upgrading u-boot default to 5.38 booting no longer works. It looks like it cannot read the root partition and then reboots (and it will just keep rebooting). If I downgrade to u-boot 5.35 the system starts normally.  

 

This is the boot log from serial (first boot to start of the second):

https://hastebin.com/raw/qajacahipe

Share this post


Link to post
Share on other sites

http://ix.io/F4j

Mine (8G eMMC) works fine after upgrade from 5.37 (also with the mainline kernel) but I can revert this u-boot back to 5.35 ...

Spoiler

INFO:    PSCI Affinity Map:
INFO:      AffInst: Level 0, MPID 0x0, State ON
INFO:      AffInst: Level 0, MPID 0x1, State ON
INFO:      AffInst: Level 0, MPID 0x2, State ON
INFO:      AffInst: Level 0, MPID 0x3, State ON
bl31 reb�GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:0;READ:0;CHK:0;
TE: 59048
no sdio debug board detected 

BL2 Built : 11:44:26, Nov 25 2015. 
gxb gfb13a3b-c2 - jcao@wonton

Board ID = 8
set vcck to 1100 mv
set vddee to 1050 mv
CPU clk: 1536MHz
DDR channel setting: DDR0 Rank0+1 same
DDR0: 2048MB(auto) @ 912MHz(2T)-13
DataBus test pass!
AddrBus test pass!
Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x000000b0
Load bl30 from eMMC, src: 0x00010200, des: 0x01000000, size: 0x00009ef0
Sending bl30........................................OK. 
Run bl30...
Load bl301 from eMMC, src: 0x0001c200, des: 0x01000000, size: 0x000018c0
Wait bl30...Done
Sending bl301.......OK. 
Run bl301...
rom eMMC, src: 0x00020200, des: 0x10100000, size: 0x00011130


--- UART initialized after reboot ---
[Reset cause: unknown]
[Image: unknown, amlogic_v1.1.3046-00db630-dirty 2016-08-31 09:24:14 tao.zeng@droid04]
bl30: check_permit, count is 1
bl30: check_permit: ok!
chipidLoad bl33 from eMMC, src: 0x00034200, des: 0x01000000, size: 0x00073390
: ef be ad de d f0 ad ba ef be ad de not ES chip
[0.174024 Inits done]
secure task start!
high task start!
low task start!
NOTICE:  BL3-1: v1.0(debug):4d2e34d
NOTICE:  BL3-1: Built : 17:08:35, Oct 29 2015
INFO:    BL3-1: Initializing runtime services
INFO:    BL3-1: Preparing for EL3 exit to normal world
INFO:    BL3-1: Next image address = 0x1000000
INFO:    BL3-1: Next image spsr = 0x3c9


U-Boot 2015.01 (Jan 25 2018 - 05:44:04)

DRAM:  2 GiB
Relocation Offset is: 76f32000
-------------------------------------------------
* Welcome to Hardkernel's ODROID-C2
-------------------------------------------------
CPU : AMLogic S905
S/N : HKC21323344B2C13
MAC : 00:1e:06:33:01:d3
BID : HKC2211512
-------------------------------------------------
register usb cfg[1][0] = 0000000077f94a08
register usb cfg[0][1] = 0000000077f94a30
vpu detect type: 5
vpu clk_level = 7
set vpu clk: 666667000Hz, readback: 666660000Hz(0x300)
MMC:   aml_priv->desc_buf = 0x0000000073f2ad30
aml_priv->desc_buf = 0x0000000073f2cec0
SDIO Port C: 0, SDIO Port B: 1
[mmc_init] mmc init success
In:    serial
Out:   serial
Err:   serial
----------------------------------
MMC Size : 8 GB
----------------------------------
** Unrecognized filesystem type **
** Unrecognized filesystem type **
movi: the partiton 'logo' is reading...

MMC read: dev # 0, block # 61024, count 2048 ... 2048 blocks read: OK
hpd_state=1
[CANVAS]addr=0x3f800000 width=3840, height=1440

Not find 'custombuilt' mapped VIC
set hdmitx VIC = 16
hdmitx phy setting done
Error: Bad gzipped data
There is no valid bmp file at the given address
Net:   Meson_Ethernet
Hit [Enter] key twice to stop autoboot:  0 
6968 bytes read in 4 ms (1.7 MiB/s)
cfgload: applying boot.ini...
cfgload: setenv rootdev "UUID=5d3ebb57-2abb-4451-8ba6-bec002f280e2"
cfgload: setenv rootfstype "ext4"
cfgload: setenv display_autodetect "true"
cfgload: setenv m "1080p60hz" # Progressive 60Hz
cfgload: setenv cec "cecf"
cfgload: setenv m_bpp "24"
cfgload: setenv hpd "true"
cfgload: setenv monitor_onoff "false" # true or false
cfgload: setenv nographics "0"
cfgload: setenv mesontimer "1"
cfgload: setenv disableuhs "false"
cfgload: setenv mmc_removable "true"
cfgload: setenv usbmulticam "false"
cfgload: setenv disable_vu7 "true"
cfgload: setenv maxcpus "4"
cfgload: setenv max_freq "1536"  # 1.536GHz
cfgload: if test -e mmc 0:1 boot/.next; then setenv condev "console=ttyAML0,115200n8"; else setenv condev "console=ttyS0,115200n8 console=tty0"; fi
cfgload: setenv verbosity "1"
cfgload: setenv bootargs "root=${rootdev} rootwait rootflags=data=writeback rw rootfstype=${rootfstype} ${condev} no_console_suspend consoleblank=0 hdmimode=${m} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes loglevel=${verbosity} net.ifnames=0 ${extraargs}"
cfgload: if test -e mmc 0:1 boot/.next; then setenv bootargs "root=${rootdev} rootwait rootflags=data=writeback rw rootfstype=${rootfstype} ${condev} no_console_suspend consoleblank=0 fsck.repair=yes loglevel=${verbosity} net.ifnames=0 ${extraargs}"; fi
cfgload: setenv initrd_high "0x60000000"
cfgload: setenv loadaddr "0x11000000"
cfgload: setenv dtb_loadaddr "0x1000000"
cfgload: setenv initrd_loadaddr "0x13000000"
cfgload: ext4load mmc 0:1 ${initrd_loadaddr} /boot/uInitrd || fatload mmc 0:1 ${initrd_loadaddr} uInitrd || ext4load mmc 0:1 ${initrd_loadaddr} uInitrd
6366551 bytes read in 157 ms (38.7 MiB/s)
cfgload: ext4load mmc 0:1 ${loadaddr} /boot/zImage || fatload mmc 0:1 ${loadaddr} zImage || ext4load mmc 0:1 ${loadaddr} zImage
12709896 bytes read in 306 ms (39.6 MiB/s)
cfgload: ext4load mmc 0:1 ${dtb_loadaddr} /boot/dtb/meson64_odroidc2.dtb || fatload mmc 0:1 ${dtb_loadaddr} dtb/meson64_odroidc2.dtb || ext4load mmc 0:1 ${dtb_loadaddr} dtb/meson64_odroidc2.dtb
29835 bytes read in 6 ms (4.7 MiB/s)
cfgload: ext4load mmc 0:1 ${dtb_loadaddr} /boot/dtb/amlogic/meson-gxbb-odroidc2.dtb
** File not found /boot/dtb/amlogic/meson-gxbb-odroidc2.dtb **
cfgload: fdt addr ${dtb_loadaddr}
cfgload: if test "${mesontimer}" = "0"; then fdt rm /meson_timer; fdt rm /cpus/cpu@0/timer; fdt rm /cpus/cpu@1/timer; fdt rm /cpus/cpu@2/timer; fdt rm /cpus/cpu@3/timer; fi
cfgload: if test "${mesontimer}" = "1"; then fdt rm /timer; fi
cfgload: if test "${nographics}" = "1"; then fdt rm /meson-fb; fdt rm /amhdmitx; fdt rm /picdec; fdt rm /ppmgr; fdt rm /meson-vout; fdt rm /mesonstream; fdt rm /deinterlace; fdt rm /codec_mm; fdt rm /reserved-memory; fdt rm /aocec; fi
cfgload: if test -e mmc 0:1 boot/.next; then ext4load mmc 0:1 ${dtb_loadaddr} boot/dtb/amlogic/meson-gxbb-odroidc2.dtb; fi
cfgload: if test -e mmc 0:1 boot/.next; then ext4load mmc 0:1 0x01080000 boot/uImage; fi
cfgload: if test -e mmc 0:1 boot/.next; then bootm 0x01080000 ${initrd_loadaddr} ${dtb_loadaddr}; else booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr}; fi
## Loading init Ramdisk from Legacy Image at 13000000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    6366487 Bytes = 6.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
load dtb from 0x1000000 ......
## Flattened Device Tree blob at 01000000
   Booting using the fdt blob at 0x1000000
   Loading Ramdisk to 5f9ed000, end 5ffff517 ... OK
   Loading Device Tree to 000000001fff5000, end 000000001ffff48a ... OK

Starting kernel ...

uboot time: 3696492 us

Ubuntu 16.04.3 LTS odroidc2 ttyS0

odroidc2 login: 

 


We use more or less unchanged u-boot. Please report this incident to Hardkernel as well.

 

Share this post


Link to post
Share on other sites

Thank you for your response. Since you confirmed that there shouldn't be anything wrong with the u-boot package I did some testing and came to the conclusion that something must have gone wrong with my installation.

  1. Backed up all the files on the partition with rsync
  2. Flashed a fresh image of armbian and started it so it would resize
  3. Shut down and deleted all the files on the partition of the fresh install
  4. Copied the old files back on the new partition with rsync (and replaced the UUID in fstab)

After this I the boot was normal, and I even tried to reinstall the u-boot package just to make sure and it still works.

Log: https://hastebin.com/raw/risagucasu

Share this post


Link to post
Share on other sites

Hello igor
Sorry for hijacking this thread but i think i have the same problem. 
I recently purchased an Odroid c2 and i'm new to linux. I've been using the c2 with OMV for weeks now but when i update ( attached a screenshot below ) u-boot odroidc2 from the update manager of the webgui the device never boots doesn't show on the network. I have opened an issue on the OMV forums https://forum.openmediavault.org/index.php/Thread/21632-Odroid-C2-After-update-i-loss-the-device-from-the-network-can-t-get-it-to-work-p/?postID=166970#post167045 since i thought it was an OMV problem but it's not. Please take a look and help me. Thank you in advance

 

8414-omv-3-issue-jpg

 

 

Share this post


Link to post
Share on other sites

Hi,

I have an odroid-c2 with a fresh installation of armbian jessie server on a sd hc card. The version of linux-u-boot-odroidc2-default is 5.35 and when restarting, it works perfectly. When I update the system (apt- update && apt upgrade), with linux-u-boot-odroidc2-default = 5.38, it turns out that armbian no longer restarts. If after the update, I reinstall the version 5.35 (downgrade), followed by a restart, armbian launches correctly.

In the same way, after a migration to stretch and a regression to linux-u-boot-odroidc2-default v5.35, the system restarts correctly.

 

Should we report this problem as a bug?

Share this post


Link to post
Share on other sites

How can I tell if there is a problem with the network since nothing is displayed on the screen ? Moreover it is impossible to connect by ssh. On the other hand effectively, the ethernet led and the leds of the keyboard are operational. The red and blue leds of the card are lit and fixed. 

On the previous system, with stretch, I used sytemd-networkd and systemd-resolved and renamed /etc/network/interfaces.back and after upgrade u-boot, there was too this boot problem.
 

Share this post


Link to post
Share on other sites
(edited)

I also experienced this problem yesterday. Update&upgrade -> reboot -> no HDMI output, red and blue LED solid on. The network interface LED starts flickering like an HDD LED, but after a couple of seconds it is being turned on and off with maybe 1.5s delay and nothing more happens.

Since I'm not the "deep into Linux" guy, I googled my ass off for a couple of hours, tried fixing things, upgraded my device to the dev kernels and uboots and I have no idea what else I tried (it was 4am in the end ;-) ). I did all that chroot'ing into the USB mounted SD HC of my original system after I set up a different SD HC with a fresh armbian installation and probably fucked up the whole original installation, but I learned a lot. :-)

 

Could someone please explain in a short version how I can downgrade the system to 5.35 to check if I completely messed up or if it at least boots? Upgrading wasn't a problem, since I could just use the kernel packages provided by the Armbian page, but I'm to dumb to find the ones to downgrade.

 

 

Btw: Here's the update history from yesterday before everything went wrong (maybe it helps):

Upgrade: libgcj16:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), libgcc-5-dev:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), gcj-5-jre-headless:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), linux-image-odroidc2:arm64 (5.35, 5.38), cpp-5:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), libitm1:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), libvdpau1:arm64 (1.1.1-10~armbian5.35+1, 1.1.1-10~armbian5.38+1), libasan2:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), gcc-5-base:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), gcc-5-base:armhf (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), gcj-5-jre-lib:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), armbian-firmware:arm64 (5.35, 5.38), libstdc++-5-dev:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), libubsan0:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), g++-5:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), sunxi-tools:arm64 (1.4.2-1~armbian5.35+1, 1.4.2-2~armbian5.38+1), gcc-5:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), linux-u-boot-odroidc2-default:arm64 (5.35, 5.38), armbian-config:arm64 (5.36, 5.38), libgomp1:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), hostapd:arm64 (2:2.6-4~armbian5.35+1, 2:2.6-4~armbian5.38+1), linux-dtb-odroidc2:arm64 (5.35, 5.38), libatomic1:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), libcc1-0:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), libstdc++6:arm64 (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), libstdc++6:armhf (5.4.0-6ubuntu1~16.04.5, 5.4.0-6ubuntu1~16.04.6), linux-xenial-root-odroidc2:arm64 (5.37, 5.38)

Edited by torbenb

Share this post


Link to post
Share on other sites

I just created an account to say I have the same problem running ubuntu desktop from emmc. Upgraded from 5.36 to 5.38 with no hdmi output, no ssh, solid led lights & no network light. I had a disk image for 5.36 so downgrading wasn't an issue.  I haven't had time to mess around any further.

Share this post


Link to post
Share on other sites

I think I am having the same problem with OpenMediaVault 3 after apt-get updates over the weekend.

 

I can't boot at all, nothing via HDMI. I tried a new install on another card and that's fine, so the Odroid C2 itselt is OK.

 

How can I revert this change? I can edit the SD card in another system.

Share this post


Link to post
Share on other sites

Fixed upstream so now it's safe to update. Those who ended up on a dead board, this is the way to recover:

 

1. Get some older image and boot your C2

2. Download this file 

3. Attach SD with card reader and make sure your SD is /dev/sda1 (disconnect other devices or check with dmesg too see where it was assigned to and adjust commands appropriately)

P1020464.JPG

4. Write u-boot with command: DEVICE=/dev/sda dpkg -i linux-u-boot-odroidc2_5.40_arm64.deb

5. Boot with a previously dead SD card

Share this post


Link to post
Share on other sites

Didn't work for me, but that's probably because I destroyed the kernel with trying to fix stuff I have no clue of. :rolleyes:

At least the display recognized that a device is attached to it, which wasn't the case before. So I hope it's fixed for the other guys that reported and waited (I think I'll do it that way the next time).

 

Anyway, thank you very much for looking into it and of course providing these nice Armbian images to us! :)

Share this post


Link to post
Share on other sites

Armbian_5.40.180207_Odroidc2_Debian_stretch_next_4.14.17 doesn't boot for me. There was no resizing of the partition, controlled with gparted.

Armbian_5.40_Odroidc2_Debian_jessie_default_3.14.79 works very well.

Share this post


Link to post
Share on other sites

OMG! It happened that it was recompiled without eMMC corruption fix patch :( And since my eMMC works in any case, I could not notice anything was wrong ... recompiling.

Edit: recompiled, images changed.


Actually, it was O.K. - can you describe more of your setup and provide logs. I made another test and everything looks fine. Resizing as well.

Share this post


Link to post
Share on other sites
On 05/02/2018 at 11:42 AM, Igor said:

Fixed upstream so now it's safe to update. Those who ended up on a dead board, this is the way to recover:

 

1. Get some older image and boot your C2

2. Download this file 

3. Attach SD with card reader and make sure your SD is /dev/sda1 (disconnect other devices or check with dmesg too see where it was assigned to and adjust commands appropriately)

P1020464.JPG

4. Write u-boot with command: DEVICE=/dev/sda dpkg -i linux-u-boot-odroidc2_5.40_arm64.deb

5. Boot with a previously dead SD card

Great! Found my SD card reader and worked a treat, thank you.

Share this post


Link to post
Share on other sites
20 hours ago, Igor said:

OMG! It happened that it was recompiled without eMMC corruption fix patch :( And since my eMMC works in any case, I could not notice anything was wrong ... recompiling.

Edit: recompiled, images changed.


Actually, it was O.K. - can you describe more of your setup and provide logs. I made another test and everything looks fine. Resizing as well.

 

I do not have the ardkernel usb serial adapter, but I have an old laptop with a serial port and a serial cable. I use HTerm configured with ascii, baud = 115200 8N1 without CTS. But I have strange characters. Nevertheless my cable works very well with arduino.

Share this post


Link to post
Share on other sites
3 minutes ago, moricef said:

Nevertheless my cable works very well with arduino.


You need a level shifter, they use 1.8~3.3V TTL logic.

Share this post


Link to post
Share on other sites

I've downloaded again Armbian_5.40.180207_Odroidc2_Debian_stretch_next_4.14.17 and it boot correctly. I can connect with ssh.  Yet I verified the checksum ...

What about systemd-networkd, systemd-resolved and predictable network interfaces name? Why network-manager is still there?

Share this post


Link to post
Share on other sites
48 minutes ago, moricef said:

What about systemd-networkd, systemd-resolved and predictable network interfaces name? Why network-manager is still there?


Network manager and systemd/if-up can and do work together reasonably well. NM is user-friendly and we keep it to make life easier for novice users. 

 

Predictable network interfaces are yet another upstream "feature" and can be toggled if you want. (has been discussed how)

 

If you like to discuss networking in details, find a related topic: https://forum.armbian.com/search/ and make a post there. Future changes are not completely fixed yet since networking can be in fact fairly complex.

Share this post


Link to post
Share on other sites

My problem  with a new installation of  Armbian_5.40.180207_Odroidc2_Debian_stretch_next_4.14.17 is a problem of sd card quality : kingston sd hc I class 10 is not a good purchase. Works very well with a Sandisk 8GB Ultra. Jessie works with the Kingston SDcard.

Share this post


Link to post
Share on other sites
6 minutes ago, moricef said:

Works very well with a Sandisk 8GB Ultra. Jessie works with the Kingston SDcard.


There are problems with some SD cards at the moment. I think it's more like a compatibility issue than quality.

Share this post


Link to post
Share on other sites
5 minutes ago, Igor said:


There are problems with some SD cards at the moment. I think it's more like a compatibility issue than quality.

Do you want I provide some logs? I found a serial to USB adaptator.

Share this post


Link to post
Share on other sites

Hello. I am trying to install and set up Open Media Vault 4 on my odroid C2. After updating OMV I have the same problem described above. I also tried not updating linux-u-boot (linux-u-boot-odroidc2-next 5.54), but the software broke also, so there must be another package that also creates a problem. Is there a permanent fix for this? 

 

Thank you

Share this post


Link to post
Share on other sites
8 hours ago, elece said:

Hello. I am trying to install and set up Open Media Vault 4 on my odroid C2. After updating OMV I have the same problem described above. I also tried not updating linux-u-boot (linux-u-boot-odroidc2-next 5.54), but the software broke also, so there must be another package that also creates a problem. Is there a permanent fix for this? 


Updating OMV from 3 to 4?

P.S. I temporally disable u-boot updating on C2.

Share this post


Link to post
Share on other sites
5 hours ago, Igor said:


Updating OMV from 3 to 4?

P.S. I temporally disable u-boot updating on C2.

Hello Igor. No, it is a fresh install of the most recent version found in the OMV 4.x for Single Board Computers repository. I haven't even set up OMV yet, because I want to figure this out first before proceeding and eventually breaking it again (I'm not that knowledge of all this staff, I don't know that is u-boot nor how to disable or if I should do it). Any help will be appreciated.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
3 3