当前位置: 首页 > news >正文

小米11Pro 代号mars 编译并刷入LineageOS 23.2记录 20260728

官方文档:https://wiki.lineageos.org/devices/mars/

适配设备:小米11Pro(已解BL),代号mars
笔者系统环境:Ubuntu24.04,64G RAM,1T HDD
编译系统版本:LineageOS 23.2

若自行编译,请准备一个满足条件的Linux环境,官方建议lineage-21以上版本的系统,需要64G以上RAM,至少400GB可用空间,此外还要加上ccache等空间,固态硬盘最佳。

一、更新软件源与安装相关依赖

# 更新软件源
sudo apt update -y# 安装相关依赖
sudo apt install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git git-lfs gnupg gperf imagemagick protobuf-compiler python3-protobuf lib32readline-dev lib32z1-dev libdw-dev libelf-dev libgnutls28-dev lz4 libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc xxd zip zlib1g-dev -y# 官方: 在Ubuntu23.10以上系统,编译LineageOS 20或以上版本,需要按照以下办法安装libncurses5
wget https://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2_amd64.deb && sudo dpkg -i libtinfo5_6.3-2_amd64.deb && rm -f libtinfo5_6.3-2_amd64.deb
wget https://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libncurses5_6.3-2_amd64.deb && sudo dpkg -i libncurses5_6.3-2_amd64.deb && rm -f libncurses5_6.3-2_amd64.deb# Java
# 不同的 LineageOS 版本需要不同版本的 JDK(Java 开发工具包)
# LineageOS 18.1+: OpenJDK 11 (源码中已包含)# Python
# 不同的LineageOS 版本需要不同的默认Python版本
# LineageOS 17.1+: Python 3 (install python-is-python3)
sudo apt install python-is-python3 -y

二、配置代码仓库工具Repo

repo介绍

ref: https://blog.csdn.net/wjjontheway/article/details/124128462

# 创建工具目录
mkdir -p ~/bin
# 下载Repo工具
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
# 授予可执行权限
chmod a+x ~/bin/repo
# 使用nano编辑~/.profile
nano ~/.profile# 添加以下内容到环境变量中(添加repo工具到环境变量)
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; thenPATH="$HOME/bin:$PATH"
fi# source环境变量使其生效
source ~/.profile

三、配置Git环境

# repo需要进行身份验证,需要配置身份信息
git config --global user.email "you@example.com"
git config --global user.name "Your Name"# 开启lfs(Large File Storage)支持
git lfs install

四、启用缓存功能,加快构建速度

# 可以自行选择添加到环境变量中(~/.bashrc)
export USE_CCACHE=1
export CCACHE_EXEC=/usr/bin/ccache# 指定ccache使用的磁盘空间上限
ccache -M 50G

五、初始化LineageOS源代码仓库

代理加速相关

# 指定repo工具镜像
export REPO_URL='https://mirrors.ustc.edu.cn/aosp/git-repo'
# 替换AOSP仓库
git config --global url."https://mirrors.ustc.edu.cn/aosp/".insteadOf https://android.googlesource.com/
git config --global url."https://gitclone.com/github.com/LineageOS/".insteadOf https://github.com/LineageOS/
# 配置镜像加速
git config --global url."https://hub.fastgit.xyz/".insteadOf https://github.com/

代码同步

# 创建源码目录并进入
mkdir -p ~/android/lineage
cd ~/android/lineage
# 初始化仓库(使用镜像)
# repo init -u https://github.com/LineageOS/android.git -b lineage-23.2 --git-lfs --no-clone-bundle
repo init -u https://mirrors.cernet.edu.cn/lineageOS/LineageOS/android.git -b lineage-23.2 --git-lfs --no-clone-bundle
# 同步源码(耗时较长)
# 若出现409证明请求限流,可以使用参数-j 3降低并发数
# 使用-c只获取当前分支版本,而不是所有可用分支版本
repo sync

六、编译

准备编译环境

# 进入源代码目录
cd ~/android/lineage
# 设置编译环境
source build/envsetup.sh
# 使用croot可以一键回到根目录(没报错就OK)
croot

提取专有数据块

# 进入以下目录
cd ~/android/lineage/device/xiaomi/mars
# 执行
./extract-files.py [ROM.zip路径]
# 或执行
./extract-files.sh [ROM.zip路径]

获取设备专有配置和内核

# breakfast 代号
breakfast mars

开始编译

make -j

编译结果

# 进入输出目录
cd $OUT
# 内核
boot.img
# ROM包
lineage-23.2-20260727-UNOFFICIAL-mars.zip

七、刷入系统

ref: https://wiki.lineageos.org/devices/mars/install/#flashing-additional-partitions

1、电脑安装adb工具包

此处省略

2、关机进入Fastboot模式

关机情况下,按音量-+电源,直到出现FASTBOOT字样

3、刷入dtbo和vendor_boot包并重启到bootloader

fastboot flash dtbo dtbo.img
fastboot flash vendor_boot vendor_boot.img
fastboot reboot bootloader

4、刷入revocery包并重启到recovery模式下

fastboot flash boot boot.img
fastboot reboot recovery

5、双清

Factory Reset->Format data / factory reset
返回到主菜单
Apply update->Apply from ADB
电脑侧载ROM包

adb -d sideload lineage-23.2-20260727-UNOFFICIAL-mars.zip

如果中途提示签名错误,点击忽略。

6、刷完点击reboot即可

http://www.jsqmd.com/news/1283251/

相关文章:

  • 玉雕工艺技术评估方法:从设计、刀法到表面处理的工程化分析
  • 5分钟上手tldr-python-client:让命令行学习效率提升10倍
  • 【Dify】-进阶14- 用 Dify 搭建法律文档解析助手
  • halcon 破解 学习 下载安装教程(2022版)
  • MFTCoder 推理实战:从模型加载到代码生成,5 步完成高效部署
  • 2026不停车称重系统品牌推荐:广州聚杰运维成本低,品质靠谱 - 品牌速递
  • Python面试核心考点与实战技巧全解析
  • 大语言模型自我认知测试:Opus 5伦理边界与回答模式分析
  • 微电网两阶段鲁棒优化调度Matlab实现
  • AI辅助学术写作:从选题到质量管控的全流程解决方案
  • FatalFlower
  • 20:计算2的幂
  • 苏州账务通财税咨询有限公司——苏州代理记账、工商注册、税务筹划、股权设计服务 - 海棠依旧大
  • 基于VTK与C++的DICOM医学影像三维体绘制完整实现指南
  • 瀑布咖啡商业模式解析:场景重构与流量运营
  • KillerCoda实战Kubesploit:云原生安全攻防演练指南
  • Claude 4.8百万Token上下文调优:长文档处理稳定运行方案
  • AI论文写作工具对比:千笔AI与PaperRed功能测评
  • DeepSeek DSpark推理加速实战:投机解码技术原理与vLLM部署指南
  • 伪造语音克隆检测突破性进展:基于声门气流建模的物理层指纹识别技术(IEEE TIFS 2024最新成果)
  • Twitter内容传播算法解析与优化策略
  • 2026 年 7 月新发布:镇远口碑好的电子汽车衡供应厂家联系电话,别再瞎猜!这玩意儿如何颠覆汽车检测的未来?-鹰衡称重 - 品质体验官
  • AI时代新型社会工程学攻击:Vibe Hacking的识别与防御实战指南
  • [VMM]虚拟地址到物理地址的三级或四级页表查找过程详解
  • 2026年防蓝光眼镜定制B端推广:适配眼镜行业的GEO优化公司盘点、优质机构推荐与签约避坑FAQ - 行业观察网
  • 【AI改变生活的20个真实场景】:2024年普通人不可错过的智能生活升级指南
  • ROS2入门文档教程 MD文档 资源
  • AI期刊论文工具使用体验分享
  • JetBrains IDE 30天试用期重置终极指南:免费解锁完整开发功能
  • 5分钟快速掌握:Windows微信QQ防撤回终极解决方案