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 1 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 1 2 3 4 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 1 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 1 2 3 4 5 6 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 1 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