Chinaunix首页 | 论坛 | 博客
  • 博客访问: 149880
  • 博文数量: 18
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 222
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-24 22:24
个人简介

电子民工

文章存档

2011年(1)

2009年(16)

2008年(1)

我的朋友

分类: LINUX

2009-06-16 23:17:39

 
    从上面信息可以看出,从2410配置项移植过来的 kernel 还需要进行修改才能正常,下面进行配置相关项
    6)修改内核参数
      由于我们板子使用的是12MHZ晶振,则修改arch/arm/mach-s3c2440/mach-smdk2440.c中参数
      180      s3c24xx_init_clocks(16934400);
      修改为
      180      s3c24xx_init_clocks(12000000);     
    7)修改MTD分区,我们设置分区如下:
      
      kernel      : 0Mbit ~ 2Mbit
      jffs2       : 2Mbit ~ 10Mbit
      yaffs2      : 10Mbit~ 64Mbit
     
      修改代码arch/arm/plat-s3c24xx/common-smdk.c中smdk_default_nand_part结构
 
      static struct mtd_partition smdk_default_nand_part[] = {
             [0] = {
                 .name = "kernel",
                 .size = SZ_2M,
                 .offset = 0,
             },
             [1] = {
                 .name = "jffs2",
                 .offset = SZ_2M,
                 .size = SZ_8M,
             },
             [2] = {
                 .name = "yaffs",
                 .offset = SZ_2M+SZ_8M,
                 .size   = SZ_64M-SZ_2M-SZ_8M,
      }
};
      然后保存,再使用make zImage生成的zImage文件使用mkimage制作uImage文件烧录到SDRAM会出现分区信息如下
 

creating 3 MTD partitions on "NAND 64MiB 3,3V 8-bit":

0x00000000-0x00200000 : "kernel"

0x00200000-0x00a00000 : "jffs2"

0x00a00000-0x04000000 : "yaffs2"

  
     8)移植YAFFS文件系统
       A.解压yaffs文件系统后里面有两个目录yaffs和yaffs2,我们使用最新的yaffs2代码
       B.修改内核代码fs/Kconfig文件,增加下面代码
         # patched by YAFFS
         source "fs/yaffs2/Kconfig"
       C.修改内核代码fs/Makefile文件,增加下面代码
         # patched by YAFFS
         obj-$(CONFIG_YAFFS_FS)
       D.在内核fs/下创建yaffs2目录,然后拷贝yaffs2目录下的源文件至该目录下,包括以下文件
         Makefile.kernel 修改为Makefile
         Kconfig
         *.c,*.h(不包括子目录下的文件)
      9)配置编译内核
        使用make menuconfig后,进入如下目录选择YAFFS2 file system support目录
        File system --->
           Miscellaneous filesystem --->
             <*> YAFFS2 file system support
 
        最后make zImage再制作uImage文件烧录入nand flash,启动kernel就基本可以使用了,到这里我们移植的kernel基本可以使用了,但里面还没有根文件系统,所以会出现panic,下一节我们介绍如何移植busybox等
阅读(1876) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~