OrangePi-One Android 源码编译

源码下载地址:

https://pan.baidu.com/s/1i5qnJud

下载源码包解压得到  android    lichee  两个文件夹, lichee是linux的内核,包括uboot等等,android是安卓源码,各自编译,最终根据脚本打包为镜像文件


一:系统环境搭建参照

http://blog.youkuaiyun.com/baijinwen/article/details/72812811


二:lichee源码编译

1. 查看help

./build.sh -h


2. 配置内核

cd linux-3.4
make ARCH=arm menuconfig
进入配置页面,上下移动列表,空格是选择列表, 左右移动选择退出选项


3. 首次编译执行清除(在   lichee/linux3.4/文件夹下面)

make clean

4. 回到lichee目录下,删除配置文件

cd ..
rm linux-3.4/.config

5. 编译linux内核(基于全志芯片,加载了相关模块)

./build.sh lunch
选择   sun8iw7p1-android-dolphin的序号,编译大概要5分钟(i5 4核 + 8G内存)



6. 编译遇到的错误

1)  awk: line2 : function strtonum never defined

解决:安装gawk

sudo apt-get install gawk


三:Android源码编译

1. 加载环境脚本

$ cd android 
$ source ./build/envsetup.sh


2. 选择型号

$ lunch

选择  dolphin_fvd_p3-eng



3. 拷贝内核及驱动模块

$ extract-bsp 
如果成功拷贝,会出现类似以下这样的提示:



4. 编译

$ make -j2
说明:j2后面的数字是你要使用的线程数,看你电脑具体配置,CPU配置越好,能使用的线程越多,编译就越快

总共花费的时间是   (i5 4核+8G), 最后在  android/out/target/product/dolphin-fvd-p1 目录下生成   boot.img     revovery.img    system.img   3个镜像文件



遇到的问题

1) Your are using version 4.0 of make

解决(亲测可以编译)

cd build
cd core
cp main.mk main.mk.backup
sudo vi main.mk
将50行注释掉并保存
#$(error stopping)
cd ..
cd ..

四:打包成镜像

1. 打包生成固件(在  android 目录下执行)

pack


2. 跳转到输出镜像目录   lichee/tools/pack


五:安装镜像

使用PhoenixCard把镜像安装到orangepi one上,插上电源,如图












编译 Linux 内核需要以下步骤: 1. 获取 Linux 内核源代码。你可以从官方网站或 GitHub 上下载最新的内核源代码。 2. 安装交叉编译工具链。如果你的开发环境是 x86 架构的,你需要安装交叉编译工具链来编译适用于 ARM 架构的内核。你可以使用 apt-get 命令或其他包管理器来安装工具链。例如,在 Ubuntu 或 Debian 上,你可以使用以下命令来安装: ``` sudo apt-get install gcc-arm-linux-gnueabihf ``` 3. 配置内核。进入内核源代码目录,使用以下命令来配置内核: ``` make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- orangepi_zero2_defconfig ``` 这将使用默认配置文件来配置内核。 4. 编译内核。使用以下命令来编译内核: ``` make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage dtbs modules ``` 这将编译内核镜像、设备树和内核模块。 5. 安装内核。将编译好的内核镜像和设备树文件复制到 SD 卡的 boot 分区中。例如,在 Ubuntu 或 Debian 上,你可以使用以下命令来安装: ``` sudo cp arch/arm/boot/zImage /media/boot/ sudo cp arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero2.dtb /media/boot/ ``` 6. 配置引导加载程序。编辑 SD 卡的 boot 分区中的 boot.cmd 文件,并添加以下内容: ``` setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 fatload mmc 0:1 ${kernel_addr_r} zImage fatload mmc 0:1 ${fdt_addr_r} sun8i-h2-plus-orangepi-zero2.dtb bootz ${kernel_addr_r} - ${fdt_addr_r} ``` 这将配置引导加载程序以加载内核镜像和设备树,并指定内核参数。 7. 生成引导加载程序镜像。使用以下命令来生成引导加载程序镜像: ``` mkimage -C none -A arm -T script -d boot.cmd boot.scr ``` 这将生成一个名为 boot.scr 的文件,它是引导加载程序镜像。 8. 将引导加载程序镜像复制到 SD 卡的 boot 分区中: ``` sudo cp boot.scr /media/boot/ ``` 9. 将 SD 卡插入 Orange Pi Zero 2 开发板,并启动板子。如果一切正常,你应该看到内核启动信息在串口终端中输出。 注意:这只是一个简单的指南,实际的操作可能会因环境和设备而有所不同。请确保你熟悉 Linux 内核编译和 Orange Pi Zero 2 开发板的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值