MacでカスタムESXiイメージを作る

TerraにESXiをインストールにあたって以下のサイトを参考にMacでカスタムイメージを作成した。
Powershellが必要なので普通はWindowsで作成するが、この手順ではMacでも作成できた。

参考にしたサイト:
はじめよう、おうちクラウド 第3回
PowerCLI13 で VMware.ImageBuilder がマルチプラットフォーム対応にしたので試してみる

事前準備

Mac(MBP2018, macOS Venture 13.5)に以下のソフトウェアをインストールする。
以降の操作はMacのterminalで実行する。

  • PowerShell
  • python 3.7
  • パッケージ(six, psutil, lxml, pyopenssl)

まずbrewでPowerShellをインストールする。

$ brew install --cask powershell

続いて、Python 3.7をインストールする。

$ brew install python@3.7

最後にpipでパッケージをインストールする。

$ python3.7 -m pip install six psutil lxml pyopenssl

インストールしたパッケージのバージョン。

$ python3.7 -m pip list
Package      Version
------------ -------
six          1.16.0
psutil       5.9.5
lxml         4.9.2
pyOpenSSL    23.2.0

ESXiのdepotファイルと、VMware Flingsからコミュニティドライバをダウンロードしておく。
ここではすべて/tmp/VMware/フォルダに保存しておく。
あとの作業でzipファイルはフルパスで指定する必要があるので、短いパスの方が入力が楽になる。

  • ESXi depotファイル
    • VMware-ESXi-8.0U1-21495797-depot.zip
  • NIC
    • Net-Community-Driver_1.2.7.0-1vmw.700.1.0.15843807_19480755.zip
  • NVMe
    • nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434.zip
      deprecatedだけど、試しで追加した。

ESXiイメージの作成

PowerShellの立ち上げ

pwshコマンドでPowerShellに入る。

$ pwsh
PowerShell 7.3.4

PS /private/tmp/VMware>

作業用の/tmp/VMwareフォルダに移動する。

PS /private/tmp/VMware> cd /tmp/VMware/

ファイルの追加

Add-EsxSoftwareDepotコマンドでESXiのdepotファイルを追加する。
ちなみにzipファイルはフルパスで指定する必要がある。相対パスだとエラーになる。

PS /tmp/VMware> Add-EsxSoftwareDepot /tmp/VMware/VMware-ESXi-8.0U1-21495797-depot.zip

Depot Url
---------
zip:/tmp/VMware/VMware-ESXi-8.0U1-21495797-depot.zip?index.xml

PS /tmp/VMware>

Add-EsxSoftwareDepotコマンドで、NVMeのコミュニティドライバファイルを追加する。

PS /tmp/VMware> Add-EsxSoftwareDepot /tmp/VMware/nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434.zip

Depot Url
---------
zip:/tmp/VMware/nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434.zip?index.xml

PS /tmp/VMware>

同じ手順で、NICのコミュニティドライバファイルを追加する。

PS /tmp/VMware> Add-EsxSoftwareDepot /tmp/VMware/Net-Community-Driver_1.2.7.0-1vmw.700.1.0.15843807_19480755.zip

Depot Url
---------
zip:/tmp/VMware/Net-Community-Driver_1.2.7.0-1vmw.700.1.0.15843807_19480755.zip?index.xml

PS /tmp/VMware>

カスタムイメージの作成

Get-EsxImageProfileコマンドで、ESXiのプロファイルを表示する。

PS /tmp/VMware> Get-EsxImageProfile

Name                           Vendor          Last Modified   Acceptance Level
----                           ------          -------------   ----------------
ESXi-8.0U1-21495797-no-tools   VMware, Inc.    2023/03/25 2:0… PartnerSupported
ESXi-8.0U1-21495797-standard   VMware, Inc.    2023/04/18 0:0… PartnerSupported

PS /tmp/VMware>

今回は、ESXi-8.0U1-21495797-standardをベースにカスタムイメージを作成する。
操作を簡単にするため変数を使用する。
変数$ipに、Get-EsxImageProfileの要素1番目を入れる。(0始まりなので2個目)

PS /tmp/VMware> $ip = (Get-EsxImageProfile)[1]

変数$ipを表示してみる。

PS /tmp/VMware> $ip

Name                           Vendor          Last Modified   Acceptance Level
----                           ------          -------------   ----------------
ESXi-8.0U1-21495797-standard   VMware, Inc.    2023/04/18 0:0… PartnerSupported

PS /tmp/VMware>

変数$ip2に、クローンした$ipを入れる。名前とベンダー名、AcceptanceLevelを指定する。 ここでは名前はHomeLab、ベンダー名はvolanja, AcceptanceLevelはCommunitySupportedにした。

PS /tmp/VMware> $ip2 = New-EsxImageProfile -CloneProfile $ip -Name HomeLab -Vendor volanja -AcceptanceLevel CommunitySupported

イメージプロファイルの$ip2を表示してみる。

PS /tmp/VMware> $ip2

Name                           Vendor          Last Modified   Acceptance Level
----                           ------          -------------   ----------------
HomeLab                        volanja         2023/08/06 22:… CommunitySupported

PS /tmp/VMware>

イメージプロファイルの$ip2に、パッケージnvme-community,net-communityを追加する。

PS /tmp/VMware> Add-EsxSoftwarePackage -ImageProfile $ip2 -SoftwarePackage nvme-community,net-community

Name                           Vendor          Last Modified   Acceptance Level
----                           ------          -------------   ----------------
HomeLab                        volanja         2023/08/06 22:… CommunitySupported

PS /tmp/VMware>

この時点でのパッケージ一覧を表示する。

PS /tmp/VMware> Get-EsxSoftwarePackage | Sort-Object -Property Name | ft -AutoSize
結果をクリックして表示
Name                                Version                                 Vendor Creation Date  
----                                -------                                 ------ -------------
atlantic                            1.0.3.0-11vmw.801.0.0.21495797          VMW    2023/03/25 1:06:56  
bcm-mpi3                            8.4.2.0.0.0-1vmw.801.0.0.21495797       VMW    2023/03/25 1:06:56  
bfedac-esxio                        0.1-1vmw.801.0.0.21495797               VMW    2023/03/25 1:06:38
bmcal                               8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:49
bmcal-esxio                         8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:30
bnxtnet                             223.0.0.0-1vmw.801.0.0.21495797         VMW    2023/03/25 1:06:57
bnxtroce                            223.0.0.0-1vmw.801.0.0.21495797         VMW    2023/03/25 1:06:57
brcmfcoe                            12.0.1500.3-4vmw.801.0.0.21495797       VMW    2023/03/25 1:06:56
clusterstore                        8.0.1-0.0.21495797                      VMware 2023/03/25 1:08:13
cndi-igc                            1.2.10.0-1vmw.801.0.0.21495797          VMW    2023/03/25 1:06:56
cpu-microcode                       8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:00
crx                                 8.0.1-0.0.21495797                      VMware 2023/03/25 1:08:13
dwi2c                               0.1-7vmw.801.0.0.21495797               VMW    2023/03/25 1:06:56
dwi2c-esxio                         0.1-7vmw.801.0.0.21495797               VMW    2023/03/25 1:06:38
elx-esx-libelxima.so                12.0.1200.0-6vmw.801.0.0.21495797       VMware 2023/03/25 1:07:49
elxiscsi                            12.0.1200.0-11vmw.801.0.0.21495797      VMW    2023/03/25 1:06:56
elxnet                              12.0.1250.0-8vmw.801.0.0.21495797       VMW    2023/03/25 1:06:56
esx-base                            8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:29
esx-dvfilter-generic-fastpath       8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:45
esx-ui                              2.12.0-21482143                         VMware 2023/03/22 11:07:40
esx-update                          8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:30
esx-xserver                         8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:45
esxio                               8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:30
esxio-base                          8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:11
esxio-combiner                      8.0.1-0.0.21495797                      VMware 2023/03/25 1:08:13
esxio-combiner-esxio                8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:30
esxio-dvfilter-generic-fastpath     8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:24
esxio-update                        8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:11
gc                                  8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:15
gc-esxio                            8.0.1-0.0.21495797                      VMware 2023/03/25 1:06:55
i40en                               1.11.3.5-1vmw.801.0.0.21495797          VMW    2023/03/25 1:06:57
iavmd                               3.0.0.1010-8vmw.801.0.0.21495797        VMW    2023/03/25 1:06:56
icen                                1.5.1.21-1vmw.801.0.0.21495797          VMW    2023/03/25 1:06:57
igbn                                1.4.11.7-1vmw.801.0.0.21495797          VMW    2023/03/25 1:06:57
intelgpio                           0.1-1vmw.801.0.0.21495797               VMW    2023/03/25 1:06:56
ionic-en                            20.0.0-40vmw.801.0.0.21495797           VMW    2023/03/25 1:06:56
ionic-en-esxio                      20.0.0-40vmw.801.0.0.21495797           VMW    2023/03/25 1:06:37
irdman                              1.3.1.25-1vmw.801.0.0.21495797          VMW    2023/03/25 1:06:57
iser                                1.1.0.2-1vmw.801.0.0.21495797           VMW    2023/03/25 1:06:56
ixgben                              1.7.1.40-1vmw.801.0.0.21495797          VMW    2023/03/25 1:06:57
loadesx                             8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:29
loadesxio                           8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:11
lpfc                                14.2.560.8-23vmw.801.0.0.21495797       VMW    2023/03/25 1:06:56
lpnic                               11.4.62.0-1vmw.801.0.0.21495797         VMW    2023/03/25 1:06:56
lsi-mr3                             7.724.03.00-1vmw.801.0.0.21495797       VMW    2023/03/25 1:06:56
lsi-msgpt2                          20.00.06.00-4vmw.801.0.0.21495797       VMW    2023/03/25 1:06:56
lsi-msgpt3                          17.00.13.00-2vmw.801.0.0.21495797       VMW    2023/03/25 1:06:56
lsi-msgpt35                         26.00.00.00-3vmw.801.0.0.21495797       VMW    2023/03/25 1:06:56
lsuv2-hpv2-hpsa-plugin              1.0.0-4vmw.801.0.0.21495797             VMware 2023/03/25 1:07:49
lsuv2-intelv2-nvme-vmd-plugin       2.7.2173-2vmw.801.0.0.21495797          VMware 2023/03/25 1:07:49
lsuv2-lsiv2-drivers-plugin          1.0.2-1vmw.801.0.0.21495797             VMware 2023/03/25 1:07:49
lsuv2-nvme-pcie-plugin              1.0.0-1vmw.801.0.0.21495797             VMware 2023/03/25 1:07:49
lsuv2-oem-dell-plugin               1.0.0-2vmw.801.0.0.21495797             VMware 2023/03/25 1:07:49
lsuv2-oem-lenovo-plugin             1.0.0-2vmw.801.0.0.21495797             VMware 2023/03/25 1:07:49
lsuv2-smartpqiv2-plugin             1.0.0-10vmw.801.0.0.21495797            VMware 2023/03/25 1:07:49
mlnx-bfbootctl-esxio                0.1-1vmw.801.0.0.21495797               VMW    2023/03/25 1:06:38
mnet-esxio                          0.1-1vmw.801.0.0.21495797               VMW    2023/03/25 1:06:38
mtip32xx-native                     3.9.8-1vmw.801.0.0.21495797             VMW    2023/03/25 1:06:56
native-misc-drivers                 8.0.1-0.0.21495797                      VMware 2023/03/25 1:07:00
native-misc-drivers-esxio           8.0.1-0.0.21495797                      VMware 2023/03/25 1:06:42
ne1000                              0.9.0-2vmw.801.0.0.21495797             VMW    2023/03/25 1:06:57
nenic                               1.0.35.0-5vmw.801.0.0.21495797          VMW    2023/03/25 1:06:57
net-community  //追加               1.2.7.0-1vmw.700.1.0.15843807           VMW    2022/03/10 21:21:26
nfnic                               5.0.0.35-4vmw.801.0.0.21495797          VMW    2023/03/25 1:06:56
nhpsa                               70.0051.0.100-4vmw.801.0.0.21495797     VMW    2023/03/25 1:06:56
nmlx5-core                          4.23.0.36-14vmw.801.0.0.21495797        VMW    2023/03/25 1:06:56
nmlx5-core-esxio                    4.23.0.36-14vmw.801.0.0.21495797        VMW    2023/03/25 1:06:37
nmlx5-rdma                          4.23.0.36-14vmw.801.0.0.21495797        VMW    2023/03/25 1:06:56
nmlx5-rdma-esxio                    4.23.0.36-14vmw.801.0.0.21495797        VMW    2023/03/25 1:06:37
nmlxbf-gige-esxio                   2.2-1vmw.801.0.0.21495797               VMW    2023/03/25 1:06:37
nmlxbf-pmc-esxio                    0.1-1vmw.801.0.0.21495797               VMW    2023/03/25 1:06:38
ntg3                                4.1.10.0-4vmw.801.0.0.21495797          VMW    2023/03/25 1:06:57
nvme-community //追加               1.0.1.0-3vmw.700.1.0.15843807           VMW    2020/01/08 12:04:19
nvme-pcie                           1.2.4.7-1vmw.801.0.0.21495797           VMW    2023/03/25 1:06:56
nvme-pcie-esxio                     1.2.4.7-1vmw.801.0.0.21495797           VMW    2023/03/25 1:06:38
nvmerdma                            1.0.3.9-1vmw.801.0.0.21495797           VMW    2023/03/25 1:06:57
nvmetcp                             1.0.1.7-1vmw.801.0.0.21495797           VMW    2023/03/25 1:06:57
nvmxnet3                            2.0.0.31-2vmw.801.0.0.21495797          VMW    2023/03/25 1:06:57
nvmxnet3-ens                        2.0.0.23-2vmw.801.0.0.21495797          VMW    2023/03/25 1:06:57
nvmxnet3-ens-esxio                  2.0.0.23-2vmw.801.0.0.21495797          VMW    2023/03/25 1:06:38
nvmxnet3-esxio                      2.0.0.31-2vmw.801.0.0.21495797          VMW    2023/03/25 1:06:38
penedac-esxio                       0.1-1vmw.801.0.0.21495797               VMW    2023/03/25 1:06:38
pengpio-esxio                       0.1-1vmw.801.0.0.21495797               VMW    2023/03/25 1:06:38
pensandoatlas                       1.46.0.E.28.1.303-2vmw.800.1.0.20796881 VMW    2022/11/15 18:28:45
penspi-esxio                        0.1-1vmw.801.0.0.21495797               VMW    2023/03/25 1:06:38
pvscsi                              0.1-5vmw.801.0.0.21495797               VMW    2023/03/25 1:06:56
pvscsi-esxio                        0.1-5vmw.801.0.0.21495797               VMW    2023/03/25 1:06:38
qcnic                               1.0.15.0-22vmw.801.0.0.21495797         VMW    2023/03/25 1:06:57
qedentv                             3.40.5.70-7vmw.801.0.0.21495797         VMW    2023/03/25 1:06:56
qedrntv                             3.40.5.70-3vmw.801.0.0.21495797         VMW    2023/03/25 1:06:56
qfle3                               1.0.67.0-32vmw.801.0.0.21495797         VMW    2023/03/25 1:06:57
qfle3f                              1.0.51.0-32vmw.801.0.0.21495797         VMW    2023/03/25 1:06:56
qfle3i                              1.0.15.0-20vmw.801.0.0.21495797         VMW    2023/03/25 1:06:56
qflge                               1.1.0.11-1vmw.801.0.0.21495797          VMW    2023/03/25 1:06:57
qlnativefc                          5.4.69.0-16vmw.801.0.0.21495797         VMware 2023/03/25 1:06:56
rd1173-esxio                        0.1-1vmw.801.0.0.21495797               VMW    2023/03/25 1:06:38
rdmahl                              1.0.0-1vmw.801.0.0.21495797             VMW    2023/03/25 1:06:57
rste                                2.0.2.0088-7vmw.801.0.0.21495797        VMW    2023/03/25 1:06:56
sfvmk                               2.4.0.2010-15vmw.801.0.0.21495797       VMW    2023/03/25 1:06:57
smartpqi                            80.4385.0.200-1vmw.801.0.0.21495797     VMW    2023/03/25 1:06:56
spidev-esxio                        0.1-1vmw.801.0.0.21495797               VMW    2023/03/25 1:06:38
tools-light                         12.2.0.21223074-21495797                VMware 2023/03/25 1:07:30
trx                                 8.0.1-0.0.21495797                      VMware 2023/03/25 1:08:13
vdfs                                8.0.1-0.0.21495797                      VMware 2023/03/25 1:08:12
vds-vsip                            8.0.1-0.0.21495797                      VMware 2023/03/25 1:08:13
vmkata                              0.1-1vmw.801.0.0.21495797               VMW    2023/03/25 1:06:56
vmksdhci                            1.0.3-3vmw.801.0.0.21495797             VMW    2023/03/25 1:06:57
vmksdhci-esxio                      1.0.3-3vmw.801.0.0.21495797             VMW    2023/03/25 1:06:38
vmkusb                              0.1-16vmw.801.0.0.21495797              VMW    2023/03/25 1:06:56
vmkusb-esxio                        0.1-16vmw.801.0.0.21495797              VMW    2023/03/25 1:06:38
vmw-ahci                            2.0.15-1vmw.801.0.0.21495797            VMW    2023/03/25 1:06:56
vmware-esx-esxcli-nvme-plugin       1.2.0.52-1vmw.801.0.0.21495797          VMware 2023/03/25 1:07:46
vmware-esx-esxcli-nvme-plugin-esxio 1.2.0.52-1vmw.801.0.0.21495797          VMware 2023/03/25 1:07:25
vsan                                8.0.1-0.0.21495797                      VMware 2023/03/25 1:08:01
vsanhealth                          8.0.1-0.0.21495797                      VMware 2023/03/25 1:08:12

エクスポート

最後に、イメージプロファイルの$ip2をisoイメージファイルにエクスポートする。

PS /tmp/VMware> Export-EsxImageProfile -ImageProfile $ip2 -FilePath Terra_8.0U1-21495797.iso -ExportToIso

エクスポートしたisoファイルはQiitaの記事を参考にして、USBメモリに書き込む。

最終更新 2023/08/08 23:43 JST
Built with Hugo
テーマ StackJimmy によって設計されています。