gihyo.jp > 2012年1月17日 AndroidにHyper-V,USB 3.0サポートも ─Linux 3.3の注目ポイント [2012/01/17]
2012年1月19日に linux-3.3-rc1 が公開されたので、確認してみました。
以前、Debian 6 (squeeze) 上で linux-2.6.39.1 カーネルを再構築して、Microsoft Hyper-V drivers を組み込んだカーネルを作りましたが、同じ手順でやってみました。
参考:
Hyper-V の Linux ゲストで KVP が動いた!! (hv_kvp_daemon で) [2011/06/27]
http://yamanxworld.blogspot.com/2011/06/hyper-v-linux-kvp-hvkvpdaemon.html
最新の安定版 Linux Kernel 2.6.39.1 に Hyper-V ドライバーの新機能が... [2011/06/15]
http://yamanxworld.blogspot.com/2011/06/linux-kernel-26391-hyper-v.html
Linux kernel 2.6.32 以降には Hyper-V Linux ICs が組み込み済み [2010/03/18]
http://yamanxworld.blogspot.com/2010/03/linux-kernel-2632-hyper-v-linux-ics.html
レガシーネットワークを追加したHyper-Vの仮想マシンに、Debian 6(2.6.32-5-amd64)をクリーンインストールして、起動します。Debianは、「グラフィカルデスクトップ環境」と「標準システムユーティリテ」を選択して、あとは既定のオプションでインストールしたものです。
カーネルのビルド用のコンポーネント(build-essential。ncureses-dev、kernel-ackage、fakeroot、linux-headers、linux-souce)をインストールします。
# apt-get update
# aptitude update# apt-get install build-essential
# apt-get install ncurses-dev kernel-package fakeroot
# apt-get install linux-headers-2.6.32-5-amd64
# apt-get install linux-source-2.6.32
www.kernel.org から linux-3.3-rc1.tar.bz2 をダウンロードして、/usr/src にソースを展開します。
# cd /usr/src
/usr/src# wget -c http://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-3.3-rc1.tar.bz2
/usr/src# bzip2 -d linux-3.3-rc1.tar.bz2
/usr/src# tar xf linux-3.3-rc1.tar
make menuconfig を実行して、.config を作成します。
/usr/src# cd linux-3.3-rc1
/usr/src/linux-3.3-rc1# cp /boot/config-2.6.32-5-amd64 ./.config
/usr/src/linux-3.3-rc1# make menuconfig
/usr/src/linux-3.3-rc1# cp /boot/config-2.6.32-5-amd64 ./.config
/usr/src/linux-3.3-rc1# make menuconfig
まず、Device Drivers の中にある Microsoft Hyper-V guest support を開き、Microsoft Hyper-V client drivers (hv_vmbus 改め hid_hyperv) と Microsoft Hyper-V Utilities driver (hv_utils) を選択します。
実は、これだけじゃ足りないんです。次の場所に、Microsoft Hyper-V virtual network driver (hv_netvsc)、Microsoft Hyper-V mouse driver (hv_mouse)、Microsoft Hyper-V virtual storage driver (hv_storvsc) があるので、すべて有効化します。hv_storvsc だけ、Staging ツリーにまだ残っています。そのほかは、Staging ツリーから外れたのはいいですが、場所が分かりにくいです。
Device Drivers
Network device support
Microsoft Hyper-V virtual network driver
HID Devices
Special HDI drivers
Microsoft Hyper-V mouse driver
Microsoft Hyper-V guest support
Microsoft Hyper-V client drivers
Microsoft Hyper-V Utilities driver
Staging drivers
Microsoft Hyper-V virtual storage driver
fakerootとmake-kpkgでカーネルをビルドし、debパッケージを作成します。2時間くらいかかります。
完成したdebパッケージ(2つ)をインストールして、再起動し、linux-3.3-rc1カーネルを起動します。
/usr/src/linux-3.3-rc1# cd ..
/usr/src# dpkg -i *.deb
/usr/src# reboot linux-3.3-rc1 カーネルで起動します。
lsmod でモジュールの読み込み状態を確認。統合サービスのマウス統合、ハートビート、シャットダウン連携は機能しました。時刻同期が機能するには、adjtimex が必要かもしれません (たぶん)。
# apt-get install adjtimex
linux-3.3-rc1/tools/hv_kvp_daemon.c をコンパイルして動かすと、ホストとの KVP データ交換も動きます。
1/31 に linux-3.3-rc2 が出ましたが、hv_storvsc はまだ Staging のままでした。
返信削除