- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RK2918 固件DIY 第二讲 初级修改
第二讲(初级篇)
【ReaK出品】固件开发笔记,快来DIY专属定制固件吧(附带工具)
/forum.php?mod=viewthreadtid=98159fromuid=218854
上一讲我们 搭建了工作环境,讲了升级 和打包解包(工具内)
这一次来做初级修改
获得ROOT权限
只要将固件解包后在打包就会自动获取ROOT
(很简单吧)
Q:获得ROOT能干什么?
F:最简单的 就可以用一些权限软件。 可以禁用启动项和服务啦 哈哈。。。但是不能删除自带系统文件
二、获得System 读写权限。(可以删除自带程序)
以下是wendel 的方法
“核心原理: 在data分区下建一个文件夹/data/sysrw存放system原本的数据,启动时,软连接/data/sysrw为system分区
解释:
1. data分区,最终挂载为/data文件夹,默认情况下,这是ext3格式的分区,但禁用了suid
2. system分区,为不可写的cramfs格式,默认挂载在/system文件夹
步骤:
1. 在原版系统可以正常启动的前提下,将/system下的全部文件,拷贝到/data/sysrw
2. 修改boot.img,移除system文件夹(否则无法建立通往/system的软链接),对init.rc文件做以下修改:
..A. 不再挂载system分区 -- 注释掉 mount cramfs mtd@system /system -- 也就是前面加#号
..B. 不再建立system文件夹 -- 注释掉 mkdir /system
..C. 修改data分区的挂载方式,使其支持suid -- 挂载语句改为 mount ext3 mtd@userdata /data
..D. 修改data分区的权限 -- chmod 0770 /data 改为 chmod 0777 /data
..E. 修改su文件的权限,在D步骤所修改文件后面添加 chmod 6755 /system/bin/su -- 因为data分区启用了suid,故这个程序可以调用setgid(0)和setuid(0)了
..F. 为了提供更大自由度,修改根分区的权限 -- 注释掉 mount rootfs rootfs / ro remount
..G. 建立通往/system的软链接 --- 找到 mkdir /data ,在后面新起一行 symlink /data/sysrw /system
经验教训
1. symlink 语法,与ln一样,前面是真实地址,后面是虚拟地址
2. 如果分区不支持suid,那么setuid/setgid将无法使用”
看不懂?没关系,整理了傻瓜式方法:
“具体操作:
解包后直接打包固件,备份boot.img为boot1.img,备份boot文件夹,将此时的update_new.img备份为update1.img
对init.rc文件做以下修改
找到 mkdir /system
将
mkdir /system
mkdir /data 0771 system system
修改为
mkdir /sysro
mkdir /data 0777 system system
symlink /data/sysrw /system
找到
mount cramfs mtd@system /system
#mount mtd@system /system ro remount
mount ext3 mtd@userdata /data nosuid nodev noatime nodiratime
修改为
#mount cramfs mtd@system /system
#mount mtd@system /system ro remount
mount ext3 mtd@userdata /data
找到
mount rootfs rootfs / ro remount
# We chown/chmod /data again so because mount is run as root + defaults
chown system system /data
chmod 0771 /data
修改为
mount rootfs rootfs / rw remount
# We chown/chmod /data again so because mount is run as root + defaults
chown system system /data
chmod 0777 /data
然后删掉boot文件夹
文档评论(0)