linux3.6.5内核移植到S3C6410

本文详细介绍了如何将 Linux 3.6.5 内核移植到 S3C6410 硬件平台,包括准备工作、内核源码修改、配置、编译以及解决常见问题。涉及的步骤包括设置交叉编译工具、配置 NAND Flash 分区、处理 yaffs 文件系统支持、USB 和文件系统配置,并给出了内核编译过程中遇到错误的解决方案。
摘要由CSDN通过智能技术生成

***********************准备工作***************************

1, 硬件平台:S3C6410

      软件平台:Fedora14/16 + arm-linux-gcc 4.2.2-eabi

2,下载linux-3.6.5.tar.bz2,解压源码到目录 urdir (你选择要放的目录,下同)

3,添加yaffs文件系统所需的准备。(独立完整的过程请参考:http://blog.csdn.net/cocoxiaomei/article/details/8498161)

1)下载源代码命令:git clonegit://www.aleph1.co.uk/yaffs2(@qingwu:一般在终端下都有git支持)

也可以在windows下用git工具下载(这里请注意:windows下的文件可能会出现回车换行的错误,比如^M不能识别等,可以参考:

http://blog.csdn.net/cocoxiaomei/article/details/8497929 

2)yaffs源代码下载完后,进入yaffs2源代码目录,执行:#./patch-kernel.sh c  m  urdir/linux-3.6.5(其中c:复制代码 ,m:使用支持多版本代码)

因为我们选择的系统为mini6410,因此接下来的修改以及配置都是在此基础上的。


************************内核源码文件修改*******************************

4,进入解压后的内核源码目录 ,修改Makefile文件。

[root@localhost linux-3.6.5]# vi Makefile
line 195      ARCH       ?= $(SUBARCH)       改为:ARCH ?= arm
line 196      CROSS_COMPILE ?=                改为:CROSS_COMPILE     = arm-linux-  

前者是对体系架构的定义,我们是arm平台。后者是交叉编译工具的选择。修改完成后保存退出。

5,执行 make s3c6400_defconfig,Makefile能够针对S3C6410做一系列默认配置

  注:这个命令可能会出错,说没有s3c6410_defoncig的信息,如下:*** Can't find default configuration"arch/arm/configs/s3c6410_defconfig"!

这时可以执行:

[root@localhostlinux-3.6.5]#cp  arch/arm/configs/s3c6400_defconfig .config,然后再运行:

[root@localhost linux-3.6.5]# make s3c6400_defconfig 。【注:这里我用的s3c6400,因为目录下只有64006410最近。】

6,修改flash分区信息(line121 of mach-mini6410.c),设置成跟bootloader中的分区信息一致。

 [root@localhost linux-3.6.5]# vim arch/arm/mach-s3c64xx/mach-mini6410.c<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值