Linux核心是支持DOS/FAT/NTFS分區格式的,對內核編譯選項稍加配置,編譯后即可支持fat中文分區。
啟動內核編譯配置程序# cd /usr/src/linux
# make menuconfig內核編譯配置程序是“圖形化”的,其默認填好的配置選項,通常可以滿足你的機器配置需求,除非你用了一些非大眾化的硬件設備。如果你喜歡讓內核與你的硬件形成最佳拍檔,那么就應當耐心學會根據自己的硬件型號,對內核編譯選項進行精心配置。譬如本文所講的讓Linux kernel支持你的fat32、NTFS分區。
設定內核支持FAT分區簡體中文(cp936)碼表與utf字符集
File systems --->
DOS/FAT/NT Filesystems -->
VFAT (Windows-95) fs support
(936) Default codepage for FAT
(utf8) Default iocharset for FAT
NTFS file system support --->codepage 指的是一個經過挑選的以特定順序排列的字符內碼列表,對于早期的單字節內碼的語種,codepage中的內碼順序使得系統可以按照此列表來根據鍵盤的輸入值給出一一對應的內碼。對于多字節內碼,則給出的是MultiByte到Unicode的對應表,這樣就可以把以Unicode形式存放的字符轉化為相應的字符內碼;或者反之。
在此設定FAT分區的默認codepage為cp936,而cp936是簡體中文的內碼序列表;另外Linux僅支持utf-8編碼。現在明白了為什么要設定這兩個選項了吧?這兩個選項的設定,直接關系到FAT分區掛載后,分區內所有中文字符的顯示。
“NTFS file system support”是設定Linux對NTFS分區讀寫功能的,可根據實際情況自行設定。我已經將我的WINDOWS分區統一搞成了FAT32。
設置本地語言支持(Native Language Srpport,NLS)
Native Language Support --> <*> Simplified Chinese CHARSET (cp936, GB2312) <*> NLS UTF-8 |
前文中,已經設定FAT分區的內碼為cp936,這里就要指定相應的字體集,不然顯示中文就會出現很多小方框;同理,相應的utf8字符集也要對應NLS UTF-8。
內核編譯與安裝內核編譯相關選項設定完畢后,可保存為.config文件,位于“/usr/src/linux”目錄下。
內核編譯與安裝命令:
# cd /usr/src/linux
# make && make modules_install
# cp arch/i386/boot/bzImage /boot/kernel-2.6.21-gentoobzImage就是編譯好的內核壓縮文檔,位于“/usr/src/linux/arch/i386/boot/bzImage”。內核最終要放在/boot分區內,才可以重啟時,被裝載。
我的系統是Gentoo,所以最終將內核復制為"/boot/kernel-2.6.21-gentoo"。