Arch Linux编译AOSP for Pixel 3XL
基础命令不描述了.注意备份,以下操作直接刷空所有文件,造成损失文章不负责
准备
1.磁盘目录
首先按照AOSP的仓库指令下载仓库到本地磁盘目录,大小最好分300GB.
编译结束后磁盘使用情况.
[tonki@ququ ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1 275G 198G 63G 77% /home/tonki/aosp
2.下载AOSP源码
下载AOSP方法很多,去清华镜像站点,按照Manual下载源码.
注意: -b tag 一致
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.0.1_r1
3.下载Factory Image.
下载镜像到一个别的目录,不和AOSP源码放一起.
注意:Image的发布编号,和分支的Tag一致.
4.下载驱动
去官网下载Pixel 3XL Driver.在解压在AOSP源码根目录.
注意:驱动和FactoryImage及AOSP branch Tag编号一致.
编译
编译流程按照官方走.没毛病
Flash Pixel 3XL
去Factory Image解压目录,刷写radio和bootloader:
./flash-base.sh
刷完后去刷系统.刷系统目录
/home/tonki/aosp/out/target/product/crosshatch
fastboot flashall -w
F&Q
1. python版本问题?
A: 直接把/usr/bin/python这个软链接改成python2,编译完成后记得修改回来.或者修改envsetup.sh添加py2软链接到PATH目录.
2. flex问题,编译过程中生成的中间代码C++语法错误:“指针不能用使用.”?
A:去/home/tonki/aosp/prebuilts/misc/linux-x86/flex目录下看PREBUILT进行编译flex,并将编译好的flex二进制拷贝到如上目录.
3. 刷机之后系统无法启动循环在bootloader?
A: 注意上边步骤细节.重新来过.