[[diary/Kojima]]

・kernel 2.6.26.1 と vmware server

VMware server 1.0.6 + vmware-any-any-update117c を使うと,
kernel 2.6.26.1 でもビルドはできるものの,既存の Virtual Machine が
エラーになって起動できない模様.

#ref(vmware-trouble.jpg)

kernel-2.6.25.14 だと VMware server 1.0.6 のままでビルドできる(逆に
any-any-update117c を使うとエラーになる)し,問題なく起動できるところを見ると
2.6.26.1 か any-any-update117c の問題っぽい感じ

syslog にはこんな感じのメッセージが出ていた

 Aug  9 09:57:43 athlon kernel: Symbol init_mm is marked as UNUSED, 
 however this module is using it.
 Aug  9 09:57:43 athlon kernel: This symbol will go away in the future.
 Aug  9 09:57:43 athlon kernel: Please evalute if this is the right api 
 to use and if it really is, submit a report the linux kernel mailinglist 
 together with submitting your code for inclusion.
 Aug  9 09:57:43 athlon kernel: proc_dir_entry 'vmnet' already registered
 Aug  9 09:57:43 athlon kernel: Pid: 5735, comm: insmod Tainted: P
           2.6.26.1-plamoSMP #1
 Aug  9 09:57:43 athlon kernel:  [proc_register+212/336] proc_register+0xd4/0x150
 Aug  9 09:57:43 athlon kernel:  [create_proc_entry+84/160] create_proc_entry+0x54/0xa0
 Aug  9 09:57:43 athlon kernel:  [<f8d1d913>] VNetProc_MakeEntry+0x13/0x30 [vmnet]
 Aug  9 09:57:43 athlon kernel:  [<f8d1d94b>] VNetProc_Init+0x1b/0x20 [vmnet]
 Aug  9 09:57:43 athlon kernel:  [<f8d1997a>] init_module+0xa/0xe0 [vmnet]
 Aug  9 09:57:43 athlon kernel:  [blocking_notifier_call_chain+23/32] blocking_notifier_call_chain+0x17/0x20
 Aug  9 09:57:43 athlon kernel:  [sys_init_module+290/7152] sys_init_module+0x122/0x1bf0
 Aug  9 09:57:43 athlon kernel:  [handle_mm_fault+289/1552] handle_mm_fault+0x121/0x610
 Aug  9 09:57:43 athlon kernel:  [_write_unlock_irqrestore+0/48] _write_unlock_irqrestore+0x0/0x30
 Aug  9 09:57:43 athlon kernel:  [syscall_call+7/11] syscall_call+0x7/0xb
 Aug  9 09:57:43 athlon kernel:  =======================

後ろの方は kernel oops っぽいが,vmnet.o 自身はモジュールとしてロードされている模様.

ちなみに,2.6.25.14 や 2.6.26.1 で VMware-server をビルドするためには,
CONFIG_UNUSED_SYMBOLS を y にして init_mm という(最近のカーネルでは使われていない)シンボルを利用可能にすると共に,一度 /usr/src/linux 以下で make 
をかけて linux/bounds.h を生成する必要があるみたい.

このあたり,Linux にとっては毎度のことだけど,
バージョンごとに仕様が変わっているから vmware の関係者は大変だろうなぁ.

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS