树莓派3b运行自编译AOSP10

本文介绍如何基于AOSP10编译系统并成功在树莓派3B上运行,分享了Ubuntu 1804环境下编译流程,并详细解析了SD卡MBR分区方法及转换技巧。

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

参考如下两篇文章:

1. https://blog.youkuaiyun.com/stevenqian/article/details/76864832?utm_source=blogxgwz8

2.https://blog.youkuaiyun.com/housezhu/article/details/72229165

两篇文章都是基于aosp7.1.2,但https://github.com/android-rpi/device_brcm_rpi3已经升级到aosp10,所以我是基于aosp10编译的,可以编译成功并在树莓派3B运行,Ubuntu版本为1804。

关于sd卡分区

参考:https://github.com/android-rpi/device_brcm_rpi3里sd卡分区。

 

注意这里分区表要求是MBR,不是GPT。可以用parted命令进行转换。

判断当前硬盘是gpt还是mbr。使用如下命令:

  • # fdisk -l /dev/sde

    出现如下图片中的“WARNING: GPT (GUID Partition Table) detected“,说明当前硬盘是gpt的,否则是mbr的。

  • 在进行gpt转mbr时,硬盘的数据会被清除,需要提前备份。

    gpt的硬盘转换成mbr,使用如下命令:

    # parted /dev/sde

  • 在进行mbr转gpt时,硬盘的数据会被清除,需要提前备份。

    mbr的硬盘转换成gpt,使用如下命令:

    # parted /dev/sde

### 编译 Android 14 源码的指南 编译 Android 14 源码需要遵循一系列步骤,包括安装必要的依赖项、下载源码、配置环境以及执行编译命令。以下是详细的说明: #### 环境准备 在开始编译之前,确保系统已安装所有必需的工具和依赖项。对于基于 Debian 的系统(如 Ubuntu),可以使用以下命令安装所需软件包: ```bash sudo apt-get update sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 libncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig ``` 上述命令涵盖了编译 Android 源码时所需的大部分工具和库[^2]。 #### 下载 Android 源码 1. **初始化仓库**:使用 `repo` 工具初始化 Android 源码仓库。 ```bash mkdir -p ~/workspace/android-source cd ~/workspace/android-source repo init -u https://android.googlesource.com/platform/manifest -b android-14.0.0_rXX ``` 注意:将 `android-14.0.0_rXX` 替换为最新的分支版本号[^2]。 2. **同步源码**:从远程仓库同步代码到本地。 ```bash repo sync -j8 ``` #### 配置编译环境 1. **设置 JDK 版本**:Android 14 源码编译需要 JDK 11 或更高版本。可以通过以下命令安装 OpenJDK 11: ```bash sudo apt-get install openjdk-11-jdk ``` 2. **选择目标设备**:根据目标硬件选择合适的编译目标。例如,如果目标是 x86_64 架构的模拟器,则运行以下命令: ```bash source build/envsetup.sh lunch aosp_x86_64-eng ``` 如果目标是树莓派 5,则需要额外配置内核支持[^3]。 #### 执行编译 1. **启动编译过程**: ```bash make -j$(nproc) ``` 使用 `nproc` 命令动态调整线程数以优化编译速度。 2. **生成镜像文件**:编译完成后,生成的镜像文件通常位于 `out/target/product/<device_name>/` 目录下。 #### 测试编译结果 如果目标是模拟器,可以启动 Android Emulator 并加载生成的系统镜像: ```bash emulator -avd <AVD_NAME> -system out/target/product/x86_64/system.img ``` 确保路径正确,并替换 `<AVD_NAME>` 为实际的虚拟设备名称。 --- ### 注意事项 - 确保磁盘空间充足:编译 Android 源码可能需要数十 GB 的存储空间。 - 检查网络连接:源码同步过程中需要稳定的互联网连接。 - 根据硬件平台调整编译参数:例如,树莓派 5 的编译需要额外的内核支持[^3]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值