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