AMLogic Releases U-Boot and Updated Linux Kernel Source Code

AMLogic released kernel 3.0.8 source code for AML8726-MX a few months ago, and yesterday they provided an updated tarballs with the kernel, and for the first time, AFAIK, released the source code for U-Boot.

There are 4 new files apparently generated from the (internal) git repository in AMLogic:

  • common-2012-11-20-git-b687495906.tar.gz  (108M) – This is the same kernel 3.0.8 release has last time, but with updated code.
  • m1-kernel-android-2012-11-20-git-5d0f6b8e93.tar.gz (103M) – This looks like an older kernel 2.6 for AML8726-M1 only.
  • uboot-master-2012-11-20-git-9b50e9a295.tar.gz (16M) – U-Boot 2010.06 possibly to use with the older 2.6 kernel. Only for M1 & M3 platforms.
  • uboot-next-2012-11-20-git-b0e532795a.tar.gz (40M) – U-Boot 2011.03 for use with M3 and M6 platforms.

I’ve already explained how to build the kernel in the previous post, so I’ll focus on U-Boot this time.

Ubuntu 12.04 arm-linux-gnueabi- toolchain fails to build U-Boot (uboot-next), so you’ll have to install Sourcery toolchain instead:

wget http://openlinux.amlogic.com/download/linux/ARM/gnutools/arm-2010q1-188-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
tar xjvf arm-2010q1-188-arm-none-eabi-i686-pc-linux-gnu.tar.bz2

You’ll also need the ARC toolchain, and you’ll have to build it from source (Unless you still use Ubuntu 9.04) since there are no binary packages. First download the source code:

wget http://sourceforge.net/projects/arc-linux/files/ARC%20GNU%20Toolchain/ARC%20GNU%204.4/arc_gcc_rel4.4.tar.gz/download -O arc_gcc_rel4.4.tar.gz
tar xzvf arc_gcc_rel4.4.tar.gz
cd arc_gcc_rel4.4

Install some dependencies:

sudo apt-get install libgmp-dev  libmpfr-dev

Build the ARC elf32 toolchain:

export ARC_GNU=~/edev/amlogic/arc_gcc_rel4.4
export INSTALLDIR=~/edev/amlogic/arc-4.4-elf32
export DISABLE_MULTILIB=--enable-multilib
./build-elf32.sh --force

Where ARC_GNU is the path where you extract the ARC toolchain source code, and INSTALLDIR your chosen installation directory. After a while, the ARC toolchain should be installed in ~/edev/amlogic/arc-4.4-elf32 (INSTALLDIR). Add both Sourcery and ARC elf32toolchains to your path:

export PATH=$PATH:~/edev/amlogic/arm-2010q1/bin:~/edev/amlogic/arc-4.4-elf32/bin

Extract the source code, and get a list of supported platform:

tar xzvf uboot-next-2012-11-20-git-b0e532795a.tar.gz
cd uboot-next
ls board/amlogic
boards.cfg  m3_wa_ref_v1  m6_skt_v1         Mesonboard_AML8726-M_V1.1
configs     m6_ref_v1     m6tv_skt_v1       Readme.mk
m3_skt_v1   m6_ref_v2     mbox_8626m1_v1.0

The listed directories correspond to the list of supported platforms. I used uboot-next in the example above, but the method is the same for uboot-master. I haven’t looked into the details and differences of each platform.

Finally select one platform to start the build, for example:

make m6_ref_v2

After a few minutes, U-Boot binary should be in build/u-boot.bin. To find out how to use it with the board, further reading in Amlogic U-Boot page should be helpful.

Via: J1nx Hackable Gadgets