本文将要简单的介绍linux内核编译的一般过程:
需要准备的基础知识和工具:linux相关操作,官网下载到的内核源码,本文选用的linux的流行发行版Ubuntu作为实验目标。
首先,将下载到的内核源码加载到一个Ubuntu环境中(可以是虚拟机或者真实机)。将源码包解压,一般源码包是.tar.bz形式的。解压操作不懂可以百度。
可以将解压后的文件放在/usr/src文件夹下,这个文件夹是linux放置源码的文件夹。之后进入源码文件夹使用make menuconfig命令开始裁剪内核,选择自己需要的功能。
如果是第一次,建议不要修改选项,先体验一下过程,等熟悉了之后就可以自由操作。配置完之后使用make bzImage命令进行内核镜像的制作。这个命令后面可以跟参数的
是为了符合机器处理器的核心的。这个过程可能需要1个小时左右,具体看电脑配置。这里可能会出现两个错误:fatal error: openssl/opensslv.h: No such file or directory
这是因为没有安装openssl的,需要先安装openssl: apt-get install libssl-dev bc: not found。需要安装bc:apt-get install bc安装对应依赖后再运行 解决了以后就可以开始编译模块了。模块也是linux系统的重要组成,使用make modules命令进行模块编译,这个时间可能比内核镜像还要花费更长的时间。镜像和模块都制作完事以后就可以开始安装内核了。
先使用make modules_install命令进行模块的安装,模块应该被更新到/lib/modules/下的文件中。紧接着安装内核make install 这些都做完你的电脑内核就应该是你所编译的内核了
但是还有比较重要的一步,更改grub。了解linux开机运行的人应该都知道。grub是linux的一个引导程序,引导内核的加载。使用update=grub2就可以更新grub。如果提示没有grub可以使用apt-get install grub进行下载,最后重启,在开机界面就可以选择你编译的内核了。