Ubuntu12.04建立内核树实现过程详解

 更新时间:2020年09月11日 11:30:35   作者:陌鉎こ城sHi  
这篇文章主要介绍了Ubuntu12.04建立内核树实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

先查看自己使用的内核版本

lin@lin-virtual-machine:~$ uname -r
3.2.0-23-generic

如果安装系统时,自动安装了源码。在 /usr/src 目录下有对应的使用的版本目录。

lin@lin-virtual-machine:~$ cd /usr/src
lin@lin-virtual-machine:/usr/src$ ls
linux-headers-3.2.0-23 linux-headers-3.2.0-23-generic

查看一下可一下载的源码包

lin@lin-virtual-machine:/usr/src$ apt-cache search linux-source
linux-source - Linux kernel source with Ubuntu patches
linux-source-3.2.0 - Linux kernel source for version 3.2.0 with Ubuntu patches

我这里选择所以“linux-source-3.2.0 - Linux kernel source for version 3.2.0 with Ubuntu patches”直接 install

lin@lin-virtual-machine:/usr/src$ sudo apt-get install linux-source-3.2.0

下载完成后,在/usr/src下,文件名为:linux-source-3.2.0.tar.bz2,是一个压缩包,解压缩既可以得到整个内核的源代码。

使用pwd来查看当前路径

ls来查看文件夹中有哪些文件

lin@lin-virtual-machine:/usr/src$ pwd
/usr/src
lin@lin-virtual-machine:/usr/src$ ls
linux-headers-3.2.0-23 linux-source-3.2.0
linux-headers-3.2.0-23-generic linux-source-3.2.0.tar.bz2

解压缩

lin@lin-virtual-machine:/usr/src#sudo tar jxvf linux-source-3.2.0.tar.bz2

进入该目录(cd linux-source-3.2.0)

lin@lin-virtual-machine:/usr/src$ cd linux-source-3.2.0/
lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ pwd
/usr/src/linux-source-3.2.0

开始配置内核 选择最快的原版的配置(默认)方式

lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ sudo make oldconfig

make需要等一个小时多。。。

lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ sudo make

数小时后

...System is 4826 kB
CRC d5a51584
Kernel: arch/x86/boot/bzImage is ready (#1)
 Building modules, stage 2.
 MODPOST 3304 modules
ERROR: "__modver_version_show" [drivers/staging/rts5139/rts5139.ko] undefined!
WARNING: modpost: Found 4 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

解决方法:来自http://ubuntuforums.org/showthread.php?t=1931029

lin@lin-virtual-machine:/usr/src/linux-source-3.2.0$ sudo gedit .config

估计是RTS5139驱动的问题.反正没有使用这个驱动,不要加入编译, 编辑.config, 将

CONFIG_RTS5139=m

修改成如下的形式:

CONFIG_RTS5139=n

继续make

编译压缩形式的内核

make bzImage

编译模块:

make modules

安装模块:

make modules_install

执行结束之后,会在/lib/modules下生成新的目录

lin@lin-virtual-machine:/lib/modules$ ls
3.2.0-23-generic 3.2.79

成功后重启。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 比较详细的基于CentOS的WWW服务器架设指南

    比较详细的基于CentOS的WWW服务器架设指南

    本文参考了网上高手的教程和结合自己的实践经验而来。网上关于LAMP安装配置的教程虽然很多,但长篇大论的让你抓不到重点,短小精悍的对新手来说又难了点,所以初次配置时最容易在某个环节卡住,从而打击了学习的激情或者耽误了宝贵的时间。于是就整理出这个学习笔记。如果文中有错误的地方,恳请大家指正,不要误导了初学者。
    2008-06-06
  • Apache 并发优化设置方法

    Apache 并发优化设置方法

    本文是对512M 内存并装有apache的vps进行优化,请不要跟我说装nginx就强多了,确实如此,但是你这样说的话,这篇文章就没什么意义了
    2016-08-08
  • Linux如何设置java.library.path

    Linux如何设置java.library.path

    这篇文章主要介绍了Linux如何设置java.library.path问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Linux定时备份数据库到指定邮箱的方法

    Linux定时备份数据库到指定邮箱的方法

    这篇文章主要介绍了Linux定时备份数据库到指定邮箱的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • 详解Apache SkyWalking 告警配置指南

    详解Apache SkyWalking 告警配置指南

    这篇文章主要介绍了Apache SkyWalking 告警配置指南,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • ubuntu13.10编译安装mono环境(一)

    ubuntu13.10编译安装mono环境(一)

    Mono是一个自由开放源代码项目。该项目的目标是创建一系列符合ECMA标准的.NET工具,包括C#编译器和通用语言架构。Mono项目不仅可以运行于Windows系统上,还可以运行于Linux,FreeBSD,Unix,OS X和Solaris,甚至一些游戏平台,例如:Playstation 3,Wii或XBox 360。
    2014-07-07
  • Linux编译LVGL仿真器出错问题解决

    Linux编译LVGL仿真器出错问题解决

    大家好,本篇文章主要讲的是Linux编译LVGL仿真器出错问题解决,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • Linux初始化系统盘后重新挂载数据盘方法

    Linux初始化系统盘后重新挂载数据盘方法

    在本篇文章中我们给大家分享了Linux初始化系统盘后重新挂载数据盘的解决方法,有需要的朋友们可以参考下。
    2018-09-09
  • Linux在两个服务器直接传文件的操作方法

    Linux在两个服务器直接传文件的操作方法

    scp是 secure copy 的简写, 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令,这篇文章主要介绍了Linux在两个服务器直接传文件的操作方法,需要的朋友可以参考下
    2022-08-08
  • centeros7 安装配置环境jdk1.8的教程

    centeros7 安装配置环境jdk1.8的教程

    这篇文章主要介绍了centeros7 安装配置环境jdk1.8的教程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09

最新评论