问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么修改Android 的Linux内核?

发布网友 发布时间:2022-04-23 09:23

我来回答

1个回答

热心网友 时间:2023-10-09 10:27

Android 产品中,内核格式是Linux标准的zImage,根文件系统采用ramdisk格式。这两者在Android下是直接合并在一起取名为boot.img,会放在一个独立分区当中。这个分区格式是Android自行制定的格式。

Android开发时,最标准的做法是重新编译于内核和根文件系统,然后调用Android给的命令行文件mkbootimg(out/host/linux-x86/bin/)来打包。

在制作手机ROM时,有时会单独编译内核或抽出根文件进行修改内容,比如我只编译内核,其余的地方不变。这样重新安装巨大的Android开发环境实在不划算。因此很多boot.img解包工具被人开发出来,这一些工具都是把内核和根文件系统从一个现成的boot.img抽取出来,修发后再次打包还原。

一.常见的解包工具

因为boot.img的格式比较简单,它主要分为三大块(有的可能有四块)

因此很多人开发分析工具,有是linux shell脚本,比如repack-zImage,也有人采用perl,还有C语言编写的 unbootimg,

我使用的是在源码位置system/core/mkbootimg/ 下的 mkbootimg。为了简化,蓝点工坊把与mkbootimg中打包工具和解包工具以及所包含的libmincrpty库抽出来,并且重写一个Makefile,作为开源项目。
使用者只需要在linux(需安装gcc,make,一般是标配)或windows(需要安装mingw)的命令行执行make,即可产生可执行文件mkbootimg ,unpackbootimg。

二.解/打包工具使用

解包工具:unpackbootimg

常见格式
unpackbootimg -i .\tmp\boot.img -o .\out

这一句命令行表示把boot.img解包,所有文件输出到out目录下

它会解压出如下文件:
boot.img-zImage (内核文件)
boot.img-ramdisk.gz (根文件系统打包文件)
boot.img-cmdline (mkbootimg cmdline参数)
boot.img-pagesize (mkbootimg pagesize参数)

boot.img-base (mkbootimg base参数)

打包工具:mkbootimg (Android自带)

常见的命令格式:
./mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel zImage --ramdisk boot/boot.img-ramdisk.gz -o boot.img --base 02e00000
这句含义是把内核文件zImage和boot目录下的根文件压缩包 boot.img-ramdisk.gz打包成boot.img.
其中cmdline和base的值均来源于unpackbootimg的结果追问改起来好麻烦。。。算了,回头再说吧,但是帮我看看这个。Java 里面AudioRecord.read(int audioData, int offset, int size) 中间那个offset到底是什么意思,感觉抓不到点

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 骁龙处理器2500和4100哪个更好? 找一个手机游戏,经典日系画风、像素、回合制、棋格类,不同家族卡牌养成,上阵角色有限 与携程网类似的有哪些?携程与阿里旅行谁好? 高通推出骁龙Wear2500,增强哪些性能 描写心情的词两字词语 数码录音技术是什么? 什么是携程礼品卡? 携程礼品卡有哪些种类? 一款日系像素风的冒险游戏,有三个职业选择,宠物有孙悟空,紫霞 一般汽车空调压缩机保几年? 高通骁龙3100和高通骁龙2500哪个更好? 手机摄影讲堂十六期:日系风格可这么玩 高通骁龙2500相当于什么处理器? vb中如何缩小图片 银行交易类型有哪些 怎样在百度推广自己的网站 携程是什么性质的企业?国企?私企?民营?还是什么啊~~感谢赐教了 怎么用数码相机录音? 大众菠萝两厢空调压缩机长转? 找一个轻战棋,手机游戏,注意!!!是经典日系像素画风 一个多星期都没有结果,谁能破!! VB编程 改变图片大小 vb image picture 如何按比例改变图片的大小 携程网会员级别有哪些?升级标准是什么? ntrpg圣诞版是什么 百度推广页面在哪里展示的? 高通骁龙820,2500的手机哪个好? 携程网电子商务的交易类型,商业模式 盈利模式? vb 保存图片时设置保存文件大小 日本“像素之神”小野浩去世,他生前在该领域获得过哪些荣誉? 在百度怎么样去免费推广自己的网站呢? 单声道,立体声和数码录音各有什么特点? 想问问大家,OPPO Watch 2值得入手吗? 找一款手游 数码相机录象的时候可以录制声音么? VB 如何控件图片的大小 安卓是基于Linux内核运行的虚拟机,那安卓手机能否运行Linux系统 2500左右骁龙处理器855plus那款好? 携程商旅差旅管理公司为企业提供哪种类型的服务? 怎样在百度上可以推广我们的网站啊? 求助一个日式回合制rpg 可能是比较老的游戏,2d或许还有点像素风。 目前哪些2500左右的手机性价比高?