LinuxSir.cn,穿越时空的Linuxsir!

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

关于内核linux-2.6.32.2版本在ubuntu9.10下的编译问题。

[复制链接]
发表于 2009-12-29 00:29:25 | 显示全部楼层 |阅读模式
第一次编,所以很多东西都不是很明白,不过还好,也可以启动系统,可惜的是无线网卡用不了,显卡也不能显示(应该是在装新内核时把配置文件删了,可惜网上教程没教我备份这个文件,没办法恢复了,呵呵)
我是用“sudo make menuconfig”来进行配置的,它会自动找到系统以前的配置文件(ubuntu里的配置文件是config-2.6.31-16-generic这样命令,而不是象网上说的有.config文件)
按网上的资料,把一些不要的东西删 了,没编译进内核,如我的是AMD的CPU,所以把INTEL的CPU相关的补丁去掉,把一些自己认为没有的硬件驱动也不要,象1394等也不要。可是想不到无线网卡也连不上,这个我是没去掉的(不过9.10的好象都不稳定的感觉,无线总是有时可以,有时不行,连不上)。配置完了后,我是用这两条命令来编译的(完了后可以生成DEB文件,事前我也是不知道的,只知道这个命令是UBUNTU自带的内核编译命令)
sudo make-kpkg clean   
sudo make-kpkg -initrd --initrd --append-to-version=2.6.32.2 kernel_image kernel-headers
现在有两个问题:
1、在网上看到说用别的命令可以增加线程来编译,如用:make -j2,就可以用双线程,但这个make-kpkg我用help及man命令来看了一下(英文的帮助,只是大概看了一下),都没有类似的字眼是说可以多线程编译的(我的是AMD的240CPU,4G的内存,昨晚编了1.5小时以上,实在无奈!),不知道是不是用这个make-kpkg命令就没有多线程的参数?不用这个命令,换成这个make j4的来编的话,接下去用sudo make modules_install命令来安装一下内核就可以了?这样应该会快一点吧?一个半小时以上我觉得是对不起现在的CPU了。呵呵

2、内核我已经把一些不要的删除(在原来系统自带的配置文件基础上),但是编完后我把DEB文件安装好了后,进去/boot文件夹里面看了一下,我自己编的有67.2M那么大,而用系统自带的升级的内核只有7.9M!相关快10倍的体积!我是想不明白,明明我已经删了一些没用的组件了,怎么我的还会比自带的要大?就算压缩方式不一样(也没理由不一样,配置文件是基于同一个的),也不会差这么大吧?
以上,是我的一些疑问,希望各位前辈指点一下,呵呵,谢谢!
发表于 2009-12-29 00:49:57 | 显示全部楼层
kernel hacking 部分的 debug 信息要去掉。内核编译这种事情过一遍知道怎么回事就行了,脑子里记一堆优化的技巧和古训"不滞于物,不为物役"相悖。
回复 支持 反对

使用道具 举报

发表于 2009-12-29 11:18:02 | 显示全部楼层
sudo su
rm /boot/config*
make menuconfig
make
make modules_install
make headers_install
cp arch/x86/boot/bzImage /boot
即可。。。

关于内核配置,基本的就是:
SCSI DISK
SATA
文件系统(基本文件系统,)
  • 星号选择

    其他硬件比如声卡、网卡驱动:
    用lspci查找硬件信息
    然后选择适当的驱动,不需要的最好别选

    其他必要功能,比如PPP、FUSE、FAT32 charset、NTFS、Native Language最好也选上

    最好全部星号
  • 选择,以加快启动速度。
  • 回复 支持 反对

    使用道具 举报

    发表于 2009-12-29 11:20:25 | 显示全部楼层
    系统的内核几乎全部是模块,所以很小。。。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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