设为首页 加入收藏

TOP

基于S3C2440的Linux-3.6.6移植
2014-11-24 02:33:47 来源: 作者: 【 】 浏览:0
Tags:基于 S3C2440 Linux-3.6.6 移植

1.在下面的网站内下载目前最新的稳定版本的linux内核——linux-3.6.6



2.解压到当前目录


tar –xvjf linux-3.6.6.tar.bz2



3.修改在根目录下的Makefile文件中的第195行和第196行:


ARCH =arm


CROSS_COMPILE = arm-linux-



4.修改机器码,要与uboot中所设置的机器码一致,在arch/arm/tools目录下的mach-types文件中的第207行添加:


zhaocj2440 MACH_ZHAOCJ2440 ZHAOCJ2440 1008



5.在arch/arm/mach-s3c24xx目录下


复制mach-mini2440.c文件为mach-zhaocj2440.c文件:


cp mach-mini2440.c mach-zhaocj2440.c



把mach-zhaocj2440.c文件内的所有MINI改为ZHAOCJ,把mini改为zhaocj



第246行中的zhaocj2440_default_nand_part结构体改为:


/* NAND Flash on ZHAOCJ2440 board */



static struct mtd_partition zhaocj2440_default_nand_part[] __initdata = {


[0]= {


.name = "u-boot",


.size = SZ_512K,


.offset = 0,


},


[1]= {


.name = "u-boot-env",


.size = SZ_512K,


.offset = SZ_512K,


},


[2]= {


.name = "kernel",


.offset = SZ_2M,


.size = SZ_4M+ SZ_2M,


},


[3]= {


.name = "root",


.offset = SZ_8M,


.size = MTDPART_SIZ_FULL,


},


};



在该目录下,在Makefile文件中的第78行处添加:


obj-$(CONFIG_MACH_ZHAOCJ2440) += mach-zhaocj2440.o



仍然是在该目录,在Kconfig文件中的第467行处添加:


config MACH_ZHAOCJ2440


bool "ZHAOCJ2440 development board"


select S3C_DEV_NAND


select S3C_DEV_USB_HOST


help


Say Y here to select support for the ZHAOCJ2440



6.在drivers/mtd/nand目录下的s3c2410.c文件内,第846行中的NAND_ECC_SOFT改为NAND_ECC_NONE,即:


chip->ecc.mode = NAND_ECC_NONE;



7.在arch/arm/configs目录下,复制mini2440-defconfig文件为zhaocj2440-defconfig文件,并把第21行中的CONFIG_MACH_MINI2440=y 修改为:


CONFIG_MACH_ZHAOCJ2440 = y



8.退回到linux-3.6.6的根目录下,复制配置文件:


cp arch/arm/configs/zhaocj2440_defconfig .config



9.使用menuconfig来配置内核:


make menuconfig


不用修改里面的任何内容,保存退出即可。



10.最后执行下面两个命令:


make clean


make zImage


等待一段时间后,便会在arch/arm/boot/目录下生成zImage文件。


相关阅读


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇基于 Spring 设计并实现 RESTful .. 下一篇按键从Linux到Android

评论

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