一、准备工作
首先把需要升级的内核拷贝到/usr/src/下
cp linux-2.6.18.tar.gz /usr/src
接压缩源代码
tar xzvf linux-2.6.18.tar.gz
二、内核配置命令
make config (基于文本的最传统的配置界面,不推荐使用)
make menuconfig (基于文本菜单的配置界面,字符串端下推荐使用)
make xconfig (基于图形窗口模式的配置界面,xWindow下推荐使用)
make gconfig (基于gtk的图形配置界面)
选择相应的配置时有三种选择,他们分别代表的含义如下:
Y-将功能编译进内核
N-不将功能编译进内核
M-将该功能编译成模块,可以在需要时动态插入到内核中。
make xconfig 用鼠标就可以选择对应的选项
make menuconfig 则需要使用空格键进行选取
[shift]+?查看帮助
三、配置的原则
大部分选项可以使用其缺省值,只有小部分需要根据用户不同的需要选择。
将与内核其它部分关系较远且不经常使用的部分功能代码编译成为可加载模块。
有利于减小内核的长度,减小内核消耗的内存;
不需要的功能就不要选;
与内核关心紧密而且经常使用的部分功能代码直接编译到内核中。
四、获取硬件信息
CPU的型号
cat /proc/cpuinfo
PCI设备
lspci -v
lspci -v|grep audio
USB设备
lsusb
五、配置的注意选项
1 Code maturity level options ---> 应该选择
[*] Prompt for development and/or incomplete code/drivers
这将会在设置界面中显示还在开发或者还没有完成的代码与驱动. 因为有许多设备可能必需选择这个选项才能进行配置,实际上它是安全的。
2 General setup ---> 大部分保持默认
[*] Support for paging of anonymous memory (swap) 应该选择这个选项将使你的内核支持虚拟内存。
[*] System V IPC 应该选择
为进程提供通信机制。有些程序只有在选Y的情况下才能运行,这里一定要选。
[*] POSIX Message Queues
POSIX的消息队列,它同样是一种IPC,应该选择
[*] Support for hot-pluggable devices 支持热插拔的,若是为普通电脑配置内核,则最好选择
3 Loadable module support --->
[*] Enable loadable module support 应该选择
这个选项可以让你的内核支持模块。一般一些不常用到的驱动或特性可以编译为模块以减少内核的体积。
[*] Module unloading 应该选择
这个选项可以让你卸载不再使用的模块,如果不选的话你将不能卸载任何模块
[*] Forced module unloading
强行卸载模块,可以把正在使用中的模快卸载掉。做内核开发或者驱动开发的时候,有一定的好处。但一般用户不应该选择。
4 Processor type and features --->
Processor family (Pentium-Pro) --->
选择cpu的类型
5 Power management options (ACPI, APM) --->
[*] Power Management support
支持高级电源管理(也就是平常我们说的软关机、系统休眠等)。
6 Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
[*] PCI support PCI支持。当然必选
PCI access mode (Any) --->
PCI的存取方式,分三种,有透过BIOS或是直接存取跟任意,预设值Any
7 Executable file formats --->
[*] Kernel support for ELF binaries 一定要选择
8 Device Drivers --->
Memory Technology Devices (MTD) --->
存储设备层,大部分的flash芯片驱动都基于MTD。用于嵌入式系統。
Block devices
Loopback device support
可以将一个文件挂成一个文件系统。mount iso文件
8 file systems --->
建议将根文件系统直接编译到内核中。并且在这里选择系统支持的文件系统。
阅读(1349) | 评论(1) | 转发(0) |