“Linux开发环境搭建/编译/打包”的版本间的差异
(→编译内核) |
|||
第27行: | 第27行: | ||
$ ./build.sh | $ ./build.sh | ||
− | == | + | ==定制rootfs并打包固件== |
− | |||
− | + | 打包好的固件位于lichee/tools/pack下面。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=常见问题= | =常见问题= |
2021年12月25日 (六) 11:02的版本
目录
编译环境搭建
安装Ubuntu操作系统
- 同Android部分
安装所需组件
- 同Android部分
编译步骤
解压源代码
mkdir HDA64_Linux
tar xvf HDA64_Linux.tar.gz -C HDA64_Linux/
源码结构
SPL(底层引导代码):lichee/brandy
U-Boot:lichee/brandy/uboot-xxxx.xx
Linux内核:lichee/linux-3.x
系统配置(env.txt和fex文件等):lichee/tools/pack/chips/sunxiwxpx/config
编译U-Boot
默认无需编译。若要修改U-Boot,编译方法同Android部分。
编译内核
直接执行下列命令:
$ ./build.sh
定制rootfs并打包固件
打包好的固件位于lichee/tools/pack下面。
常见问题
A:Android 6.0部分make时遇到“unsupported reloc 42 (43) against global symbol art::Runtime::instance_”错误
Q:问题的原因在于AOSP中的预编译好的ld程序存在bug,我们使用Ubuntu系统默认的ld来替换它。具体步骤如下:
将aosp中的ld改名:
$ cd prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8/x86_64-linux/bin
$ mv ld ld.old
使用soft link,链接到全局ld:
$ ln -s /usr/bin/ld.gold ld