S3是全志和索智联合开发的一款基于Arm Cortex-A7的单核编码类芯片。它内置128MB DDR3内存,具备规格高至1080P@60FPS的编码性能,以及丰富的外围接口。S3平台上运行的是名为Zeta的Linux系统,使用Linaro 5.3交叉编译工具链。详情可以浏览网址。下面讲述如何在Ubuntu 18.04上编译S3的Linux开发包Zeta。
安装Ubuntu18.04操作系统后,安装下面的软件包:
sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \ libgl1-mesa-dev libxml2-utils xsltproc unzip u-boot-tools gawk samba
编译buildroot过程中,会出现若干来自于buildroot packages与Ubuntu18.04自带的工具/包冲突的错误,以下buildroot补丁可处理掉这些错误。
Changes not staged for commit: (use "git add/rm..." to update what will be committed) (use "git checkout -- ..." to discard changes in working directory) deleted: package/automake/0001-noman.patch deleted: package/automake/automake.hash modified: package/automake/automake.mk deleted: package/e2fsprogs/0001-sem-init-libs.patch deleted: package/e2fsprogs/0002-MCONFIG.in-handle-CLOCK_GETTIME_LIB.patch deleted: package/e2fsprogs/e2fsprogs.hash modified: package/e2fsprogs/e2fsprogs.mkdiff --git a/package/automake/automake.mk b/package/automake/automake.mkindex 84f05dc..928a33f 100644--- a/package/automake/automake.mk+++ b/package/automake/automake.mk@@ -4,7 +4,7 @@ # ################################################################################-AUTOMAKE_VERSION = 1.15+AUTOMAKE_VERSION = 1.16.1 AUTOMAKE_SOURCE = automake-$(AUTOMAKE_VERSION).tar.xz AUTOMAKE_SITE = $(BR2_GNU_MIRROR)/automake AUTOMAKE_LICENSE = GPLv2+diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mkindex b6e79d2..8a4edc8 100644--- a/package/e2fsprogs/e2fsprogs.mk+++ b/package/e2fsprogs/e2fsprogs.mk@@ -4,7 +4,7 @@ # ################################################################################-E2FSPROGS_VERSION = 1.43.3+E2FSPROGS_VERSION = 1.44.1 E2FSPROGS_SOURCE = e2fsprogs-$(E2FSPROGS_VERSION).tar.xz E2FSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/tytso/e2fsprogs/v$(E2FSPROGS_VERSION) E2FSPROGS_LICENSE = GPLv2, libuuid BSD-3c, libss and libet MIT-like with advertising clause
完成上述修改以后,导入编译环境:
source build/envsetup.sh
执行完整编译命令,最终生成固件。
zmake all