免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: crifan
打印 上一主题 下一主题

[操作系统] 在Linux运行期间升级Linux系统(Uboot+kernel+Rootfs) v1.0 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-06-24 17:07 |只看该作者
本帖最后由 pxebxp 于 2011-06-24 17:08 编辑

我目前的情况是这样的,我的开发板文件系统是cramfs,修改mac地址是通过上电启动时,在uboot环境下改的,我想是写到了uboot的参数区里。
我的环境:
# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00080000 00004000 "bootloader"
mtd1: 00180000 00004000 "params"   (应该是uboot的参数区)
mtd2: 00200000 00004000 "kernel"
mtd3: 01800000 00004000 "filesystem1"
mtd4: 00400000 00004000 "filesystem2"

如果我要在runtime的情况下,修改uboot的参数区的数据,改如何修改,即想实现在线修改mac地址的问题。

论坛徽章:
0
12 [报告]
发表于 2011-06-25 12:18 |只看该作者
carmfs是只读的文件系统,所以在文件系统中调用mtd的erase,write等工具去写数据,不知道是否可行。
不过你可以尝试一下。
如果可以写,那么方法就是我帖子里说的,你自己首先弄懂你的uboot参数是放在哪个区,你这里是mtd1,16K大小,所以你不妨把16的数据读出来,然后自己解析,找到对应的ip地址,修改为你要的,然后先erase再write,即可实现runtime更新数据。

论坛徽章:
0
13 [报告]
发表于 2011-06-29 18:14 |只看该作者
又学到了。。谢谢lz

ps:我们这边的升级是在U-boot里面通过u盘来升级除了u-boot之外的东西。

论坛徽章:
0
14 [报告]
发表于 2012-05-12 10:58 |只看该作者
把reboot放到tmp下!好主意

论坛徽章:
0
15 [报告]
发表于 2012-05-12 12:50 |只看该作者
LZ 烧写kernel到nor flash上,可不能使用nandwrite啊。这时直接使用write吗?
我知道dd是可以的,我编写应用程序,直接write /dev/mtdx对应分区的时候,write是不是已经跟m25p80的驱动建立联系了(假设驱动正常,),这样就能直接对nor flash进行kernel升级?

论坛徽章:
0
16 [报告]
发表于 2012-05-21 12:55 |只看该作者
阅读过,有参考价值,支持一下

论坛徽章:
0
17 [报告]
发表于 2012-05-23 10:30 |只看该作者
好东西,谢分享!

论坛徽章:
0
18 [报告]
发表于 2012-11-19 10:06 |只看该作者
大神,请问如何关闭pdflush进程,好像kill不掉 我用kill -9 来停止进程的。回复 5# crifan


   

论坛徽章:
0
19 [报告]
发表于 2012-11-19 10:27 |只看该作者
回复 18# shruger2009


    说实话,不太清楚。
不过,建议可以先去看最新版本:
在Linux运行期间升级Linux系统(Uboot+kernel+Rootfs)
中的,关于建议把相关工具,都放到ramdisk的,这样会在很大程度上,降低升级rootfs时可能出现崩溃的概率。

如果还是会崩溃,再回来继续讨论。

论坛徽章:
0
20 [报告]
发表于 2012-11-19 16:09 |只看该作者
谢谢大神,经过测试,只把reboot放到/tmp/下,可以再更新完成后执行重启,暂时无崩溃现象!回复 19# crifan


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP