平台:全志T7
系统:Android 7.1
环境:Macbook pro 下PD安装的 Ubuntu16.04
注意:Ubuntu分配内存尽可能大,最好8G,安装Ubuntu的时候交换空间最好分配16G以上。特别注意,特别注意。
1> 安装Ubuntu 16.04
2> 由于Parallels Tools不兼容,按照网上教程修改Parallels Tools安装包,链接 mac安装Parallels Tools(kali)解决(内核版本>=4.15问题)_慢慢的燃烧的博客-CSDN博客
3> 安装openjdk-8-jdk
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
4> 安装编译依赖
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386
sudo apt-get install -y libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
sudo apt-get install -y tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo apt-get install -y dpkg-dev libsdl1.2-dev libesd0-dev
sudo apt-get install -y git-core gnupg flex bison gperf build-essential
sudo apt-get install -y zip curl zlib1g-dev gcc-multilib g++-multilib
sudo apt-get install -y libc6-dev-i386
sudo apt-get install -y lib32ncurses5-dev x11proto-core-dev libx11-dev
sudo apt-get install -y lib32z-dev ccache
sudo apt-get install -y libgl1-mesa-dev libxml2-utils xsltproc unzip m4
#解决:awk: line 2: function strtonum never defined
sudo apt-get install -y gawk
#解决:../scripts/build_rootfs.sh: line 19: fakeroot: command not found
sudo apt-get install -y fakeroot
#解决:lichee/tools/pack/pctools/linux/android/mkbootimg: No such file or directory
sudo apt-get install -y g++-multilib gcc-multilib
#解决kImage生成zImage问题,或者直接把lichee/brandy/u-boot-2014.07/tools设置到环境变量PATH中去
sudo apt-get install -y u-boot-tools
sudo apt install bc
sudo apt-get install lib32z1
# 清除本地化配置
export LC_ALL=C
# 修改安全配置,删除TLSv1, TLSv1.1
sudo vim /etc/java-8-openjdk/security/java.security
5> 开始编译
a、编译uboot
cd $CURRENT_PATH/lichee/brandy/
source build.sh -p sun8iw17p1
b、编译kernel
首先要配置.buildconfig
cd lichee
./build.sh config
Welcome to mkscript setup progress
All available platforms:
0. android
1. dragonboard
2. linux
3. camdroid
Choice: 0
All available chips:
0. sun3iw1p1
1. sun50iw1p1
2. sun50iw2p1
3. sun50iw3p1
4. sun50iw6p1
5. sun8iw10p1
6. sun8iw11p1
7. sun8iw12p1
8. sun8iw15p1
9. sun8iw17p1
10. sun8iw1p1
11. sun8iw3p1
12. sun8iw5p1
13. sun8iw6p1
14. sun8iw7p1
15. sun8iw8p1
16. sun8iw9p1
17. sun9iw1p1
Choice: 9
All available kernel:
0. linux-3.10
Choice: 0
All available boards:
0. fpga
1. t7-p1
2. t7-perf1
3. t7-perf2
4. t7-perf4
5. t7-ver
Choice: 1
然后就可以直接编译kernel了
source build.sh
c、编译android
cd android
source build/envsetup.sh
lunch "t7_p1-eng"
extract-bsp
make -j32
特意提醒:在编译过程中极有可能会碰到jack server的问题,一般都是内存不足,交换空间不足,或者多用户端口占用,针对端口占用,最好的办法就是同时修改~/.jack-settings和~/.jack-server/config.properties端口保持一致,同时也可以把~/.jack文件里的端口换成别的,然后重启机器,应该没有搞不定的。