Hi,
This year I brought an Odroid C2, so I'm new in Odroid. I was impress about its hardware over RPi, but my problem is the old kernel which armbian is coming.
For about few days I'm trying to boot kernel 4.12 or 4.10 which I saw that Odroid is supported in mainline.
Unfortunately the U-boot doesn't want to boot it. So I've moved to the next step to recompile the U-boot.
Yesterday and today I did everything I could to compile U-boot and run it.
I've compiled few versions: 201701, 201707, 201709 and 201501.
201501 I've compiled with GCC 4.9.2, the rest I've tried with GCC 4.9.x and 7.1/7.2 (crosscomplier for ARM64).
The only one which is booting is 201501, the rest are entering into a reset loop:
Code: Select all
GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:800;NAND:81;SD:0;READ:0;CHK:0;
TE: 113804
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 SD, src: 0x0000c200, des: 0x01400000, size: 0x000000b0
aml log : SIG CHK : 351 for address 0x01700000
reset...
GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:800;NAND:81;SD:0;READ:0;CHK:0;
TE: 113801
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 SD, src: 0x0000c200, des: 0x01400000, size: 0x000000b0
aml log : SIG CHK : 351 for address 0x01700000
reset...
GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:800;NAND:81;SD:0;READ:0;CHK:0;
TE: 113802
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 SD, src: 0x0000c200, des: 0x01400000, size: 0x000000b0
aml log : SIG CHK : 351 for address 0x01700000
reset...
GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:800;NAND:81;SD:0;READ:0;CHK:0;
TE: 113803
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 SD, src: 0x0000c200, des: 0x01400000, size: 0x000000b0
aml log : SIG CHK : 351 for address 0x01700000
reset...
GXBB:BL1:08dafd:0a8993;FEAT:EDFC318C;POC:3;RCY:0;EMMC:800;NAND:81;SD:0;
Please, can anybody tell me a procedure how can I make U-boot to boot on Odroid C2? I don't have any ideas.
I used the script sd_fusing.sh:
Code: Select all
root@Adi-Laptop:/opt/OdroidC2/u-boot/201709# cat ./sd_fusing.sh
#!/bin/sh
#
# Copyright (C) 2015 Hardkernel Co,. Ltd
# Dongjin Kim <tobetter@gmail.com>
#
# SPDX-License-Identifier: GPL-2.0+
#
BL1=bl1.bin.hardkernel
#UBOOT=u-boot.bin
UBOOT=u-boot-sign.bin
if [ -z $1 ]; then
echo "Usage ./sd_fusing.sh <SD card reader's device>"
exit 1
fi
if [ ! -f $BL1 ]; then
echo "error: $BL1 does not exist"
exit 1
fi
if [ ! -f $UBOOT ]; then
echo "error: $UBOOT does not exist"
exit 1
fi
sudo dd if=$BL1 of=$1 conv=fsync,notrunc bs=1 count=442
sudo dd if=$BL1 of=$1 conv=fsync,notrunc bs=512 skip=1 seek=1
sudo dd if=$UBOOT of=$1 conv=fsync,notrunc bs=512 seek=97
sync
sudo eject $1
echo Finished.
And those are the files in the same directory:
Code: Select all
root@Adi-Laptop:/opt/OdroidC2/u-boot/201709# ls -l
total 888
-rw-r--r-- 1 root root 49664 Aug 28 18:11 bl1.bin.hardkernel
-rwxr-xr-x 1 root root 677 Aug 30 21:57 sd_fusing.sh
-rw-r--r-- 1 root root 414872 Aug 30 20:44 u-boot.bin
root@Adi-Laptop:/opt/OdroidC2/u-boot/201709#
Is this tool not valid for newer U-boot or I'm doing something wrong when I'm compiling the U-boot?
My steps:
Code: Select all
# export ARCH="arm64"
# export CROSS_COMPILE="aarch64-linux-gnu-"
# ${CROSS_COMPILE}gcc -v
Using built-in specs.
COLLECT_GCC=aarch64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/aarch64-linux-gnu/7/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 7.2.0-1' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --enable-plugin --enable-default-pie --with-system-zlib --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --includedir=/usr/aarch64-linux-gnu/include
Thread model: posix
gcc version 7.2.0 (Debian 7.2.0-1)
# make distclean
# make odroid-c2_defconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
#
# configuration written to .config
#
# make all -j8
... -> everything is build correctly, no errors
LD u-boot
OBJCOPY u-boot.srec
OBJCOPY u-boot-nodtb.bin
SYM u-boot.sym
DTC arch/arm/dts/meson-gxbb-odroidc2.dtb
start=$(aarch64-linux-gnu-nm u-boot | grep __rel_dyn_start | cut -f 1 -d ' '); end=$(aarch64-linux-gnu-nm u-boot | grep __rel_dyn_end | cut -f 1 -d ' '); tools/relocate-rela u-boot-nodtb.bin 0x01000000 $start $end
make[2]: 'arch/arm/dts/meson-gxbb-odroidc2.dtb' is up to date.
SHIPPED dts/dt.dtb
COPY u-boot.dtb
CAT u-boot-dtb.bin
COPY u-boot.bin
LD u-boot.elf
CFGCHK u-boot.cfg
# ./sd_fusing.sh /dev/sdg
442+0 records in
442+0 records out
442 bytes copied, 0.04052 s, 10.9 kB/s
96+0 records in
96+0 records out
49152 bytes (49 kB, 48 KiB) copied, 0.015714 s, 3.1 MB/s
722+1 records in
722+1 records out
369728 bytes (370 kB, 361 KiB) copied, 0.0632932 s, 5.8 MB/s
Finished.
Now trying to boot and Odroid is entering that reset loop.
Any ideas please?