开启辅助访问
登录
|
注册
|
官方网站
官方网站
English Forum
内测申请
四格报告
机型投票
English
本版
帖子
用户
首页
社区精华
维基资料
板块列表
官方商城
Auction
资料下载
Firefly开源社区
›
技术交流
›
人工智能
›
Firefly-RK3288
›
【求助】各位大神,关于linux下读写设备文件,求指点! ...
发表新贴
【求助】各位大神,关于linux下读写设备文件,求指点!!
onecan
onecan
当前离线
积分
94
onecan
94
积分
0
威望
0
贡献
技术小白
技术小白, 积分 94, 距离下一级还需 106 积分
技术小白, 积分 94, 距离下一级还需 106 积分
积分
94
发消息
发表于 2016-1-28 13:13:02
本帖最后由 onecan 于 2016-1-28 13:13 编辑
各位大神:
我现在做了这么件事情,因为我想在linux启动之后修改uboot传递的参数,所以我在parameter文件里添加0x00002000@0x00000000(uboot),然后开机,进入dev目录下查看是否产生名为uboot的设备软连接
存在/dev/mmcblk0p1的设备文件,然后利用hexdump -C /dev/mmcblk0p1,查看,可以看到
这个区域存储的是parameter的内容,现在在linux编写程序改写其中的一些内容,用read和write改写比如讲ethaddr=00:90:4c:49:16:02改写成ethaddr=00:90:4c:49:16:EF,之后hexdump -C /dev/mmcblk0p1,查看,发现确实改写了。之后
,之后重新启动,发现/dev/mmcblk0p1消失,cat /proc/cmdline,发现传进内核参数没有0x00002000@0x00000000(uboot),我现在很费解为什么会这样,如果我写错误,那为什么可以正常启动,启动时的parameter是从哪里读到的?
回复
使用道具
举报
busybee
busybee
当前离线
积分
152
busybee
152
积分
0
威望
6
贡献
技术小白
技术小白, 积分 152, 距离下一级还需 48 积分
技术小白, 积分 152, 距离下一级还需 48 积分
积分
152
发消息
发表于 2016-3-4 15:03:07
parameter 文件在打包时会生成 parameter.img, 里面含有开关的标识 "PARM" 和后面的四字节CRC校验,
所以如果要手工修改,还得把后面的校验更新才行。
至于改错了,系统还会读回之前的参数,那是因为 parameter.img 在 parameter 分区的不同地方写了好几份,有冗余。
回复
支持
0
反对
1
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
友情链接 :
爱板网
电子发烧友论坛
云汉电子社区
粤ICP备14022046号-2
快速回复
返回顶部
返回列表