LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1096|回复: 8

ubuntu自己编译内核很大

[复制链接]
发表于 2007-7-12 22:52:12 | 显示全部楼层 |阅读模式
ubuntu704 amd64

cd linux
cp /boot/config-2.6.20-16-generic .config
make menuconfig
这里还去掉了很多模块
fakeroot make-kpkg --initrd  kernel_image

结果出来的deb最小的一次也100M左右,vmlinuz 1.6M,initrd有20M!!! :comp

:mad:

莫非 /boot/config-2.6.20-16-generic 和默认内核编译是的menuconfig没有关系?

以前我也在debian(ia32)上build过内核,但是 没注意到这样的问题。。。

关键问题是我旧的内核和新内核都不支持dma
旧内核还有很多没用的模块

还有就是config的时候选模块很头大,有没有权威点的文档?网上的中文文档都很旧,大多说的不清楚。
 楼主| 发表于 2007-7-12 22:55:20 | 显示全部楼层
  1. # lspci
  2. 00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
  3. 00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2)
  4. 00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2)
  5. 00:00.3 RAM memory: nVidia Corporation C51 Memory Controller 5 (rev a2)
  6. 00:00.4 RAM memory: nVidia Corporation C51 Memory Controller 4 (rev a2)
  7. 00:00.5 RAM memory: nVidia Corporation C51 Host Bridge (rev a2)
  8. 00:00.6 RAM memory: nVidia Corporation C51 Memory Controller 3 (rev a2)
  9. 00:00.7 RAM memory: nVidia Corporation C51 Memory Controller 2 (rev a2)
  10. 00:02.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
  11. 00:03.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
  12. 00:04.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1)
  13. 00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)
  14. 00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a3)
  15. 00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a3)
  16. 00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
  17. 00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
  18. 00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev a1)
  19. 00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)
  20. 00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2)
  21. 00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)
  22. 00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a3)
  23. 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
  24. 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
  25. 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
  26. 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
  27. 04:00.0 VGA compatible controller: nVidia Corporation Quadro NVS 110M / GeForce Go 7300 (rev a1)
  28. 05:01.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832
  29. 05:01.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
  30. 05:01.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 01)
  31. 05:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a)
复制代码
回复 支持 反对

使用道具 举报

发表于 2007-7-13 09:48:33 | 显示全部楼层
vmlinuz 1.6M不算大
偶还是觉得你编译的模块有点多……
回复 支持 反对

使用道具 举报

发表于 2007-7-13 10:34:29 | 显示全部楼层
我自己编译内核一个模块也不要,只把自己需要的驱动全部编入内核,这样下来,一共才1.4M,连initrd也不需要了,哈哈。
建议按这里配置内核:
http://lamp.linux.gov.cn/Linux/kernel_options.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-13 12:49:50 | 显示全部楼层
我以前也看了这个文章,写的也不是很透彻,许多东西只是说这是啥啥啥,就不说该怎么作,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-13 14:05:37 | 显示全部楼层
刚才又在公司的机器(奔4,fc6)上编译最新的2.6.22内核,
结果vmlinuz initrd都和系统默认的差不多大

不知道ubuntu的怎么回事^


那个optimize for size作用用多大?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-13 16:13:46 | 显示全部楼层
嗷嗷,又来一次,对比一下我的安装后/lib/modules/2.6.22下还是好几百M

#du -h 2.6.22/kernel/drivers/video/aty/*
180K    2.6.22/kernel/drivers/video/aty/aty128fb.ko
568K    2.6.22/kernel/drivers/video/aty/atyfb.ko
1.1M    2.6.22/kernel/drivers/video/aty/radeonfb.ko

#du -h 2.6.18-1.2798.fc6/kernel/drivers/video/aty/*
36K     2.6.18-1.2798.fc6/kernel/drivers/video/aty/aty128fb.ko
64K     2.6.18-1.2798.fc6/kernel/drivers/video/aty/atyfb.ko
196K    2.6.18-1.2798.fc6/kernel/drivers/video/aty/radeonfb.ko


拿这3个模块来说吧,我在menuconfig的时候根本没配置显卡什么的,怎么同样的3个ko都比人家的大呢?
回复 支持 反对

使用道具 举报

发表于 2007-7-13 21:12:29 | 显示全部楼层
我一般是先make defconfig
然后再make menuconfig选择合适的驱动
回复 支持 反对

使用道具 举报

发表于 2007-7-14 06:06:44 | 显示全部楼层
不同版本的 gcc 对体积也有关系,并非单纯内核模块的选项
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表