转载 ldd3环境配置

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/

posted @ 2018-06-06 17:13  习惯就好233  阅读(452)  评论(0编辑  收藏  举报