Linux内核的编译与安装
本文介绍虚拟机下linux内核的编译与安装。
首先介绍编译linux内核前个人的环境,如下:
宿主机:OSX Yosemite 10.10.2
虚拟机软:Virtualbox
虚拟机操作系统:Ubuntu14.10,linux3.16.0
在介绍linux内核的编译与安装前,有一点要牢记:
在解压内核源码、配置并构建内核的时候,都应该在 普通用户 权限下操作,只有在安装新内核的时候,才需要在 超级用户 权限下运行。
过去在内核构建过程中有个缺陷:当用超级用户权限构建内核是,会在/dev目录下生产一些垃圾文件(现在已修复)。而且在超级用户解压linux内核也容易导致一些问题。比如由于从源码包中解压出来的一样文件的权限不正确,从而导致构建出错。
内核源码也不能放到/usr/src/linux目录下,因为这里存放的时构建内核系统库所需要的内核,而不是你自己定制的内核。不要在/usr/src/目录树下进行内核开发,应该在一个用户目录下做这些事情,这样不用担心会对系统造成破坏(本段参考linux内核技术手册)。
接下来介绍linux内核的编译与安装:
1、 首先是下载linux内核。从https://www.kernel.org/下载最新的内核,我这里下载的是linux-3.19.tar.xz。然后解压到当前用户目录~/linux-3.19
2、 进入~/linux-3.19,输入 make mencofig,配置内核。
3、 输入 make –j4,构建内核,j选项是用多线程方式构建内核,如果有双处理器的计算机,j后面接4。
4、 输入 make modules和sudo make modules_install命令,编译和安装在menuconfig阶段配置未模块’M’的代码,模块置于”/lib/modules/’kernel_verison’”目录内,’kernel_version’是内核的版本号。
5、 输入 sudo make_install,安装主内核映像。该命令将验证内核是否成功,把内核静态部分安装到/boot目录。
6、 输入 sudo update-grub,更新我们的引导文件。
到此,内核的编译与安装就完成了,重启虚拟机,输入uname–r,就会发现Ubuntu的内核已经换成了刚刚构建的内核。