当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 如何挂载一个压缩的映像文件?
帖子发表于 : 2010-09-07 22:35 

注册: 2010-04-27 13:20
帖子: 18
送出感谢: 0 次
接收感谢: 0 次
大家好,请问大家一个问题,假设我将linux根目录下的usr弄成一个压缩的映像文件,其他目录都直接存在硬盘第一分区,通过grub引导启动,那么,我如何挂载这个压缩型的映像文件到/usr啊??
请教。。


我试过挂载iso镜像。。
过在rcS里面添加mount命令 ,挂载iso镜像。。。
机器启动后,的确自动挂载了iso到/usr,但是,却提示error while loading。。 (文件是找到的)

另外,假设我把这个压缩的镜像文件usr.gz。通过grub的initrd启动是否可行???
在fstab如何添加?
网上有人说是:/dev/ram0 /usr ……………………
but,我试过,好像没效果。。。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 如何挂载一个压缩的映像文件?
帖子发表于 : 2010-09-08 0:08 
头像

注册: 2008-12-09 12:44
帖子: 3864
地址: 北京
送出感谢: 0 次
接收感谢: 2
/usr 目录下有很多重要的系统文件,不能挂载到它吧?为什么不挂载到 /mnt 呢?


_________________
Pity is the bomp!
活着就是折腾!生命不息,折腾不止!
看这帮家伙在干什么?@pityonline/u
Dropbox+Vps+PC 跑起来了!这是邀请链接


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 如何挂载一个压缩的映像文件?
帖子发表于 : 2010-09-08 0:57 

注册: 2010-04-27 13:20
帖子: 18
送出感谢: 0 次
接收感谢: 0 次
pityonline 写道:
/usr 目录下有很多重要的系统文件,不能挂载到它吧?为什么不挂载到 /mnt 呢?



我打算弄一个100MB以内的linux,使用的是slitaz linux为原版进行修改。。。
其grub引导为:
kernel (hd0,0)/boot/bzImage
initrd (hd0,0)/boot/rootfs.gz

整个系统压缩成rootfs.gz,大小就30MB


我们都知道,这些微型linux 例如puppy等linux,都是通过initrd模式启动的。。。他吧整个系统都弄成一个镜像(rootfs.gz),然后通过initrd启动。。这样子不单可以节约空间(镜像可以是压缩的),而且,启动解压是存放在内存里面。。。。可以说是一个内存上运行的系统。。

问题出现了,在这些内存运行上的系统里面,你所修改的文件,编写的文件,修改过后的etc里面的配置文件,一旦重启,你所修改的东西会无效,因为,重启,依然会解压rootf.gz。。。。

/////////////////////这样子是不行的///////////////////////////////
当然,我们可以讲这个系统完全解压到一个硬盘分区来运行。。不通过initrd,直接启动内核就可以了。。
也就是直接kernel (hd0,0)/boot/bzImage rw root=/dev/hda1 就可以启动了。。
而且,一切的修改,都基于硬盘,也得以保存。。
但是,这样子的系统,却用上了300MB以上的空间。。非常大!!比起原来的30MB大得多了。。。
//////////////////////////////////////
所以,只能继续采用压缩的方式但是,又要解决文件保存。

为了解决自己修改后的文件,或者自己编写的文件得以保存。我修改过rootf.gz里面的etc里面的fstab,把/home。挂载到硬盘上的某个分区里面,那么,当运行这个rootfs.gz系统,在普通用户目录下的文件得以保存,因为是记录在硬盘的分区,,同理,其他一些目录一样可以挂载到其他分区。。。
这个倒是实现了。。。也很简单。。虽然,可以解决普通用户的文件得到保存,其实,同理,root用户也可以。。但是,那些etc目录就应该不能这样子了。。

对于rootfs.gz。。。里面,就/usr这个目录占用了95%的空间,ok

下面我打算采取如下的思路:
除/usr目录采用压缩方式外,其他的目录直接存放在硬盘上:::这样子用的空间很少的。。。。不到10MB,而压缩的/usr也就25MB

接着,由于/usr目录很大,讲之压缩成一个镜像文件。空间不用30MB。。。这样子,整一个系统不到50MB 比300MB的少多了。
然后,系统启动的时候,mount这个镜像文件
这样子,就方案来说应该可以的。。但是,可行性是一个问题。。。

我试着将/usr目录弄成压缩的镜像,通过initrd启动,但是失败了(个人认为,这个方法应该可以,也许是我弄少某些地方)(ps:我看别人的xpud Linux通过这种方式成功挂载opt目录,但是,具体的实现方式找不到。。。)

为了测试可行性,我不弄成一个压缩文件 ,先弄成一个iso镜像文件
在机器启动的时候,自动mount这个iso镜像。。。可是,提示error while loading share library :file too short

如果我不让之mount这个iso镜像的话,可就提示can 't not find ***file

自动mount这个iso镜像后,就提示files too short

我在想,是不是iso不能写的缘故呢??上网找了资料,好像也不管用。

ps:我个人认为,mount这种方式应该可行的。。

因为,我将mount命令是添加在initial里面的,也就是,内核加载完后,就读取这个ini了。。那么,我这个mount是添加第一行。一开始就直接mount了。所以,当系统需要调用/usr里面的文件的时候,不会提示找不到文件的。。。上面的iso加载实践也应该说明这一点。

但是,弄到现在,我的问题还在起步。好像没什么进展。。。郁闷。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 如何挂载一个压缩的映像文件?
帖子发表于 : 2010-09-08 8:47 
头像

注册: 2008-12-09 12:44
帖子: 3864
地址: 北京
送出感谢: 0 次
接收感谢: 2
抱歉,是我看错了。
这种方式好像有些类似我的 智器 Smart Q5 的启动方式,它的固件(安装文件)解压后是这样的:
代码:
header  homefs.tar.gz  initramfs.igz  qi.nb0  rootfs.tar.gz  u-boot.bin  zimage

但它的原理我没搞清楚,楼主的问题对于我来说蛮深奥的,等楼主搞定后一定要来分享一下哦……


_________________
Pity is the bomp!
活着就是折腾!生命不息,折腾不止!
看这帮家伙在干什么?@pityonline/u
Dropbox+Vps+PC 跑起来了!这是邀请链接


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 如何挂载一个压缩的映像文件?
帖子发表于 : 2010-09-08 15:29 
头像

注册: 2010-09-06 14:25
帖子: 119
送出感谢: 0 次
接收感谢: 0 次
以前在arm上用网络挂载过android的文件系统,PC上到ubuntu不熟阿


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 如何挂载一个压缩的映像文件?
帖子发表于 : 2010-09-08 15:36 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
iso挂载啊。你的iso制作的时候,注意那格式的选择没。缺省的iso的文件名,可短了。要改的。
iso可不能修改的,是不是适合你的系统,可就不知道了。


_________________
● 鸣学


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 如何挂载一个压缩的映像文件?
帖子发表于 : 2010-09-08 15:53 
头像

注册: 2010-09-06 14:25
帖子: 119
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
iso挂载啊。你的iso制作的时候,注意那格式的选择没。缺省的iso的文件名,可短了。要改的。
iso可不能修改的,是不是适合你的系统,可就不知道了。

测试iso到话在普通系统上挂载到cd里看看能不能用就知道了


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 如何挂载一个压缩的映像文件?
帖子发表于 : 2010-09-08 16:04 
头像

注册: 2007-05-06 8:19
帖子: 7445
送出感谢: 0 次
接收感谢: 5
想保存....,那么可以另外挂载,


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 如何挂载一个压缩的映像文件?
帖子发表于 : 2010-09-08 22:33 

注册: 2010-04-27 13:20
帖子: 18
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
iso挂载啊。你的iso制作的时候,注意那格式的选择没。缺省的iso的文件名,可短了。要改的。
iso可不能修改的,是不是适合你的系统,可就不知道了。



制作的时候应该没问题的。。。
启动后,我直接cd /usr能看到里面的文件。。。。是确实挂载到iso。。。

另外,我也制作成img磁盘镜像文件,同样也能挂载到,也出现同样的问题。。。。。郁闷。。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译