Amlogic has just released buildroot with Linux 3.14 with support for Amlogic S905X (p212 board), S905D (p230 board), and S912 (Q200 board) processors, and the company appears to have started working on Linux 4.4 likely for future support for Android 7.0. You can check the source code as follows:
1 2 3 |
wget -c http://openlinux.amlogic.com:8000/download/ARM/filesystem/arm-buildroot-2016-08-18-5aaca1b35f.tar.gz tar xf arm-buildroot-2016-08-18-5aaca1b35f.tar.gz cd buildroot |
If you have the wrong toolchain the code won’t build (See comments section). So I installed several toolchains provided by Amlogic (all may not be needed) in /opt:
1 2 3 4 5 6 7 8 9 10 |
wget -c http://openlinux.amlogic.com:8000/deploy/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar wget -c http://openlinux.amlogic.com:8000/deploy/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar wget -c http://openlinux.amlogic.com:8000/deploy/gcc-linaro-arm-linux-gnueabihf.tar.gz wget -c http://openlinux.amlogic.com:8000/deploy/arc-4.8-amlogic-20130904-r2.tar.gz wget -c http://openlinux.amlogic.com:8000/deploy/CodeSourcery.tar.gz sudo tar xvf gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar -C /opt sudo tar xvf gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.bz2 -C /opt sudo tar xvf arc-4.8-amlogic-20130904-r2.tar.gz -C /opt sudo tar xvf gcc-linaro-arm-linux-gnueabihf.tar.gz -C /opt sudo tar xvf CodeSourcery.tar.gz -C /opt |
I also downloaded a shell script to add the toolchains to my path:
1 2 |
wget http://openlinux.amlogic.com:8000/deploy/TOOLSENV.sh source TOOLSENV.sh |
Once toolchains are setup, you can select one of three boards config (Q200 / S912 as example) and start building the code:
1 2 3 |
sudo apt install build-essential make mesongxm_q200_release_defconfig make |
If you are interested in S905X or S905D instead, use respectively mesongxl_p212_release_defconfig or mesongxl_p230_release_defconfig. I built both S912:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
ls -l output/images/ total 1338448 -rw-r--r-- 1 jaufranc jaufranc 20407939 Aug 30 13:44 boot.img lrwxrwxrwx 1 jaufranc jaufranc 54 Aug 30 13:44 dtb.img -> /home/jaufranc/buildroot/output/images/gxm_q200_2g.dtb -rw-r--r-- 1 jaufranc jaufranc 40521 Aug 30 11:34 gxm_q200_2g.dtb -rw-r--r-- 1 jaufranc jaufranc 16973552 Aug 30 11:34 Image -rw-r--r-- 1 jaufranc jaufranc 7002624 Aug 30 13:44 rootfs.cpio -rw-r--r-- 1 jaufranc jaufranc 3391430 Aug 30 13:44 rootfs.cpio.gz -rw-r--r-- 1 jaufranc jaufranc 3391494 Aug 30 13:44 rootfs.cpio.uboot -rw-r--r-- 1 jaufranc jaufranc 1073741824 Aug 30 13:44 rootfs.ext2 lrwxrwxrwx 1 jaufranc jaufranc 11 Aug 30 13:44 rootfs.ext4 -> rootfs.ext2 -rw-r--r-- 1 jaufranc jaufranc 176076800 Aug 30 13:44 rootfs.tar -rw-r--r-- 1 jaufranc jaufranc 67588619 Aug 30 13:45 rootfs.tar.gz -rw-r--r-- 1 jaufranc jaufranc 917504 Aug 30 13:42 u-boot.bin -rw-r--r-- 1 jaufranc jaufranc 918016 Aug 30 13:42 u-boot.bin.sd.bin |
and S905X images successfully:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
ls -l output/images/ total 593932 -rw-r--r-- 1 jaufranc jaufranc 20408642 Aug 30 13:41 boot.img lrwxrwxrwx 1 jaufranc jaufranc 72 Aug 30 13:41 dtb.img -> /home/jaufranc/edev/amlogic/905x/buildroot/output/images/gxl_p212_2g.dtb -rw-r--r-- 1 jaufranc jaufranc 37278 Aug 30 12:08 gxl_p212_2g.dtb -rw-r--r-- 1 jaufranc jaufranc 16973552 Aug 30 12:08 Image -rw-r--r-- 1 jaufranc jaufranc 7002624 Aug 30 13:40 rootfs.cpio -rw-r--r-- 1 jaufranc jaufranc 3391580 Aug 30 13:41 rootfs.cpio.gz -rw-r--r-- 1 jaufranc jaufranc 3391644 Aug 30 13:41 rootfs.cpio.uboot -rw-r--r-- 1 jaufranc jaufranc 1073741824 Aug 30 13:41 rootfs.ext2 lrwxrwxrwx 1 jaufranc jaufranc 11 Aug 30 13:41 rootfs.ext4 -> rootfs.ext2 -rw-r--r-- 1 jaufranc jaufranc 230502400 Aug 30 13:41 rootfs.tar -rw-r--r-- 1 jaufranc jaufranc 90573453 Aug 30 13:41 rootfs.tar.gz -rw-r--r-- 1 jaufranc jaufranc 917504 Aug 30 13:39 u-boot.bin -rw-r--r-- 1 jaufranc jaufranc 918016 Aug 30 13:39 u-boot.bin.sd.bin |
Separately, you can also find buildroot for Linux 4.4, but […]