LinuxSir.cn,穿越时空的Linuxsir!

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

编译内核成功 --感谢各位帮助

[复制链接]
发表于 2006-8-3 16:32:57 | 显示全部楼层 |阅读模式
今天下了“壮士一去兮不复返“的决心,做好了重装系统的准备,开始了内核编译之旅。

其实在内核源代码文档里面,就有许多非常有用的帮助信息,如下:
debianer:/usr/src/linux/Documentation#ls
其中在源代码目录下,有README,其中一段:
    To configure and build the kernel use:
   cd /usr/src/linux-2.6.N
   make O=/home/name/build/kernel menuconfig
   make O=/home/name/build/kernel
   sudo make O=/home/name/build/kernel modules_install install

其实已经非常简单明了告诉你编译的过程。
其实在编译内核非常关键的一步就是建立一个适合你硬件的.config(在make menuconfig或者make gconfig),内核编译选项非常的多,需要具备一定的硬件知识才能选择得对。

今天编译了四次,最后才成功了。其中总结如下:
1 第一次编译,到了boot root file system就停了,我仔细看了看有关提示,居然显示/dev/hda  unknow partition table(大致这样,具体忘了),
怪了,无法读取分区表信息。我就想起其中选择块设备时,有分区的各种模式选择,好像有bsd,sun,apple各种各样,由于和我机器没有关系,就都不选择。
我记起其中有一项:
native partition table support[]
//当时好像没有选择,这好像是本地分区表支持,应该选上,于是把它编译到内核里。

2 第二次就改了这个地方,编译通过,再次reboot,进去了终端(当时的心,无法形容),接下来就安装nvidia驱动,显卡驱动在linux下是以模块编译进去的,不同内核需要再次编译为模块。

接下来,问题来了:your kernel was configured to include rivafb support! The rivafb driver conficts with the nvidia driver,please reconfigure your kernel and *disable* rivafb support ,then try install nvidia driver.
原来nvidia驱动与rivafb(不知道是什么,盼望有人告知)冲突,网上找了很久,没找到解决方法,想想再来一次吧,就当是积累经验。

3 第三次就是自己改一下config,把其中一项显卡驱动riva支持去掉。不过做了一件非常“愚蠢“的事情:
make后,忘了make modules_install,查看/lib/modules/下,发现riva还存在(其实是前一次编译留下的),于是“慌了“,后来想想才明白了。不过有一些混乱,就干脆再来一次。

4 一切顺利!连显卡驱动也安上了。

其中,要注意的几点:
在官方文档:
make , make modules_install ,make install

其实make相当手工make bzImage,make modules
make install相当于自动配置好/boot目录,升级/boot/grub/menu.lst

我由于“保守“了一点,手工配置/boot目录,其实也就是配置下面四个文件:
azhoulinux@debianer:/boot$ ls config-2.6.17-6  initrd.img-2.6.17-6 vmlinuz-2.6.17-6 System.map-2.6.17-6
config-2.6.17-6  initrd.img-2.6.17-6  System.map-2.6.17-6  vmlinuz-2.6.17-6
其中config可能不必要的。

其中System.map,config,vmlinuz在编译后目录下找到,vmlinuz在debianer:/usr/src/linux/arch/i386/boot# file bzImage
bzImage: Linux kernel x86 boot executable RO-rootFS, root_dev 0x309, Normal VGA


现在讲讲initrd.img:
debianer:/usr/src/linux# mkinitramfs -o /boot/initrd.img-2.6.17-6  2.6.17.6
就手工建立initrd.img。

现在系统启动时间59.34秒(包括进入x-window),感觉快了许多。

有什么不对的请指正!

谢谢各位
发表于 2006-8-3 16:54:33 | 显示全部楼层
cons~~
回复 支持 反对

使用道具 举报

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

本版积分规则

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