首先,要有一个内核文件,比如我的是Linux-2.6.38,当然如果要选择Linux版本的话,应了解相应Linux版本的基础知识:
Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3组数字组成:第一位数.第二位数.第三位数
第一位数:目前发布的内核主版本。
第二位数:偶数表示稳定版本;奇数表示开发中版本。
第三位数:版本的发布号。
例1:Linux 2.6.38 ,
第一位数: 2 , 主版本号
第二位数: 6 , 次版本号,表示稳定版本(因为是偶数)
第三位数:38 , 版本的发布号。
所以在选择Linux时,应选择一个较稳定版本的Linux内核,即第二位数为偶数的Linux版本。
在编译Linux内核时,需要配置内核,可以使用以下指令中的一个:
make config
make menuconfig
make xconfig
make gconfig
其中,config是基于文本的最为传统的配置界面,不推荐使用;menuconfig是基于文本菜单的配置界面;xconfig要求QT被安装;gconfig要求GTK+被安装。
一开始我傻乎乎的在U-boot文件夹下使用命令,用了好几次发现一直不对。。。
可能很多人会在编译内核和模块的时候发现很多问题,在这里我也简单地列举下,我遇到的几个问题和最终解决的方法。
1、make xxx_defconfig时,出现错误。
我在~/linux-2.6.38/arch/arm/configs中,找到了s3c6400_defconfig,然后我在终端打开该文件夹
cd /root/linux-2.6.38/arch/arm/