在参考《 ARM 嵌入式 Linux 系统开发从入门到精通》中提到的 linux- 2.6.10 .tar.gz 编译不过之后,总是提示 mm 目录下有编译错误,新下载了一个 linux-2.6.28.tar.gz ,拷贝到指定的目录并解压。我这里只给出我编译通过的简单步骤。编译的是 arm 版本的,以 cpu s 3c 2410 为例。
(1)      make mrproper ,清除原先编译过而残留的 .config .o 文件。
(2)      make s 3c 2410_defconfig ,设置默认配置,相当于修改 linux- 2.6.28 目录下的 .config 文件, s 3c 2410_defconfig 文件在 linux- 2.6.28 /arch/arm/configs 目录下。
(3)      make menuconfig ,配置内核编译选项,显示的是 .congfig 文件中还没有配置的选项。相对于第一个配置,此次的配置是在 .config 的基础上做更详细一些的配置。
4   make ,编译内核
5   make modules ,编译在配置时选择为模块的,即选项前为 [M] 的。
6   make modules_install ,将上一步生成的模块文件复制到相应的目录。
 
4 种主要的配置内核的方法:
1 make config ,提供一个命令行接口方式来配置内核,它会一个接一个的询问关于每一个选项,如果已经有了 .config 配置文件,它将根据配置文件来询问选项的默认值。
2 make oldconfig ,它会使用一个已有的 .config 配置文件,提示行会提示那些之前还没有配置过的选项。
3 make menuconfig ,显示一个基于文本的图形化终端配置菜单,如果一个 .config 文件已经存在,它将使用该文件设置那些默认的值。
4 make xconfig ,显示一个基于 X 窗口的配置菜单,使用该方法必须支持 X window 系统,如果 .config 文件已经存在,它将使用该文件配置那些默认的值。