昨天,经过多次摸索和失败,终于把Linux内核配置、编译、更换的流程掌握熟练了。

我的系统是Ubuntu12.04LTS,这次新版本的Ubuntu采用了grub2的启动方式,在最后更换内核的方式与老版的以及网上很多讲的方式有所区别,而且区别比较大,作为资深菜鸟,还是提醒一下,如果你的Linux并不是grub2的启动方式,请自行去博客园查找其他方法使你编译好的内核生效。

废话不多说,开始。一下操作都是root权限,进入root用户或者是用sudo方式。

1、下载内核,网址:http://www.kernel.org/。建议下载stable的3.4.5,如果你是大神,下载不稳定树的吧,还可以给Linux内核更新做贡献。

2、用sudo命令将新内核拷贝到/usr/src目录下。特别说明:我用的内核是3.4.5的,在一下的说明中出现的linux3.4.5都是我的内核文件,这个要以自己的为准。命令如下

//cp /"yourpath"/"kernel filename" /usr/src

3、解压缩 //cd /usr/src

//bzip2 -d linux-3.4.5.tar.bz2

//tar -xvf linux-3.4.5.tar

说明:在这里如果你下载的包是tar包,那直接解压缩就可以,如果是bz2的包就是以上两条命令。

4、(如果你是第一次编译内核可以跳过不做)删除当前内核版本的链接,目录在/usr/src/linux下

//rm -f linux

然后目录移动到/usr/include

//rm -f asm-generic linux scsi

5、建立链接到要编译内核的链接。

# ln -s /usr/src/linux/include/asm-generic asm-generic

# ln -s /usr/src/linux/include/linux linux

# ln -s /usr/src/linux/include/scsi scsi

6、配置要编译的内核(具体每个配置选项的意义可以在别的地方查找,也许以后我会再写一篇专门的文章)

#make config(基于文本的最为传统的配置界面,不推荐使用)

#make menuconfig(基于文本选单的配置界面,字符终端下推荐使用)

#make xconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用)

#make oldconfig(如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦)

7、(如果你是第一次跳过)清除上一次编译留下的垃圾。

#make dep

#make clean

8、编译新的内核:

#make bzImage

#make modules

#make modules_install

9、安装新的内核,在这一步里如果不是grub2启动方式的话需要做比较多的工作,可以死自己在博客园中查找博文,比较多的。而grub2方式启动的Linux只需要一条命令:

#make install

好了,到这里新的内核就被安装上了。重启即可看到新的内核。

by Air_Fighter

2012.7.19

转载于:https://www.cnblogs.com/airfighter/archive/2012/07/20/Ubuntu_Linux_Kernel_Make.html

Ubuntu12.04下Linux内核编译相关推荐

  1. Ubuntu10.04下Linux内核编译的完整步骤

    [转] http://supportopensource.iteye.com/blog/680483 1.在http://www.kernel.org/上下载最新的内核源代码linux-2.6.33. ...

  2. ubuntu16.04下linux内核编译升级更新以及设备驱动程序的编写

    ​​​​​​最近学院里的nfc老师要我们做个设备驱动,之前从没接手过这个东西,加上老师给的材料错误也是一大堆,搞了差不多一个星期才搞出来.特此写一个博客,以免后来人和我一样跳坑. 总体考虑 要去写设备 ...

  3. 2.4基于虚拟机的Linux内核编译

    今天把linux的内核重新编译了一下,周折颇多. 我是用vmware虚拟机,linux是redhat9.0. 编译的是自带内核2.4.28-8.主要是想把模块加载的选中. 再就是体验下linux内核编 ...

  4. Open vSwitch(OVS)源码编译Ubuntu16.04,Linux内核版本4.15

    Open vSwitch(OVS)源码编译Ubuntu16.04,Linux内核版本4.15 关于Open vSwitch(OVS)版本与Linux内核的关系,参考这篇文章:Open vSwitch( ...

  5. Linux下编译build的命令,Linux内核编译中build目录设置

    配置参数 最近在分析yocto中名为poky的嵌入式自动构建系统.在对内核进行定制的时候,看到了一个在进行内核编译时挺有用的特性,之前(作为野生程序员的我)一直没有发现. 该特性就是将源码与编译工作目 ...

  6. Ubuntu12.04下Android4.0.4源码的下载及其编译过程

    Ubuntu12.04下Android4.0.4源码的下载及其编译过程 http://www.jizhuomi.com/android/environment/427.html

  7. Android Linux内核编译调试

    对于在Windows上写代码写习惯的人,调试是必不可少的手段,但是转到Android以后,发现调试手段异常简陋,跟Windows简直不是一个级别,特别是Android的内核调试,网上资料也相对较少,不 ...

  8. linux内核编译如何选择cpu类型,Ubuntu内核编译和CPU Hot-Plug特性配置全过程及遇到问题记录...

    最近编译Palacios需要linux的内核支持cpu Hot-Plug(内存热插拔)特性,无奈我机器上安装的Ubuntu10.04系统默认不支持内存热插拔特性,所以需要修改配置文件并重新编译linu ...

  9. linux内核编译最详细,Linux内核编译详细教程,linux内核编译

    Linux内核编译详细教程,linux内核编译 尝试编译下Linux-kernel 4.14.14,使用Ubuntu 16.04 64位 系统. kernel-4.14.14 内核文件约96MB,解压 ...

最新文章

  1. 认识RAID磁盘阵列
  2. Keras入门(一)搭建深度神经网络(DNN)解决多分类问题
  3. 【NLP】 NLP中应用最广泛的特征抽取模型-LSTM
  4. mysql 日期前n天_MySQL日期范围查询,当前日期的前后几天
  5. POJ 3164 Command Network
  6. ubuntu 18.04 显卡驱动
  7. 【蓝桥官网试题 - 算法提高】change(思维)
  8. poj 3748 位操作
  9. [已解决]user is not in the sudoers file. This incident will be reported.(简单不容易出错的方式)
  10. 今天的就每天练习这招的企业即时通讯
  11. 远程服务器桌面配置iis6,windows 2003服务器安装 IIS6.0和IIS自带FTP服务器图文教程...
  12. 自抗扰控制(ADRC)—— 扩展状态观测器
  13. 消除计算机硬盘的碎片应该使用,win10系统电脑C盘磁盘碎片怎么清理?
  14. xmarks恢复使用
  15. php文本安全内容敏感词检测(微信的)
  16. 第43届ACM icpc亚洲区域赛焦作站感想
  17. 王柏北邮计算机副院长,“中国电信上海研究院—北京邮电大学计算机学院战略合作框架协议”签约仪式隆重举行...
  18. 计算机的扫雷如何恢复,电脑自带的蜘蛛纸牌被误删了如何找回
  19. 【SW7203】智融新料号SW7203,支持1-4S,双向升降压,路径管理,可搭配SW2303,实现车充、移动电源100W
  20. DNSPod吴洪声:国外域名注册商域名不许国内解析

热门文章

  1. VTK:Utilities之WindowModifiedEvent
  2. VTK:图片之CombiningRGBChannels
  3. OpenCV转换PyTorch分类模型并使用OpenCV Python启动
  4. c++类与类的组合关系(Combination)关系
  5. C++ Stacks(堆栈)
  6. C语言的指针函数与函数指针
  7. vba二维数组初始化_将工作表数据写入VBA数组
  8. 操作多个表_5_记录匹配不上
  9. Kettle使用_10 存储过程与命名参数
  10. 固态硬盘坏块修复工具_哪些情况影响固态硬盘寿命 影响固态硬盘寿命症状【详解】...