Hyper-Vサポートまわりとか

Sat, May 30, 2015 in debian , BTS

色々と便宜を図ってもらっているので、恩返ししないとなーと。LIS(Linux Integration Srevices)というのは、見ていくとこんな感じかな

  • カーネル内のドライバ
  • カーネルのソースに含まれているtools/hv内のデーモン

ドライバについては、Jessieの3.16のに4.0ベースのとかをそのままbackportして大丈夫なのかな。ビルドできれば影響範囲はhvドライバのみに収まるような気もする。とりあえず、今のカーネルのをそのまま使うでも使えるっぽい。

デーモンについてはこちらにまとめられているが、RHEL/Fedora系統だとhyperv-daemonsメタパッケージに依存している各パッケージで提供しているようだ(はて、デーモンごとにパッケージが細分化されていて、なぜかライセンスも別パッケージになってる…?)。Ubuntuはバージョンごとに色々違うようだ。さて、どうするかな…と思ったが、hyperv-daemonsパッケージでいいかな、と。あとはsystemdサービスをFedoraからパチってきた。それから調整、っと。。。

dh-systemdは以下の理由から使わない方向で、installファイルでコピーするだけにした

  • そもそものパッケージの構成が複雑でdh使ってないので dh $@ –with systemd が指定できない
  • パッケージ名とサービス名が違う(サービスが3つもある)

途中までで、とりあえず無くならないようにパッチを投げておく

あとはdescriptionをまともにする

実際にHyper-V上のDebianで動作を確認する…ってどうやるんだ?Azureでいいか。

Azureで仮想マシンを作る…ってそのままだとギャラリーにはDebianイメージ無いので、VMDepotという ここで有志が作っているイメージを使わせてもらう。とはいえ、どの程度の信頼性が置けるものかというものはあるけども。 ログインしたらshellが/bin/shだった。chshして、bash-completion入れて、upgradeしてrebootして再度。。。って妙にrebootに時間がかかるな。繋がらない?

sudo systemctl start Failed to get D-Bus connection: No such file or directory
Failed to get D-Bus connection: No such file or directory
Failed to get D-Bus connection: No such file or directory
Failed to get D-Bus connection: No such file or directory
Failed to get D-Bus connection: No such file or directory
Failed to get D-Bus connection: No such file or directory
Failed to get D-Bus connection: No such file or directory
Failed to get D-Bus connection: No such file or directory

あれ。service見当たらないな…手動で起動した。これはパッケージを直す必要があるなぁ。 でも、3つのサービスのうち、一つが起動しない。ってserviceファイルに/dev/vmbus/hv_fcopyが必要って書いたけど/dev/vmbusが無いんだな。これはHyper-VだとあってAzureだと無いのか、それともVMDepotのJessieがアレで見つからないのか?→CentOSベースのをAzureで立ち上げたが同様に/dev/vmbusは無い。はて、Hyper-VとAzureのは若干違うのか、それとも元にしたFedoraのがアレなのか。皿に検索すると何かへのパッチの投稿が見つかった、がこれだと「/sys/bus/vmbus」って書いてあるけど、こっちが正解じゃない?…いや/dev/vmbusがあるのもあるな。。。

README.Debianも追加したほうが良いかな?こんな感じで…

If you want to change screen resolution, please add "video=hyperv_fb:vertical x horizontal" to GRUB_CMDLINE_LINUX in /etc/default/grub and run update-grub
e.g. GRUB_CMDLINE_LINUX="video=hyperv_fb:1280x1024"