分类: 嵌入式
2010-10-16 23:46:40
1、 进入Linux-
make s
2、 配置内核模块的功能,有几种方式可以进行界面选择:
make menuconfig(文本选单的配置方式,在有字符终端下才能使用)
make xconfig(图形窗口模式的配置方式,图形窗口的配置比较直观,必须支持Xwindow下才能使用)
make oldconfig(文本配置方式,在原内核配置的基础修改时使用)
这里使用make menuconfig命令。
3、[*]Enable loadable module support--->
[*]Forced module loading
[*]Module unloading
4、System Type--->
S
[*]SMDK2410/A
S
[*]SMDK2440
[*]SMDK2440 with S
其余的Machines下选项全部不选(如2400,2412,2442,2443)
5、Kernel Features--->
[*]Use the ARM EABI to compile the kernel
注:由于所使用的的交叉编译arm-linux-gcc-
参考:%3D1
6、Boot options-
noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0 mem=
7、Userspace binary formats--->
[*]Kernel support for ELF binaries
其它的可以全部不选。
8、 选择支持yaffs2文件系统
Filesystem--->
Miscellaneous filesystems--->
<*>YAFFS2 file system support
[*] Lets Yaffs do its own ECC
[*]Autoselect yaffs2 format
[*]Disable lazy loading
[*]Turn off wide tnodes
[*]Force chunk erase check
Native language support
<*> Codepage 437 (United States,
<*>Simplified Chinese charset(GB2312)
<*>Traditional Chinese charset(Big5)
<*>NLS ISO 8859-1(Latin1:Western European Languages)
<*>NLS UTF-8
9、Device Drivers--->
Graphics support--->
<*>Support for frame buffer devices--->
[*]Enable firmware EDID
[*]Enable Video Mode Handling Helpers
<*>S
Console display driver support--->
<*>Framebuffer Console support
[*]Select compiled-in fonts
[*] VGA8x8 font
[*]VGA8x16 font
[*]Bootup logo--->
[*]Standard black and white Linux logo
[*]Standard 16-color Linux logo
[*]Standard 224-color Linux logo
在Bootup logo--->选择的那几项,将会在系统启动时在液晶上显示开机logo。
编译内核需要遵守以下步骤:
1、make dep
make dep的意思就是说:如果你使用程序A(比如支持特殊设备),而A需用到B(比如B是A的一 个模块/子程序)。而你在做make config的时候将一个设备的驱动 由内核支持改为module,或取消支持,这将可能影响到B的一个参数的设置,需重新编译B,重新编译或连接A....如果程序数量非常多, 你是很难手工完全做好此工作的。make dep实际上读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要编译。所以,你要make dep。
2、make clean
清除一些以前留下的文件,比如以前编译生成的目标文件,这一步必须要进行。否则,即使内核配置改动过,编译内核时还是将原来生成的目标文件进行连接,而不生成改动后的文件。
3、make zImage
Linux内核有两种映像:一种是非压缩内核,叫 Image,另一种是它的压缩版本,叫zImage。根据内核映像的不同,Linux内核的启动在开始阶段也有所不同。zImage是Image经过压缩形成的,所以它的大小比 Image小。但为了能使用zImage,必须在它的开头加上解压缩的代码,将 zImage解压缩之后才能执行,因此它的执行速度比Image要慢。但考虑到嵌入式系统的存储空容量一般比较小,采用zImage可以占用较少的存储空间,因此牺牲一点性能上的代价也是值得的,所以一般的嵌入式系统均采用压缩内核的方式。
编译完成后,会在内核目录arch/arm/boot/下生成zImage内核映像文件。