2段階のNFSマウントをする方法


直接アクセスできないネットワークにあるNFSサーバをNFSでマウントすることはできないか試行錯誤してみた。

普通にCentOS7やSolaris11からやってみたところ、NFSマウントした領域のNFS exportでの公開はnfsd側から「Cannot export /mnt, possibly unsupported filesystem or fsid= required」とか、「Invalid filesystem」とか言われて設定できない。

これはuser-spaceで動作するnfsdを使えば回避できるんじゃないかと探してみた結果、unfs3というものを発見。ソースコードは https://github.com/unfs3/unfs3

Linux,FreeBSD,Solaris,AIX,Irix,MacOSXで動く以外に、Windows上でも制限ありで動作するとのこと。

Windows上で動かした場合は、unfsdが使用するWindowsユーザを1つ割り当てる形になるので、NFS経由のアクセスは全てそのWindowsユーザがアクセスしている、という扱いになるようだ。

あと、このunfs3はNFS ver3のみ使え、NFS v4やNFS v2でのアクセスには対応していない。また、NFS v3でもREADDIRPLUS(属性付きディレクトリの読み取り)周りは実装していないとのこと。

READDIRPLUSはOracle/Solarisのドキュメントによればlsコマンドなどでディレクトリ内のファイル一覧を表示させる動作を高速化するためのものなので、まぁ、なくてもなんとかなる感じのもの。

属性付きディレクトリの読み取り
NFS バージョン 3 では、READDIRPLUS と呼ばれる操作があります。たとえば、ls や ls -l などの、大部分の READDIR が READDIRPLUS コールとして発行されます。バージョン 3 で ls -l コマンドを実行すると、ディレクトリ内の名前リストと共に、ファイルハンドルと属性が返されます。バージョン 2 では、名前が最初に返され、ファイルハンドルと属性を取得するには、続いてサーバーを呼び出す必要があります。
バージョン 3 の READDIRPLUS 操作の利点は、ファイルごとに GETATTR 要求を送信する必要がないため時間が短縮され、ls と ls -l の速度が同程度になることです。

要件は満たせそうなので、とりあえずテスト用CentOS7環境でunfs3を動作させてみる。

準備

環境をインストール

# yum install git
# yum groupinstall "開発ツール"

コンパイル

まず、ソースコードの入手

$ git clone https://github.com/unfs3/unfs3.git

READMEにあるとおりbootstrap&configureを実行

$ cd unfs3/unfs3
$ ./bootstrap
$ ./configure

そしてmake

$ make
for i in Config ; do (cd $i && make all) || exit; done
make[1]: ディレクトリ `/root/unfs3/Config' に入ります
gcc -g -O2 -Wall -W -I.. -I. -I..   -c -o lex.yy.o lex.yy.c
gcc -g -O2 -Wall -W -I.. -I. -I..   -c -o y.tab.o y.tab.c
ar crs lib.a lex.yy.o y.tab.o
make[1]: ディレクトリ `/root/unfs3/Config' から出ます
gcc -g -O2 -Wall -W  -D_GNU_SOURCE -I.   -c -o afsgettimes.o afsgettimes.c
gcc -g -O2 -Wall -W  -D_GNU_SOURCE -I.   -c -o afssupport.o afssupport.c
gcc -g -O2 -Wall -W  -D_GNU_SOURCE -I.   -c -o attr.o attr.c
attr.c: 関数 ‘get_free_bad_dir_entry’ 内:
attr.c:550:5: エラー: ‘for’ ループ初期化宣言は C99 モード内でのみ許可されてい ます
     for (int i = 0;i < BAD_DIR_CACHE_SIZE;i++) {
     ^
attr.c:550:5: 備考: オプション -std=c99 または -std=gnu99 をコードコンパイル時に使用してください
attr.c: 関数 ‘find_bad_dir_entry’ 内:
attr.c:573:5: エラー: ‘for’ ループ初期化宣言は C99 モード内でのみ許可されてい ます
     for (int i = 0;i < BAD_DIR_CACHE_SIZE;i++) {
     ^
make: *** [attr.o] エラー 1
$

エラーとなってしまいます。

これはコンパイル時のオプションに「-std=c99」を指定するようにして解決

$ export CPPFLAGS="-std=c99";./configure
$ make
<略>
$

インストールと設定

普通にmake installすると/usr/local以下にインストールされます。

# make install
/usr/bin/install -c -d /usr/local/sbin
/usr/bin/install -c -d /usr/local/share/man/man7
/usr/bin/install -c -d /usr/local/share/man/man8
/usr/bin/install -c unfsd /usr/local/sbin/unfsd
/usr/bin/install -c -m 644 ./Extras/tags.7 /usr/local/share/man/man7/tags.7
/usr/bin/install -c -m 644 ./unfsd.8       /usr/local/share/man/man8/unfsd.8
#

NFSで公開するディレクトリの設定は、普通のnfsdと同じく /etc/exports ファイルを使用。「-e」オプションで別のファイルを指定することも可能です。

注意点としては、Linuxだとホスト名指定に「*」とnetgroupが使用できず、ログに「unfsd[20479]: syntax error in ‘/etc/exports’, exporting nothing」といった出力が出てしまうという点です。

「*」については「0.0.0.0/0」で代替できます。

/etc/exports ファイルを編集した場合、変更にはexportfsコマンドは使用できません。

unfsdに対してHUPシグナルを送ることで反映されます。(kill -HUP unfsdのPID)

unfsdの起動は「/usr/local/sbin/unfsd」の実行、停止はunfsdへのTERMシグナル送信(kill -TERM unfsdのPID)です。

最小インストールのCentOS7でブラウザを動かす場合FirefoxとChromeのどっちが容量少ないか


検証環境へのアクセス用ゲートウェイとしてCentOS7をインストールし、その上でWebブラウザを起動させて検証環境内機器の設定画面を開こうとした。

CentOS標準だとFirefoxのパッケージがあり、CentOS+EPELだとchromiumがある。

それぞれ、CentOS7最小インストール状態から「yum install firefox」「yum install chromium」を実行した際に、どんなパッケージが追加されることになるのか確認した。

結論としては
 Firefox  84パッケージ追加、インストール容量324MB
 Chromium 101パッケージ追加、インストール容量504MB
ということで、Firefoxの方が少なかった。

TeraTermの「SSHポート転送」の「Xクライアントアプリケーションの転送」を使う場合は、CentOS7側にxorg-x11-xauthパッケージをインストールしておく必要があるため「yum install xorg-x11-xauth」を実行する必要があった。

そして、日本語表示についてはさらにパッケージを追加する必要があった。

以前調べた「最小インストールのRHEL7環境で文字化けせずにNetBackup管理画面を表示するために必要なパッケージ」の情報が使えるかな?と「yum install vlgothic-fonts vlgothic-p-fonts」でインストールしたところ問題ないような表示となりました。

Firefoxの場合

合計84パッケージが追加され、インストール容量は324MB

# yum info firefox
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * epel: epel.uni-sofia.bg
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
利用可能なパッケージ
名前                : firefox
アーキテクチャー    : i686
バージョン          : 68.12.0
リリース            : 1.el7.centos
容量                : 96 M
リポジトリー        : updates/7/x86_64
要約                : Mozilla Firefox Web browser
URL                 : https://www.mozilla.org/firefox/
ライセンス          : MPLv1.1 or GPLv2+ or LGPLv2+
説明                : Mozilla Firefox is an open-source web browser, designed for standards
                    : compliance, performance and portability.

名前                : firefox
アーキテクチャー    : x86_64
バージョン          : 68.12.0
リリース            : 1.el7.centos
容量                : 93 M
リポジトリー        : updates/7/x86_64
要約                : Mozilla Firefox Web browser
URL                 : https://www.mozilla.org/firefox/
ライセンス          : MPLv1.1 or GPLv2+ or LGPLv2+
説明                : Mozilla Firefox is an open-source web browser, designed for standards
                    : compliance, performance and portability.
#
# yum install firefox
<略>
依存性を解決しました

==================================================================================================================================================================================================
 Package                                                アーキテクチャー                    バージョン                                                 リポジトリー                          容量
==================================================================================================================================================================================================
インストール中:
 firefox                                                x86_64                              68.12.0-1.el7.centos                                       updates                               93 M
依存性関連でのインストールをします:
 adwaita-cursor-theme                                   noarch                              3.28.0-1.el7                                               base                                 641 k
 adwaita-icon-theme                                     noarch                              3.28.0-1.el7                                               base                                  11 M
 at-spi2-atk                                            x86_64                              2.26.2-1.el7                                               base                                  81 k
 at-spi2-core                                           x86_64                              2.28.0-1.el7                                               base                                 158 k
 atk                                                    x86_64                              2.28.1-2.el7                                               base                                 263 k
 avahi-libs                                             x86_64                              0.6.31-20.el7                                              base                                  62 k
 cairo                                                  x86_64                              1.15.12-4.el7                                              base                                 741 k
 cairo-gobject                                          x86_64                              1.15.12-4.el7                                              base                                  26 k
 centos-indexhtml                                       noarch                              7-9.el7.centos                                             base                                  92 k
 colord-libs                                            x86_64                              1.3.4-2.el7                                                base                                 186 k
 cups-libs                                              x86_64                              1:1.6.3-43.el7                                             base                                 358 k
 dconf                                                  x86_64                              0.28.0-4.el7                                               base                                 106 k
 dejavu-fonts-common                                    noarch                              2.33-6.el7                                                 base                                  64 k
 dejavu-sans-fonts                                      noarch                              2.33-6.el7                                                 base                                 1.4 M
 fontconfig                                             x86_64                              2.13.0-4.3.el7                                             base                                 254 k
 fontpackages-filesystem                                noarch                              1.44-8.el7                                                 base                                 9.9 k
 fribidi                                                x86_64                              1.0.2-1.el7_7.1                                            base                                  79 k
 gdk-pixbuf2                                            x86_64                              2.36.12-3.el7                                              base                                 570 k
 glib-networking                                        x86_64                              2.56.1-1.el7                                               base                                 145 k
 gnutls                                                 x86_64                              3.3.29-9.el7_6                                             base                                 680 k
 graphite2                                              x86_64                              1.3.10-1.el7_3                                             base                                 115 k
 gsettings-desktop-schemas                              x86_64                              3.28.0-3.el7                                               base                                 606 k
 gtk-update-icon-cache                                  x86_64                              3.22.30-5.el7                                              base                                  27 k
 gtk2                                                   x86_64                              2.24.31-1.el7                                              base                                 3.4 M
 gtk3                                                   x86_64                              3.22.30-5.el7                                              base                                 4.4 M
 harfbuzz                                               x86_64                              1.7.5-2.el7                                                base                                 267 k
 hicolor-icon-theme                                     noarch                              0.12-7.el7                                                 base                                  42 k
 jasper-libs                                            x86_64                              1.900.1-33.el7                                             base                                 150 k
 jbigkit-libs                                           x86_64                              2.0-11.el7                                                 base                                  46 k
 json-glib                                              x86_64                              1.4.2-2.el7                                                base                                 134 k
 lcms2                                                  x86_64                              2.6-3.el7                                                  base                                 150 k
 libICE                                                 x86_64                              1.0.9-9.el7                                                base                                  66 k
 libSM                                                  x86_64                              1.2.2-2.el7                                                base                                  39 k
 libX11                                                 x86_64                              1.6.7-2.el7                                                base                                 607 k
 libX11-common                                          noarch                              1.6.7-2.el7                                                base                                 164 k
 libXau                                                 x86_64                              1.0.8-2.1.el7                                              base                                  29 k
 libXcomposite                                          x86_64                              0.4.4-4.1.el7                                              base                                  22 k
 libXcursor                                             x86_64                              1.1.15-1.el7                                               base                                  30 k
 libXdamage                                             x86_64                              1.1.4-4.1.el7                                              base                                  20 k
 libXext                                                x86_64                              1.3.3-3.el7                                                base                                  39 k
 libXfixes                                              x86_64                              5.0.3-1.el7                                                base                                  18 k
 libXft                                                 x86_64                              2.3.2-2.el7                                                base                                  58 k
 libXi                                                  x86_64                              1.7.9-1.el7                                                base                                  40 k
 libXinerama                                            x86_64                              1.1.3-2.1.el7                                              base                                  14 k
 libXrandr                                              x86_64                              1.5.1-2.el7                                                base                                  27 k
 libXrender                                             x86_64                              0.9.10-1.el7                                               base                                  26 k
 libXt                                                  x86_64                              1.1.5-3.el7                                                base                                 173 k
 libXtst                                                x86_64                              1.2.3-1.el7                                                base                                  20 k
 libXxf86vm                                             x86_64                              1.1.4-1.el7                                                base                                  18 k
 libepoxy                                               x86_64                              1.5.2-1.el7                                                base                                 211 k
 liberation-fonts-common                                noarch                              1:1.07.2-16.el7                                            base                                  27 k
 liberation-sans-fonts                                  noarch                              1:1.07.2-16.el7                                            base                                 279 k
 libglvnd                                               x86_64                              1:1.0.1-0.8.git5baa1e5.el7                                 base                                  89 k
 libglvnd-egl                                           x86_64                              1:1.0.1-0.8.git5baa1e5.el7                                 base                                  44 k
 libglvnd-glx                                           x86_64                              1:1.0.1-0.8.git5baa1e5.el7                                 base                                 125 k
 libgusb                                                x86_64                              0.2.9-1.el7                                                base                                  40 k
 libjpeg-turbo                                          x86_64                              1.2.90-8.el7                                               base                                 135 k
 libmodman                                              x86_64                              2.0.1-8.el7                                                base                                  28 k
 libproxy                                               x86_64                              0.4.11-11.el7                                              base                                  64 k
 libsoup                                                x86_64                              2.62.2-2.el7                                               base                                 411 k
 libthai                                                x86_64                              0.1.14-9.el7                                               base                                 187 k
 libtiff                                                x86_64                              4.0.3-32.el7                                               base                                 171 k
 libusbx                                                x86_64                              1.0.21-1.el7                                               base                                  61 k
 libwayland-client                                      x86_64                              1.15.0-1.el7                                               base                                  33 k
 libwayland-cursor                                      x86_64                              1.15.0-1.el7                                               base                                  20 k
 libwayland-egl                                         x86_64                              1.15.0-1.el7                                               base                                  13 k
 libwayland-server                                      x86_64                              1.15.0-1.el7                                               base                                  39 k
 libxcb                                                 x86_64                              1.13-1.el7                                                 base                                 214 k
 libxkbcommon                                           x86_64                              0.7.1-3.el7                                                base                                 108 k
 libxshmfence                                           x86_64                              1.2-1.el7                                                  base                                 7.2 k
 mesa-libEGL                                            x86_64                              18.3.4-7.el7_8.1                                           updates                              109 k
 mesa-libGL                                             x86_64                              18.3.4-7.el7_8.1                                           updates                              165 k
 mesa-libgbm                                            x86_64                              18.3.4-7.el7_8.1                                           updates                               39 k
 mesa-libglapi                                          x86_64                              18.3.4-7.el7_8.1                                           updates                               46 k
 mozilla-filesystem                                     x86_64                              1.9-11.el7                                                 base                                 5.3 k
 nettle                                                 x86_64                              2.7.1-8.el7                                                base                                 327 k
 pango                                                  x86_64                              1.42.4-4.el7_7                                             base                                 280 k
 pixman                                                 x86_64                              0.34.0-1.el7                                               base                                 248 k
 rest                                                   x86_64                              0.8.1-2.el7                                                base                                  63 k
 startup-notification                                   x86_64                              0.12-8.el7                                                 base                                  39 k
 trousers                                               x86_64                              0.3.14-2.el7                                               base                                 289 k
 xcb-util                                               x86_64                              0.4.0-2.el7                                                base                                  16 k
 xkeyboard-config                                       noarch                              2.24-1.el7                                                 base                                 834 k

トランザクションの要約
==================================================================================================================================================================================================
インストール  1 パッケージ (+83 個の依存関係のパッケージ)

総ダウンロード容量: 126 M
インストール容量: 324 M
Is this ok [y/d/N]:

Chromiumの場合

合計、101個のパッケージが追加され、504MB

なお、事前に「yum install epel-release」を実行してEPELレポジトリを有効とする必要がある。

# yum info chromium
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * epel: mirror.slu.cz
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
利用可能なパッケージ
名前                : chromium
アーキテクチャー    : x86_64
バージョン          : 85.0.4183.121
リリース            : 1.el7
容量                : 97 M
リポジトリー        : epel/x86_64
要約                : A WebKit (Blink) powered web browser
URL                 : http://www.chromium.org/Home
ライセンス          : BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
説明                : Chromium is an open-source web browser, powered by WebKit (Blink).

# yum install chromium
<略>
依存性を解決しました

==================================================================================================================================================================================================
 Package                                                アーキテクチャー                    バージョン                                                 リポジトリー                          容量
==================================================================================================================================================================================================
インストール中:
 chromium                                               x86_64                              85.0.4183.121-1.el7                                        epel                                  97 M
依存性関連でのインストールをします:
 adwaita-cursor-theme                                   noarch                              3.28.0-1.el7                                               base                                 641 k
 adwaita-icon-theme                                     noarch                              3.28.0-1.el7                                               base                                  11 M
 at-spi2-atk                                            x86_64                              2.26.2-1.el7                                               base                                  81 k
 at-spi2-core                                           x86_64                              2.28.0-1.el7                                               base                                 158 k
 atk                                                    x86_64                              2.28.1-2.el7                                               base                                 263 k
 audit-libs-python                                      x86_64                              2.8.5-4.el7                                                base                                  76 k
 avahi                                                  x86_64                              0.6.31-20.el7                                              base                                 264 k
 avahi-libs                                             x86_64                              0.6.31-20.el7                                              base                                  62 k
 cairo                                                  x86_64                              1.15.12-4.el7                                              base                                 741 k
 cairo-gobject                                          x86_64                              1.15.12-4.el7                                              base                                  26 k
 checkpolicy                                            x86_64                              2.5-8.el7                                                  base                                 295 k
 chromium-common                                        x86_64                              85.0.4183.121-1.el7                                        epel                                  16 M
 colord-libs                                            x86_64                              1.3.4-2.el7                                                base                                 186 k
 cups-libs                                              x86_64                              1:1.6.3-43.el7                                             base                                 358 k
 dconf                                                  x86_64                              0.28.0-4.el7                                               base                                 106 k
 dejavu-fonts-common                                    noarch                              2.33-6.el7                                                 base                                  64 k
 dejavu-sans-fonts                                      noarch                              2.33-6.el7                                                 base                                 1.4 M
 flac-libs                                              x86_64                              1.3.0-5.el7_1                                              base                                 169 k
 fontconfig                                             x86_64                              2.13.0-4.3.el7                                             base                                 254 k
 fontpackages-filesystem                                noarch                              1.44-8.el7                                                 base                                 9.9 k
 fribidi                                                x86_64                              1.0.2-1.el7_7.1                                            base                                  79 k
 gdk-pixbuf2                                            x86_64                              2.36.12-3.el7                                              base                                 570 k
 glib-networking                                        x86_64                              2.56.1-1.el7                                               base                                 145 k
 gnutls                                                 x86_64                              3.3.29-9.el7_6                                             base                                 680 k
 graphite2                                              x86_64                              1.3.10-1.el7_3                                             base                                 115 k
 gsettings-desktop-schemas                              x86_64                              3.28.0-3.el7                                               base                                 606 k
 gsm                                                    x86_64                              1.0.13-11.el7                                              base                                  30 k
 gstreamer1                                             x86_64                              1.10.4-2.el7                                               base                                 1.2 M
 gtk-update-icon-cache                                  x86_64                              3.22.30-5.el7                                              base                                  27 k
 gtk3                                                   x86_64                              3.22.30-5.el7                                              base                                 4.4 M
 harfbuzz                                               x86_64                              1.7.5-2.el7                                                base                                 267 k
 hicolor-icon-theme                                     noarch                              0.12-7.el7                                                 base                                  42 k
 jasper-libs                                            x86_64                              1.900.1-33.el7                                             base                                 150 k
 jbigkit-libs                                           x86_64                              2.0-11.el7                                                 base                                  46 k
 json-glib                                              x86_64                              1.4.2-2.el7                                                base                                 134 k
 lcms2                                                  x86_64                              2.6-3.el7                                                  base                                 150 k
 libICE                                                 x86_64                              1.0.9-9.el7                                                base                                  66 k
 libSM                                                  x86_64                              1.2.2-2.el7                                                base                                  39 k
 libX11                                                 x86_64                              1.6.7-2.el7                                                base                                 607 k
 libX11-common                                          noarch                              1.6.7-2.el7                                                base                                 164 k
 libXau                                                 x86_64                              1.0.8-2.1.el7                                              base                                  29 k
 libXcomposite                                          x86_64                              0.4.4-4.1.el7                                              base                                  22 k
 libXcursor                                             x86_64                              1.1.15-1.el7                                               base                                  30 k
 libXdamage                                             x86_64                              1.1.4-4.1.el7                                              base                                  20 k
 libXext                                                x86_64                              1.3.3-3.el7                                                base                                  39 k
 libXfixes                                              x86_64                              5.0.3-1.el7                                                base                                  18 k
 libXft                                                 x86_64                              2.3.2-2.el7                                                base                                  58 k
 libXi                                                  x86_64                              1.7.9-1.el7                                                base                                  40 k
 libXinerama                                            x86_64                              1.1.3-2.1.el7                                              base                                  14 k
 libXrandr                                              x86_64                              1.5.1-2.el7                                                base                                  27 k
 libXrender                                             x86_64                              0.9.10-1.el7                                               base                                  26 k
 libXtst                                                x86_64                              1.2.3-1.el7                                                base                                  20 k
 libXxf86vm                                             x86_64                              1.1.4-1.el7                                                base                                  18 k
 libasyncns                                             x86_64                              0.8-7.el7                                                  base                                  26 k
 libcanberra                                            x86_64                              0.30-9.el7                                                 base                                  82 k
 libcanberra-gtk3                                       x86_64                              0.30-9.el7                                                 base                                  31 k
 libcgroup                                              x86_64                              0.41-21.el7                                                base                                  66 k
 libepoxy                                               x86_64                              1.5.2-1.el7                                                base                                 211 k
 libglvnd                                               x86_64                              1:1.0.1-0.8.git5baa1e5.el7                                 base                                  89 k
 libglvnd-egl                                           x86_64                              1:1.0.1-0.8.git5baa1e5.el7                                 base                                  44 k
 libglvnd-glx                                           x86_64                              1:1.0.1-0.8.git5baa1e5.el7                                 base                                 125 k
 libgusb                                                x86_64                              0.2.9-1.el7                                                base                                  40 k
 libjpeg-turbo                                          x86_64                              1.2.90-8.el7                                               base                                 135 k
 libmodman                                              x86_64                              2.0.1-8.el7                                                base                                  28 k
 libogg                                                 x86_64                              2:1.3.0-7.el7                                              base                                  24 k
 libproxy                                               x86_64                              0.4.11-11.el7                                              base                                  64 k
 libsemanage-python                                     x86_64                              2.5-14.el7                                                 base                                 113 k
 libsndfile                                             x86_64                              1.0.25-11.el7                                              base                                 149 k
 libsoup                                                x86_64                              2.62.2-2.el7                                               base                                 411 k
 libtdb                                                 x86_64                              1.3.18-1.el7                                               base                                  49 k
 libthai                                                x86_64                              0.1.14-9.el7                                               base                                 187 k
 libtiff                                                x86_64                              4.0.3-32.el7                                               base                                 171 k
 libtool-ltdl                                           x86_64                              2.4.2-22.el7_3                                             base                                  49 k
 libusbx                                                x86_64                              1.0.21-1.el7                                               base                                  61 k
 libvorbis                                              x86_64                              1:1.3.3-8.el7.1                                            base                                 204 k
 libwayland-client                                      x86_64                              1.15.0-1.el7                                               base                                  33 k
 libwayland-cursor                                      x86_64                              1.15.0-1.el7                                               base                                  20 k
 libwayland-egl                                         x86_64                              1.15.0-1.el7                                               base                                  13 k
 libwayland-server                                      x86_64                              1.15.0-1.el7                                               base                                  39 k
 libxcb                                                 x86_64                              1.13-1.el7                                                 base                                 214 k
 libxkbcommon                                           x86_64                              0.7.1-3.el7                                                base                                 108 k
 libxshmfence                                           x86_64                              1.2-1.el7                                                  base                                 7.2 k
 libxslt                                                x86_64                              1.1.28-5.el7                                               base                                 242 k
 mesa-libEGL                                            x86_64                              18.3.4-7.el7_8.1                                           updates                              109 k
 mesa-libGL                                             x86_64                              18.3.4-7.el7_8.1                                           updates                              165 k
 mesa-libgbm                                            x86_64                              18.3.4-7.el7_8.1                                           updates                               39 k
 mesa-libglapi                                          x86_64                              18.3.4-7.el7_8.1                                           updates                               46 k
 minizip                                                x86_64                              1.2.7-18.el7                                               base                                  34 k
 nettle                                                 x86_64                              2.7.1-8.el7                                                base                                 327 k
 nss-mdns                                               x86_64                              0.14.1-9.el7                                               epel                                  43 k
 pango                                                  x86_64                              1.42.4-4.el7_7                                             base                                 280 k
 pixman                                                 x86_64                              0.34.0-1.el7                                               base                                 248 k
 policycoreutils-python                                 x86_64                              2.5-34.el7                                                 base                                 457 k
 pulseaudio-libs                                        x86_64                              10.0-5.el7                                                 base                                 651 k
 python-IPy                                             noarch                              0.75-6.el7                                                 base                                  32 k
 rest                                                   x86_64                              0.8.1-2.el7                                                base                                  63 k
 setools-libs                                           x86_64                              3.3.8-4.el7                                                base                                 620 k
 sound-theme-freedesktop                                noarch                              0.8-3.el7                                                  base                                 377 k
 trousers                                               x86_64                              0.3.14-2.el7                                               base                                 289 k
 xkeyboard-config                                       noarch                              2.24-1.el7                                                 base                                 834 k

トランザクションの要約
==================================================================================================================================================================================================
インストール  1 パッケージ (+100 個の依存関係のパッケージ)

総ダウンロード容量: 147 M
インストール容量: 504 M
Is this ok [y/d/N]:


ちなみに、Chromiumをインストールした後に、Firefoxをインストールしようとした場合に追加されるパッケージ群は下記。

9パッケージで、インストール容量は 238MB

# yum install firefox
<略>

依存性を解決しました

==================================================================================================================================================================================================
 Package                                                アーキテクチャー                      バージョン                                             リポジトリー                            容量
==================================================================================================================================================================================================
インストール中:
 firefox                                                x86_64                                68.12.0-1.el7.centos                                   updates                                 93 M
依存性関連でのインストールをします:
 centos-indexhtml                                       noarch                                7-9.el7.centos                                         base                                    92 k
 gtk2                                                   x86_64                                2.24.31-1.el7                                          base                                   3.4 M
 libXt                                                  x86_64                                1.1.5-3.el7                                            base                                   173 k
 liberation-fonts-common                                noarch                                1:1.07.2-16.el7                                        base                                    27 k
 liberation-sans-fonts                                  noarch                                1:1.07.2-16.el7                                        base                                   279 k
 mozilla-filesystem                                     x86_64                                1.9-11.el7                                             base                                   5.3 k
 startup-notification                                   x86_64                                0.12-8.el7                                             base                                    39 k
 xcb-util                                               x86_64                                0.4.0-2.el7                                            base                                    16 k

トランザクションの要約
==================================================================================================================================================================================================
インストール  1 パッケージ (+8 個の依存関係のパッケージ)

総ダウンロード容量: 97 M
インストール容量: 238 M
Is this ok [y/d/N]:

Outlook2019で iredmail(postfix/dovecot)環境を登録しようとするとエラーになる


Becky!やThunderbird、Windows Live 2012では問題なく動いていたのだが、Outlook 2019(およびOffice 365のOutlook)に対してメールを新規登録した場合、うまく動かない、というクレームがあったので調査

要点

その1: SSL対応するならちゃんとすること

自己署名SSLや、メールサーバとして指定したホスト名がSSL証明書に含まれていないとエラーになる。

Let’s Encryptでやっても良いが、POP3/IMAP/SMTPサーバ名でSSL証明書が発行されていること。

その2: Outlook側の「ユーザー情報」の「名前」が空欄は不許可

ここが空欄になっていると、メール送信がエラー(エラーコード 0x800c8101) になる。

成功例:IMAP設定の場合

上記では送信サーバ(SMTP)のポートが「587」となっているが、プロバイダ側で許可されている場合はポート25でも良い。

成功例:POP3の場合

上記では送信サーバ(SMTP)のポートが「587」となっているが、プロバイダ側で許可されている場合はポート25でも良い。


エラーログ集

SMTPサーバ指定を暗号化なしに設定した場合

使用する暗号化接続の種類を「なし」に設定した場合、エラーになった

Outlook側エラー「テスト電子メール メッセージの送信: このクライアントでサポートされている認証方法が、サーバーでサポートされていません。」

サーバ側のmaillog出力

Oct 13 10:41:28 mailserver postfix/submission/smtpd[16308]: connect from test.example.com[xxx.xxx.xxx.xxx]
Oct 13 10:41:28 mailserver postfix/submission/smtpd[16308]: lost connection after EHLO from test.example.com[xxx.xxx.xxx.xxx]
Oct 13 10:41:28 mailserver postfix/submission/smtpd[16308]: disconnect from test.example.com[xxx.xxx.xxx.xxx]

SMTPサーバ指定をSSL/TLSに設定した場合

送信サーバの使用する暗号化接続の種類を「SSL/TLS」に設定した場合もエラーになった。

Outlook側のエラーメッセージ

テスト電子メール メッセージの送信: このサーバーは、指定した種類の接続暗号化をサポートしていません。暗号化方式を変更してください。詳細については、メール サーバーの管理者かインターネット サービス プロバイダー (ISP) に問い合わせてください。

メールサーバ側maillogのエラーメッセージ

Oct 13 10:46:34 mailserver postfix/submission/smtpd[18081]: connect from test.example.com[xxx.xxx.xxx.xxx]
Oct 13 10:46:34 mailserver postfix/submission/smtpd[18081]: lost connection after UNKNOWN from test.example.com[xxx.xxx.xxx.xxx]
Oct 13 10:46:34 mailserver postfix/submission/smtpd[18081]: disconnect from test.example.com[xxx.xxx.xxx.xxx]

存在しないポートを指定した場合

誤って不適切なポートを指定した場合、下記の様なエラーとなります。

テスト電子メール メッセージの送信: 送信 (SMTP) メール サーバーに接続できません。このメッセージを引き続き受信する場合は、サーバー管理者かインターネット サービス プロバイダー (ISP) に問い合わせてください。

ESXi ARM Editionをラズパイ4にインストールした


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#

ESXi上のNutanix CE AHVをアップデートした


ESXi上にNutanix CE AHVをインストールした」でインストールしたNutanix CE環境をアップデートしてみた。

トラブルポイントのまとめ

なんとなく手順を進めていったらいくつかキツイ問題が発生してアップデートプロセスが止まったりした。今回発生した問題は下記3点

・AHVのrootパーテーション容量が足らない
・AHV内の標準仮想マシン設定にあるPC Typeが初期値に戻るので既存の仮想マシンが起動しない
・AHV内のCVM仮想マシン設定にあるPC Typeがpc-i440fx-rhel7.3.0になり起動しない
・CVM仮想マシンのメモリが12GBだとサービスが起動しない

なお、調査の際に参考になったページ「Nutanix CE: Cannot Start VM」「Guest VM Running in Nested Nutanix CE on VMware vSphere Won’t Boot

CVM仮想マシン上のサービスが起動しないあたりは「PRISM SERVICES HAVE NOT STARTED YET. PLEASE TRY AGAIN LATER

実際に実施した手順はもっといろいろあったが、完了後に、たぶんこの順序で実施すれば大丈夫だったんだろう、というものを下記に手順として残す。

手順1 アップデータ入手

Download Nutanix CE, Docs, and Guides」から下記3ファイルをダウンロード。

・「Metadata for AOS, AHV upgrades and PC deployment」のce-2019.11.22-metadata.zipを展開してjsonファイルを取りだしておく
・「AOS Upgrade」(ce-2019.11.22-upgrade.tar.gzのまま)
・「AHV Upgrade」(host-bundle-el7.nutanix.20191030.415.tar.gzのまま)

手順2 CVM仮想マシンの自動起動を止める

この後、何回かNutanix CE仮想マシンを再起動する。その際にCVM仮想マシンの起動が完了するのを待っていると時間がかかるので、自動起動を止める。

「virsh list –all」でCVM仮想マシンのIDを確認して、「virsh autostart <ID> –disable」と実行すると自動起動が止まる。

手順3 Nutanix CE仮想マシンのディスク拡大

AHVのrootパーテーションの空き容量が足らない為アップデートが失敗する。

このため、vSphere側でNutanix CE仮想マシンのディスクサイズを拡大する。

標準の「ハードディスク1」が約7GBとなっている。

これを、12GBに増やす。

変更後、Nutanix CE仮想マシンを再起動する。

再起動後、vSphereのコンソールを開き「root」ユーザでログインする。デフォルトパスワードは「nutanix/4u」

ログイン後、現在のディスク使用状況と、システムディスクである/dev/sdaのパーテーション構成を確認する。

「df -h」と「fdisk -l /dev/sda」を実行する。

パーテーション変更は「fdisk /dev/sda」を実行して行う。

既存のパーテーションを「d」で消して、新しいパーテーションを作成しなおす、という形になる。

bootフラグのセットも忘れずに

最後は「w」で書き込みを実行する。

再起動しないと新しいパーテーションで認識してくれないので、再度Nutanix CE仮想マシンを再起動する。

再起動後、再度「fdisk -l /dev/sda」と「df -h」を実行してみると、fdiskの方は新しいディスクサイズで認識しているが、rootパーテーションはまだ古い容量のままとなっている。

「resize2fs /dev/sda1」を実行してファイルシステムの拡張を行い、新しいディスク容量が反映される。

手順4 CVM仮想マシンの自動起動を戻す

AHV内のCVM仮想マシンの自動起動設定を戻し、自動起動するようにする。

「virsh list –all」でCVM仮想マシンのNameを確認して、「virsh autostart <Name>」を実行する。(起動していない場合はIdが割り当てられていないので、Nameで指定する必要がある)

自動自動設定ができたかどうかは「/etc/libvirt/qemu/autostart/」にXMLファイルがあるかで確認する。

「virsh start <Name>」でCVM仮想マシンを起動するか、rebootでNutanix CE仮想マシンを再起動する。

手順5 AOSアップデート

Nutanixにログインして「設定」の「ソフトウェアアップグレード」にある「AOS」を開く。

「AOS base softwareバイナリをアップロード」のリンクをクリック

AOS BASE SOFTWAREメタデータファイルは「ce-2019.11.22-upgrade-metadata.json」
AOS BASE SOFTWAREバイナリファイルは「ce-2019.11.22-upgrade.tar.gz」
を指定する。

「今すぐアップロード」をクリックする。

上記の様になったらアップロード成功。

「Upgrade Now」を選択してアップデートを開始する。

アップグレードが進んでいきます。

ちなみに「Nothing To Do?」は下記の2048ゲームが表示されます。

途中、CVM仮想マシンの再起動などがあり、完了します。

手順6 Hypervisorのアップデート

Nutanixの「設定」の「ソフトウェアアップグレード」にある「Hypervisor」を選択。

「upload a Hypervisor Binary」をクリックし、下記の選択をして「今すぐアップロード」する。

HYPERVISOR メタデータファイル「host-bundle-el7.nutanix.20191030.415-metadata.json」
HYPERVISOR バイナリファイル「host-bundle-el7.nutanix.20191030.415.tar.gz」

続いて、「Upgrade Now」を実施する。

で、アップグレードが進んでいきます。

たぶん、下記の様な「71%」から30分以上待っても進まないと思います。

いまの状態はHypervisorはアップデートできたものの、その上のCVM仮想マシンが起動していない状態となります。

手順7 AHV上の仮想マシンの標準設定の修正

vSphere上でNutanix CEを稼働させた場合、標準設定の状態ではNutanix上で作成した仮想マシンが起動しません。

起動させるためには、「/var/cache/libvirt/qemu/capabilities/3c76bc41d59c0c7314b1ae8e63f4f765d2cf16abaeea081b3ca1f5d8732f7bb1.xml」 のalias=’pc’をpc-i440fx-rhel7.2.0の行に付け直します。

該当ファイルは下記の様な形になっていて、「alias=’pc’」がpc-i440fx-rhel7.3.0の行についています。

これを「pc-i440fx-rhel7.2.0」の行に「alias=’pc’」設定を移動させます。

手順としては、pc-i440fx-rhel7.3.0の行をpc-i440fx-rhel7.2.0書き換えて、既存のpc-i440fx-rhel7.2.0設定を削除するのが簡単でしょう。

画像

手順8 AHV上のCVM仮想マシン設定の修正

CVM仮想マシンの仮想マシンタイプ設定が「pc-i440fx-rhel7.3.0」に設定されていました。

設定の確認は「virsh dumpxml <name>|less」で行います。
設定変更は「virsh edit <Name>」となります。

viコマンドでxmlファイルが開かれますので、「pc-i440fx-rhel7.3.0」を「pc-i440fx-rhel7.2.0」に書き換えて保存します。

また、「<memory unit=’KiB’>~</memory>」のメモリ容量を増加させます。Nutanix CE標準だと最低28GBとなっているようです。

参考としてGUIから設定できるCVMに割り当てられる容量を以下に占めます。

なお、今回はxml書き換えで約26GBと設定しています。

この後、CVM仮想マシンを再起動します

面倒ならNutanix CE仮想マシンごとrebootします。

手順9 終了