1、首先获得linux内核源代码,注意网上有很多内核代码是别人改过的,我建议到linux官网上去下载源代码
2、把你下载到的源代码弄到虚拟机里(利用samba服务或装一个VM Tools)
3、输入指令解压源代码压缩包
4、利用cd 指令进入解压出来的文件,内核文件如下
5、清理内核中间文件,配置文件
#make distclean
6、选择参考配置文件
我这里是选择正在运行的fedora的内核配置作为参考
#cp /boot/congif然后按tab键就可以了
7、配置内核
#make menuconfig 我们在这里使用默认的配置即可
8、编译内核 #make bzImage
映像位bzImage位于arch/x86/boot/目录下
8、编译内核模块
#make modules
9、安装内核模块 #make modules_install 注:安装完成后,编译的内核模块会从内核源代码目录拷贝至/lib/modules下,本实验会拷贝到
10、制作init ramdisk initramdisk的作用:提供一种让内核可以简单使用ramdisk的能力。这些能力包括:格式化一个ramdisk;加载文件系统内容到ramdisk;将ramdisk作为根文件系统。
11、安装内核
11.1由于Linux启动时,会从/boot目录下来寻找内核文件与init ramdisk,所以需将内核和init ramdisk拷贝至/boot目录
11.2为了让grub(多重操作系统启动管理器)在启动时能提供一项我们自己制作的linux内核的选择项,需要修改grub的配置文件
#vi /tec/grub.config
注意:在做这一步的时候我遇到了一下问题。现在我来说一下我应该注意的地方吧首先注意default 和timerout的值,我的文件默认值就是default=5 timeout=0,导致刚开机的时候根本看不到让我们选择启动哪个系统的那个画面 ,第二行后四行是我们添加的,不同的系统root后面的东西,不同,只需跟你上面原有的root后面的东西一样即可。
12、测试新安装的内核是否好使
重新启动虚拟机,在grub的选择菜单中选择启动我们刚刚制作的内核