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.
参考
www.vm-help.com
6.
转载请保留原文链接。
1
准备原始文件
1.
创建需要的用户:
1.1.
# groupadd �Cg 201 esxi
1.2.
# useradd �Cu 201 �Cg 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 �CR /mnt/vcdrom ~/ISO
2
生成自定义的
oem.tgz:
2.1
创建临时目录,并解压
BINMOD.TGZ
文件,其中有我们需要修改的文件(
simple.map
、
pci.ids
):
2.1.1
$ mkdir ~/tmp
2.1.2
$ tar �Czxvf ~/ISO/BINMOD.TGZ �CC ~/tmp
2.2
创建
oem.tgz
需要的目录:
2.2.1
$ mkdir ~/oem/mod
2.2.2
$ mkdir �Cp ~/oem/etc/vmware
2.2.3
$ mkdir �Cp ~/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.ids
和
simple.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 RTL 8111C
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 ../ESXi 3.5.0 U4.1.iso -b isolinux.bin -c boot.catalog -no-emul-boot -boot-load-size 4 -boot-info-table .
大功告成:)