对于dapper ,下面介绍一种不通过打deb包编译安装,而是通过通用的方式编译安装新内核的方法:
我现在是以root登录。先打开新力得软件包管理器(Synapic Package Manager),确认 kernel-package、module、gcc、make等组件都已装好。
以下提到的软件包,如果在新力得包管理器中找不到的,可以到 http://packages.ubuntulinux.org/dapper/ 去搜索安装。
到www.kernel.org下载内核源码包,我现在下的内核版本是2.6.17.6
把源码包解压到 /usr/src/linux-2.6.17.6,然后在/usr/src/下创建一个名为linux的指向/usr/src/linux-2.6.17.6的链接(link)。
在shell中输入
root@localhost:~# cd ..
root@localhost:/# cd /usr/src/linux
root@localhost:/usr/src/linux# make mrproper
root@localhost:/usr/src/linux# make xconfig
或者make gconfig
此时qconf已经读取了默认配置,你也可以这样做:
在qconf中点File->Load 去读取其他的设置文件。
比如 /boot/config-2.6.15-23-686
下面在qconf中配置.config文件。选“Y”(打勾)就是把它编译到内核中,选“M”(打点)把它编译成模块,供内核动态调用。选“N”就是不安装。
关于每一选项的说明,qconf里都有,这里不再赘述。如果你没有把握,保持默认选项就行了。
下面只是简单提几项:
General setup
Optimize for size (Look out for broken compilers!) 发烧友可以选Y以获得更小的内核。
Processor type and features
Symmetric multi-processing support 如果你没有多线程处理器这个可以选N
Processor family 根据你的CPU来选择。
High Memory Support 1G以上内存的选“4GB”, 1G以下的,将来也不打算升级到1G的,选“off”.
Bus options (PCI, PCMCIA, EISA, MCA, ISA)
PCI support
PCI Express support 老式机器没有PCI-E设备的可以选N
ISA support 较新的新机器没有ISA设备,可以选N
MCA support 一般选N
NatSemi SCx200 support 一般选N
PCI Hotplug Support
Support for PCI Hotplug (EXPERIMENTAL) 如果没有PCI热插拔设备,选N
Device Drivers
Block devices
Packet writing on CD/DVD media
Enable write caching (EXPERIMENTAL) 如果你有刻录机,想启用写缓存功能,选Y
ATA/ATAPI/MFM/RLL support
Include IDE/ATA-2 DISK support 如果你的/boot是放在IDE硬盘上,那么这里一定要选Y,选M都不行。否则启动时会出现“waiting for root file system”的提示而停滞不前。
SCSI device support 如果有SATA硬盘,就选Y
SCSI disk support 如果你的/boot放在SATA硬盘上,一定要选Y。
Character devices
I2C support 一般可以选Y或者M
Graphics support 不建议把显卡驱动编译进内核。,选M,编译成模块方便日后升级驱动。
Support for frame buffer devices
VESA VGA graphics support 可以选Y
Logo configuration
Bootup logo 如果想看到Linux启动logo,选Y
Sound
Sound card support 选Y, 除非你没有声卡
其他的驱动,酌情添加删除,根据机器配置删除不需要的驱动可以缩短编译时间。你可以在命令行下输如lspci或者dmesg查看硬件信息。
File systems
CD-ROM/DVD Filesystems
ISO 9660 CDROM file system support 一般选Y
DOS/FAT/NT Filesystems
VFAT (Windows-95) fs support 有FAT32分区就选Y吧
NTFS file system support 有NTFS分区就选Y吧
NTFS write support 如果想对 NTFS分区进行写操作,选Y
Native Language Support
Simplified Chinese charset (CP936, GB2312) 选Y或者M使读取FAT分区不会遇到中文乱码现象
设置完毕后,按一下保存按钮,无论原先载入的是哪个配置文件,
qconfig都将设置保存到 /usr/src/linux/.config 这个隐含文件。
下面输入make开始编译,这一过程大约需要60-90分钟
root@localhost:/usr/src/linux# make
安装内核
root@localhost:/usr/src/linux# make install
编译模块
root@localhost:/usr/src/linux# make modules
安装模块
root@localhost:/usr/src/linux# make modules_install
然后
root@localhost:/usr/src/linux# cd /
root@localhost:/usr/src/linux# /usr/sbin/mkinitramfs -o /boot/initrd.img-2.6.17.6 2.6.17.6
如果有出错提示,可能是因为 initramfs-tools 没有装,先把它装上吧。
如果没有这一步骤,那么开机就会出现提示
……
initrd /initrd.img-2.6.17.6
Error 15: File not found
最后打开 /boot/grub/menu.lst
在 ## ## End Default Options ## 下面添加类似下面的两段
title Ubuntu, kernel 2.6.17.6
root (hd0,4)
kernel /vmlinuz-2.6.17.6 root=/dev/hdd6
initrd /initrd.img-2.6.17.6
savedefault
boot
title Ubuntu, kernel 2.6.17.6 (recovery mode)
root (hd0,4)
kernel /vmlinuz-2.6.17.6 root=/dev/hdd6 ro single
initrd /initrd.img-2.6.17.6
boot
注意 root和kernel字段要模仿menu.lst下面已有的内容写。
下面是 (hd0,4),那么你也写(hd0,4),下面写root=/dev/hdd6,你也写root=/dev/hdd6,只是内核的版本号改为现在编译的版本号。
然后把下面重复的savedefault删除。
重新启动计算机,在GRUB中选择新内核启动。如果启动失败,你可以重启选择老内核。
如果你的
NTFS file system support
NTFS write support
这两项都选了Y,但是开机认不出NTFS分区,那么可以尝试以下解决方案:
到 http://packages.ubuntu.com/dapper/admin/sysv-rc-conf 下载 sysv-rc-conf
双击下好的deb包安装,如果缺少其他的包,补装上。
以root权限在shell中输入
root@localhost:~# sysv-rc-conf
找到evms, 按空格把那一行的X全部清空。
输入q退出保存。
重启系统。 (http://blog.csdn.net/veiz)