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

成功后重启。

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

相关文章

  • 详解怎样在Linux中配置静态网络连接

    详解怎样在Linux中配置静态网络连接

    这篇文章主要介绍了详解怎样在Linux中配置静态网络连接,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • LNMP系列教程之 设置404错误页面

    LNMP系列教程之 设置404错误页面

    在之前的文章中分享到”设置301重定向的方法“文章,提到301,那肯定也要说说404错误页面吧。因为我们默认安装了LNMP后404页面不会自动设置,也不会默认到程序的404错误页面,而需要我们手工设置
    2012-09-09
  • Git fetch和pull的详解及区别

    Git fetch和pull的详解及区别

    这篇文章主要介绍了Git fetch和pull的详解及区别的相关资料,需要的朋友可以参考下
    2017-02-02
  • CentOS 7 安装 Jenkins过程详解

    CentOS 7 安装 Jenkins过程详解

    这篇文章主要介绍了CentOS 7 安装 Jenkins过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 使用apachetop实时监控日志、动态分析服务器运行状态

    使用apachetop实时监控日志、动态分析服务器运行状态

    这篇文章主要介绍了使用apachetop实时监控日志、动态分析服务器运行状态,通过apachetop这个工具可以动态的查看apache的日志文件,还可以直观的看到访问的每个地址的请求数、速度及流量等信息,需要的朋友可以参考下
    2014-06-06
  • 详解Linux下调试器GDB的基本使用方法

    详解Linux下调试器GDB的基本使用方法

    GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。不管是调试Linux内核空间的驱动还是调试用户空间的应用程序,掌握gdb的用法都是必须。而且,调试内核和调试应用程序时使用的gdb命令是完全相同的
    2021-06-06
  • CentOS6.5环境安装nginx服务器及负载均衡配置操作详解

    CentOS6.5环境安装nginx服务器及负载均衡配置操作详解

    这篇文章主要介绍了CentOS6.5环境安装nginx服务器及负载均衡配置操作,结合实例形式较为详细的分析了CentOS6.5环境安装nginx服务器及负载均衡配置具体步骤、命令与相关问题解决方法,需要的朋友可以参考下
    2018-04-04
  • 一条命令让你明白shell中read命令的常用参数

    一条命令让你明白shell中read命令的常用参数

    今天小编就为大家分享一篇关于一条命令让你明白shell中read命令的常用参数,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 详解ubuntu双系统启动时卡死解决办法

    详解ubuntu双系统启动时卡死解决办法

    这篇文章主要介绍了详解ubuntu双系统启动时卡死解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 如何利用Gitlab-ci持续部署到远程机器(详细教程)

    如何利用Gitlab-ci持续部署到远程机器(详细教程)

    这篇文章主要介绍了如何利用Gitlab-ci持续部署到远程机器(详细教程),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07

最新评论