Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7741
  • 博文数量: 8
  • 博客积分: 50
  • 博客等级: 民兵
  • 技术积分: 60
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-07 14:26
文章分类

全部博文(8)

文章存档

2012年(8)

我的朋友
最近访客

分类:

2012-01-11 10:13:56

原文地址:gzip格式的内核驱动模块 作者:rocky-ghu

今天使用tinycore-linux时,发现在tinycore-linux的initrd文件中驱动模块是*.ko.gz的格式,于是对这个格式的驱动模块在网上查询了一些信息:
现在总结一下:
例如现在又驱动模块vfat.ko.gz
如果我要在系统加载它,可以直接使用命令insmod (vfat.ko.gz的路径)/vfat.ko.gz
但是现在如果使用的modprobe vfat,那么系统会给出错误提示,找不到vfat.ko文件。
我们知道modprobe加载驱动的时候,会从/lib/modules/$(uname -r)/modules.dep里面去查找对应的模块,
可是现在modules.dep里面没有vfat.ko.gz,里面只有vfat.ko模块的描述,于是我们需要使用命令depmod去更新modules.dep文件,更新完成后,在文件modules.dep里面就有了驱动模块vfat.ko.gz的描述了,现在使用命令modprobe vfat就能够正常加载vfat驱动模块了。
如果用吧系统中的所有ko压缩成为ko.gz,那么系统可以节约30多M的空间,虽然不多,但总是节约了一些吧。^-^
压缩驱动也可以在initrd文件中进行使用,但是根据我的测试效果,对驱动进行压缩的话,对于系统启动时间并没有影响,同时制作的initrd文件的体积也是一样的。
下面是我的数据
 
initrddir1    12M  (这里面的驱动没有压缩)
initrddir2    9.6M (这里面的驱动经过gzip压缩)
然后对initrd进行打包   使用一下命令
cd initrddir1
find .| cpio -H newc -o | gzip -9 > /opt/initrd1.gz
cd -
cd initrddir2
find .| cpio -H newc -o | gzip -9 > /opt/initrd2.gz
 
查询initrd1.gz 和initrd2.gz
文件的大小都是4.3M,可见文件initrd的大小没有改变。
 
我分别用initrd1.gz 和 initrd2.gz去引导系统,启动的时间也都是12秒,可见系统启动时间也没有影响。
所以我现在的结论就是在主文件系统中节约了硬盘的空间。
也许还有其他的优点,我现在还没有发现啊????
阅读(521) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~