红联Linux门户
Linux帮助

Fedora下如何编译自己的linux内核(x86平台)

发布时间:2015-08-19 21:37:18来源:linux网站作者:Inv_block

此文档只做步骤总结,具体每个步骤细节部分可在网络上搜索,有大量资料可供参考。


编译环境:VMware9.0+Fedora9.0

内核版本:2.6.32.67

内核运行平台:x86


第一步:获取内核源码

编译内核之前,首先是获取内核源码,这里强调一点,必须从官网http://kernel.org/下载内核源码,因为我们的运行环境是x86平台,在别处下载的源码文件可能被别人修改过而无法在x86下运行。

我下载的版本是2.6.32.67.tar.xz,获取到源码后在将源码解压到linux系统下/mylinux目录下

Fedora下如何编译自己的linux内核(x86平台)


第二步:配置内核

这里推荐将已安装的的linux系统的配置文件拷贝到我们刚下载的linux根目录下,我的linux系统的配置文件在

/boot/config-2.6.25-14.fc9.i686,所以执行下面这三条命令配置自己的内核

# cd /mylinux/linux-2.6.32.67

# cp /boot/config-2.6.25-14.fc9.i686  ./.config

# make menuconfig


第三步:编译内核

# make

这里需要较长的时间编译,我在虚拟机下使用了一个小时Fedora下如何编译自己的linux内核(x86平台),耐心等待吧。

编译好之后,在/mylinux/linux-2.6.32.67/arch/x86/boot下有一个bzImage文件,该文件就是编译好的内核文件


第四步:编译内核模块

# make modules


第四.一步:安装内核模块

# make modules_install

此步骤安装完成后,在 /lib/modules/ 目录下将会有一个文件路径,2.6.32.67


第五步:安装内核

做这一步,有两种办法,第一种是通过文件拷贝的方法;第二种是通过命令 make install


第一种:

1)#cp /mylinux/linux-2.6.32.67/arch/x86/boot/bzImage  /boot/vmlinuz-2.6.32.67

将编译好的内核文件拷贝到/boot目录下,并重命名为 vmlinuz-2.6.32.67

2)# cd /mylinux/linux-2.6.32.67
# mkinitrd initrd-2.6.32  2.6.32.67

使用mkinitrd命令只做内核的ramdisk, initrd-2.6.32为目标文件,2.6.32.67是在第四步操作中的文件路径

3)# cp /mylinux/linux-2.6.32.67/initrd-2.6.32   /boot/initrd-2.6.32.67.img

将刚制作的ramdisk文件拷贝到/boot目录下并重命名为initrd-2.6.32.67.img

4)# vi /etc/grub.conf

文件中有以下五行,将该5行复制并粘贴

title Fedora(2.6.25-14.fc9.i686)
root (hd0,0)
kernel /vmlinuz-2.6.25-14.fc9.i686 ro root=UUID=22e71db5-cace-421c-94a0-39376ddad2dc rhgb quiet
initrd /initrd-2.6.25-14.fc9.i686.img

粘贴后并修改为以下所示

title Fedora(2.6.25-14.fc9.i686)
root (hd0,0)
kernel /vmlinuz-2.6.25-14.fc9.i686 ro root=UUID=22e71db5-cace-421c-94a0-39376ddad2dc rhgb quiet
initrd /initrd-2.6.25-14.fc9.i686.img

title My_Linux (2.6.32.67)
root (hd0,0)
kernel /vmlinuz-2.6.32.67 ro root=UUID=22e71db5-cace-421c-94a0-39376ddad#2dc rhgb quiet
initrd /initrd-2.6.32.img

部分为需要修改的地方,改完后保存退出

5)# reboot


第二种:

直接使用命令

# cd  /mylinux/linux-2.6.32.67

# make install

# reboot


如何更新Linux内核来提升系统性能:http://www.linuxdiyf.com/linux/13327.html

64位ubuntu15.04升级Linux内核到linux4.1.0:http://www.linuxdiyf.com/linux/11805.html

Linux内核3.19.3编译过程:http://www.linuxdiyf.com/linux/11499.html