核心与核心模块需要先编译起来,而编译的过程其实非常简单,你可以先使用“ make help ”去查阅一下所有可用编译参数, 就会知道有下面这些基本功能:
[root@study linux-3.10.89]# make vmlinux <==未经压缩的核心[root@study linux-3.10.89]# make modules <==仅核心模块[root@study linux-3.10.89]# make bzImage <==经压缩过的核心(默认)[root@study linux-3.10.89]# make all <==进行上述的三个动作
[root@study linux-3.10.89]# make -j 4 clean <==先清除暂存盘[root@study linux-3.10.89]# make -j 4 bzImage <==先编译核心[root@study linux-3.10.89]# make -j 4 modules <==再编译模块[root@study linux-3.10.89]# make -j 4 clean bzImage modules <==连续动作!
上述的动作会花费非常长的时间,编译的动作依据你选择的项目以及你主机硬件的性能而不同。此外,为啥要加上 -j 4 呢? 因为鸟哥的系统上面有四个 CPU 核心,这几个核心可以同时进行编译的行为,这样在编译时速度会比较快!如果你的 CPU 核心数 (包括超线程) 有多个, 那这个地方请加上你的可用 CPU 数量吧!
最后制作出来的数据是被放置在 /usr/src/kernels/linux-3.10.89/ 这个目录下,还没有被放到系统的相关路径中喔!在上面的编译过程当中,如果有发生任何错误的话, 很可能是由于核心项目的挑选选择的不好,可能你需要重新以 make menuconfig 再次的检查一下你的相关设置喔! 如果还是无法成功的话,那么或许将原本的核心数据内的 .config 文件,复制到你的核心原始文件目录下, 然后据以修改,应该就可以顺利的编译出你的核心了。最后注意到,下达了 make bzImage 后,最终的结果应该会像这样: