linux内核的编译

[复制链接]
925|12
手机看帖
扫描二维码
随时随地手机跟帖
zhangmangui|  楼主 | 2016-8-21 22:15 | 显示全部楼层 |阅读模式

编译linux内核已经有3次了,每一次编译都需要到网上查找编译步骤,感觉网上的各种资料乱七八糟的,并不是都适合ubuntu12.04的系统,所以做一个记录。

     适应版本:ubuntu12.04

     1.首先下载需要的linux内核源代码,可以到kernel.org去下载自己想要的内核源代码。

     2.下载完成后进行解压,一般内核代码是位于/usr/src目录之下的,所以可以将你的内核源代码解压到这个目录下。

     3.解压完成之后,就可以看到linux内核源代码的目录了。

     4.进入到内核源代码的目录之下,执行命令:

  • make menuconfig  


注意:这个命令需要在超级用户权限下执行,否则可能会报出一些莫名奇妙的错误。执行这个命令之后了,就可一看到下面的图片了:

这个界面中的一些选项是用来对编译时的linux内核进行配置的,我们可以根据需要来进行选择配置。

     5.配置完成之后,选择Exit退出并保存配置就可以了。

     6.接下来执行命令:

  • make all -j4  


就可以编译内核了,make all就是将内核以及模块一起编译。后面的参数-j4表示,cpu要开启四个线程来编译内核。一般来说,每个cpu可以开启两个线程来编译内核,我的电脑是有两个cpu,所以开启了4个线程。这样编译真心很快的,以前我就一个线程在编译,简直等的都无语了。

     7.编译完成之后,就可以进行内核的安装了,我们将源代码目录下的arch/x86_64/boot/bzImage复制到/boot/下面,因为我下载的源代码版本为linux-2.6.30.3,所以复制的命令为:

  • cp arch/x86_64/boot/bzImage /boot/vmlinuz-2.6.30-3  


读者需要根据自己的cpu类型,如是x86架构还是amd,或者是32位或64位,在相应的目录下寻找bzImage。

     8.将源代码目录下的System.map复制到/boot目录下:

  • cp /usr/src/linux-2.6.30.3/System.map System.map-2.6.30-3  


     9.将源代码目录下的.config复制到/boot/目录下:
  • cp .config /boot/config-2.6.30-3  


     10.安装模块:
  • make modules_install  


11.切换到/boot/grub/目录下:


  • cd /boot/grub/  


12.更新grub.cfg文件:


  • update-grub2  


之后,就可以重启电脑了,在previous version中就可以启动新编译的内核了。

相关帖子

dirtwillfly| | 2016-8-23 10:47 | 显示全部楼层

使用特权

评论回复
lan54160| | 2016-8-25 11:01 | 显示全部楼层
很好,学习

使用特权

评论回复
1186226902| | 2016-8-26 17:15 | 显示全部楼层
可惜美誉看到图片,大神很厉害啊,都玩得转Linux内核

使用特权

评论回复
zhangmangui|  楼主 | 2016-8-27 09:51 | 显示全部楼层
1186226902 发表于 2016-8-26 17:15
可惜美誉看到图片,大神很厉害啊,都玩得转Linux内核

正在学习

使用特权

评论回复
//YZC| | 2016-9-1 15:26 | 显示全部楼层
顶顶版主

使用特权

评论回复
zhangmangui|  楼主 | 2016-9-1 22:14 | 显示全部楼层

使用特权

评论回复
航天的鱼| | 2016-9-2 16:02 | 显示全部楼层
赞一个,资料收集不易

使用特权

评论回复
zhangmangui|  楼主 | 2016-9-2 22:41 | 显示全部楼层
航天的鱼 发表于 2016-9-2 16:02
赞一个,资料收集不易

感谢支持

使用特权

评论回复
guoshaojun| | 2016-9-12 23:22 | 显示全部楼层
楼主,我是linux新手。
我使用的ubuntu 12.04版本,在kernel.org下载的是linux-4.4.20内核版本,解压并mv到/usr/sr/linux-4-4/20,可以执行make menuconfig并成功保存为1.config,但执行make all时,报错,截图如下:

截屏

截屏

请问这个问题该如何解决?
谢谢!

使用特权

评论回复
zhangmangui|  楼主 | 2016-9-13 22:32 | 显示全部楼层
guoshaojun 发表于 2016-9-12 23:22
楼主,我是linux新手。
我使用的ubuntu 12.04版本,在kernel.org下载的是linux-4.4.20内核版本,解压并mv到 ...

这个不知道什么原因

使用特权

评论回复
荣丰宇| | 2016-9-15 15:33 | 显示全部楼层
这两周干的工作就是编译系统,感觉很强大

使用特权

评论回复
zhangmangui|  楼主 | 2016-9-16 21:50 | 显示全部楼层
荣丰宇 发表于 2016-9-15 15:33
这两周干的工作就是编译系统,感觉很强大

多指点  多分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎进入【TI DSP 论坛】 & 【DSP 技术】           TI忠诚粉丝!

934

主题

26373

帖子

585

粉丝