ldd3学习笔记--环境搭建(构建linux2.6.10源码树)

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

此时,要确保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

3、编译、安装

cd linux-2.6.10
make oldconfig 
make
make bzImage
make modules
make modules_install
make install 

4、制作initrd.img文件

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

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

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

里面已经有几个系统做好的,照着制作就可以了,这样开机就有选项可以来选择
可以把timeout的值改大一些,开机时候选择的时间比较长。
1
2
设置完成,重启。 
重启,按ESC会让你选择要使用的版本。 
三、验证

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

附录: 
这个网站提供了各种旧版本ubuntu: 
http://old-releases.ubuntu.com/releases/

原文:https://blog.csdn.net/u013162593/article/details/45252383 
 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值