设为首页 加入收藏

TOP

Linux3.6.5内核移植到S3C6410
2014-11-24 08:45:04 来源: 作者: 【 】 浏览:0
Tags:Linux3.6.5 内核 移植 S3C6410

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


1, 硬件平台:S3C6410


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支持)


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


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


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


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


前者是对体系架构的定义,我们是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


结构体 mtd_partition mini6410_nand_part[]保存了nand flash的分区信息,修改如下:


static structmtd_partition mini6410_nand_part[] = {
[0] = {
.name = "uboot",
.size = SZ_1M,
.offset = 0,
},
[1] = {
.name ="kernel",
.size = SZ_2M,
.offset = SZ_1M,
},
[2] = {
.name ="rootfs",
.size = SZ_1M * 0x30,
.offset = SZ_1M + SZ_2M,
},
[3] = {
.name ="file_system",
.size =MTDPART_SIZ_FULL,
.offset = SZ_1M * 0x33,
},
};


修改之后分区情况就如下表所示:


表3-1 NAND FLASH分区表




*******************************内核配置界面************************************


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇把C++类成员方法直接作为线程回调.. 下一篇Struts2 action之间相互跳转传递..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·有没有哪些高效的c++ (2025-12-27 08:20:57)
·Socket 编程时 Accep (2025-12-27 08:20:54)
·计算机网络知识点总 (2025-12-27 08:20:52)
·一篇说人话的文章, (2025-12-27 07:50:09)
·Python Web框架哪家 (2025-12-27 07:50:06)