2013年7月12日金曜日

VMware上のlinuxでカーネルの再構築 その3 もう少し煮つめてみよう編

Hyper-V用のカーネルを作る話をもう少し続けてみます。

どうもパッケージ名に関してはこんな感じで良さそう



$ time sudo make-kpkg --revision=0.2 --append-to-version=-hyperv kernel_image


これで「linux-image-3.10.0-hyperv_0.2_amd64.deb」という名前の物がはかれます。参考にしたページは古いのかこのオプションがどちらかしか入っておらず、--revisionの方は数字からスタートじゃないとおこられるし、--append-to-versionだけつけるとなんかバージョン番号の所にも同じ文字が入ってしまって長い名前が生成されてしまうという状況で前回のPOSTにはこの辺のオプションを含めていませんでした。やっぱり情報の鮮度って重要ですな・・・。


<閑話休題>


その2で作ったカーネルが何故期待した動きにならないのかという点。

まず、CONFIG_MEMORY_HOTPLUGがオンになっていないのではないかという指摘。確認確認・・・。入ってないじゃんorz これが無いとMemory Hot-addがちゃんと動かないのかな?

とりあえず下記の場所で設定出来る模様。


Processor type and features  --->
  [*] Allow for memory hot-add
  [*]   Allow for memory hot-remove


その他忘れ物達


Device Drivers  --->
  SCSI device support  --->
    [*] SCSI low-level drivers  --->
      <M> Microsoft Hyper-V virtual storage driver


大事な物忘れていましたなorz


あとdpkg -iで入れた時に/bootにinitrd.img-3.10.0-hypervが存在しない場合は以下の2ステップが必要でした。


$ sudo depmod 3.10.0-hyperv
$ sudo mkinitramfs -o /boot/initrd.img-3.10.0-hyperv 3.10.0-hyperv
$ sudo update-grub

まぁ、ここまでしてみたけどhot-addに関しては動いていない感じ。さらにいくつかデーモン動かして様子を見てみるとなんかネットワークが死亡する現象が。ダメだなぁこれは。

一応素のDebian7.1のカーネルだと動的メモリ拡張は動かないけど安定度という意味では普通に動いている様に見えるのでこちらの設定+Hyper-V関連というのも作ってみました。


結果・・・


-rw-r--r--  1 root root  4994468 Jul  8 14:31 linux-image-3.10.0-hyperv_0.3_amd64.deb
-rw-r--r--  1 root root 31629920 Jul 12 14:37 linux-image-3.10.0-hyperv_0.4_amd64.deb

すげーでかくなったw

でも結局安定せず同じように死んでしまいますorz

さてどうしたものかなぁ。

あ、ちなみにmemory hot-addに関してはHyper-V 2012 R2からじゃないと動かないんだ疑惑も出ていますがVMware上にHyper-Vサーバを構築という無茶をしてみた感じ動きは変わらずという感じ。さてはて・・・。

0 件のコメント:

コメントを投稿