刚接触linux,下载另外版本的内核代码来编译,并且安装,其中遇到很多问题,但是最终总算还是成功的编译完并且安装上了自己编译的内核了。下面是我自己编译内核的方法和步骤,贴出来供有用的人参考参考:
1、首先下载你想要编译的内核版本:www.kernel.org去下载你想要的版本。
2、进入root权限把刚下载的内核代码复制到/usr/src目录下面去。
3、在/usr/src目录下面解压刚才下载的内核代码:tar zxvf linux-xxx.xxx,加压完成后进入相应的linux-xx。xx目录,以后的工作都会在这个目录下面完成。
4、开始编译前的工作:配置内核选项:使用命令:make menuconfig 然后再出现的界面中移动鼠标选中file system项目,进入其中,把second extended fs suppor前面的 * 好改成M(修改这个的目的是让在编译内核的时候以模块的方式进行编译,而不是把内核集成到以前的内核中)。这里可能会提醒安装ncurses相应的包。安装这个包的命令如下:sudo apt-get install libncurses5-dev
5、接下来就是 使用命令 make 进行编译内核了(这个大概需要一两个小时的时间).
6、等编译内核完成之后就是编译模块并且安装模块了。使用命令:make modules_install
7、安装模块 使用命令:make install
8、创建initrd文件 使用命令:mkinitramfs -o /boot/initrd.img-2.6.21.5 2.6.21.5(后面的数字是自己需要编译的内核的版本,根据自己的版本不同来书写).
9、更新grub来显示自己安装的内核。进入/boot/grub目录,然后输入命令:update-grub即可。
经过以上的步骤,内核基本上已经编译成功并且已经安装上了。
为了看自己的内核是否安装上了可以通过以下步骤来看:进入/boot/grub/目录,然后打开grub.cfg文件,看你自己编译的版本是否已经在里面了,如果在里面了,就说明你自己编译的内核就完成了。这是后重启就可以进入你自己编译的内核里面了。(但是为了选择自己安装的内核或者是选择进入以前系统自带的内核还必须更改/boot/grub/目录下面的文件grub.cfg,把里面的所有的timeout的值都更改成10)。然后重新启动就可以选择了。
10、重启之后,选择安装的内核就可以进入刚编译的内核了。
以上就是编译和安装自己内核的步骤。