+ -
当前位置:首页 → 问答吧 → 编译出来的内核模块怎么那么大

编译出来的内核模块怎么那么大

时间:2011-12-06

来源:互联网

  第一次编译内核,内核倒是挺快的,那些模块编译了非常久,装上去一看将近1G,ubuntu10.10自带的moduels才99mb啊,是不是我哪弄错了,求解。 
  编译过程:
  make menuconfig #没改动太多,网上看一些东西,去掉了几个功能
  make clean
  make bzImage
  make modules
  make modules_install
  
  用的是2.6.38.8的内核
  模块实在太大了。。。我还想装到U盘上去的- -。

作者: AstrayLinux   发布时间: 2011-12-06

莫非是没有strip?
file指令看一下。

作者: lishanchao   发布时间: 2011-12-06

引用 1 楼 lishanchao 的回复:

莫非是没有strip?
file指令看一下。


能否详细点,刚接触这些东西,很多不懂。

对了,刚刚仔细看了一下ubuntu10.10的moduels,里面很多都是链接,它的大小应该是不只99mb,应该还是没有1G的。

作者: AstrayLinux   发布时间: 2011-12-06

之前没确认清楚就被我删了,又编译了一次,有3G多。。。- -!!太大了吧。

作者: AstrayLinux   发布时间: 2011-12-06

3G多的是编译过程的文件。。。mdoules刚好1G。。。我去面壁- -。

作者: AstrayLinux   发布时间: 2011-12-06

比如这种,就是没有strip过的:
$ file memdev.ko
memdev.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
编译器的编译选项里加入-s。

作者: lishanchao   发布时间: 2011-12-06

引用 5 楼 lishanchao 的回复:

比如这种,就是没有strip过的:
$ file memdev.ko
memdev.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
编译器的编译选项里加入-s。

make 的-s 是silent啊,那个编译选项要在哪设置呢?

作者: AstrayLinux   发布时间: 2011-12-06

你在menuconfig那一步,把kernel hacking里面的kernel debug给去掉就行了

作者: jackyjkchen   发布时间: 2011-12-06

引用 5 楼 lishanchao 的回复:
比如这种,就是没有strip过的:
$ file memdev.ko
memdev.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
编译器的编译选项里加入-s。

内核编译很自动化的,不要自己改makefile

menuconfig能解决的不要乱来

作者: jackyjkchen   发布时间: 2011-12-06

通常,menuconfig定制到极限,一台pc上的内核可以做到通用发行版内核的20%大小,编译时间5分钟

作者: jackyjkchen   发布时间: 2011-12-06

引用 8 楼 jackyjkchen 的回复:

引用 5 楼 lishanchao 的回复:
比如这种,就是没有strip过的:
$ file memdev.ko
memdev.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
编译器的编译选项里加入-s。

内核编译很自动化的,不要自己改makefile

menuconfi……

呵呵,学习了。
我这半瓶子醋差点误导别人。

作者: lishanchao   发布时间: 2011-12-06

  非常感谢两位。
  我把那个很大的mdoules装上去了,还有那个内核,fstab里的分区都没有自动挂载,几个NTFS格式的分区可以挂载,home挂载不了,说是坏的挂载设置。我那个home是单独分区的,不知道是哪设置错了。

作者: AstrayLinux   发布时间: 2011-12-06

热门下载

更多