LinuxKernel Complie
1.下载源码:
https://www.kernel.org/,下载最新版本的内核版本linux-3.18.8.
2.解压:
解压linux-3.18.8.tar.xz,首先将下载的内核版本放在/usr/src/目录中.
命令:xz-d linux-3.18.18.tar.xz
生成linux-3.18.8.tar
命令:tar-xvf linux-3.18.18.tar -C /usr/src
生成文件目录:linux-3.18.8
3.编译前配置:
第一步,进入linux-3.18.8目录,即源码根目录.
第二步,
3.1.配置内核:make menuconfig
基于ncurse库编制的图形工具界面,编译前配置就相当于对linux内核进行一些裁剪定制,增加自己需要的模块,删除自己不需要的模块.
a.如果是新手,这一步可以直接忽略.
b.如果是老鸟,可以根据自己的需求进行裁定.
配置:对每一个配置选项,用户有三种选择,它们分别代表的含义如下:
<*>或[*]——将该功能编译进内核
[]——不将该功能编译进内核
[M]——将该功能编译成可以在需要时动态插入到内核中的代码
配置你需要的内容。配置完成以后,保存退出。
另外还有几种配置方式:
//基于本机当前内核环境的配置,对于经常编译内核而不需要
#make localmodconfig
//基于文本命令行工具,比较繁琐,不推荐使用
#make config
//基于X11图形工具界面
#make xconfig
//基于gtk+的图形工具界面
#make gconfig
3.2.清除目标文件 make clean
一般用于清除上次编译时的选项,若首次编译可以不用操作此步。
4.编译:
编译时可以在命令行后面加上-jxx选项,xx是数字,表示同时进行编译作业的数量.
编译内核,若CPU是单核:-j2;若CPU是双核:-j4,等等.目的是为加快编译速度.
编译命令:make -j8
5.安装内核模块:
同上,使用-j8选项.
安装内核命令:make modules_install -j8
编译成功后,系统会在/lib/modules目录下生成一个3.18.8子目录,即将编译好的模块拷贝到/lib/modules目录中。
6.安装内核:
6.1.该步骤会拷贝.config,vmlinuz,initrd.img,System.map文件到/boot目录。
命令:make install -j8
6.2.更新grub文件(首次替换内核需要修改/etc/default/中的grub文件,将GRUB_HIDDEN_TIMEOUT=0注释掉)
#cd /boot
#update-grub
7.使用新内核:
重启系统,然后选择新编译的内核启动.
命令:reboot
选择linux-3.18.8内核启动.
8.查看内核版本
命令:uname-a
作用:查看系统内核版本号及系统名称.
(或者,命令:cat/proc/version
作用:查看目录"/proc"下version的信息,也可得到当前系统的内核版本号及系统名称)