Linux kernel compile--linux-3.18.8编译过程

来源:互联网 发布:linux yum ant 编辑:程序博客网 时间:2024/05/16 14:59

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

命令相当于执行了两个命令:make bzImage  && make modules
该步骤会生成生成内核模块和vmlinuz,initrd.img,Symtem.map文件.

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的信息,也可得到当前系统的内核版本号及系统名称)

0 0
原创粉丝点击