嵌入式Linux运行过程中动态更新cramfs分区。

本文介绍了在嵌入式Linux系统运行过程中,如何使用mtd_debug、dd和nandwrite工具动态更新cramfs分区。通过实例展示了不同工具的使用方法,包括成功和失败的情况,如dd可能导致ECC错误,而nandwrite无法成功完成更新。
摘要由CSDN通过智能技术生成

 一直想解决在嵌入式linux运行的时候,动态更新cramfs,今天用mtd_debug实现了对kernel和rootfs的运行时更新。

同时还使用了dd以及nandwrite,发现dd对一个文件是可以的,但是写入另一文件后,内核启动的过程中出现了ECC的kernel panic。

而使用nandwrite则一次都不能成功。

--=================================================-- 1. OK /root/mtd_utils # ./mtd_debug write /dev/mtdblock/1 0x0 1218604 zImage Copied 1218604 bytes from zImage to address 0x00000000 in flash

./mtd_debug write /dev/mtdblock/2 0x0 2404352 ./rootfs.my.cramfs # ok ./mtd_debug write /dev/mtdblock/2 0x0  2416640 rootfs080626.cramfs # ok ./mtd_debug write /dev/mtd/2 0x0  2416640 rootfs080626.cramfs # write ok, run ok!

注意mtd_debug的长度参数,要<=文件的长度,才会写入到mtd中,否则会给出如下提示并退出: file_to_flash: fread, size 0x1297f5, n 0x1297f5 fread(): Success

--=

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值