执行环境为Debian Linux环境,若提示文件不存在,需要通过sudo apt install安装。
1.首先下载好镜像包:
wget https://downloads.openwrt.org/releases/24.10.2/targets/x86/64/openwrt-24.10.2-x86-64-generic-squashfs-combined.img.gz
2.如果镜像包是压缩文件,如gz结尾,那么需要先解压出镜像包,一般是img后缀的文件就是镜像包。解压命令一般如下:
gunzip openwrt-24.10.2-x86-64-generic-squashfs-combined.img.gz
3.重命名,方便操作:
mv openwrt-24.10.2-x86-64-generic-squashfs-combined.img op.img
4.扩容(在尾部增加128M空间):
dd if=/dev/zero bs=1M count=128 >> op.img
5.进入分区工具:
parted op.img
6.在 parted 的 console 里执行:
print # 打印当前分区
resizepart 2 100% # 将剩余空间分配给分区 2
print # 再次打印分区
quit # 退出
7.将img转换为vmdk(第一次转换)
qemu-img convert -f raw op.img -O vmdk op.vmdk
8.将转换出的vmdk虚拟磁盘上传至ESXi(如上传至openwrt目录)
9.开启ESXi主机的安全shell,并登陆ESXI的SSH,使用vmkfstools再次转换(第二次转换)
cd /vmfs/volumes/{datastore1的位置}/openwrt
vmkfstools -i op.vmdk -d thin openwrt.vmdk
转换后有两个文件,一个是openwrt.vmdk,此时它实际上只是一个配置文件,如果感兴趣查看一下里面的参数;另一个是openwrt-flat.vmdk,这个才是虚拟磁盘文件。但是在esxi中是看不到-flat文件的,所以不要误将其删除。
通过创建虚拟机中的添加现有硬盘功能添加刚刚转换的vmdk文件即可。
