Linux-2.6.22内核编译简单过程笔记:
1). 下载内核
2). tar xvzf Linux-2.6.22.tar.gz -C /usr/src
cd /usr/src
ln -s Linux-2.6.16.22 Linux
cd Linux
make mrproper # Make sure you have no stale .o files
make menuconfig #生成一个.config文件
Code maturity level options —>
[*] Prompt for development and/or incomplete code/drivers #打开此项会让内核配置多出很多选项,但由于需要使用一些正在开发中的功能,因此必需打开这一选项
General setup —>
(websrv)Local version - append to kernel release # 添加编译用途字符串,可以在uname -a时看到
[*] Support for paging of anonymous memory (swap) # 这是使用交换分区或者交换文件来做为虚拟内存的
[*] BSD Process Accounting #充许用户进程访问内核将账户信息写入文件中的
[*] Optimize for size #使gcc使用-Os的参数而不是-O2的参数来优化编译,以获得更小尺寸的内核,建议选上。
[*] Symmetric multi-processing support #超线程CPU也要选上这个选项 ,在单CPU的机器上,不选这个选项会更快一些。
[*] Preemptible Kernel #能使应用程序即使内核在高负载时也很可靠,建议最好选上
(1) Maximum number of CPUs (2-255) #支持的最大CPU数
[*] Machine Check Exception #让CPU检测到系统故障时通知内核(比如CPU过热)
Loadable module support —>
[*]Enable loadable module support
[*]Automatic kernel module loading #内核需要一些模块时它可以自动调用modprobe命令来加载需要的模块
Processor type and features —>
(X)Subarchitecture Type (PC-compatible) —>#是使Linux可以支持多种PC标准,可以让你选择一些其它架构。我们一般选择PC-compatible就可以了。
Processor family (Pentium-Pro) —> CPU选项 这里针对自己的CPU型号,选取相应的选项。
(X) Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon #根据自己CPU选择
[ ] Generic x86 support#对X86系列CPU最大的兼容性,如果你的CPU能够在上面的列表中找到,就里就不用选了。
[ ] Symmetric multi-processing support #支持多处理器选项。如果是单CPU,得关闭。
<*> Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4#检查机器上可能存在的问题,如果有一个非致命错误出现将会自动的修复并且记录,这可以帮助你查出程序出现问题的原因.
High Memory Support (4GB) —>
(x) off 我家PC是1G内存,也不可能升到4G ^_^
Power management options (ACPI, APM) —>
ACPI (Advanced Configuration and Power Interface) Support —>
<*> Button 捕获Power、Sleep、Lid(我也不知道这是什么按钮)等按钮是否按下,并做相应的动作
<*> Video 集成在板上的显卡的ACPI支持,对有些板卡可能不起作用
[*] CPU Frequency scaling #这一选项允许改变CPU的主频,使CPU在低负荷或使用电池时降低主频,达到省电的目的。
[*] Thermal Zone #大部份的台式机和笔记本都支持,不选还可能把处理器烧掉
Bus Options (PCI,PCMCIA, EISA, MCA, ISA) —>
[ ] ISA support #没ISA了吧
PCCARD (PCMCIA/CardBus) support —>#非笔记本可以不选这一
make
make modules_install
make install
#cp arch/i386/boot/bzImage /boot/Linux2622
vi /boot/grub/grub.conf #修改相应配置
reboot
看来新内核编译确实比以前方便多了,以前的make bzImage make modules等步骤都在make一步都搞定,以前还要cp 内核和System.map,修改Grub.conf的步骤,统统make install搞定!
注:
(1)cat /proc/version #查看版本,并可看到编译次数
(2)为新核心命名
打开/usr/src/Linux/Makefile。注意,在开始部分有一个变量EXTRAVERSION可以自行定义。修改这个变量,比如改成“EXTRAVERSION=-LVS”后,编译出的核心版本号就会显示成2.4.20-LVS。这样给出有含义的名称将有助于管理多个Linux核心。