1、第一步构建编译环境
compile-vmkdriver-env-builder
ESXi VMKernel 驱动程序工具链仅适用于 gcc 版本 4.2-4.8,即 CentOS 5 到 7 或 Ubuntu 12 到 14。
这个 repo 是为了帮助你在 CentOS 7 上构建环境:
git clone https://github.com/realganfan/compile-vmkdriver-env-builder
cd compile-vmkdriver-env-builder
bash build--esxi-driver-env-centos7.sh
2、第二步编译网卡驱动
Realtek RTL8125 NIC driver for ESXi 6.7
本源码基于realtek官方源码,VMware-ESXI-67U3-ODP和VMware-TOOLS-10.2.0-ODP。
克隆驱动文件
git clone https://github.com/realganfan/r8125-esxi.git
将 build-r8125.sh 复制到 /build/vmkdrivers-gpl/
cp /root/r8125-esxi/build-script/build-r8125.sh /build/vmkdrivers-gpl
将 r8125 文件夹复制到 /build/vmkdrivers-gpl/vmkdrivers/src_9/drivers/net
r8125 文件夹是realtek官方源码,升级官方驱动,需要对比模板修改源码相关文件
Realtek PCIe FE / GBE / 2.5G / Gaming Ethernet Family Controller Software
cp -r /root/r8125-esxi/r8125 /build/vmkdrivers-gpl/vmkdrivers/src_9/drivers/net
添加权限,运行构建脚本
chmod o+x build-r8125.sh
cd /build/vmkdrivers-gpl/
bash build-r8125.sh
编译得到 r8125 驱动文件
3、在 Docker (CentOS 7) 中编译 Vib
Compile Vib in Docker (of CentOS 7)
VMWare官方的vib制作工具,即VIB Author,已停止更新多年。感谢 Lamw 制作的Docker镜像。
可以使用宝塔面板一键安装docker工具或手动安装dockeryum -y install docker
运行dockersystemctl start docker
开机运行dockersystemctl enable docker
下载镜像docker pull lamw/vibauthor
克隆vib文件夹
git clone https://github.com/realganfan/compile-vib-tutorial.git
将vib文件夹复制到主机的任何位置,例如/build
cp -r /root/compile-vib-tutorial/vib-r8125-example /build
编辑descriptor.xml,修改版本信息
cd /build/vib-r8125-example
vi descriptor.xml
<vib version="5.0">
<type>bootbank</type>
<name>net-r8125</name>
<version>9.009.01-1</version>
<vendor>Realtek</vendor>
<summary>Realtek 8125 driver for ESXI built by GanFan</summary>
<description>Recent driver for Realtek R8125. Based on official Realtek driver</description>
<release-date>2022-05-03T01:40:00+08:00</release-date>
......
将编译得到的 r8125 驱动文件复制到/build/vib-r8125-example/payloads/net-8125/usr/lib/vmware/vmkmod,替换原有驱动
\cp -rf /build/vmkdrivers-gpl/r8125 /build/vib-r8125-example/payloads/net-8125/usr/lib/vmware/vmkmod/r8125
复制vib文件夹到docker,需要输入root密码
docker run --rm -it lamw/vibauthor
scp -r root@172.17.0.1:/build/vib-r8125-example ./vib-8125
使用 vibauthor 编译,如果您只想要 vib,运行:
vibauthor -C -t ./vib-8125 --force
如果您想要 zip 包,运行:
vibauthor -C -t ./vib-8125 -O r8125-bundle.zip --force
(–force 表示替换旧文件)。文件将在 ./vib-8125/ 中创建。
文件路径
/var/lib/docker/overlay2/xxxxxxx/diff/root/vib-8125
/var/lib/docker/overlay2/ xxxxxxx /merged/root/vib-8125
将 vib 或 zip 复制回主机,完成编译。
0 Comments