的内核配置工作变得更轻松,从linux 2.6开始内核提供了一种将.config附加到映像文件的方法,通过这种方法,内核
配置者可以不必备份当前的.config文件,而是在需要的时候直接从内核映像中提取.config文件。步骤如下:
1. 配置内核
1.1 make menuconfig;
1.2 选择如下:
General setup --->
<*>Kernel .config support
[*] Enable access to .config through /proc/config.gz
1.3 make uImage
2. 提取配置文件
2.1 方法一,从uImage文件中提取:
2.1.1 打开控制台,cd进入到linux源码树根目录,我的为:/root/Desktop/easy2440/linux-2.6.30.9-easy2440
2.1.2 输入如下命令:scripts/extract-ikconfig arch/arm/boot/uImage >config
2.1.3 命令执行完后,将会在linux源码树根目录下面生成config文件;
2.1.4 config文件即为我们需要的内核配置文件,可以将其替代.config文件。
2.2 方法二,从开发板的/proc/config.gz中提取:
2.2.1 将新生成的uImage文件下载到开发板;
2.2.2 准备串口控制台,启动开发板;
2.2.3 开发板正常启动后,在控制台输入命令:cat /proc/config.gz | gzip -d >/home/config
2.2.4 命令执行完后,将会在/home目录下生成config文件
2.2.5 config文件即为我们需要的内核配置文件,可以将其替代.config文件。
内核配置注意事项如果打算自己编译内核的话(内核源代码可以到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的栈结构是不一样的。
config。将光标移动到配置界面末尾,选中“SaveanAlternateConfigurationFile”后。回车,保存当前内核配置,默认配置文件名为config,0.2所示。内核(Kernel),又称核心,是 *** 作系统最基本的部分,主要负责管理系统资源。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)