ARM64 – Odroid C2 – Working U-Boot..
Thanks to Heiner Kallweit, there is now a functional version of U-Boot for the Odroid C2, at https://github.com/hkallweit/u-boot ..
I have installed it on my C2 (eMMC) and it works fine.. Nice to have a functioning > saveenv command, at last..
U-Boot 2017.01-rc3 (Jan 14 2017 - 02:22:15 -0800) odroid-c2 DRAM: 2 GiB MMC: meson_mmc: 0, meson_mmc: 1 In: serial@4c0 Out: serial@4c0 Err: serial@4c0 Net: eth0: ethernet@c9410000 Hit any key to stop autoboot: 0 => setenv bootdelay 10 => saveenv Saving Environment to MMC... Writing to MMC(0)... done
The u-boot parameters I use are:
setenv loadaddr "0x20000000" setenv dtb_loadaddr "0x01000000" setenv initrd_high "0xffffffff" setenv fdt_high "0xffffffff" setenv kernel_filename boot/uboot/Image setenv fdt_filename boot/uboot/meson-gxbb-odroidc2.dtb setenv bootargs "root=/dev/mmcblk0p1 rootwait rw" setenv bootcmd "ext4load mmc 0:1 '${loadaddr}' '${kernel_filename}'; ext4load mmc 0:1 '${dtb_loadaddr}' '${fdt_filename}'; booti '${loadaddr}' - '${dtb_loadaddr}'"
Robert Gadsdon. January 14,2017.
Will this ne merged to the mainline U-boot? Does IPv6 work?
That is the problem.. A lot of C2 patches seem to have got ‘lost’.. I found u-boot patches for mmc support back in summer 2016, but they were never merged..
I don’t have any means of testing IPv6 (yet..).
RG.
Have you ever try to get some more informations out from the bootloader (BL1, BL2)
You mentioned booting from the eMMC. Will it boot from the uSD card? What toolchain are you using to compile?
According to the source, it should boot from an SDcard, but I don’t have one to test. I am using the standard Fedora aarch64 cross-compiler.
RG.
Hi,
could you please explain what steps you did to get a working and signed version of u-boot.
This would be great!
Thanks and regards
Thomas
The instructions can be found in ~/u-boot/board/amlogic/odroid-c2/README..
Kernel 4.10.x works OK, with Ethernet stable, now, but USB – at least on my system – is still unreliable..
RG.
Thanks! u-boot is running – but – now i’m stuck with the kernel. The Image (3.14.79+) already installed on the mmc won’t bootup with the new u-boot.
U-Boot 2017.01-rc3-g4297961 (Mar 22 2017 – 12:31:57 +0100) odroid-c2
DRAM: 2 GiB
MMC: meson_mmc: 0, meson_mmc: 1
In: serial@4c0
Out: serial@4c0
Err: serial@4c0
Net: eth0: ethernet@c9410000
=> booti
Bad Linux ARM64 Image magic!
Do you have an instruction set how to setup a new Image and initrd based on 4.10.4? I don’t know how to get rid off this “bad image magic”.
Your config provided here is not up to date anymore. There are more config settings to be done. E.g.
ARM_DMA_IOMMU_ALIGNMENT, Kernel compression mode, …
Do you have an update for this?
Thanks and regards
Thomas
Strangely, with this u-boot version MAC address is nor randomized (running 2 boards is getting a bit problematic)