|
|
Linux
| Linux 私房菜: |
基础篇 » 五.Linux系统管理员 » 27.核心编译 |
重点回顾
- 其实核心就是系统上面的一个文件而已,这个文件包含了驱动主机各项硬件的侦测程序与驱动模块;
- 上述的核心模块放置於:/lib/modules/$(uname -r)/kernel/
- 『驱动程序开发』的工作上面来说,应该是属於硬件发展厂商的问题
- 一般的使用者,由於系统已经将核心编译的相当的适合一般使用者使用了,因此一般入门的使用者,基本上,不太需要编译核心
- 编译核心的一般目的:新功能的需求、原本的核心太过臃肿、与硬件搭配的稳定性、其他需求(如嵌入式系统)
- 编译核心前,最好先了解到您主机的硬件,以及主机的用途,才能选择好核心功能;
- 编译前若想要保持核心原始码的干净,可使用 make mrproper 来清除缓存档与配置档;
- 挑选核心功能与模块可用 make 配合:menuconfig, oldconfig, xconfig, gconfig 等等
- 核心功能挑选完毕后,一般常见的编译过程为:make bzImage, make modules
- 模块编译成功后的安装方式为: make modules_install
- 核心的安装过程中,需要移动 bzImage 文件、创建 initrd 文件、编辑 /boot/grub/menu.lst 等动作;
- 我们可以自行由硬件开发商之官网下载驱动程序来自行编译核心模块!
本章习题
( 要看答案请将鼠标移动到『答:』底下的空白处,按下左键圈选空白处即可察看)
- 简单说明核心编译的步骤为何?[jzsjiale_fold=答案]先下载核心原始码,可以从 http://www.kernel.org 或者是 distributions 的 SRPM 来著手;
以下以 Tarball 来处理,解开原始码到 /usr/src/kernels 目录下;
先进行旧数据删除的动作:『make mrproper』;
开始挑选核心功能,可以利用『make menuconfig』、『make oldconfig』、『make gconfig』等等;
清除过去的中间缓存档数据:『make clean』
开始核心文件与核心模块的编译:『make bzImage』、『make modules』
开始核心模块的安装:『make modules_install』
开始核心文件的安装,可以使用的方式有:『make install』或者是透过手动的方式复制核心文件到 /boot/grub 当中;
创建 initrd 文件;
修改 /boot/grub/menu.lst 文件;[/jzsjiale_fold]
- 如果你利用新编译的核心来操作系统,发现系统并不稳定,你想要移除这个自行编译的核心该如何处理?[jzsjiale_fold=答案]首先,可以将原始码删除:rm -rf /usr/src/kernels/linux-2.6.30
再者,删除掉核心模块的目录: rm -rf /lib/modules/2.6.30
最后删除掉 /boot/ 内的核心文件与 initrd 文件,以及 /boot/grub/menu.lst 内的 title 配置即可。[/jzsjiale_fold]
参考数据与延伸阅读
注1:透过在 /usr/src/kernels/linux-2.6.30.3 底下的 README 以及『 make help 』可以得到相当多的解释
核心编译的功能:可以用来测试 CPU 效能喔!因为 compile 非常耗系统资源!
http://lxr.xensource.com/lxr/source/README?a=x86_64
|
|