分类: LINUX
2008-03-23 17:13:51
来源:赛迪网 作者:korn |
内核配置注意事项
如果打算自己编译内核的话(内核源代码可以到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的栈结构是不一样的。 |