传统编译内核模块的办法繁琐而费时,本文将告知咱们一种快速编译所需求内核模块的新办法。
当你装置完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文件体系模块。
一、找到编译内核所需求nfig文件
在/usr/src/linux/configs目录下有若干编译内核所用的装备。挑选咱们想要的装备,将它复制到/usr/src/linux目录下,改名nfig。
cp /usr/src/linux/configs/kernel-nfig /usr/src/nfig
二、修nfig文件,去掉不必的模块,加上自己想要的模块
打nfig,有许多XXXX=m的项,这些都是要被编译为模块的项,由于咱们不期望编译这些模块,所以要把XXXX=m的项通通去掉。然后再加上咱们想要的模块,将# CONFIG_NTFS_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文件体系的模块,你呢?