| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android系统10 RK3399 init进程启动(十一) 内核编译 -> 正文阅读 |
|
[移动开发]Android系统10 RK3399 init进程启动(十一) 内核编译 |
?配套系列教学视频链接:? ? ??安卓系列教程之ROM系统开发-百问100ask 说明系统:Android10.0 设备: FireFly RK3399 (ROC-RK3399-PC-PLUS) 前言? ? ? ? ?本章重点介绍在Android 源码包中,内核的的单独编译。 一, 内核目标清除内核如果编译过, 需要重新重头编译,或者打包给别人, 可以对内核进行清除
distclean清除更彻底 二, 单独第一次编译内核对于第一个编译内核, 需要进行内核配置, rk3399会可以做如下操作
解释: 执行make ARCH=arm64 firefly_defconfig android-10.config ?rk3399.config会显示如下:
?说明会将多个congfig文件会进行合并。 执行make ARCH=arm64 BOOT_IMG=../rockdev/Image-rk3399_roc_pc_plus/boot.img rk3399-roc-pc-plus.img -j6 的意思是 会编译rk3399-roc-pc-plus.dts, 并且会将最终的目标文件更新生成到../rockdev/Image-rk3399_roc_pc_plus/boot.img 三, 修改内核源码再编译如果已经做过第一次内核配置和编译,后面需要在此基础上进行修改和编译, 可以通过如下操作:
或者修改源码,dts等, 如修改支持sd/tf启动:
重新编译内核:
?最后编译生成日志为:
四, 生成镜像介绍在当前目录下会出现boot.img ?resource.img, 以上红色部分是在kernel/scripts/mkimg中打印出来的
?将boo.img解压出来, unpack_bootimg --boot_img boot.img --out boot-out,.得到如下内容: 其实boot.img的生成是由如下命令完成的:
最后通过验证,其实boot.img中的second就是resource.img。 ?解压resource.img:
?在当前目录下出现out目录: ?所以rk3399下boot.img内部结构如下:
五, 内核烧录六,总结通过编译内核, 大体上知道内核源码最终生成的是boot.img, 可以打包生成到统一镜像中去, 也可以单独编译和调试。 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:51:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |