・linux-2.6.20.3
そろそろ patch version も 3 くらいになったので 2.6.20 も使えるようになっ たと手元の環境であれこれテスト.2.6.20 系は HDD 回りが従来の ATA と新し い libata に分かれていて,流れ的には SATA も統一的に扱える libata に統 合する方向だとは思うものの,libata では従来ほど細かくそれぞれの ATA チッ プに対応していないようなので,どちらを使うかは悩ましいところ.とりあえ ず手元では従来の ATA を主に使い,libata は SATA を中心に,jmicron とか 従来の ATA ドライバでは対応していないもの用に使うように設定してみたけど 該当する環境が手元にないからテストできないのが悩ましいところ.早目に整 理して ML に投げてテストしてもらう方がいいかな.
もう一つ 2.6.20.3 で悩ましいのが VMware が動かないこと.とりあえず vmmon-only/compat_kernel.c のコンパイルエラーは該当個所をコメントアウトして しのいだのだけど,vmware-config.pl でモジュールをコンパイル,ロードしようとすると
Building modules, stage 2. MODPOST 1 modules CC /tmp/vmware-config1/vmmon-only/vmmon.mod.o LD [M] /tmp/vmware-config1/vmmon-only/vmmon.ko make[1]: Leaving directory `/usr/src/linux-2.6.20.3' cp -f vmmon.ko ./../vmmon.o make: Leaving directory `/tmp/vmware-config1/vmmon-only' Unable to make a vmmon module that can be loaded in the running kernel: insmod: error inserting '/tmp/vmware-config1/vmmon.o': -1 Unknown symbol in module There is probably a slight difference in the kernel configuration between the set of C header files you specified and your running kernel. You may want to rebuild a kernel based on that directory, or specify another directory.
みたいなエラーになってしまう.どうやらエラーの原因は vmmon.ko に含まれ ているparavirt_ops なるシンボルが未解決なことのようだけど,これってカー ネルレベルの仮想化機能(KVM)関連のシンボルだろうなぁ.KVM は手元の設定で は切っているのだけど,VMware の方は設定に関わらず組み込んでしまうみたい. このあたり,VMware で 2.6.20 以降のカーネルに対応するのを待つしかないのかな?