第一步:到内核官网上下载最新的内核,我下载的是linux-3.3-rc3.tar.bz2。
第二步:解压内核,进入arch/arm/mach-s3c64xx目录下,看到不少6410的板级文件,我们这里选择mini6410开开展工作,在目录下将mach-mini6410.c文件复制一份,命名为:mach-jfj6410.c。这里我们将文件里面关于mini6410的字样都修改为jfj6410.但是这里要注意,MACHINE_START(JFJ6410, "JFJ6410")这里的JFJ6410要使用大写,稍候说明为什么。大家都知道在一个目录下添加了文件后,都应该修改当前目录下的Kconfig和Makefile两个文件,这是Linux系统编译的要求。至于怎么修改,仔细看一下文件内容我相信大家都知道。
Kconfig文件是进行make menuconfig时出现的配置选项,这里我们添加了自己的板级文件肯定要添加配置选项。内容可以复制MINI6410的。如下:
Makefile文件就是说明要编译的文件,以及编译的规则,这里显然就是要编译我们自己的板级文件mach-jfj6410.c,具体如下:
第四步:编译make zImage。呵呵,这样就生成了我们需要的内核。
第五步:烧写,测试内核。因为我们是测试内核,所以U-Boot以及根文件系统都是使用之前的,这里没有移植yaffs,所以我目前使用cramfs格式的文件系统。
启动开发板后出现了如下的错误:
源代码为:
再次编译内核,烧写后正常运行,打印的信息如下: