2005年3月26日 星期六

解決 Linux Kernel 2.6 的龐大體積

Standard
Linux Kernel 2.6 在設計上進步太多太多了,讓許多人急於跟進。但應該有人會發現,當 2.6 版的 kernel 編譯好後,他的 Modules 居然有快 400mb!真的是技術進步,身材也跟著進步了呢!

解決辦法就是用 strip 指令去縮小他。但很多人應該都試過,如果用 strip 去減少模組的大小,這些被處理過的模組都會壞掉不能使用。其實,並不是不能用 strip ,而是要有條件的用,以免刪到模組中重要的東西。你可以使用以下指令可以在不破壞模組程式下,將模組的體積縮小:

strip -g -S -d *.ko

PS. 關於 strip 有許多 Options,可以自行查閱。

後記

雖然 Linux 核心的模組選單中有自動 strip 模組的項目,但我發現並不是一定有效果,往往就算勾選,最後也是沒有做 strip 的動作。所以,在預設 strip 沒效果的情況下,就可以使用 find 指令搭配上述 strip 方法,縮減模組的體積。