由于需要在PC机上做一些Linux驱动的实验,来学习《linux设备驱动开发技术及应用》这本书,最近在ubuntu上配置、编译、安装了更老一些的内核。原来ubuntu11.10自带的内核是linux-3.0.0-12的,我改为了linux-2.6.39.4版本的。过程主要参考《Ubuntu环境下编译linux-2.6.36内核操作手册》。

以下过程全部在root权限下操作。

1、 安装必备软件编译工具:

#apt-get install libncurses5-dev build-essential kernel-package

注意:

(1)libncurses5-dev是为之后配置内核能运行 make menuconfig程序做准备

Build-essential为编译工具,kernel-package是编译内核工具

(2)如果系统显示无法查找到这三个文件,输入#apt-get update更新数据源。

2、 下载内核

去www.kernel.org下载你需要的内核版本的源代码:linux-3.6.39.4.tar.bz2

3、 将源码放在windows下的共享目录内,这样在linux下就可以看到并操作了。

我在linux下的共享目录为:

linux@xiangpingli:~/桌面/share$ pwd

/home/linux/桌面/share

linux@xiangpingli:~/桌面/share$ ls

linux-2.6.39.4.tar.bz2  vimrc.tiny3

4、 将该压缩包拷贝到/usr/src/目录下解压

5、 配置内核:

建议使用当前系统配置文件,使用当前系统配置文件方法:

#cp /boot/config-XX  ./.config,然后进入menuconfig选择load选项。

6、 编译内核:

make,这可能需要2~3个小时的时间。

7、加入模块

#make modules_install

8、生成可执行的内核引导文件

#make bzImage

#cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.39.4

9、将System.map复制到/boot下:

#cp System.map /boot/System.map-2.6.39.4

10、生成initrd.img文件

#cd /lib/modules/2.6.39.4

#update-initramfs –c –k 2.6.39.4

11、自动查找新内核,并添加至grub引导

#update-grub

12、修改/boot/grub/grub.cfg文件,将几个timeout的值设为10

这样grub在引导的时候就会出现10秒的停留,如果有按键输入,则可以对内核镜像进行选择

ubuntu中linux内核的编译、更换与使用相关推荐

  1. Linux内核的编译方法及如何往内核中增加程序

    2019独角兽企业重金招聘Python工程师标准>>> ARM Linux的系统调用实现原理是采用swi软中断从用户(usr)模式陷入管理模式(svc). 内核空间和用户空间这两个名 ...

  2. 【错误记录】Ubuntu 安装 Linux 内核后需要重新安装 VMware Tools 软件进行兼容操作

    文章目录 一.报错信息 二.解决方案 一.报错信息 在 [Linux 内核]编译 Linux 内核 ⑦ ( 安装内核模块 | 安装内核 | 重启系统 | 查看当前内核版本 ) 博客中 , 安装完 Li ...

  3. 【Linux 内核】编译 Linux 内核 ⑤ ( 查看 .config 编译配置文件 | 正式编译内核 )

    文章目录 一.查看 .config 编译配置文件 二.正式编译内核 一.查看 .config 编译配置文件 在上一篇博客 [Linux 内核]编译 Linux 内核 ④ ( 打开 Linux 内核编译 ...

  4. 玩转mini2440开发板之【linux内核的编译和下载】

    今天首先来玩一玩linux内核的编译和下载. 1.背景交代 开发环境:64位的Ubuntu 14.04: 编译工具:arm-linux-gcc 4.4.3: 下载工具:SuperViVi USB Tr ...

  5. 编译 linux 3,linux内核的编译(3)

    linux内核的编译(3) 2008-02-23 07:17:46来源:互联网 阅读 () 无论什麽档名),然後将你做的 zImage 拷贝进去,(例如,如果你用" /vmlinuz ″ 的 ...

  6. 【Linux 内核】编译 Linux 内核 ⑦ ( 安装内核模块 | 安装内核 | 重启系统 | 查看当前内核版本 )

    文章目录 一.安装内核模块 二.安装内核 三.重启系统 四.查看当前内核版本 一.安装内核模块 确保 Linux 内核编译完成 , 没有任何报错之后 ; 参考 [Linux 内核]编译 Linux 内 ...

  7. 解决ubuntu更改Linux内核(或更新系统)后扩展屏(第二显示器)无法正常显示问题)

    解决ubuntu更改Linux内核(或更新系统)后扩展屏(第二显示器)无法正常显示问题 我的解决方案 一定先看这个(很重要) 直接看这个就可以 前几天更新了一下ubuntu系统,一切正常,但是当我把系 ...

  8. Ubuntu下的Linux内核的编译及安装

    推荐群:C/C++大学技术协会:145655849 Linux中的模块(Modules) Linux的module其实可以看作是内核的插件. 在Linux系统中,可以通过文件 cat /proc/mo ...

  9. ubuntu 更新linux内核,在Ubuntu中,如何更新Linux内核

    前提条件运行Ubuntu Linux的服务器 访问终端(CTRL-ALT-T或应用程序菜单>附件>终端) 用户帐户,有sudo权限 apt工具,内置于Ubuntu, 内置于Ubuntu中的 ...

最新文章

  1. 零基础学JAVA]Java SE基础部分-01. Java发展及JDK配置
  2. Python自动化运维——系统进程管理模块
  3. 最后一条记录_幸好朋友圈没有访客记录。
  4. chrome浏览器世界之窗浏览器的收藏夹在哪?
  5. 热像仪 二次开发 c++_一种全新的红外热像仪——“可编程红外热像仪”
  6. android 视图覆盖,如何在Android中添加覆盖视图超过其他视图?
  7. 炸窝Vector简介
  8. Linux初级运维(十七)——Linux内核编译与系统裁减
  9. java B2B2C springmvc mybatis电子商务平台源码-------zuul网关实现
  10. [leetcode] 24. Swap Nodes in Pairs
  11. 一个间歇性进程hang问题的处理
  12. python连接传感器_树莓派4B之光敏传感器模块(python3)
  13. 正则表达式 之 回溯引用:前后一致匹配
  14. 超越竞争对手的秘密武器-技术重用
  15. DPDK 20.11 meson build
  16. oracle 取现在的时间,Oracle 获取当前日期及日期格式
  17. 创建hive的AES加密解密函数
  18. 嵌入式课程设计:socket通信模拟服务器客户端实现文件传送(基于c++语言)
  19. logit回归模型_详解 Logit/Probit 模型中的 completely determined 问题
  20. 射影几何----过定点的直线求斜率之积的简单方法

热门文章

  1. boost::counting_range相关的测试程序
  2. boost::geometry模块使用 Karney 的直接方法
  3. GDCM:gdcm::Object的测试程序
  4. VTK:Medical之GenerateCubesFromLabels
  5. OpenCV简单的过滤器平滑的实例(附完整代码)
  6. OpenCV放大视频Upscaling video
  7. QDoc分组事物Grouping Things
  8. OpenGL simpleclear简单刷背景的实例
  9. C++ pancake sort煎饼排序的实现算法(附完整源码)
  10. C++matrix chain multiplication矩阵链乘法算法的实现(附完整源码)