作者:zhyj 傳統編譯內核模塊的方法繁瑣而費時,本文將告訴我們一種快速編譯所需要內核模塊的 新方法。 當你安裝完Linux系統,並且已經啟動,恭喜你!如果你的硬盤上還安裝了WinNT/2000系 統,你試圖去訪問另一個NTFS分區時卻遇到了麻煩。因為你所用的Linux系統沒有已編譯 的支持NTFS文件系統的模塊。怎麼辦?也許你會運行make menUConfig,重新定制你需要 的所有模塊,接著運行make modeules;make modeules_install來安裝。這樣不僅繁瑣、 費時,還可能會出現問題。或者因為編譯內核對你有些棘手,太多的選擇讓你手足無措 ,你根本沒有太好的方法。本文給你提供一個簡單的方法,你可以輕松地去編譯你所需 要的支持NTFS系統的模塊(ntfs.o)。以此為例,但願對你編譯其他模塊有所幫助。 寫此文時我用的系統是Red Hat Linux release 7.0 (Guinness) Kernel 2.2.16-22 on an i686。從一個新安裝的系統開始,我們一起去編譯一個自己想要的支持NTFS文件系 統模塊。 一、找到編譯內核所需要的.config文件。 在/usr/src/linux/configs目錄下有若干編譯內核所用的配置。選擇我們想要的配置, 將它復制到/usr/src/linux目錄下,改名為.config。 cp /usr/src/linux/configs/kernel-2.2.16-i686.config /usr/src/linux/.config 二、修改.config文件,去掉不用的模塊,加上自己想要的模塊。 打開.config,有許多XXXX=m的項,這些都是要被編譯為模塊的項,因為我們不希望編譯 這些模塊,所以要把XXXX=m的項統統去掉。然後再加上我們想要的模塊,將# CONFIG_N TFS_FS is not set 改為CONFIG_NTFS_FS=m 當然,可以用你熟悉各種工具來做這件事。 三、編譯NTFS模塊。 在/usr/src/linux目錄下運行命令make modules來編譯我們想要的NTFS模塊。 四、安裝NTFS模塊。 編譯後得到的ntfs.o在/usr/src/linux/fs/ntfs目錄下,手動將它復制到正確的目錄下。 cp /usr/src/linux/fs/ntfs/ntfs.o /lib/modules/2.2.16-22/fs/ 注意:千萬不能運行命令make modules_install,否則將帶來嚴重的後果,它會刪除你 系統中的所有模塊,只安裝剛剛編譯的模塊(ntfs.o)。 五、載入NTFS模塊. 運行命令depmod;modprobe ntfs 試著訪問你的NTFS文件系統吧,祝你成功! 有些模塊依賴於你的系統內核,所以不適用本文所提供的方法。還有些模塊和其他模塊 有依賴關系。如果你不熟悉這些依賴關系的話,建議你在第二步去掉不用的模塊選項後 ,通過make menuconfig來加上自己想要的模塊。 我用此方法用了三分鐘編譯了支持NTFS文件系統的模塊,你呢? 作者簡介 劉軍民,海辰天澤公司的工程師(www.hisen.com),源碼開放運動的追隨者,業余時間喜 歡用寫程序打發時光。您可以通過電子郵件
[email protected]與他聯系。