老古-关于jffs2的升级问题
我的嵌入ARM的设备,跑linux-2。4。30 的kenrel,root filesystem jffs2是挂靠到nor flash的一个分区(/dev/mtd1,大小2M),实现了诸多网络服务(httpd,tftpd,ftpd,telnetd,dhcps等),现在想通过http web页面upgrade升级jffs2根文件系统,因为很多应用程序都是放在rootfs jffs2分区的,我有一个思路,但是没有成功,望老古大哥指点一二。
我的实现:
1。通过http web把2M的jffs2系统文件上载到ARM设备内存
2。利用pivot_root交换root 文件系统jffs2到一个临时的root文件系统ext2
3。?卸载jffs2文件系统,这里总是不能成功卸载,说jffs2忙(我已经杀掉所有能杀的应用进程,也重新执行了新根文件系统的sh)
4。用cp -f把jffs2文件copy到/dev/mtd1
问题: 这种强制copy导致了jffs2 inode有问题,导致很多程序不能使用(已被破坏)
对于升级挂靠的jffs2根文件系统,有什么好的方法,望高手指点一二,谢谢。
发表时间:2008年1月15日10:45:38