恢复MBR,用boot.ini启动Linux
ArchLinux的若干设置

ubuntu下编译内核

獨立的圓 posted @ 2008年2月24日 18:58 in Linux with tags 内核 , 5253 阅读

 本站文章已轉移,敬請移步:http://www.xxb.me/ ,謝謝!

之前编译的2.6.23.12内核似乎有点问题,重新编译一个试试

http://www.kernel.org/下载最新版本的Linux内核,选择F那个下载

据说ArchLinux对686机器作了优化,所以使用它的内核配置文件为模板,点击这里下载,放在源代码目录下,改名为.config (注意前面有"."号,为隐藏文件)

开始准备编译

安装make xconfig时需要的包:

$ sudo apt-get install libqt3-headers libqt3-mt-dev

终端中进入内核目录,配置内核:

$ make xconfig

我只作了以下几个修改:

General -> Local version - append to kernel release:
#因为后面编译时使用了--append-to-version参数,所以这里留空,双击之进行修改

Processor type and features ->
Symmetric multi-processing support    #因为不是多核或多线程CPU,所以不勾选
Processor family                      #选择对应的CPU,我选了K8
Generic x86 support                   #因为已选择对应的cpu,所以这里可以不勾选
Timer frequency                       #这里我改为1000

Device Drivers -> ATA/ATAPI/MFM/RLL support -> Sharing PCI IDE interrupts support  #与其他PCI设备共享中断,一来可能冲突,二来降低性能,不选为妙

Device Drivers -> Serial ATA (prod) and Parallel ATA (experimental) drivers    #勾选它,再根据机器情况勾选子菜单,我勾选了以下2项:
NVIDIA SATA support (SATA_NV)
AMD/NVidia PATA support (PATA_AMD)

这里有几篇不错的参考文章:

Linux 2.6.19.x 内核编译配置选项简介

Linux内核选项中文版(长期支持)

Linux内核配置选项翻译2.6.19.1(完成到第8部分)

清理一下源码:

$ sudo make-kpkg clean

最终编译命令:

$ fakeroot make-kpkg --initrd \
  --append-to-version=-k8 kernel_image kernel_headers

其中的fakeroot可以用sudo代替; “-k8”是自定义内核版本,必须用数字结尾,字母似乎必须小写。

经过漫长的等待(我花了一小时),在内核源码的上层目录会生成两个deb包,使用“sudo dpkg -i”命令安装它们,

装好后会自动配置grub,但路径可能会有错,建议手动检查一下menu.lst文件,重启选择进入新内核后可能需要重新安装显卡驱动.

这样安装的新内核,到官网下载最新的ATI和NVIDIA驱动都能顺利安装.

如果因为某些原因使得新装的内核不能正常工作而需要对内核作一些小修改,则只需要 make xconfig重新配置,然后不用make-kpkg clean 而直接

fakeroot make-kpkg --initrd --append-to-version=***

其中 append-to-version 的参数要和原来的一样。

这样可以节省很多重新编译的时间。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter