编译lineage_arm64-userdebug源码和编译内核及使用qemu-system-aarch64启动的完整过程

admin 2025年7月5日13:49:53评论9 views字数 4150阅读13分50秒阅读模式

Android Audio音频系统

Android Audio音频分析基础

Android Audio音频系统之深入浅出

Android Audio音频常见问题分析方法

ARM架构Android系统qcow2镜像制作方法

ARM架构Android12系统qcow2镜像制作方法

Android系统定制绕过检测(入门到精通-建议收藏)

Android10以上系统Audio音频遇到播放视频无声时的分析方法

编译LineageOS arm64-userdebug源码、编译内核并使用QEMU启动的完整流程

JS逆向&APP逆向

Unity il2cpp游戏逆向分析浅析

Android10至15实现系统调用Hook

基于QEMU/KVM定制Android10至16系统

车载系统的安全启动(Secure Boot)、可信执行环境(TEE)、硬件安全模块(HSM)和固件更新安全

 

一、环境准备

1. 系统要求操作系统: Ubuntu 20.04/22.04 LTS (推荐)内存: 至少 16GB

磁盘空间: 至少 300GB (源码 + 编译产物)网络: 稳定连接 (需要下载大量源码)

2. 安装依赖

sudo apt updatesudo apt install -y git-core gnupg flex bison build-essential zip        curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5        lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev       libxml2-utils xsltproc unzip fontconfig python3 openjdk-11-jdk repo        qemu-system-arm qemu-utils

二、下载LineageOS源码

1. 初始化Repo工具

mkdir -p ~/lineage   cd ~/lineage   repo init -u https://github.com/LineageOS/android.git -b lineage-20.0 --git-lfs

2.同步源码

repo sync -j$(nproc --all) --force-sync --no-clone-bundle --no-tags

三、编译 LineageOS

1.初始化编译环境

source build/envsetup.shlunch lineage_arm64-userdebug

2.开始编译

mka -j$(nproc --all)  # 或 make -j$(nproc --all)

编译产物会生成在

out/target/product/generic_arm64/

四、编译内核

1.获取内核源码

cd ~/lineage/kernel#假设内核仓库为lineageos官方仓库git clone https://github.com/LineageOS/android_kernel_common commoncd common

2.配置内核

export ARCH=arm64export CROSS_COMPILE=aarch64-linux-androidmake lineageos_defconfig  # 使用默认配置

3.编译内核

make -j$(nproc --all)

生成的Image.gz-dtb位于arch/arm64/boot/

五、使用QEMU启动

1.准备镜像文件系统镜像

out/target/product/generic_arm64/system.img

内核文件

arch/arm64/boot/Image.gz-dtb

RAM磁盘

out/target/product/generic_arm64/ramdisk.img

2.创建启动脚本 (start_qemu.sh)

#!/bin/bashqemu-system-aarch64        -kernel path/to/Image.gz-dtb        -append "console=ttyAMA0 root=/dev/ram0"        -M virt        -cpu cortex-a57        -smp 4        -m 4096        -nographic        -drive file=out/target/product/generic_arm64/system.img,if=none,format=raw,id=system        -device virtio-blk-device,drive=system        -drive file=out/target/product/generic_arm64/ramdisk.img,if=none,format=raw,id=ramdisk        -device virtio-blk-device,drive=ramdisk        -netdev user,id=eth0        -device virtio-net-device,netdev=eth0

3.启动QEMU

chmod +x start_qemu.sh./start_qemu.sh

六、常见问题1.源码同步失败检查网络,重试repo sync或使用-f强制同步。

2.编译错误确保所有依赖已安装,尝试 `make clean` 后重新编译。

3.QEMU启动黑屏确认内核和镜像路径正确,检查启动参数是否匹配架构。

七、高级配置启用KVM加速

添加-enable-kvm参数(需主机支持虚拟化)。

图形界面

移除-nographic并使用-vga virtio。调试

添加-S -s参数启动GDB调试。

通过以上步骤,可以在QEMU中启动编译好的 LineageOS系统。如果遇到问题,建议查看编译日志和QEMU输出信息进行排查。

Android系统在线源码http://androidxref.comhttp://aospxref.com/Android系统所有版本https://www.androidos.net.cn/sourcecodeAndroid Kernel系统所有版本https://www.androidos.net.cn/sourcecodeAndroid系统核心服务https://www.androidos.net.cn/androidservicehttps://download.mokeedev.com/https://wiki.lineageos.org/devices/https://github.com/MoKeehttps://github.com/LineageOS

 

魔改定制篇

魔改Frida方案浅析

安卓逆向之ARM汇编基础

ARM汇编常用指令速成手册

魔改frida到绕过检测的思路

魔改frida特征和编译(绕过frida检测)

ARM架构Android系统qcow2镜像制作方法

ARM架构Android12系统qcow2镜像制作方法

鸿蒙(HarmonyOS)安全篇

鸿蒙Harmony OS核心架构

鸿蒙APP逆向分析工具和方法

鸿蒙内核源码分析(系统调用篇)

鸿蒙(HarmonyOS)APP文件格式解析
鸿蒙(HarmonyOS)应用的安全测试方法

鸿蒙系统(HarmonyOS)应用开发入门篇

鸿蒙HarmonyOS系统与Android系统原理浅析

鸿蒙(Harmony OS)中Native层的SDK详细解析

鸿蒙(HarmonyOS)2.0系统中定制堆栈跟踪方法

鸿蒙(HarmonyOS)APP开发环境搭建和语言介绍

HarmonyOS Next(鸿蒙Next)系统提权思路和方法

基于开源鸿蒙的机器人AIOS操作系统M-Robots OS1.0

HarmonyOS Next(鸿蒙Next)获取Root权限的解决方案

鸿蒙系统(HarmonyOS)常用的日志跟踪命令及相关操作指南

HarmonyOS Next(鸿蒙Next)针对APP抓包的工具和抓包方法

日志分析篇

Android日志分析基础

Windows图形化日志分析工具

iOS APP隐私合规检测的工具和方法

Android系统定制及adb日志调试方法

Android异常日志快速定位分析小技巧

Android APP隐私合规检测的工具和方法

Android10系统源码的libc中添加日志输出接口

Windows/Linux/MacOS文本大文件Log日志分析工具

Android ANR/Crash Log日志分析技巧总结(建议收藏)

Android10至16系统定制中实现同时打印JNI(Native)堆栈和Java堆栈

Root/安全检测篇

APP应用安全检测
App安全检测实践基础
常见APP抓包方法汇总(2025)
Root和隐藏(Magisk+Ruru+LSPosed)
LSPatch和太极框架(免Root)及Magisk
Android15无需解锁就能Root的解决方案
KernelSU Next是Android新兴的内核级Root解决方案
Android和iOS逆向分析/安全检测/渗透测试框架(建议收藏)
APP漏洞检测之静态动态安全检测APP的常见风险(值得收藏)
永久关闭或修改Android系统的SELinux状态(避免重启后恢复)

ROM系统定制篇

APP渗透测试常见工具和方法

常见APP抓包方法汇总(2025)

iOS APP隐私合规检测的工具和方法

LSPatch和太极框架(免Root)及Magisk

Android7至Android16系统定制篇(魔改)

Android15无需解锁就能Root的解决方案

Android7至16系统ROM魔改和安全研究篇(建议收藏)

KernelSU Next是Android新兴的内核级Root解决方案

HarmonyOS Next(鸿蒙Next)获取Root权限的解决方案

永久关闭或修改Android系统的SELinux状态(避免重启后恢复)

HarmonyOS Next(鸿蒙Next)针对APP抓包的工具和抓包方法

 

原文始发于微信公众号(哆啦安全):编译lineage_arm64-userdebug源码和编译内核及使用qemu-system-aarch64启动的完整过程

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年7月5日13:49:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   编译lineage_arm64-userdebug源码和编译内核及使用qemu-system-aarch64启动的完整过程http://cn-sec.com/archives/4221986.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息