移植linux系统到QQ2440V3之二(修改内核实现对yaffs的支持)

 
    从上面信息可以看出,从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等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值