编译LineageOS-20并刷入Pixel 2XL

该文详细介绍了如何编译LineageOS-20操作系统并将其刷入Pixel2XL手机的过程,包括准备工作的系统环境配置、安装依赖、下载repo、拉取源码,以及针对Pixel2XL的device仓库、内核源码仓库的拉取和编译。此外,还提供了刷入操作的具体步骤,如获取产物文件、烧写不同分区的镜像文件等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译LineageOS-20并刷入Pixel 2XL

2023-6-6 hongxi.zhu

一、编译LineageOS-20

1. 准备工作

1.1 安装platform-tools

从google下载对应的adb&fastboot工具安装包 [传送门],然后解压到家目录:

unzip platform-tools-latest-linux.zip -d ~

将adb&fastboot工具添加到系统PATH中, 这里是添加到~/.profile

# add Android SDK platform tools to path
if [ -d "$HOME/platform-tools" ] ; then
    PATH="$HOME/platform-tools:$PATH"
fi

然后记得运行source ~/.profile更新下系统环境变量。

1.2 安装必要的依赖
  • 通过sudo apt-get install安装以下的依赖
bc bison build-essential ccache curl flex g++-multilib gcc-multilib git git-lfs gnupg gperf imagemagick
lib32ncurses5-dev lib32readline-dev lib32z1-dev libelf-dev liblz4-tool libncurses5 libncurses5-dev
libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync
schedtool squashfs-tools xsltproc
zip zlib1g-dev libwxgtk3.0-dev git-lfs
  • JDK
    JDK不需要额外安装,源码带有JDK11, 同时系统也带有OpenJDK,可通过 java -version查看。
  • Python
    需要确保系统安装了Python3,高版本的Ubuntu默认就是Python3, 可通过python --version查看。
1.3 创建相关目录
  • 创建以下目录
mkdir -p ~/bin
mkdir -p ~/android/lineage

~/bin是用于存放repo这个可执行文件的地方,如果没有这个目录就需要创建。
~/android/lineage是存放我们源码文件的目录

  • ~/bin加到系统PATH路径中
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

然后记得运行source ~/.profile更新下系统环境变量。

1.4 下载repo可执行文件
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
1.5 配置

repo需要是通过Git的方式去拉取源码,所以我们这里需要配置Git的信息。

git config --global user.email "hongxi.zhu01@gmail.com"
git config --global user.name "hongxi.zhu"

2. 拉取源码

2.1 初始化仓库
cd ~/android/lineage
repo init -u https://github.com/LineageOS/android.git -b lineage-20.0 --git-lfs
2.2 同步源码
repo sync

这里线程数默认是4,如果加-j, 一定要小于8,推荐4~8, 因为LineageOS大部分是去拉AOSP的仓库,Google每个IP限制8个线程,超过就禁止连接,同步失败,由于时差,国内白天时,全球拉取的人数少,拉取速度快于晚上。

3. 编译源码

3.1 准备工作

代码同步结束还不能直接编译,需要拉取对应的device仓库kernel仓库设备闭源文件以及必需的其他模块

3.1.1 拉取Pixel 2XL的device仓库

Pixel 2XL的device仓库

cd ~/android/lineage/device/google/
git clone https://github.com/LineageOS/android_device_google_taimen.git taimen -b lineage-20

这里有个坑,因为Pixel 2XL(代号taimen)是从Pixel 2派生的,它们开发在Google内部有个共同代码叫wahoo, taimen很多文件都是引用了wahoo所以我们还需要拉取wahoodevice[仓库],否则编译将缺少很多文件。

cd ~/android/lineage/device/google/
git clone https://github.com/LineageOS/android_device_google_wahoo.git wahoo -b lineage-20
3.1.2 拉取Pixel 2XL的内核源码仓库

Pixel 2和Pixel 2XL都是使用wahoo的内核源码,所以需要直接拉取wahoo内核仓库

cd ~/android/lineage/kernel/google
git clone https://github.com/LineageOS/android_kernel_google_wahoo wahoo -b lineage-20
3.1.3 拉取Pixel 2XL的ElmyraService模块仓库

ElmyraService是Google更新的关于手势的开源仓库,lineage没有及时纳入到Pixel 2XL 的device更新,所以需要我们手动导入这个模块,也是一个坑点之一,仓库地址

cd ~/android/lineage/packages/apps
git clone https://github.com/LineageOS/android_packages_apps_ElmyraService ElmyraService -b lineage-20.0

注意这个仓库的分支和上面的不一样

3.1.4 拉取设备的闭源文件

Pixel 2XL Google也是有一些文件,处于vendor分区的,并不开源,我们需要从已经刷入相同Lineage 20的Pixel 2XL中通过adb pull拉取, 这里具体怎么拉取,拉取那几个文件Lineage已经帮我们写成了一个快捷脚本extract-files.sh, 使用方法:

  • 将官方的Lineage 20输入Pixel 2XL,刷入方法如下一节的 [刷入Pixel 2XL]
  • 将刷好的手机连接ADB到电脑,并打开adb root
cd ~/android/lineage/device/google/taimen
./extract-files.sh

拉取成功后,文件将会在~/android/lineage/vendor/google/taimen 目录下

3.2 编译
cd ~/android/lineage
source build/envsetup.sh
breakfast taimen
brunch taimen

二、刷入Pixel 2XL

1. 获取产物文件

无论是下载官方的文件还是自己编译的,需要烧录下面这几个文件:(如果是自编译在out目录下找到这几个文件)

产物烧录方式
lineage-20.0-20230601-nightly-taimen-signed.ziprecovery
boot.imgfastboot
dtbo.imgfastboot
vbmeta.imgfastboot

2. 烧写

首先进入fastboot模式

adb reboot fastboot
fastboot flash boot boot.img
fastboot flash dtbo dtbo.img
fastboot flash vbmeta vbmeta.img

然后通过音量键下+电源键选中进入Recovery模式

  1. 从主页选择Factory reset -> Foramt data/factory reset进行data分区的数据擦除
  2. 从主页选择Apply update - > Apply from ADB
  3. ADB 开始烧录:
adb sideload lineage-20.0-20230601-nightly-taimen-signed.zip
  1. 上一步完成后从主页进行Reboot system now
  2. 等待重启即可完成烧写

参考:
https://wiki.lineageos.org/devices/taimen/build#create-the-directories
https://wiki.lineageos.org/devices/taimen/install
https://download.lineageos.org/devices/taimen/builds

<think>好的,我现在需要帮助用户找到关于Pixel 2 XL机的教程或方法,包括官方镜像、自定义ROM和解锁引导加载程序。首先,用户提到了参考的引用内容,虽然引用1是关于Pixel 3和Android 11的,引用2Pixel 2的安卓10教程,可能用户希望得到类似的信息,但针对Pixel 2 XL。 首先,我应该确认Pixel 2 XL的型号代码,通常谷歌的Pixel设备有不同的代号,比如Pixel 2是walleye,Pixel 2 XL是taimen。这点需要注意,避免混淆。用户需要的是针对taimen的教程。 接下来,用户提到的步骤可能包括解锁引导加载程序、官方镜像以及自定义ROM。解锁引导加载程序通常是机的第一步,需要开启开发者选项中的OEM解锁,通过fastboot命令执行。这里需要确保用户了解如何进fastboot模式,以及相关的风险,比如会清除数据。 然后是官方镜像,谷歌提供了工厂镜像的下载,用户需要访问官方页面,找到对应Pixel 2 XL的镜像。下载后解压,使用flash-all脚本或者手动通过fastboot各个分区。需要注意的是,用户可能需要安装正确的USB驱动和平台工具(如Android SDK的fastboot和adb工具)。 关于自定义ROM,Pixel 2 XL可能有LineageOS或其他第三方ROM的支持。用户需要解锁bootloader后,安装自定义恢复如TWRP,然后通过恢复模式ROM的zip包。但需要注意不同ROM的安装步骤可能不同,有些可能需要先特定的内核或修改分区。 另外,用户可能关心备份数据、确保电量充足、以及遇到问题时的恢复方法。需要提醒用户备份重要数据,避免数据丢失。 在回答中需要结构清晰,分步骤说明,确保用户能够逐步操作。同时,引用相关的资源链接,如官方镜像下载地址、XDA论坛的Pixel 2 XL版块,以及必要的工具链接。还要注意用户可能需要先解锁OEM,这需要在开发者选项中开启,且部分运营商锁定的设备可能无法解锁,需要确认设备是否兼容。 最后,生成相关问题,比如如何解决机失败的问题,如何备份数据,或者如何恢复官方系统等。这些相关问题可以帮助用户进一步解决可能遇到的困难。</think>### Pixel 2 XL 机教程 #### 一、准备工作 1. **解锁引导加载程序(Bootloader)** -开发者模式:设置 → 关于手机 → 连续点击「版本号」直至开启开发者选项 - 启用 **OEM 解锁** 和 **USB 调试** - 通过电脑执行命令(需安装[Android Platform Tools](https://developer.android.com/studio/releases/platform-tools)): ```bash adb reboot bootloader fastboot flashing unlock ``` *注意:此操作会清除设备数据*[^1][^2]。 2. **下载资源** - **官方工厂镜像**:[Google 官方下载页](https://developers.google.com/android/images)(选择 `taimen` 对应版本) - **自定义ROM**:推荐 [LineageOS](https://download.lineageos.org/taimen) 或 [XDA论坛](https://forum.xda-developers.com/pixel-2-xl) 的第三方ROM包 - **工具包**:确保电脑已安装最新版 `fastboot` 和 `adb` 工具 --- #### 二、官方镜像 1. **解压工厂镜像** 下载的压缩包包含 `flash-all.bat`(Windows)或 `flash-all.sh`(Linux/macOS)脚本。 2. **进Fastboot模式** ```bash adb reboot bootloader ``` 3. **执行机脚本** ```bash ./flash-all.sh # Linux/macOS ``` *脚本会自动所有分区*[^2]。 --- #### 三、自定义ROM 1. **安装自定义Recovery(如TWRP)** - 下载 [TWRP镜像](https://twrp.me/google/googlepixel2xl.html) - 临时启动TWRP: ```bash fastboot boot twrp.img ``` 2. **ROM包** - 将ROM的ZIP文件复制到手机存储 - 在TWRP中选择 **Install** → 选择ROM包 → 滑动确认 - 完成后重启系统 --- #### 四、注意事项 1. **数据备份**:机前通过 `adb backup` 或云服务备份数据 2. **驱动兼容性**:确保电脑识别设备(可安装 [Google USB Driver](https://developer.android.com/studio/run/win-usb)) 3. **回退官方系统**:重新官方镜像即可恢复 ---
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坂田民工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值