Chinaunix首页 | 论坛 | 博客
  • 博客访问: 774570
  • 博文数量: 160
  • 博客积分: 2516
  • 博客等级: 大尉
  • 技术积分: 1511
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-24 17:58
文章分类

全部博文(160)

文章存档

2019年(2)

2018年(3)

2017年(15)

2016年(3)

2015年(11)

2014年(3)

2013年(1)

2012年(3)

2011年(17)

2010年(25)

2009年(17)

2008年(13)

2007年(14)

2006年(21)

2005年(10)

2004年(2)

分类: LINUX

2009-05-09 09:54:32

VMWare ESXi 3.5.0 Update 4 增加驱动 oem.tgz

 

注:

1.  所有的操作都在Linux终端环境下完成。

2.  系统中打开两个终端窗口,分别供root#)用户和esxi$)用户进行操作。

3.  需要修改两个目录下的oem.tgz文件:/oem.tgz/install.tgz/usr/lib/vmware/installer/VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd.bz2

4.  本文以增加RTL8168/8111千光网卡驱动为例,其他网卡和存储控制器的操作方法类似,操作时注意当前目录的点号(.)。

5.  参考

6.  转载请保留原文链接。

 

1          准备原始文件

1.        创建需要的用户:

1.1. # groupadd –g 201 esxi

1.2. # useradd –u 201 –g esxi esxi

 

2.        新开一个终端窗口,使用esxi用户登录,拷贝下载的原始ISO文件及其他需要的驱动文件:

2.1. $ mkdir ~/src

2.2. $ cp /your/iso/path/VMware-VMvisor-InstallerCD-3.5.0_Update_4-153875.i386.iso ~/src

 

3.        挂载原始ISO

3.1. # mkdir /mnt/vcdrom

3.2. # mount -o loop -t iso9660 /home/esxi/src/VMware-VMvisor-InstallerCD-3.5.0_Update_4-153875.i386.iso /mnt/vcdrom

 

4.        拷贝出原始ISO中的全部文件,用来生成新ISO文件:

4.1. $ mkdir ~/ISO

4.2. $ cp –R /mnt/vcdrom ~/ISO

 

 

2          生成自定义的oem.tgz:

2.1         创建临时目录,并解压BINMOD.TGZ文件,其中有我们需要修改的文件(simple.mappci.ids):

2.1.1   $ mkdir ~/tmp

2.1.2   $ tar –zxvf ~/ISO/BINMOD.TGZ –C ~/tmp

 

2.2         创建oem.tgz需要的目录:

2.2.1   $ mkdir ~/oem/mod

2.2.2   $ mkdir –p ~/oem/etc/vmware

2.2.3   $ mkdir –p ~/oem/usr/share/hwdata

 

2.3         拷贝需要修改的文件,及相关驱动

2.3.1   $ cp ~/tmp/etc/vmware/simple.map ~/oem/etc/vmware

2.3.2   $ cp ~/tmp/usr/share/hwdata/pci.ids ~/oem/usr/share/hwdata

2.3.3   $ cp /your/driver/path/r8168.o ~/oem/mod

 

2.4         修改pci.idssimple.map文件,加入相应的驱动配置:

2.4.1   # pci.ids 增加设备类型

# vendor  vendor_name

#  device  device_name                                           <-- single tab

#         subvendor subdevice  subsystem_name      <-- two tabs

10ec  Realtek Semiconductor Co., Ltd.

……

RTL-8168/8111

1458 e000  RTL8111C

RTL-8169

1371 434e  ProG-2000L

 

2.4.2   # simple.map 增加设备驱动(行)

10ec:8168 0000:0000 network r8168

10ec:8169 0000:0000 network r8169

 

2.5         修改权限,打包oem.tgz

$ chown -R esxi:esxi ~/oem

$ chmod -R 755 ~/oem

$ chmod 644 ~/oem/etc/vmware/simple.map

$ chmod 644 ~/oem/usr/share/hwdata/pci.ids

$ cd ~/oem

$ tar -cvzf ../oem.tgz .

$ chmod 755 ../oem.tgz

 

2.6         至此,oem.tgz文件生成完毕,拷贝到ISO根目录下覆盖原文件:

2.6.1   $ cp ../oem.tgz ~/ISO

 

3          修改磁盘映象文件:

3.1    解压install.tgz

3.1.1   $ mkdir ~/installtgz

3.1.2   $ tar -xzvf ~/ISO/install.tgz -C ~/installtgz

 

3.2    解压bz2

3.2.1   $ cd ~/installtgz/usr/lib/vmware/installer

3.2.2   $ bunzip2 VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd.bz2

 

3.3    查看dd文件对映的磁盘分区

3.3.1   $ fdisk -ul VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd

 

Disk VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd: 0 MB, 0 bytes

64 heads, 32 sectors/track, 0 cylinders, total 0 sectors

Units = sectors of 1 * 512 = 512 bytes

 

                                           Device Boot      Start         End      Blocks   Id  System

VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd1            8192     1535999      763904    5  Extended

VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd4   *          32        8191        4080    4  FAT16 <32M

VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd5            8224      106495       49136    6  FAT16

VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd6          106528      204799       49136    6  FAT16

VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd7          204832      430079      112624   fc  VMware VMKCORE

VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd8          430112     1535999      552944    6  FAT16

 

Partition table entries are not in disk order

可以看到扇区大小为 512 bytes,所以现在能够通过offset参数(Start * 512)来挂载第5个分区(需要修改的文件在此分区中):

 

3.4    挂载第5个分区

3.4.1   # mkdir /mnt/vmware-p5

3.4.2   # mount -o loop,offset=$((512*8224)) VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd /mnt/vmware-p5

 

3.5    查看第5个分区的文件

3.5.1   $ ls /mnt/vmware-p5

3.5.2   binmod.tgz  boot.cfg  cim.tgz  environ.tgz  license.tgz  oem.tgz  vmkernel.gz

 

3.6    删除原始的oem.tgz文件,把新生成好的oem.tgz拷贝过来:

3.6.1   # rm /mnt/vmware-p5/oem.tgz

3.6.2   # cp ~/oem.tgz /mnt/vmware-p5

 

3.7    卸载第5个分区,修改后的内容自动保存到.dd文件中:

3.7.1   # umount /mnt/vmware-p5

 

3.8    bzip2压缩磁盘映象文件:

3.8.1   $ cd ~/installtgz/usr/lib/vmware/installer

3.8.2   $ bzip2 VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd

 

3.9    重新建立install.tgz文件:

3.9.1   $ cd ~/installtgz

3.9.2   $ tar -czvf ../install.tgz sbin/ usr/

 

4          生成ISO文件:

4.1    cd ~/ISO

4.2    mkisofs -o ../ESXi3.5.0U4.1.iso -b isolinux.bin -c boot.catalog -no-emul-boot -boot-load-size 4 -boot-info-table .

 

大功告成:)

 

阅读(4007) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~