linux内核配置哪些是必须的

如题所述

内核配置注意事项

如果打算自己编译内核的话(内核源代码可以到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的栈结构是不一样的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-07-23
一般来说,配置都有其作用,你所要的是确定哪些配置是不需要的,并配置成删除,否则留着也没有太大问题,只是占用内存而已
第2个回答  2015-03-15
#DOS/FAT/NT Filesystems 内核配置
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=936
CONFIG_FAT_DEFAULT_IOCHARSET="cp936"
CONFIG_EXFAT_FS=m
CONFIG_EXFAT_DEFAULT_CODEPAGE=936
CONFIG_EXFAT_DEFAULT_IOCHARSET="cp936"
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_UTF8=y

能修复以下错误
FAT-fs (mmcblk0p1): codepage cp936 not found

kernel: FAT-fs (mmcblk0p1): IO charset UTF8 not found

FAT-fs (mmcblk0p1): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
第3个回答  2015-08-08
由于Linux系统是一个比较复杂的操作系统,内核配置的选项也特别多,如果不是内核级别的开发人员的话,不要随便设置内核。
因为Linux内核,本身就带有不同厂家芯片的框架与驱动,所以内核配置最好的办法就是使用默认配置的基础之上,只配置与自己设备相关的选项。

进入主机的相关文件夹后,make menuconfig打开内核配置,然后保存。使用命令make uImage编译内核,最后下载到自己的设备中,看看设置结果。
相似回答