ldd3(《linux设备驱动程序》)里面使用的正是Linux2.6.10内核,如果内核不同,使用课本里的代码会出现各种问题,所以搭建与课本一样内核版本的环境,用来学习。

尝试过使用ubuntu14.04、fedora21直接编译2.6.10内核,结果都是gcc版本太高,尝试过给gcc降级,各种失败。

尝试在ubuntu9.04 ,10.04编译他们各自的内核版本,构建内核源码树,结果Ldd3给的代码会报错(虽然都是2.6.x)。

在fedora3上面编译内核成功,构建内核树成功,结果好像是找不到insmod这个命令就放弃了(忘了)。

最后在ubuntu5.04上成功编译内核、构建源码树,并且成功编译ldd3源码。

环境:vmware10+ubuntu5.04(32bit)+gcc3.3.5

一、安装ubuntu5.04(32bit)

vmware10虚拟机下安装ubuntu5.04

1、下载5.04安装包:

http://old-releases.ubuntu.com/releases/hoary/ubuntu-5.04-install-i386.iso

2、使用vmware创建虚拟机(需要设置一个地方)

创建虚拟机--》典型--》选择下载好的iso文件-》然后根据需要设置,下一步,直到出现“已选择好创建虚拟机”这个页面,选择“自定义硬件”,选中“CD/DVD”,点旁边的“高级”,将“虚拟设备节点”改成“IDE”,保存。
  • 1

只要设置这个就可以了,接着让它慢慢装吧。在装的过程中时不时会询问你一些问题(不够智能),根据需要设置就好了。

3、安装gcc

光盘里就有gcc,版本是3.3.5,用这个版本就可以了,版本太高编译内核会出问题。

系统默认的源来自安装盘,所以不用更新原,直接输入:

 #apt-get install gcc
  • 1

此时,要确保CD/DVD属于“已连接”状态,并且“使用ISO镜像文件”,选中的就是上面的安装包。不然会提示找不到/cdrom。(我这边是,重启之后,“已连接”消失,所以就在“硬件”那里找到CD/DVD,把“已连接”打钩就可以了)

二、编译内核

1、下载源码:linux-2.6.10.tar.gz

https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.gz

2、解压到/usr/src

tar zxvf  linux-2.6.10.tar.gz
  • 1

3、编译、安装

cd linux-2.6.10
make oldconfig
make
make bzImage
make modules
make modules_install
make install
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4、制作initrd.img文件

mkinitrd  -o  /boot/initrd.img-2.6.10   2.6.10
  • 1

这里末尾的2.6.10表示/lib/modules下面的一个目录(也就是版本号)

5、修改/boot/grub/menu.lst

里面已经有几个系统做好的,照着制作就可以了,这样开机就有选项可以来选择
可以把timeout的值改大一些,开机时候选择的时间比较长。
  • 1
  • 2

设置完成,重启。

重启,按ESC会让你选择要使用的版本。

三、验证

输入uname -r 查看版本。正是ldd3需要的2.6.10。
  • 1

附录:

这个网站提供了各种旧版本ubuntu:

http://old-releases.ubuntu.com/releases/

转载 ldd3环境配置的更多相关文章

  1. 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用

    史上最详细Windows版本搭建安装React Native环境配置   2016/01/29 |  React Native技术文章 |  Sky丶清|  95条评论 |  33530 views ...

  2. ubuntu环境配置之vi 配置【转载】

    ubuntu环境配置之vi 配置 [日期:2014-02-10] 来源:Linux社区  作者:zhonghe1114 [字体:大 中 小]   Android的源码开发,几乎离不开Linux,Lin ...

  3. LNMP(linux+nginx+mysql+php)服务器环境配置【转载】

    本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/05/17/2507102.h ...

  4. Windows下OpenFOAM开发及使用环境配置指南 (2)【转载】

    转载自:http://openfoam.blog.sohu.com/158751915.html *************************************************** ...

  5. Windows下OpenFOAM开发及使用环境配置指南 (1)【转载】

    转载自:http://openfoam.blog.sohu.com/158614863.html *************************************************** ...

  6. [转载] 高效 MacBook 工作环境配置

    原文: http://mp.weixin.qq.com/s?__biz=MjM5NzMyMjAwMA==&mid=208231200&idx=1&sn=8a76ddc56c1f ...

  7. [转载] 高效MacBook工作环境配置

    原文: http://www.xialeizhou.com/?p=71 高效MacBook工作环境配置 发表于 2015 年 8 月 1 日 由 xialeizhou 本文记录整个配置过程,供新入手M ...

  8. 转载:win7JDK环境配置

    [win7JDK环境配置] 网址:http://blog.sina.com.cn/s/blog_6a9df2330100ms9q.html 系统变量下: (1) 新建->变量名:JAVA_HOM ...

  9. Spring MVC 学习总结(一)——MVC概要与环境配置 转载自【张果】博客

    Spring MVC 学习总结(一)--MVC概要与环境配置   目录 一.MVC概要 二.Spring MVC介绍 三.第一个Spring MVC 项目:Hello World 3.1.通过Mave ...

随机推荐

  1. crazyflie四轴飞行器

    源地址:http://www.bitcraze.se/2013/02/pre-order-has-started/ Crazyflie是一个开源的纳米四旋翼 来几张靓照 开发平台是开源的,所以原理图和 ...

  2. React Hooks简单业务场景实战(非源码解读)

    前言 React Hooks 是React 16.7.0-alpha 版本推出的新特性.从 16.8.0 开始,React更稳定的支持了这一新特性. 它可以让你在不编写 class 的情况下使用 st ...

  3. 接口自动化之cookies登录

    现在有很多网站有验证码,跳过验证码实现登录可以使用cookies登录 目录 1.requests的添加cookies的方法 2.举个栗子 1.requests的添加cookies的方法 request ...

  4. 【ABAP系列】SAP ABAP中关于commit的一点解释

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP中关于commi ...

  5. ubuntu18.04 搭建scrapy环境(连环踩坑+解决办法)

    ---恢复内容开始--- 预期需求: 打算搭建scrapy环境,基于python3.x的 环境描述: ubuntu18.04自带了python3.6,打算在虚拟环境vlenv中跑scrapy,装好虚拟 ...

  6. POJ 3764 The xor-longest Path (01字典树)

    <题目链接> 题目大意: 给定一颗$n$个节点$(n\leq10^5)$,有边权的树,其边权$(0\leq w < 2^{31})$.让你求出这棵树上任意两个节点之间的异或最大值. ...

  7. BUUCTF--内涵的软件

    测试文件:https://buuoj.cn/files/0450881183f6478e110f9ea27581683b/70125468-0786-4705-bd91-87037f8f3e16.ex ...

  8. cgi+lighttpd上传大文件失败解决办法

    问题: - 前端页面点击上传按钮,不超过30M的小文件顺利上传到板子指定位置,上传60Md的更新包,出错,http状态码413——请求实体过大 环境: - web服务器——lighttpd1.4.30 ...

  9. 机器学习-线性回归补充-R^

    线性回归算法在选自变量会遇到两个问题:一是去掉多重共线性干扰,二是选择最优自变量组合. 线性回归步骤 1.选择自变量 注意点 去掉多重共线性干扰,选择最优自变量组合.这里需要理解决定系数:R^.它是理 ...

  10. java的任务

    1.完善现有的日志记录系统,对异常进行处理和记录 2.基于需求实现账号信息录入接口