內核配置注意事項
如果打算自己編譯內核的話(內核源代碼可以到ftp://ftp.kernel.org/pub/kernel/ 下載,國內下載可以到ftp://ftp.cn.kernel.org/pub/kernel/ 這樣下載速度更快),在編譯之前一般都要先用make menuconfig或make xconfig配置內核。我的系統中沒有xconfig,所以只能用menuconfig.在我的Compaq Presario V3414TX laptop上編譯2.6.23.x內核時,以下選項是必須要注意的:
1、Networking ——>
Wireless LAN ——>
[M]Generic IEEE 802.11 Networking Stack (mac80211)
這是Linux當前使用的網絡棧模塊。如果想要使用無線網卡(我的是Intel PRO/3945 ABG),就要將此選項編為模塊(或者編入內核也可以,那樣啟動時就會自動加載mac80211模塊)。否則到時候就要自己去intellinuxwireless.org下載該模塊進行安裝。
2、Device Drivers ——>
Network Drivers ——>
Wireless LAN——>
[M]Intel PRO/Wireless 3945ABG Network Connection
Intel PRO/Wireless 3945ABG Network Connection這一項可以換成你的任何無線網卡。同樣,如果你想使用無線網卡的話,這一項也是要編為模塊的。但是我最後編譯的2.6.23.14內核中沒有這一項,因此就必須到intellinuxwireless.org下載3495ABG的驅動了。
3、File System ——>
DOS/FAT/NT Filesystems ——>
<*> VFAT (Windows-95) fs support
(437) Default codepage for FAT (NEW)
(utf8) Default iocharset for FAT (NEW)
將 VFAT (Windows-95) fs support 選為y是為了讓內核能支持FAT格式硬盤的掛載。這裡codepage要用437;在網上很多文章都說要用936,這樣才能讓FAT硬盤的文件名顯示支持中文,但事實上我這麼做之後,在掛載FAT分區時卻被新內核提示無法掛載,系統日志顯示找不到codepage 936——可是我已經將codepage 936編進內核了啊(下文會說明),因此在這一點上我相當困惑。後來發現FAT分區的中文文件名能否正確顯示是取決於 Default iocharset for FAT 這一項,其字符編碼要使用utf8才行。原因上,也許是因為Windows的FAT分區默認的字符編碼是ascii或gb2312,而Linux默認的是utf8編碼,認不得gb2312……這個地方我也不太明白。
4、File System ——>
Native Language Support ——>
[M]Simplified Chinese charset (CP936, GB2312)
想要中文支持的話,當然要選上這一項(事實上Native Language Support 這一欄我就沒動,默認是全部選上的,其中ASCII一項默認被編進內核)。
5、Kernel hacking ——>
[ ]Use 4Kb for kernel stacks instead of 8Kb
如果想要使用ndiswrapper作為無線網卡驅動的話,這一項就要選為n.因為據說Windows和Linux的棧結構是不一樣的