Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1613947
  • 博文数量: 245
  • 博客积分: 10378
  • 博客等级: 上将
  • 技术积分: 2571
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-27 08:19
文章分类

全部博文(245)

文章存档

2013年(4)

2012年(8)

2011年(13)

2010年(68)

2009年(152)

分类: LINUX

2009-07-03 20:03:28

软件平台:redhat9.0 +arm-linux-gcc 3.4.5

硬件平台:s3c2410试验箱

致谢:

    这里参考了很多文档,甚至这份文档中的一部分中从别的地方粘贴过来的,当做了很多的修改,因为不同版本的内核移植过程有很多地方是相似的,只可能有一些小的修改。因为毕业论文的原因,其中有一个月的时间没怎么弄这东西,很多地方变的生疏了,最近看见出了2.6.30的核,就移植下,具体的修改的地方如下:


1.
修改顶层Makefile文件

   直接将Makefile文件里面的      

   ARCH ?= $(SUBARCH)  

   CROSS_COMPILE ?=

   改为:

   ARCH ?= arm

   CROSS_COMPILE ?=/usr/local/arm/3.4.5/bin/arm-linux-

然后用S3C2410的默认配置文件

#make s3c2410_defconfig        //此命令 configuration written to .config 
                               //
要先按上面方法修改完成Makefile文件才能执行这一步

#make menuconfig               //只需修改下面几项
载入默认2410的默认配置, 当需要对配置在简化一下,首先要简化io调度器,默认是4个都开,可以选择开启一个,我选择的是默认anticipatory i/o scheduler,取消对文件系统ext2 ext3 fat32  iso  等的支持,  取消对不需要设备的支持,这个看自己的需要了,这里我不需要satausb等,总之是很多的设备都不需要,逐项去掉就可以了。

2.修改MTD分区
MTD
分区信息在arch/arm/plat-s3c24xx/common-smdk.c文件中修改.      这个也比较简单,我是根据vivi里面的分区信息来的,我的分区信息如下:

static struct mtd_partition smdk_default_nand_part[] = {

        [0] = {

                .name   = "vivi",

                .size   = 0x00030000,

                .offset = 0X00000000,

        },

        [1] = {

                .name   = "kernel",

                .offset = 0x00050000,

                .size   = 0x00200000,

        },

        [2] = {

                .name   = "root",

                .offset =0x00250000,

                .size   =0x03dac000,

        }

};

有的文章介绍说这个文件还要修改smdk_nand_info如下:
static struct s3c2410_platform_nand smdk_nand_info = {
.tacls              = 0,        //default is 20
.twrph0          = 30,       //default is 60
.twrph1          = 0,        //defualt is 20 changed by yangdk
.nr_sets   = ARRAY_SIZE(smdk_nand_sets),
.sets        = smdk_nand_sets,
};
关于上边参数的设置,我的板子应该是30  70  30,这个参数估计都差不多。
3.
内核增加yaffs2支持

到网上下载ysffs2源代码,解压之后进行如下修改:

./patch-ker.sh c /2440/linux-2.6.29

2.6的核中,加yaffs2的补丁是很容易的,只要上边的命令,就可以了,它会自动的更新响应的kconfig makefile文件,然后就支持make xconfig  ,选中yaffs2选项就可以了。

4.#make  zImage        生成zImage

 

阅读(1838) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~