S3是全志和索智联合开发的一款基于Arm Cortex-A7的单核编码类芯片。它内置128MB DDR3内存,具备规格高至1080P@60FPS的编码性能,以及丰富的外围接口。S3平台上运行的是名为Zeta的Linux系统,使用Linaro 5.3交叉编译工具链。详情可以浏览网址http://www.sochip.com.cn/s3。下面讲述如何在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 <file>..." to update what will be committed)
- (use "git checkout -- <file>..." 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.mk
-
- diff --git a/package/automake/automake.mk b/package/automake/automake.mk
- index 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.mk
- index 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