VMware Flingにて「ESXi ARM Edition」が公開された。
早速、ラズパイ4の8GBモデルにインストールしてみた。
用意するもの
・ラズパイ4の4GBか8GBモデル
・UEFI起動専用microSD
・ESXiのインストーラーISOを書き込んだUSBメモリ
・ESXiのインストール先になるUSBメモリ(USB2.0だとインストール先に設定できなかった)
(iSCSI LUNにもインストールできるらしい)
・Raspberry Pi OSをインストールしたmicroSD
(2020/10/14追記 一番最後にmicroSD無しで起動させる手順を追加。1回インストールが完了した後の操作になります)
インストール手順
(0) ラズパイ4のEEPROMを最新版にする
まず、純正のRaspberry Pi OSをインストールしたmicroSDで起動して
「sudo rpi-eeprom-update」を実行。
上記のように「*** UPDATE AVAILABLE ***」と表示されている場合は、新しいバージョンが出ているので「sudo rpi-eeprom-update -a」を実行しアップデートトリガを建てたあと、OSを再起動(reboot)する。
再起動後、下記の様に「up-to-date」表示となることを確認する。
(1) VMware Flingsの「ESXi Arm Edition」からファイルを入手
VMware Flingsの「ESXi ARM Edition」からISOイメージを入手
なお、マニュアルは「ESXi-ARM-ISO」と表示されているプルダウンメニューを開くと選択できるようになっている。
(2) UEFI起動専用microSD にUEFIファイルを置く
まず、パソコンでmicroSDをFA32でフォーマットする。その際、ボリュームライベルを「UEFI」と指定する。
32GBを超えているとexFAT形式になり、起動できないので注意すること。
ラズパイ公式が提供しているfirmware.zipをhttps://github.com/raspberrypi/firmware/releases からダウンロードしてくる。
このファイルの中にあるbootディレクトリの中身をmicroSDに展開する。
展開したあと、kernelで始まるファイル名を削除する。
次に、pftf提供のUEFIを https://github.com/pftf/RPi4/releases/ からダウンロードする
ダウンロードしたzipファイルの中身を全部microSDに上書きコピーする。
ラズパイ4 4GBモデルの場合はconfig.txtの最後に「gpu_mem=16」という文字列を追加する。
なお、UEFI関連の細かいところは tianocore / edk2-platformsの「Raspberry Pi 4 Platform」を参照のこと
(3) ESXiインストーラーUSBメモリを作成
VMware FlingsからダウンロードしたESXi インストーラISOファイルを、USBメモリに書き込む。
うちでは「Rufus」を使用して書き込んだ。
(4) ラズパイにUEFI起動専用microSDをさして初回起動
起動後、ESCキーを押してUEFI設定画面に遷り、「Device Manager」を選択
「Raspberry Pi Configuration」の「Display Configuration」にて「Virtual 1024×768」ぐらいの解像度を設定する。これはもっと高解像度でもいいのだが、文字が小さくて読みにくくなるだけなのでやめた方が良い。
「Raspberry Pi Configuration」の「Advanced Configuration」にて「Limit RAM to 3GB」を「Disabled」に設定 (設定しないとメモリが3GBまでしか使えない)
これを設定したあと、ラズパイを一度リセットする。
なお「CPU Configuration」にてオーバークロック設定も可能だが、ESXi ARM手順書に「do not overclock」とある。
(5) ESXiインストーラーUSBメモリをさして起動
起動後、ESCキーを押してUEFI設定画面に遷り、「Boot Manager」を選択
デバイス一覧からUSBメモリを選択して起動する。
なお、この段階ではインストール先USBメモリはささない
(6) インストール手順をすすめてインストール先の選択を行う
ESXi インストーラーの画面はx86_64環境の場合とほぼ変わらず
インストール手順をすすめていくと、インストール先の選択を行うところになる。
ここの段階にきてからインストール先USBメモリをさして「F5」キーを押して更新する。
更新するとUSBメモリが追加されるはず。
このとき、追加されたUSBメモリの容量が0MBとなっている場合は、該当するUSBメモリにインストールが出来ない。
インストールできるUSBを選択したあとは、普通のESXiインストールと同じ
インストールが完了したら再起動される
再起動したらESXiインストーラーUSBメモリは取り外す。
(7) 自動起動設定を行う
UEFI設定画面の「Boot Maintenance Manager」にて、インストール先USBメモリを選択して自動的に起動する設定とする。
(8) ESXiが起動する
HDMI出力される画面はほぼ通常のESXi 7.0と同じ。
また、Host Clientが起動しているので Webブラウザから管理画面にアクセスすることもできる。
(9) 手動で時刻設定を行う
ラズパイ4は時刻保持をしないので、起動直後は時間が大きくズレている。(2020/09/01に設定されていた)
まず、手動で大まかな時刻を設定して確定する。その後にNTP設定を行う。
なお、大きく時刻がズレているとvCenterサーバへの登録に失敗したりする。
(10) vCenterに登録
ESXi ARMであっても普通のESXiと同様に登録できます。

最初は「Unable to push signed certificate to host 」というエラーで登録失敗したのですが、これは、ESXi ARMとvCenter間の時刻ズレが原因でした。
(11) Ubuntu 20.04 LTS(arm)のインストール
Ubuntu 公式のARM serverページからUbuntu Server installer ISOファイルを入手します。
これを使うだけで、あとは普通の仮想マシン作成手順と同じです。
Ubuntuのインストール詳細は省略しますが、インストール中のラズパイ4の負可は下記の様になっていました。
なお、パーテーション構成はこのような感じでした。
osakanataro@ubuntu-arm:~$ uname -a Linux ubuntu-arm 5.4.0-48-generic #52-Ubuntu SMP Thu Sep 10 11:01:50 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux osakanataro@ubuntu-arm:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 932M 0 932M 0% /dev tmpfs 199M 1.1M 198M 1% /run /dev/mapper/ubuntu--vg-ubuntu--lv 20G 5.0G 14G 27% / tmpfs 991M 0 991M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 991M 0 991M 0% /sys/fs/cgroup /dev/sda2 976M 106M 804M 12% /boot /dev/loop0 49M 49M 0 100% /snap/core18/1883 /dev/loop1 64M 64M 0 100% /snap/lxd/16103 /dev/loop2 26M 26M 0 100% /snap/snapd/8543 /dev/sda1 511M 3.5M 508M 1% /boot/efi tmpfs 199M 0 199M 0% /run/user/1000 osakanataro@ubuntu-arm:~$
また「lshw」コマンドによるハードウェア認識は下記の様になります。
osakanataro@ubuntu-arm:~$ sudo lshw ubuntu-arm description: Computer product: linux,dummy-virt width: 64 bits capabilities: cp15_barrier setend swp tagged_addr_disabled *-core description: Motherboard physical id: 0 *-cpu description: CPU product: cpu physical id: 0 bus info: cpu@0 capabilities: fp asimd evtstrm crc32 cpuid *-memory description: System memory physical id: 1 size: 2GiB *-pci description: Host bridge product: VMware vendor: VMware physical id: 100 bus info: pci@0000:00:00.0 version: 01 width: 32 bits clock: 33MHz *-generic UNCLAIMED description: System peripheral product: Virtual Machine Communication Interface vendor: VMware physical id: 0.7 bus info: pci@0000:00:00.7 version: 10 width: 64 bits clock: 33MHz capabilities: msi msix cap_list configuration: latency=0 maxlatency=255 mingnt=6 resources: ioport:1000(size=64) memory:34500000-34501fff *-display UNCLAIMED description: VGA compatible controller product: VMware vendor: VMware physical id: f bus info: pci@0000:00:0f.0 version: 00 width: 64 bits clock: 33MHz capabilities: msi msix vga_controller bus_master cap_list configuration: latency=64 resources: memory:30000000-303fffff memory:50000000-57ffffff memory:5c000000-5c007fff *-pci:0 description: PCI bridge product: PCI bridge vendor: VMware physical id: 11 bus info: pci@0000:00:11.0 version: 02 width: 32 bits clock: 33MHz capabilities: pci subtractive_decode bus_master cap_list resources: memory:30400000-304fffff *-sata description: SATA controller product: SATA AHCI controller vendor: VMware physical id: 1 bus info: pci@0000:01:01.0 logical name: scsi0 logical name: scsi1 version: 00 width: 32 bits clock: 66MHz capabilities: sata pm msi ahci_1.0 bus_master cap_list rom emulated configuration: driver=ahci latency=64 resources: irq:43 memory:30410000-30410fff memory:30400000-3040ffff *-disk description: ATA Disk product: VMware Virtual S physical id: 0 bus info: scsi@0:0.0.0 logical name: /dev/sda version: 0001 serial: 00000000000000000001 size: 40GiB (42GB) capabilities: gpt-1.00 partitioned partitioned:gpt configuration: ansiversion=5 guid=dcc76c9a-30c6-47ff-a50e-9c1aef36f82d logicalsectorsize=512 sectorsize=512 *-volume:0 UNCLAIMED description: Windows FAT volume vendor: mkfs.fat physical id: 1 bus info: scsi@0:0.0.0,1 version: FAT32 serial: 8602-1cb1 size: 510MiB capacity: 511MiB capabilities: boot fat initialized configuration: FATs=2 filesystem=fat *-volume:1 description: EXT4 volume vendor: Linux physical id: 2 bus info: scsi@0:0.0.0,2 logical name: /dev/sda2 logical name: /boot version: 1.0 serial: 62661a57-4595-43cb-a0c4-7a8bd89295ad size: 1GiB capabilities: journaled extended_attributes large_files huge_files dir_nlink recover 64bit extents ext4 ext2 initialized configuration: created=2020-10-08 10:16:20 filesystem=ext4 lastmountpoint=/boot modified=2020-10-08 11:16:51 mount.fstype=ext4 mount.options=rw,relatime mounted=2020-10-08 11:16:51 state=mounted *-volume:2 description: EFI partition physical id: 3 bus info: scsi@0:0.0.0,3 logical name: /dev/sda3 serial: qFzQl0-IcQD-bYC3-gpCZ-jpfP-zy2j-GzOGgE size: 38GiB capabilities: lvm2 *-cdrom description: DVD-RAM writer product: VMware SATA CD01 vendor: NECVMWar physical id: 1 bus info: scsi@1:0.0.0 logical name: /dev/cdrom logical name: /dev/cdrw logical name: /dev/dvd logical name: /dev/sr0 version: 1.00 capabilities: removable audio cd-r cd-rw dvd dvd-r dvd-ram configuration: ansiversion=5 status=open *-pci:1 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 15 bus info: pci@0000:00:15.0 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:8 memory:30500000-306fffff ioport:58000000(size=2097152) *-network description: Ethernet interface product: 82574L Gigabit Network Connection vendor: Intel Corporation physical id: 0 bus info: pci@0000:02:00.0 logical name: ens160 version: 00 serial: 00:50:56:93:f5:9f size: 1Gbit/s capacity: 1Gbit/s width: 32 bits clock: 33MHz capabilities: pm msi pciexpress msix bus_master cap_list rom ethernet physical logical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k duplex=full firmware=1.8-0 ip=172.17.44.88 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s resources: irq:44 memory:30500000-3051ffff memory:30520000-3053ffff memory:30550000-30553fff memory:30540000-3054ffff *-pci:2 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 15.1 bus info: pci@0000:00:15.1 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:9 memory:30700000-308fffff ioport:58200000(size=2097152) *-pci:3 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 15.2 bus info: pci@0000:00:15.2 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:10 memory:30900000-30afffff ioport:58400000(size=2097152) *-pci:4 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 15.3 bus info: pci@0000:00:15.3 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:11 memory:30b00000-30cfffff ioport:58600000(size=2097152) *-pci:5 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 15.4 bus info: pci@0000:00:15.4 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:12 memory:30d00000-30efffff ioport:58800000(size=2097152) *-pci:6 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 15.5 bus info: pci@0000:00:15.5 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:13 memory:30f00000-310fffff ioport:58a00000(size=2097152) *-pci:7 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 15.6 bus info: pci@0000:00:15.6 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:14 memory:31100000-312fffff ioport:58c00000(size=2097152) *-pci:8 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 15.7 bus info: pci@0000:00:15.7 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:15 memory:31300000-314fffff ioport:58e00000(size=2097152) *-pci:9 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 16 bus info: pci@0000:00:16.0 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:16 memory:31500000-316fffff ioport:59000000(size=2097152) *-usb description: USB controller product: USB3 xHCI 1.0 Controller vendor: VMware physical id: 0 bus info: pci@0000:0a:00.0 version: 00 width: 64 bits clock: 33MHz capabilities: pm pciexpress msi msix xhci bus_master cap_list configuration: driver=xhci_hcd latency=0 maxlatency=255 mingnt=6 resources: irq:40 memory:31500000-3151ffff *-usbhost:0 product: xHCI Host Controller vendor: Linux 5.4.0-48-generic xhci-hcd physical id: 0 bus info: usb@1 logical name: usb1 version: 5.04 capabilities: usb-2.00 configuration: driver=hub slots=4 speed=480Mbit/s *-usb:0 description: Human interface device product: VMware Virtual USB Mouse vendor: VMware physical id: 1 bus info: usb@1:1 version: 1.02 capabilities: usb-1.10 configuration: driver=usbhid speed=12Mbit/s *-usb:1 description: Keyboard product: VMware Virtual USB Keyboard vendor: VMware physical id: 2 bus info: usb@1:2 version: 1.00 capabilities: usb-1.10 configuration: driver=usbhid speed=12Mbit/s *-usb:2 description: USB hub product: VMware Virtual USB Hub vendor: VMware, Inc. physical id: 3 bus info: usb@1:3 version: 1.00 capabilities: usb-1.10 configuration: driver=hub slots=7 speed=12Mbit/s *-usb:3 description: USB hub product: VMware Virtual USB Hub vendor: VMware, Inc. physical id: 4 bus info: usb@1:4 version: 1.00 capabilities: usb-2.00 configuration: driver=hub slots=7 speed=480Mbit/s *-usbhost:1 product: xHCI Host Controller vendor: Linux 5.4.0-48-generic xhci-hcd physical id: 1 bus info: usb@2 logical name: usb2 version: 5.04 capabilities: usb-3.10 configuration: driver=hub slots=4 speed=10000Mbit/s *-pci:10 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 16.1 bus info: pci@0000:00:16.1 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:17 memory:31700000-318fffff ioport:59200000(size=2097152) *-pci:11 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 16.2 bus info: pci@0000:00:16.2 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:18 memory:31900000-31afffff ioport:59400000(size=2097152) *-pci:12 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 16.3 bus info: pci@0000:00:16.3 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:19 memory:31b00000-31cfffff ioport:59600000(size=2097152) *-pci:13 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 16.4 bus info: pci@0000:00:16.4 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:20 memory:31d00000-31efffff ioport:59800000(size=2097152) *-pci:14 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 16.5 bus info: pci@0000:00:16.5 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:21 memory:31f00000-320fffff ioport:59a00000(size=2097152) *-pci:15 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 16.6 bus info: pci@0000:00:16.6 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:22 memory:32100000-322fffff ioport:59c00000(size=2097152) *-pci:16 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 16.7 bus info: pci@0000:00:16.7 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:23 memory:32300000-324fffff ioport:59e00000(size=2097152) *-pci:17 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 17 bus info: pci@0000:00:17.0 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:24 memory:32500000-326fffff ioport:5a000000(size=2097152) *-pci:18 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 17.1 bus info: pci@0000:00:17.1 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:25 memory:32700000-328fffff ioport:5a200000(size=2097152) *-pci:19 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 17.2 bus info: pci@0000:00:17.2 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:26 memory:32900000-32afffff ioport:5a400000(size=2097152) *-pci:20 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 17.3 bus info: pci@0000:00:17.3 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:27 memory:32b00000-32cfffff ioport:5a600000(size=2097152) *-pci:21 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 17.4 bus info: pci@0000:00:17.4 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:28 memory:32d00000-32efffff ioport:5a800000(size=2097152) *-pci:22 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 17.5 bus info: pci@0000:00:17.5 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:29 memory:32f00000-330fffff ioport:5aa00000(size=2097152) *-pci:23 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 17.6 bus info: pci@0000:00:17.6 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:30 memory:33100000-332fffff ioport:5ac00000(size=2097152) *-pci:24 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 17.7 bus info: pci@0000:00:17.7 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:31 memory:33300000-334fffff ioport:5ae00000(size=2097152) *-pci:25 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 18 bus info: pci@0000:00:18.0 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:32 memory:33500000-336fffff ioport:5b000000(size=2097152) *-pci:26 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 18.1 bus info: pci@0000:00:18.1 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:33 memory:33700000-338fffff ioport:5b200000(size=2097152) *-pci:27 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 18.2 bus info: pci@0000:00:18.2 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:34 memory:33900000-33afffff ioport:5b400000(size=2097152) *-pci:28 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 18.3 bus info: pci@0000:00:18.3 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:35 memory:33b00000-33cfffff ioport:5b600000(size=2097152) *-pci:29 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 18.4 bus info: pci@0000:00:18.4 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:36 memory:33d00000-33efffff ioport:5b800000(size=2097152) *-pci:30 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 18.5 bus info: pci@0000:00:18.5 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:37 memory:33f00000-340fffff ioport:5ba00000(size=2097152) *-pci:31 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 18.6 bus info: pci@0000:00:18.6 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:38 memory:34100000-342fffff ioport:5bc00000(size=2097152) *-pci:32 description: PCI bridge product: PCI Express Root Port vendor: VMware physical id: 18.7 bus info: pci@0000:00:18.7 version: 01 width: 32 bits clock: 33MHz capabilities: pci pm pciexpress msi normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:39 memory:34300000-344fffff ioport:5be00000(size=2097152) osakanataro@ubuntu-arm:~$
(12) open-vm-toolsのインストール
Ubuntu 20.04など、x86_64環境であれば open-vm-tools のパッケージが存在している。
しかし、これまではARM(aarch64)環境のESXiなどは存在していなかったので、ARM環境で動作する open-vm-tools は用意されていない。このため、自分で open-vm-tools をコンパイルしてインストールする必要がある。
まずは、コンパイルに必要なパッケージ群をインストールする。
osakanataro@ubuntu-arm:~$ sudo apt install -y automake-1.15 pkg-config libtool libmspack-dev libglib2.0-dev libpam0g-dev libssl-dev libxml2-dev libxmlsec1-dev libx11-dev libxext-dev libxinerama-dev libxi-dev libxrender-dev libxrandr-dev libgtk2.0-dev libgtk-3-dev libgtkmm-3.0-dev [sudo] password for osakanataro: Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: adwaita-icon-theme at-spi2-core autoconf automake autopoint autotools-dev build-essential cpp cpp-9 debhelper dh-autoreconf dh-strip-nondeterminism dpkg-dev dwz fakeroot fontconfig fontconfig-config fonts-dejavu-core g++ g++-9 gcc gcc-9 gcc-9-base gettext gir1.2-atk-1.0 gir1.2-atspi-2.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-gtk-2.0 gir1.2-gtk-3.0 gir1.2-harfbuzz-0.0 gir1.2-pango-1.0 gtk-update-icon-cache hicolor-icon-theme humanity-icon-theme icu-devtools intltool-debian libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libarchive-cpio-perl libarchive-zip-perl libasan5 libatk-bridge2.0-0 libatk-bridge2.0-dev libatk1.0-0 libatk1.0-data libatk1.0-dev libatkmm-1.6-1v5 libatkmm-1.6-dev libatomic1 libatspi2.0-0 libatspi2.0-dev libavahi-client3 libavahi-common-data libavahi-common3 libblkid-dev libc-dev-bin libc6-dev libcairo-gobject2 libcairo-script-interpreter2 libcairo2 libcairo2-dev libcairomm-1.0-1v5 libcairomm-1.0-dev libcc1-0 libcolord2 libcroco3 libcrypt-dev libcups2 libdatrie-dev libdatrie1 libdbus-1-dev libdebhelper-perl libdpkg-perl libdrm-amdgpu1 libdrm-nouveau2 libdrm-radeon1 libegl-dev libegl-mesa0 libegl1 libegl1-mesa-dev libepoxy-dev libepoxy0 libexpat1-dev libfakeroot libffi-dev libfile-fcntllock-perl libfile-stripnondeterminism-perl libfontconfig1 libfontconfig1-dev libfreetype-dev libfreetype6-dev libfribidi-dev libgail-common libgail18 libgbm1 libgcc-9-dev libgcrypt20-dev libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgdk-pixbuf2.0-dev libgl-dev libgl1 libgl1-mesa-dev libgl1-mesa-dri libglapi-mesa libgles-dev libgles1 libgles2 libglib2.0-dev-bin libglibmm-2.4-1v5 libglibmm-2.4-dev libglvnd-dev libglvnd0 libglx-dev libglx-mesa0 libglx0 libgmp-dev libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27 libgnutls28-dev libgnutlsxx28 libgomp1 libgpg-error-dev libgraphite2-3 libgraphite2-dev libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libgtkmm-3.0-1v5 libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0 libharfbuzz0b libice-dev libice6 libicu-dev libidn2-dev libisl22 libitm1 libjbig0 libjpeg-turbo8 libjpeg8 liblcms2-2 libllvm10 liblsan0 libltdl-dev libmail-sendmail-perl libmount-dev libmpc3 libmspack0 libnspr4 libnspr4-dev libnss3 libnss3-dev libopengl-dev libopengl0 libp11-kit-dev libpango-1.0-0 libpango1.0-dev libpangocairo-1.0-0 libpangoft2-1.0-0 libpangomm-1.4-1v5 libpangomm-1.4-dev libpangoxft-1.0-0 libpcre16-3 libpcre2-16-0 libpcre2-32-0 libpcre2-dev libpcre2-posix2 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpixman-1-0 libpixman-1-dev libpng-dev libpng-tools libpthread-stubs0-dev librest-0.7-0 librsvg2-2 librsvg2-common libselinux1-dev libsensors-config libsensors5 libsepol1-dev libsigc++-2.0-0v5 libsigc++-2.0-dev libsm-dev libsm6 libsoup-gnome2.4-1 libstdc++-9-dev libsub-override-perl libsys-hostname-long-perl libtasn1-6-dev libtasn1-doc libthai-data libthai-dev libthai0 libtiff5 libtsan0 libubsan1 libunbound8 libwayland-bin libwayland-client0 libwayland-cursor0 libwayland-dev libwayland-egl1 libwayland-server0 libwebp6 libx11-xcb1 libxau-dev libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-render0 libxcb-render0-dev libxcb-shm0 libxcb-shm0-dev libxcb-sync1 libxcb-xfixes0 libxcb1-dev libxcomposite-dev libxcomposite1 libxcursor-dev libxcursor1 libxdamage-dev libxdamage1 libxdmcp-dev libxfixes-dev libxfixes3 libxft-dev libxft2 libxi6 libxinerama1 libxkbcommon-dev libxkbcommon0 libxml2-utils libxmlsec1 libxmlsec1-gcrypt libxmlsec1-gnutls libxmlsec1-nss libxmlsec1-openssl libxrandr2 libxrender1 libxshmfence1 libxslt1-dev libxslt1.1 libxtst-dev libxtst6 libxxf86vm1 linux-libc-dev m4 make manpages-dev nettle-dev pango1.0-tools po-debconf ubuntu-mono uuid-dev wayland-protocols x11-common x11proto-dev x11proto-input-dev x11proto-randr-dev x11proto-record-dev x11proto-xext-dev x11proto-xinerama-dev xorg-sgml-doctools xtrans-dev zlib1g-dev Suggested packages: autoconf-archive gnu-standards autoconf-doc cpp-doc gcc-9-locales dh-make debian-keyring gcc-9-doc gcc-multilib flex bison gdb gcc-doc gettext-doc libasprintf-dev libgettextpo-dev libatkmm-1.6-doc glibc-doc libcairo2-doc libcairomm-1.0-doc colord cups-common libdatrie-doc bzr freetype2-doc libgcrypt20-doc libgirepository1.0-dev libglib2.0-doc libglibmm-2.4-doc gmp-doc libgmp10-doc libmpfr-dev dns-root-data gnutls-bin gnutls-doc libgraphite2-utils gvfs libgtk-3-doc libgtk2.0-doc libgtkmm-3.0-doc libice-doc icu-doc liblcms2-utils libtool-doc imagemagick libpango1.0-doc librsvg2-bin lm-sensors libsigc++-2.0-doc libsm-doc libssl-doc libstdc++-9-doc libthai-doc gfortran | fortran95-compiler gcj-jdk libwayland-doc libx11-doc libxcb-doc libxext-doc m4-doc make-doc libmail-box-perl The following NEW packages will be installed: adwaita-icon-theme at-spi2-core autoconf automake automake-1.15 autopoint autotools-dev build-essential cpp cpp-9 debhelper dh-autoreconf dh-strip-nondeterminism dpkg-dev dwz fakeroot fontconfig fontconfig-config fonts-dejavu-core g++ g++-9 gcc gcc-9 gcc-9-base gettext gir1.2-atk-1.0 gir1.2-atspi-2.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-gtk-2.0 gir1.2-gtk-3.0 gir1.2-harfbuzz-0.0 gir1.2-pango-1.0 gtk-update-icon-cache hicolor-icon-theme humanity-icon-theme icu-devtools intltool-debian libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libarchive-cpio-perl libarchive-zip-perl libasan5 libatk-bridge2.0-0 libatk-bridge2.0-dev libatk1.0-0 libatk1.0-data libatk1.0-dev libatkmm-1.6-1v5 libatkmm-1.6-dev libatomic1 libatspi2.0-0 libatspi2.0-dev libavahi-client3 libavahi-common-data libavahi-common3 libblkid-dev libc-dev-bin libc6-dev libcairo-gobject2 libcairo-script-interpreter2 libcairo2 libcairo2-dev libcairomm-1.0-1v5 libcairomm-1.0-dev libcc1-0 libcolord2 libcroco3 libcrypt-dev libcups2 libdatrie-dev libdatrie1 libdbus-1-dev libdebhelper-perl libdpkg-perl libdrm-amdgpu1 libdrm-nouveau2 libdrm-radeon1 libegl-dev libegl-mesa0 libegl1 libegl1-mesa-dev libepoxy-dev libepoxy0 libexpat1-dev libfakeroot libffi-dev libfile-fcntllock-perl libfile-stripnondeterminism-perl libfontconfig1 libfontconfig1-dev libfreetype-dev libfreetype6-dev libfribidi-dev libgail-common libgail18 libgbm1 libgcc-9-dev libgcrypt20-dev libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgdk-pixbuf2.0-dev libgl-dev libgl1 libgl1-mesa-dev libgl1-mesa-dri libglapi-mesa libgles-dev libgles1 libgles2 libglib2.0-dev libglib2.0-dev-bin libglibmm-2.4-1v5 libglibmm-2.4-dev libglvnd-dev libglvnd0 libglx-dev libglx-mesa0 libglx0 libgmp-dev libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27 libgnutls28-dev libgnutlsxx28 libgomp1 libgpg-error-dev libgraphite2-3 libgraphite2-dev libgtk-3-0 libgtk-3-bin libgtk-3-common libgtk-3-dev libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libgtk2.0-dev libgtkmm-3.0-1v5 libgtkmm-3.0-dev libharfbuzz-dev libharfbuzz-gobject0 libharfbuzz-icu0 libharfbuzz0b libice-dev libice6 libicu-dev libidn2-dev libisl22 libitm1 libjbig0 libjpeg-turbo8 libjpeg8 liblcms2-2 libllvm10 liblsan0 libltdl-dev libmail-sendmail-perl libmount-dev libmpc3 libmspack-dev libmspack0 libnspr4 libnspr4-dev libnss3 libnss3-dev libopengl-dev libopengl0 libp11-kit-dev libpam0g-dev libpango-1.0-0 libpango1.0-dev libpangocairo-1.0-0 libpangoft2-1.0-0 libpangomm-1.4-1v5 libpangomm-1.4-dev libpangoxft-1.0-0 libpcre16-3 libpcre2-16-0 libpcre2-32-0 libpcre2-dev libpcre2-posix2 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpixman-1-0 libpixman-1-dev libpng-dev libpng-tools libpthread-stubs0-dev librest-0.7-0 librsvg2-2 librsvg2-common libselinux1-dev libsensors-config libsensors5 libsepol1-dev libsigc++-2.0-0v5 libsigc++-2.0-dev libsm-dev libsm6 libsoup-gnome2.4-1 libssl-dev libstdc++-9-dev libsub-override-perl libsys-hostname-long-perl libtasn1-6-dev libtasn1-doc libthai-data libthai-dev libthai0 libtiff5 libtool libtsan0 libubsan1 libunbound8 libwayland-bin libwayland-client0 libwayland-cursor0 libwayland-dev libwayland-egl1 libwayland-server0 libwebp6 libx11-dev libx11-xcb1 libxau-dev libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-render0 libxcb-render0-dev libxcb-shm0 libxcb-shm0-dev libxcb-sync1 libxcb-xfixes0 libxcb1-dev libxcomposite-dev libxcomposite1 libxcursor-dev libxcursor1 libxdamage-dev libxdamage1 libxdmcp-dev libxext-dev libxfixes-dev libxfixes3 libxft-dev libxft2 libxi-dev libxi6 libxinerama-dev libxinerama1 libxkbcommon-dev libxkbcommon0 libxml2-dev libxml2-utils libxmlsec1 libxmlsec1-dev libxmlsec1-gcrypt libxmlsec1-gnutls libxmlsec1-nss libxmlsec1-openssl libxrandr-dev libxrandr2 libxrender-dev libxrender1 libxshmfence1 libxslt1-dev libxslt1.1 libxtst-dev libxtst6 libxxf86vm1 linux-libc-dev m4 make manpages-dev nettle-dev pango1.0-tools pkg-config po-debconf ubuntu-mono uuid-dev wayland-protocols x11-common x11proto-dev x11proto-input-dev x11proto-randr-dev x11proto-record-dev x11proto-xext-dev x11proto-xinerama-dev xorg-sgml-doctools xtrans-dev zlib1g-dev 0 upgraded, 295 newly installed, 0 to remove and 0 not upgraded. Need to get 106 MB of archives. After this operation, 1,063 MB of additional disk space will be used. Get:1 http://jp.ports.ubuntu.com/ubuntu-ports focal/main arm64 hicolor-icon-theme all 0.17-2 [9,976 B] <略> Setting up libgtkmm-3.0-dev:arm64 (3.24.2-1build1) ... Processing triggers for libgdk-pixbuf2.0-0:arm64 (2.40.0+dfsg-3) ... Processing triggers for libc-bin (2.31-0ubuntu9.1) ... osakanataro@ubuntu-arm:~$
「git clone https://github.com/vmware/open-vm-tools.git」を実行して、open-vm-toolsのソースコードをダウンロードする。
osakanataro@ubuntu-arm:~$ git clone https://github.com/vmware/open-vm-tools.git Cloning into 'open-vm-tools'... remote: Enumerating objects: 1286, done. remote: Counting objects: 100% (1286/1286), done. remote: Compressing objects: 100% (557/557), done. remote: Total 55877 (delta 876), reused 1040 (delta 729), pack-reused 54591 Receiving objects: 100% (55877/55877), 21.09 MiB | 5.96 MiB/s, done. Resolving deltas: 100% (41991/41991), done. osakanataro@ubuntu-arm:~$
そして「cd open-vm-tools/open-vm-tools/」「autoreconf -i」「./configure」を実行。
osakanataro@ubuntu-arm:~$ cd open-vm-tools/open-vm-tools/ osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$ autoreconf -i libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'config'. libtoolize: copying file 'config/ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: copying file 'm4/libtool.m4' libtoolize: copying file 'm4/ltoptions.m4' libtoolize: copying file 'm4/ltsugar.m4' libtoolize: copying file 'm4/ltversion.m4' libtoolize: copying file 'm4/lt~obsolete.m4' configure.ac:201: installing 'config/compile' configure.ac:70: installing 'config/config.guess' configure.ac:70: installing 'config/config.sub' configure.ac:329: installing 'config/install-sh' configure.ac:329: installing 'config/missing' Makefile.am: installing './INSTALL' checkvm/Makefile.am: installing 'config/depcomp' lib/guestRpc/Makefile.am:26: warning: 'CFLAGS' is a user variable, you should not override it; lib/guestRpc/Makefile.am:26: use 'AM_CFLAGS' instead libappmonitor/Makefile.am:39: warning: source file '$(top_srcdir)/lib/stubs/stub-panic.c' is in a subdirectory, libappmonitor/Makefile.am:39: but option 'subdir-objects' is disabled automake: warning: possible forward-incompatibility. automake: At least a source file is in a subdirectory, but the 'subdir-objects' automake: automake option hasn't been enabled. For now, the corresponding output automake: object file(s) will be placed in the top-level directory. However, automake: this behaviour will change in future Automake versions: they will automake: unconditionally cause object files to be placed in the same subdirectory automake: of the corresponding sources. automake: You are advised to start using 'subdir-objects' option throughout your automake: project, to avoid future incompatibilities. libappmonitor/Makefile.am:39: warning: source file '$(libappmonitor_rpcchanneldir)/bdoorChannel.c' is in a subdirectory, libappmonitor/Makefile.am:39: but option 'subdir-objects' is disabled libappmonitor/Makefile.am:39: warning: source file '$(libappmonitor_rpcchanneldir)/rpcChannel.c' is in a subdirectory, libappmonitor/Makefile.am:39: but option 'subdir-objects' is disabled libappmonitor/Makefile.am:39: warning: source file '$(libappmonitor_rpcchanneldir)/glib_stubs.c' is in a subdirectory, libappmonitor/Makefile.am:39: but option 'subdir-objects' is disabled libappmonitor/Makefile.am:47: warning: source file '$(libappmonitor_rpcchanneldir)/vsockChannel.c' is in a subdirectory, libappmonitor/Makefile.am:47: but option 'subdir-objects' is disabled libappmonitor/Makefile.am:47: warning: source file '$(libappmonitor_rpcchanneldir)/simpleSocket.c' is in a subdirectory, libappmonitor/Makefile.am:47: but option 'subdir-objects' is disabled libguestlib/Makefile.am:55: warning: 'CFLAGS' is a user variable, you should not override it; libguestlib/Makefile.am:55: use 'AM_CFLAGS' instead libvmtools/Makefile.am:65: warning: source file '$(top_srcdir)/lib/stubs/stub-log.c' is in a subdirectory, libvmtools/Makefile.am:65: but option 'subdir-objects' is disabled tests/testDebug/Makefile.am:44: warning: 'CFLAGS' is a user variable, you should not override it; tests/testDebug/Makefile.am:44: use 'AM_CFLAGS' instead tests/testPlugin/Makefile.am:44: warning: 'CFLAGS' is a user variable, you should not override it; tests/testPlugin/Makefile.am:44: use 'AM_CFLAGS' instead vgauth/lib/Makefile.am:29: warning: source file '../common/audit.c' is in a subdirectory, vgauth/lib/Makefile.am:29: but option 'subdir-objects' is disabled vgauth/lib/Makefile.am:29: warning: source file '../common/certverify.c' is in a subdirectory, vgauth/lib/Makefile.am:29: but option 'subdir-objects' is disabled vgauth/lib/Makefile.am:29: warning: source file '../common/i18n.c' is in a subdirectory, vgauth/lib/Makefile.am:29: but option 'subdir-objects' is disabled vgauth/lib/Makefile.am:29: warning: source file '../common/prefs.c' is in a subdirectory, vgauth/lib/Makefile.am:29: but option 'subdir-objects' is disabled vgauth/lib/Makefile.am:29: warning: source file '../common/usercheck.c' is in a subdirectory, vgauth/lib/Makefile.am:29: but option 'subdir-objects' is disabled vgauth/lib/Makefile.am:29: warning: source file '../common/VGAuthLog.c' is in a subdirectory, vgauth/lib/Makefile.am:29: but option 'subdir-objects' is disabled vgauth/lib/Makefile.am:29: warning: source file '../common/VGAuthUtil.c' is in a subdirectory, vgauth/lib/Makefile.am:29: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../serviceImpl/alias.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../serviceImpl/file.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../serviceImpl/filePosix.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../serviceImpl/netPosix.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../serviceImpl/proto.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../serviceImpl/random.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:34: warning: source file '../serviceImpl/saml-xmlsec1.c' is in a subdirectory, vgauth/service/Makefile.am:34: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:36: warning: source file '../serviceImpl/saml-xml-security-c.cpp' is in a subdirectory, vgauth/service/Makefile.am:36: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../serviceImpl/service.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../serviceImpl/ticket.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../serviceImpl/verify.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../common/audit.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../common/certverify.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../common/i18n.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../common/prefs.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../common/usercheck.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../common/VGAuthLog.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../common/VGAuthUtil.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vgauth/service/Makefile.am:20: warning: source file '../common/vmxlog.c' is in a subdirectory, vgauth/service/Makefile.am:20: but option 'subdir-objects' is disabled vmblock-fuse/Makefile.am:40: warning: source file '$(top_srcdir)/modules/shared/vmblock/block.c' is in a subdirectory, vmblock-fuse/Makefile.am:40: but option 'subdir-objects' is disabled vmblock-fuse/Makefile.am:40: warning: source file '$(top_srcdir)/modules/shared/vmblock/stubs.c' is in a subdirectory, vmblock-fuse/Makefile.am:40: but option 'subdir-objects' is disabled vmhgfs-fuse/Makefile.am:38: warning: source file '$(top_srcdir)/lib/stubs/stub-debug.c' is in a subdirectory, vmhgfs-fuse/Makefile.am:38: but option 'subdir-objects' is disabled vmhgfs-fuse/Makefile.am:38: warning: source file '$(top_srcdir)/lib/stubs/stub-log.c' is in a subdirectory, vmhgfs-fuse/Makefile.am:38: but option 'subdir-objects' is disabled vmhgfs-fuse/Makefile.am:38: warning: source file '$(top_srcdir)/lib/stubs/stub-panic.c' is in a subdirectory, vmhgfs-fuse/Makefile.am:38: but option 'subdir-objects' is disabled osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$ ./configure checking build system type... aarch64-unknown-linux-gnu checking host system type... aarch64-unknown-linux-gnu checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking how to run the C preprocessor... gcc -E checking for X... libraries , headers checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking valgrind/valgrind.h usability... no checking valgrind/valgrind.h presence... no checking for valgrind/valgrind.h... no checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking whether make supports nested variables... yes checking dependency style of gcc... gcc3 checking how to run the C preprocessor... gcc -E checking for gcc... (cached) gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ISO C89... (cached) none needed checking whether gcc understands -c and -o together... (cached) yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking for a sed that does not truncate output... /usr/bin/sed checking whether ln -s works... yes checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking the maximum length of command line arguments... 1572864 checking how to convert aarch64-unknown-linux-gnu file names to aarch64-unknown-linux-gnu format... func_convert_file_noop checking how to convert aarch64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking how to run the C++ preprocessor... g++ -E checking for ld used by g++... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes checking for g++ option to produce PIC... -fPIC -DPIC checking if g++ PIC flag -fPIC -DPIC works... yes checking if g++ static flag -static works... yes checking if g++ supports -c -o file.o... yes checking if g++ supports -c -o file.o... (cached) yes checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... (cached) GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking for pkg-config... pkg-config checking libintl.h usability... yes checking libintl.h presence... yes checking for libintl.h... yes checking for libmspack >= 0.0.20040308alpha (via pkg-config)... yes checking for glib-2.0 >= 2.34.0 (via pkg-config)... yes checking for gmodule-2.0 >= 2.34.0 (via pkg-config)... yes checking for gobject-2.0 >= 2.34.0 (via pkg-config)... yes checking for gthread-2.0 >= 2.34.0 (via pkg-config)... yes checking for glib-genmarshal... yes checking for fuse (via pkg-config)... no configure: WARNING: Fuse is missing, vmblock-fuse/vmhgfs-fuse will be disabled. checking security/pam_appl.h usability... yes checking security/pam_appl.h presence... yes checking for security/pam_appl.h... yes checking for pam_start in -lpam... yes checking for BIO_new_file in -lssl... no checking for openssl >= 1.0.1 (via pkg-config)... yes checking for strlen in -lxml2... yes checking xmlsec/xmlsec.h usability... no checking xmlsec/xmlsec.h presence... no checking for xmlsec/xmlsec.h... no checking for xmlsec1-config... /usr/bin/xmlsec1-config checking CUnit/CUnit.h usability... no checking CUnit/CUnit.h presence... no checking for CUnit/CUnit.h... no configure: WARNING: CUnit not found, tests won't be compiled. checking for XeviQueryVersion in -lXext... yes checking for X11/extensions/extutil.h... yes checking for XineramaQueryVersion in -lXinerama... yes checking for XOpenDevice in -lXi... yes checking for XRenderQueryVersion in -lXrender... yes checking for XRRQueryVersion in -lXrandr... yes checking for XTestQueryExtension in -lXtst... yes checking for SmcOpenConnection in -lSM... yes checking X11/SM/SMlib.h usability... yes checking X11/SM/SMlib.h presence... yes checking for X11/SM/SMlib.h... yes checking X11/ICE/ICElib.h usability... yes checking X11/ICE/ICElib.h presence... yes checking for X11/ICE/ICElib.h... yes checking for XCompositeQueryExtension in -lXcomposite... yes checking X11/extensions/Xcomposite.h usability... yes checking X11/extensions/Xcomposite.h presence... yes checking for X11/extensions/Xcomposite.h... yes checking for gdk-pixbuf-xlib-2.0 >= 2.21.0 (via pkg-config)... yes checking for gtk+-3.0 >= 3.0.0 (via pkg-config)... yes checking for gtkmm-3.0 >= 3.0.0 (via pkg-config)... yes checking for sigc++-2.0 >= 2.5.1 (via pkg-config)... yes checking for crypt in -lcrypt... yes checking for dlopen... no checking for dlopen in -ldl... yes checking for ecvt... yes checking for fcvt... yes checking for mkdtemp... yes checking for pthread_mutex_init in -lpthread... yes checking for g++... yes checking for libtirpc (via pkg-config)... no configure: tirpc is needed: no configure: building without libtirpc checking for rpcgen... /usr/bin/rpcgen checking crypt.h usability... yes checking crypt.h presence... yes checking for crypt.h... yes checking for inttypes.h... (cached) yes checking for stdint.h... (cached) yes checking for stdlib.h... (cached) yes checking wchar.h usability... yes checking wchar.h presence... yes checking for wchar.h... yes checking sys/inttypes.h usability... no checking sys/inttypes.h presence... no checking for sys/inttypes.h... no checking sys/io.h usability... no checking sys/io.h presence... no checking for sys/io.h... no checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/sysinfo.h usability... yes checking sys/sysinfo.h presence... yes checking for sys/sysinfo.h... yes checking for sys/types.h... (cached) yes checking for sys/user.h... yes checking sys/vfs.h usability... yes checking sys/vfs.h presence... yes checking for sys/vfs.h... yes checking syslimits.h usability... no checking syslimits.h presence... no checking for syslimits.h... no checking unwind.h usability... yes checking unwind.h presence... yes checking for unwind.h... yes checking for wchar.h... (cached) yes checking linux/unistd.h usability... yes checking linux/unistd.h presence... yes checking for linux/unistd.h... yes checking for X11/extensions/panoramiXproto.h... yes checking for stdbool.h that conforms to C99... yes checking for _Bool... yes checking for an ANSI C-conforming const... yes checking for uid_t in sys/types.h... yes checking for inline... inline checking for mode_t... yes checking for off_t... yes checking for pid_t... yes checking for size_t... yes checking for struct stat.st_rdev... yes checking whether time.h and sys/time.h may both be included... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for working volatile... yes checking for GCC flag -Wno-pointer-sign... yes checking for GCC flag -Wno-unused-value... yes checking for GCC flag -fno-strict-aliasing... yes checking for GCC flag -Wno-unknown-pragmas... yes checking for GCC flag -Wno-uninitialized... yes checking for GCC flag -Wno-deprecated-declarations... yes checking for GCC flag -Wno-unused-const-variable... yes checking for GCC flag -fvisibility... yes checking for GCC flag -Wno-unused-but-set-variable... yes checking for doxygen... no configure: WARNING: doxygen not found; API documentation will not be generated. checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for LIBUDEV... no configure: WARNING: Missing libdrm or libudev. The resolutionKMS plugin will search for them at run-time. checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating lib/Makefile config.status: creating lib/appUtil/Makefile config.status: creating lib/auth/Makefile config.status: creating lib/backdoor/Makefile config.status: creating lib/asyncsocket/Makefile config.status: creating lib/sslDirect/Makefile config.status: creating lib/pollGtk/Makefile config.status: creating lib/poll/Makefile config.status: creating lib/dataMap/Makefile config.status: creating lib/hashMap/Makefile config.status: creating lib/dict/Makefile config.status: creating lib/dynxdr/Makefile config.status: creating lib/err/Makefile config.status: creating lib/file/Makefile config.status: creating lib/foundryMsg/Makefile config.status: creating lib/glibUtils/Makefile config.status: creating lib/guestApp/Makefile config.status: creating lib/guestRpc/Makefile config.status: creating lib/hgfs/Makefile config.status: creating lib/hgfsBd/Makefile config.status: creating lib/hgfsHelper/Makefile config.status: creating lib/hgfsServer/Makefile config.status: creating lib/hgfsServerManagerGuest/Makefile config.status: creating lib/hgfsServerPolicyGuest/Makefile config.status: creating lib/hgfsUri/Makefile config.status: creating lib/impersonate/Makefile config.status: creating lib/lock/Makefile config.status: creating lib/message/Makefile config.status: creating lib/misc/Makefile config.status: creating lib/netUtil/Makefile config.status: creating lib/nicInfo/Makefile config.status: creating lib/panic/Makefile config.status: creating lib/panicDefault/Makefile config.status: creating lib/procMgr/Makefile config.status: creating lib/rpcChannel/Makefile config.status: creating lib/rpcIn/Makefile config.status: creating lib/rpcOut/Makefile config.status: creating lib/rpcVmx/Makefile config.status: creating lib/slashProc/Makefile config.status: creating lib/string/Makefile config.status: creating lib/stubs/Makefile config.status: creating lib/syncDriver/Makefile config.status: creating lib/system/Makefile config.status: creating lib/unicode/Makefile config.status: creating lib/user/Makefile config.status: creating lib/vmCheck/Makefile config.status: creating lib/vmSignal/Makefile config.status: creating lib/wiper/Makefile config.status: creating lib/xdg/Makefile config.status: creating services/Makefile config.status: creating services/vmtoolsd/Makefile config.status: creating services/plugins/Makefile config.status: creating services/plugins/appInfo/Makefile config.status: creating services/plugins/serviceDiscovery/Makefile config.status: creating services/plugins/desktopEvents/Makefile config.status: creating services/plugins/dndcp/Makefile config.status: creating services/plugins/guestInfo/Makefile config.status: creating services/plugins/hgfsServer/Makefile config.status: creating services/plugins/powerOps/Makefile config.status: creating services/plugins/resolutionSet/Makefile config.status: creating services/plugins/resolutionKMS/Makefile config.status: creating services/plugins/timeSync/Makefile config.status: creating services/plugins/vix/Makefile config.status: creating services/plugins/vmbackup/Makefile config.status: creating services/plugins/deployPkg/Makefile config.status: creating vmware-user-suid-wrapper/Makefile config.status: creating toolbox/Makefile config.status: creating hgfsclient/Makefile config.status: creating hgfsmounter/Makefile config.status: creating checkvm/Makefile config.status: creating rpctool/Makefile config.status: creating vgauth/Makefile config.status: creating vgauth/lib/Makefile config.status: creating namespacetool/Makefile config.status: creating vgauth/cli/Makefile config.status: creating vgauth/test/Makefile config.status: creating vgauth/service/Makefile config.status: creating libguestlib/Makefile config.status: creating libguestlib/vmguestlib.pc config.status: creating libDeployPkg/Makefile config.status: creating libDeployPkg/libDeployPkg.pc config.status: creating libhgfs/Makefile config.status: creating libvmtools/Makefile config.status: creating xferlogs/Makefile config.status: creating modules/Makefile config.status: creating vmblock-fuse/Makefile config.status: creating vmhgfs-fuse/Makefile config.status: creating vmblockmounter/Makefile config.status: creating tests/Makefile config.status: creating tests/vmrpcdbg/Makefile config.status: creating tests/testDebug/Makefile config.status: creating tests/testPlugin/Makefile config.status: creating tests/testVmblock/Makefile config.status: creating docs/Makefile config.status: creating docs/api/Makefile config.status: creating scripts/Makefile config.status: creating scripts/build/rpcgen_wrapper.sh config.status: creating udev/Makefile config.status: creating libappmonitor/Makefile config.status: creating libappmonitor/appmonitor.pc config.status: executing depfiles commands config.status: executing libtool commands osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$
続いてコンパイル。なぜか、ただのmakeにもsudoしろ、とあるけど、まぁ、マニュアルにそう書いてあるからなぁ・・・
「sudo make」「sudo make install」「sudo ldconfig」
osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$ sudo make [sudo] password for osakanataro: Making all in lib make[1]: Entering directory '/home/osakanataro/open-vm-tools/open-vm-tools/lib' Making all in guestRpc make[2]: Entering directory '/home/osakanataro/open-vm-tools/open-vm-tools/lib/guestRpc' /bin/bash ../../scripts/build/rpcgen_wrapper.sh lib/guestRpc/nicinfo.x nicinfo.h /bin/bash ../../scripts/build/rpcgen_wrapper.sh lib/guestRpc/nicinfo.x nicinfo_xdr.c /bin/bash ../../libtool --tag=CC --mode=compile gcc -DPACKAGE_NAME=\"open-vm-tools\" -DPACKAGE_TARNAME=\"open-vm-tools\" -DPACKAGE_VERSION=\"11.1.5\" -DPACKAGE_STRING=\"open-vm-tools\ 11.1.5\" -DPACKAGE_BUGREPORT=\"open-vm-tools-devel@lists.sourceforge.net\" -DPACKAGE_URL=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DPACKAGE=\"open-vm-tools\" -DVERSION=\"11.1.5\" -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_X11_SM_SMLIB_H=1 -DHAVE_X11_ICE_ICELIB_H=1 -DHAVE_X11_EXTENSIONS_XCOMPOSITE_H=1 -DHAVE_ECVT=1 -DHAVE_FCVT=1 -DNO_DNET=1 -DHAVE_CRYPT_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_WCHAR_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_SYSINFO_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_USER_H=1 -DHAVE_SYS_VFS_H=1 -DHAVE_UNWIND_H=1 -DHAVE__BOOL=1 -DHAVE_STDBOOL_H=1 -DHAVE_STRUCT_STAT_ST_RDEV=1 -DTIME_WITH_SYS_TIME=1 -I. -I/home/osakanataro/open-vm-tools/open-vm-tools/lib/include -I/home/osakanataro/open-vm-tools/open-vm-tools/lib/include -DUSING_AUTOCONF=1 -DOPEN_VM_TOOLS -DUSE_VGAUTH -DNO_ICU -DVMX86_TOOLS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -D_DEFAULT_SOURCE -DENABLE_RESOLUTIONKMS -g -O2 -Wall -Werror -Wno-pointer-sign -Wno-unused-value -fno-strict-aliasing -Wno-unknown-pragmas -Wno-uninitialized -Wno-deprecated-declarations -Wno-unused-const-variable -Wno-unused-but-set-variable -Wno-unused -MT libGuestRpc_la-nicinfo_xdr.lo -MD -MP -MF .deps/libGuestRpc_la-nicinfo_xdr.Tpo -c -o libGuestRpc_la-nicinfo_xdr.lo `test -f 'nicinfo_xdr.c' || echo './'`nicinfo_xdr.c <略> Making all in docs make[1]: Entering directory '/home/osakanataro/open-vm-tools/open-vm-tools/docs' make[2]: Entering directory '/home/osakanataro/open-vm-tools/open-vm-tools/docs' make[2]: Nothing to be done for 'all-am'. make[2]: Leaving directory '/home/osakanataro/open-vm-tools/open-vm-tools/docs' make[1]: Leaving directory '/home/osakanataro/open-vm-tools/open-vm-tools/docs' Making all in udev make[1]: Entering directory '/home/osakanataro/open-vm-tools/open-vm-tools/udev' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/osakanataro/open-vm-tools/open-vm-tools/udev' make[1]: Entering directory '/home/osakanataro/open-vm-tools/open-vm-tools' make[1]: Nothing to be done for 'all-am'. make[1]: Leaving directory '/home/osakanataro/open-vm-tools/open-vm-tools' osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$
osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$ sudo make install [sudo] password for osakanataro: Making install in lib make[1]: Entering directory '/home/osakanataro/open-vm-tools/open-vm-tools/lib' Making install in guestRpc make[2]: Entering directory '/home/osakanataro/open-vm-tools/open-vm-tools/lib/guestRpc' make[3]: Entering directory '/home/osakanataro/open-vm-tools/open-vm-tools/lib/guestRpc' make[3]: Nothing to be done for 'install-exec-am'. make[3]: Nothing to be done for 'install-data-am'. <略> /usr/bin/install -c -m 644 ./99-vmware-scsi-udev.rules /lib/udev/rules.d make[2]: Leaving directory '/home/osakanataro/open-vm-tools/open-vm-tools/udev' make[1]: Leaving directory '/home/osakanataro/open-vm-tools/open-vm-tools/udev' make[1]: Entering directory '/home/osakanataro/open-vm-tools/open-vm-tools' make[2]: Entering directory '/home/osakanataro/open-vm-tools/open-vm-tools' make[2]: Nothing to be done for 'install-exec-am'. /usr/bin/install -c -d /etc/vmware-tools/ /usr/bin/install -c ./tools.conf /etc/vmware-tools/tools.conf.example make[2]: Leaving directory '/home/osakanataro/open-vm-tools/open-vm-tools' make[1]: Leaving directory '/home/osakanataro/open-vm-tools/open-vm-tools' osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$
osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$ sudo ldconfig osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$
で、 /etc/systemd/system/vmtoolsd.service としてopen-vm-tools 起動用ファイルを置く
osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$ sudo cat > /etc/systemd/system/vmtoolsd.service << EOF > [Unit] > Description= > Description=Open VM Tools > After= > After=network-online.target > [Service] > ExecStart= > ExecStart=/usr/local/bin/vmtoolsd > Restart=always > RestartSec=1sec > [Install] > WantedBy=multi-user.target > EOF -bash: /etc/systemd/system/vmtoolsd.service: Permission denied osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$
おや?なぜかうまくいかない。
viでファイルを作成する方は成功した。
osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$ sudo vi /etc/systemd/system/vmtoolsd.service osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$ cat /etc/systemd/system/vmtoolsd.service [Unit] Description= Description=Open VM Tools After= After=network-online.target [Service] ExecStart= ExecStart=/usr/local/bin/vmtoolsd Restart=always RestartSec=1sec [Install] WantedBy=multi-user.target osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$
「sudo systemctl enable vmtoolsd」で起動時にopen-vm-toolsが起動されるように設定し、手動で起動することを確認
osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$ sudo systemctl enable vmtoolsd osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$ systemctl start vmtoolsd ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units === Authentication is required to start 'vmtoolsd.service'. Authenticating as: osakanataro Password: osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$ sudo systemctl start vmtoolsd osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$ systemctl status vmtoolsd ● vmtoolsd.service - Open VM Tools Loaded: loaded (/etc/systemd/system/vmtoolsd.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-10-08 03:49:27 UTC; 6s ago Main PID: 73818 (vmtoolsd) Tasks: 3 (limit: 2234) Memory: 1.3M CGroup: /system.slice/vmtoolsd.service mq73818 /usr/local/bin/vmtoolsd Oct 08 03:49:27 ubuntu-arm systemd[1]: Started Open VM Tools. osakanataro@ubuntu-arm:~/open-vm-tools/open-vm-tools$

管理画面上でもvmware-toolsの起動を確認。
microSD無しで起動する方法
最新のラズパイ4のEEPROMではUSBブート有効になってる(Releasenoteの2020-09-03)し、ptftのUEFIもv1.17で「Enable direct USB boot」とあるのでできるはず、ということでチャレンジ。
最初、どうやってもUSBメモリから起動するような雰囲気ないなぁ、と思っていたら、EEPROMの設定にあるBOOT_ORDERが「0x1」(microSDのみ)となっているためと判明。

最新のBOOT_ORDERデフォルトは「0xf41」に変わっていて、USBメモリ(0x4)とmicroSD(0x1)をチャンレジして、起動しなかったら再チャレンジループ(0xf)ということになっている。
なので、ラズパイOS上で「sudo rpi-eeprom-edit」で「BOOT_ORDER=0xf41」に変更して保存し再起動して、反映されていることを確認(sudo rpi-eeprom-config)。
その後、ESXi ARMがインストールされているUSBメモリの4つに分かれているパーテーションのうち1個目のパーテーション内に、起動用microSD内のファイルを全部コピーすればOKです。
コピーが完了したESXi ARMインストール USBメモリの1個目パーテーションの中身はこんな感じになっています。
root@ubuntuserver:# fdisk -l /dev/sdb GPT PMBR size mismatch (30719966 != 30719999) will be corrected by w(rite). ディスク /dev/sdb: 14.7 GiB, 15728640000 バイト, 30720000 セクタ 単位: セクタ (1 * 512 = 512 バイト) セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト ディスクラベルのタイプ: gpt ディスク識別子: F2A67F1C-5EA4-4861-9CDD-EC9811D6DC48 デバイス 開始位置 最後から セクタ サイズ タイプ /dev/sdb1 64 204863 204800 100M EFI システム /dev/sdb5 208896 2306047 2097152 1G Microsoft 基本データ /dev/sdb6 2308096 4405247 2097152 1G Microsoft 基本データ /dev/sdb7 4407296 30719966 26312671 12.6G 不明 root@ubuntuserver:~# mount /dev/sdb1 /mnt root@ubuntuserver:~# cd /mnt root@ubuntuserver:/mnt# ls /mnt COPYING.linux bcm2708-rpi-b-rev1.dtb bcm2710-rpi-2-b.dtb bootcode.bin fixup4x.dat start4.elf start_x.elf EFI bcm2708-rpi-b.dtb bcm2710-rpi-3-b-plus.dtb config.txt fixup_cd.dat start4cd.elf LICENCE.broadcom bcm2708-rpi-cm.dtb bcm2710-rpi-3-b.dtb fixup.dat fixup_db.dat start4db.elf RPI_EFI.fd bcm2708-rpi-zero-w.dtb bcm2710-rpi-cm3.dtb fixup4.dat fixup_x.dat start4x.elf Readme.md bcm2708-rpi-zero.dtb bcm2711-rpi-4-b.dtb fixup4cd.dat overlays start_cd.elf bcm2708-rpi-b-plus.dtb bcm2709-rpi-2-b.dtb bcm2711-rpi-cm4.dtb fixup4db.dat start.elf start_db.elf root@ubuntuserver:/mnt# ls /mnt/EFI/* /mnt/EFI/BOOT: BOOTAA64.EFI /mnt/EFI/VMware: mboot64.efi safeboot64.efi root@ubuntuserver:/mnt#