follow me

open-vm-toolsをOpenWrtで使う

ESXiでOpenWrtを使うケースはあると思います。
その際に悲しい思いをした人は多いに違いない。
vmtoolsが無い。というか、glibcではなくmuslがデフォルトのOpenWrtではvmtoolsを入れるのは難しい。(というか入るのか怪しい。
なので、open-vm-toolsパッケージ作りました。
野良パッケージなので、ビルドしてください。
muslで動きますので、パッケージさえビルドすればOpenWrt本家でダウンロードできるイメージにも入ります。
https://github.com/srchack/custom-packages/tree/master/open-vm-tools


ESXi 6.7で動作確認しました。
ネットワーク情報は取れてます。シャットダウン/再起動系も機能しています。
正常に動いているかテストを全パターン試しておきたいが何か方法ないものか。。。
まぁ、OSシャットダウンが一番やりたかったことなので個人的目的は達成してはいるのですが。


ビルドするのが面倒な人用にパッケージ置いときました。
r7332-2163b49でビルドされています。
18.06環境であれば動くでしょう。(依存関係弱いので
open-vm-tools_10.3.0-1_i386_pentium.ipk
open-vm-tools_10.3.0-1_i386_pentium4.ipk
open-vm-tools_10.3.0-1_x86_64.ipk


open-vm-toolsのOpenWrtでのビルドについて、
open-vm-toolsのビルドオプションは、Makefileを見ていただくとおり、ほとんど無効化されています。
ライブラリ依存だったり、デフォルトでOpenWrtには入っていない機能に依存しているものは落としています。
filesディレクトリ以下は、起動スクリプトと設定ファイルです。shutdownはOpenWrtに足りないのでダミーです。
patches以下は、musl対応になります。(なんでlibc判別のための"__MUSL__"って存在しないんですかね?と愚痴ってみる)
musl対応系は、途中まで書きつつOpenEmbedded向けのパッチを見つけたので、ほぼそっちのパッチを調整しただけです。
open-vm-toolsをOpenWrtで使う | 1 件のコメント | アカウント登録
サイト管理者はコメントに関する責任を負いません。
open-vm-toolsをOpenWrtで使う
投稿者: omasanori on 2018年11月22日(木) 03:27 JST

__MUSL__がない理由は、「どのlibcかではなく、どの機能・特性があるかをconfigure等で判別すべき」という方針だからですね。公式の回答を引用すると:

> Is it possible to add to the features.h __MUSL__ definition?
>
> glibc can be identified by __GLIBC__, uclibc through __UCLIBC__ etc.

Is this question in the FAQ yet? If not, it really should be. The answer is no, it won't be added, because it's a bug to assume a certain implementation has particular properties rather than testing. So far, every time somebody's asked for this with a particular usage case in mind, the usage case was badly wrong, and would have broken support for the next release of musl...