How to build custom kernel for Ubuntu.

64bit 版の G28 デスクトップのビルド・インストールがほぼ完了し、メモリ障害が発生する前の状態までなんとか復旧できた後に、VMware workstation 5 を vmware-update (vmware-any-any-update みたいな拡張パッケージ) を使ってインストールしようしたのだけどモジュールのビルド・エラーが発生した:

/tmp/vmware-update-2.6.31-5.5.9> sudo ./
Updating /usr/bin/ ... corrupted
Updating /usr/bin/vmware ... No patch needed/available
Updating /usr/bin/vmnet-bridge ... No patch needed/available
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.31-17-generic' から出ます
cp -f vmmon.ko ./../vmmon.o
make: ディレクトリ `/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.
For more information on how to troubleshoot module-related problems, please visit our Web site at "" and "".
Execution aborted.

vmware-update を提供しているサイトのコメントを読んでいくと、”See the README file.” とのこと:

init_mm (2.6.29 and above):
You must re-export init_mm to use this vmware version with newer kernels
For this, you must apply the patch 2.6.29-export-init_mm.patch (or kernel-version-export-init_mm.patch) to your kernel sources and re
build your kernel. (unless your distribution did this for you). To check its kinda easy. If the build fails with "unknown symbol" and
"init_mm not found", then you know you're missing it.
it would be nicer, to recode without using mm. this probably takes too much work, for an unsupported vmware version that have been ou t for many years anyway. If you really don't want to patch the kernel, either make your own patch or upgrade vmware/use an alternativ e.

ということで、kernel にパッチしてリビルドが必要だとか。巷にある Debian 系 Kernel パッケージの作り方なんかを参考にパッケージ作成してインストールするも Linux-Restricted-Modules (略してl-r-m) も併せてビルドする必要があるとの警告メッセージが出る。
ということで、KernelCompileCustomRestrictedModules なんかを読んで見るも、Karmic では l-r-m は提供されていないのだが…:O
See Also KernelCompile の日本語訳: Ubuntu でカスタム Kernel パッケージをビルドする手順 (その1)
See Also CustomRestrictedModules の日本語訳: Ubuntu でカスタム Kernel パッケージをビルドする手順 (その2)