• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

怎样只读加载CF卡上的文件系统?

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 27次 | 进入软件测试论坛讨论

领测软件测试网
我在CF卡上作了一个Linux,正常启动是没问题的。但是因为CF不能多次写,所以想在init时将CF卡上的root文件系统只读加载。但是在rc.sysinit中修改后,系统的init过程就不能进行了。怎样才能完美的加载CF卡上的root文件系统,同时又能正常使用Linux?

 零二年的夏天 回复于:2003-11-26 19:06:40
试试fstab。

另:CF卡是什么?

:)

 ljsheng 回复于:2003-11-26 19:19:08
其实以只读的方式加载root文件系统是可以的。但是系统初始化时很多程序要写文件系统,所以初始化会失败。我知道有一种方法可以:系统以ram设备启动,然后将CF卡上的文件拷入ram盘。但是这种方法太麻烦,有点小题大作的感觉。
另:CF卡就是Compact Card。一种读写介质,需要使用读卡器读取。

 ljsheng 回复于:2003-11-26 19:20:02
想请大虾指点一下简便的方法。

 chenjn 回复于:2003-11-26 19:38:23
CF卡怎么会不能多次写呢?奇怪

 ljsheng 回复于:2003-11-26 20:17:11
CF卡的写寿命远小于读寿命,而我的CF系统要运行很长的时间,所以需要尽量不写CF卡。因此才会只读加载CF卡上的root文件系统。

 零二年的夏天 回复于:2003-11-27 09:52:33
[quote:ff582f4918="ljsheng"]其实以只读的方式加载root文件系统是可以的。但是系统初始化时很多程序要写文件系统,所以初始化会失败。我知道有一种方法可以:系统以ram设备启动,然后将CF卡上的文件拷入ram盘。但是这种方法太麻烦,有点小题大作..........[/quote:ff582f4918]

谢谢! :)

 LoveFreedom 回复于:2003-11-27 09:54:22
利用ramdisk技术实现

你写启动脚本的时候在/etc/rc.d/rc.local里面添加(假如你压缩的系统叫
sys.tar.gz ,放在/home/下)
mke2fs  /dev/ram0
mount  /dev/ram0   /mnt/ramdisk0
cd  /mnt/ramdisk0
dd if=/hom/sys.tar.gz  bs=1k |gzip -d | cpio -idv
chroot  /mnt/ramdisk0/sys/

 ljsheng 回复于:2003-11-27 11:45:26
如果在rc.local中作的话,那rc.sysinit怎么办呢?因为文件系统是只读加载的,所以在rc.sysinit的过程中就会失败的。那就只能在initrd.img中的linuxrc中做了,是吗?

 gentoo 回复于:2003-11-27 13:35:04
不用加载CF卡上的FS,把你做的文件装载在内存中(RAM0)。
我的做法是:1。先准备好你的系统,KERNEL。
2。做一个内存文件,大小自定(dd if=/dev/zero of=./ramfs bs=15M conut=1)
3.mke2fs -m 0 ./ramfs
4.挂载:mount -o loop ./ramfs /mnt/tmp
5.把你的文件系统都拷过去/mnt/tmp
6.umount /mnt/tmp
7.gzip -9 ./ramfs
这样会得到一个镜象文件。用他来做initrd就可以。
注意你的系统/etc/fstab 中/目录mount 在ram0上。

 grub007 回复于:2003-11-27 15:09:24
和一张光盘上的linux系统类似,你用isolinux来引导就可以了!

 grub007 回复于:2003-11-27 15:17:48
关于isolinux的引导过程,你可以看看isolinux的网站,很容易的,很多只读系统都是放在ram中运行的。

 ljsheng 回复于:2003-11-27 16:40:15
OK!谢谢各位大虾,小弟搞定了,呵呵!!!

 LoveFreedom 回复于:2003-12-01 17:17:49
ljsheng ,可以讲一下你是怎么实现的吗?谢谢

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网