编译安装适用于树梅派4B的android系统

2023-11-21 00:04

本文主要是介绍编译安装适用于树梅派4B的android系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、下载android源码 aosp

一般来说需要通过storage.googleapis.com 下载,但是由于网络限制的原因,采用通过清华源镜像来下载。

1.打开 清华源AOSP镜像   (可以参考里面步骤下载)

2.下载repo 工具

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo> ~/bin/repo
chmod a+x ~/bin/repo

3.创建下载源码的目录

mkdir ~/aosp
cd ~/aosp

4. 下载android 12 源码,增加树梅派相关代码配置 可参考树梅派android 源码

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-12.1.0_r21
git clone https://github.com/android-rpi/local_manifests .repo/local_manifests -b arpi-12
repo sync

二、编译源码

1.编译环境需安装些工具(可能列的不全)

sudo apt install libssl-dev python3-setuptools 

2.编译AOSP

 source build/envsetup.shlunch rpi4-engmake ramdisk systemimage vendorimage

3.下载内核源码

mkdir ~kernel
cd ~kernel
repo init -u https://github.com/android-rpi/kernel_manifest -b arpi-5.10
repo sync

4.编译内核 (android 11 后可以单独编内核)

cd ~kernel/ 
build/build.sh

三、刷系统

1.准备一张sd卡,16G

2.将SD分区(最好用命令行分区,试过用Gparted不行)

设置如下:p1  128MB for boot : Do fdisk, set W95 FAT32(LBA) & Bootable type, mkfs.vfatp2 1024MB for /system : Do fdisk, new primary partitionp3  128MB for /vendor : Do fdisk, new primary partitionp4 remainings for /data : Do fdisk, mkfs.ext4Set volume label of /data partition as userdata: use -L option for mkfs.ext4

具体方法如下:

sudo fdisk -l

得到SD卡路径是/dev/sdb

sudo fdisk /dev/sdb
d:先删掉/dev/sdb1
n:创建新的四个分区(/root /system /vendor /data),都是primary分区类型,设置分区大小时输入需要的MB。

a:设置boot分区为bootable
t:改变分区的类型(W95 FAT32 (LBA),Linux)
$ sudo mkfs.vfat -n boot /dev/sdb1
$ sudo mkfs.ext4 -L “system” /dev/sdb2
$ sudo mkfs.ext4 -L “vendor” /dev/sdb3
$ sudo mkfs.ext4 -L “data” /dev/sdb4
 

3.写入 system & vendor 分区

cd ~/aosp/out/target/product/rpi4
 sudo dd if=system.img of=/dev/sdb2 bs=1M
sudo dd if=vendor.img of=/dev/sdb3 bs=1M

4.复制固件到boot分区 (直接复制不需要命令行)

 device/arpi/rpi4/boot/* to p1:/out/target/product/rpi4/ramdisk.img to p1:/
 <kernel directory>/out/arpi-5.10/dist/Image.gz to p1:/<kernel directory>/out/arpi-5.10/dist/bcm2711-rpi-*.dtb to p1:/<kernel directory>/out/arpi-5.10/dist/vc4-kms-v3d-pi4.dtbo to p1:/overlays/

5.搞完,直接插卡开机

参考文章:树莓派Android10源码试装_树莓派 android系统编译-CSDN博客

GitHub - android-rpi/device_arpi_rpi4 at arpi-12

AOSP | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

这篇关于编译安装适用于树梅派4B的android系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/398409

相关文章

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class