vmware linux 4.内核,010.Vmware-Linux 内核编译四

Subject:Vmware-Linux 内核编译四

Date:     28-Mar-2011

By:        Calvinlee1984@163.com

1.本文在Vmware-Linux-2.4.20-8的基础上将内核重新编译升级到2.6.14.1

编译平台:Vmware_6.0 + Redhat 9.0(Linux-2.4.20-8)

f89ea3cef34b37a83a797d66f10d53c2.png

2.准备相关文件并复制至/tmp目录下

kernel:linux-2.6.14.1.tar.gz

下载地址:www.kernel.org/pub/linux/kernel/v2.6/

modutils:modutils-2.4.5-1.src.rpm  (v2.6内核升级需要)

下载地址:www.kernel.org/pub/linux/utils/kernel/modutils/v2.4/

module-init-tools:module-init-tools-3.2.2.tar.gz (depmod insmod lsmod modinfo modprobe rmmod)

下载地址:www.kernel.org/pub/linux/utils/kernel/module-init-tools/

device-mapper:device-mapper-1.00.19-2.i386.rpm

lvm2:lvm2-2.00.25-1.01.i386.rpm

mkinitrd:mkinitrd-4.1.18-2.i386.rpm (mkinitrd依赖device-mapper及lvm2)

下载地址:http://rpm.pbone.net/

binutils:binutils-2.17.tar.gz(虚拟机用文件)

下载地址:http://ftp.gnu.org/gnu/binutils/

287b8e13d737aefc34e5e2940106b9cd.png

3.安装modutils-2.4.5-1.src.rpm

A. 查看当前modutils版本

d035d20e161edd8ef7b624a30674ebd8.png

B. 卸载当前modutils

9fd3478df5f666913ec330ad35daf311.png

C.将源代码安装到/usr/src/redhat目录下:rpm –ivh modutils-2.4.5-1.src.rpm

89a7f58eda3cc8aefc4ee799e79a4c57.png

D.进入规范文件目录下:cd /usr/src/redhat/SPECS

7388f15deb70431714cfa1dfe50f12da.png

E.生成二进制的RPM包:rpmbuild –-bb modutils.spec

ff4ff1757b2deafba37632a7e6938f16.png

F.进入生成的RPM包目录下:cd /usr/src/redhat/RPMS/i386

6b0eeb83890364354e820d1d3d52ce2f.png

G.安装RPM包:rpm –ivh modutils*.rpm

6bf1eb46252075741f332fbd83302785.png

H.安装成功

c6364df28b0ec8530f3c7a4e5fa5e06c.png

4.解压缩并安装module-init-tools-3.2.2.tar.gz

tar –zxpf module-init-tools-3.2.2.tar.gz

cd module-init-tools-3.2.2

./configure –prefix=/

make moveold

make all install

./generate-modprobe.conf  /etc/modprobe.conf

e2d4099b1991507c2c726639482fffd8.png

5.安装device-mapper-1.00.19-2.i386.rpm

rpm –ivh device-mapper-1.00.19-2.i386.rpm

54cd0c5e7abcb7681a69cae4e6fbdf8f.png

6.安装lvm2-2.00.25-1.01.i386.rpm

rpm –ivh lvm2-2.00.25-1.01.i386.rpm

ba403f360b2624331750575714569c10.png

rpm –ivh –-nodeps –-force lvm2-2.00.25-1.01.i386.rpm

1c71838799e917df9235244d933d442a.png

7.卸载当前mkinitrd并安装mkinitrd-4.1.18-2.i386.rpm

rpm –e –-nodeps mkinitrd

d0d60de8b87e855e9f96c49042f898c2.png

rpm –ivh mkinitrd-4.1*.rpm

e7fdb1b87872e8ab714a1e9df1c94bfc.png

8.解压并安装binutils-2.17.tar.gz

tar –zxpf binutils-2.17.tar.gz

cd binutils-2.17

./configure

make

make install

9.解压linux-2.6.14.1.tar.gz并将linux-2.6.14.1移至/usr/src目录下

tar –zxpf linux-2.6.14.1.tar.gz

mv linux-2.6.14.1 /usr/src

10.进入linux-2.6.14.1目录并编译 cd /usr/src/linux-2.6.14.1

make clean

make mrproper

make menuconfig(暂不作任何改动)

make bzImage

42ff7bea47ee201dc705719fd8ebdd53.png

make modules

make modules_install

make install

11.进入/boot目录并编辑grub/grub.conf文件 vi grub/grub.conf

963bcfc96ce01bd403a166dd352f575a.png

注:安装Redhat9.0时,根目录/安装在/dev/sda3上,fdisk –l

1dcef5496d82a3182ba592d18f70994c.png

12.reboot

4242000c57da616ab8fb8138e3cdeca9.png

9564fec13300a1705ede3f238c998254.png

13. 在新内核挂载cdrom mount /mnt/cdrom出错

5011efc1af9c17baf36c6ae9ea6ce968.png

暂找不出解决方案。

将vmware-tools源文件复制到/tmp目录下,解压并安装在linux-2.6.14.1内核下,与windows操作系统共享的Shared文件夹可正常工作。但回到linux-2.4.20-8内核后,找不到Shared文件夹。

14. 测试驱动程序

89e3361e3a3f4156b3d3735fcc48ca15.png

insmod hello.ko

4ff5f77fa0c4c0d3813dd89ec8d4de6c.png

lsmod

c264c956979d5df49459e1cab281554e.png

rmmod hello

efc194bad573e8f15c42f20c2efeb7b7.png

出错

15.配置menuconfig,make menuconfig添加如下选项

0525beeffaf39a3563921b2eace0f205.png

16.重新编译

make bzImage

make modules

make modules_install

make install

17.重复第11步

18.reboot 并重新测试rmmod命令

insmod hello.ko

b16c6785cea2c664a5beb8f7d1c7fd01.png

lsmod

fe0de061db3b62fa2a42f7c096b24f5f.png

rmmod hello

d7a7a4291e91688c49f25d1ce4ba21a1.png

19.可参考文档:http://www.linuxeden.com/html/develop/20080402/53826.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值