嵌入式 移植Linux内核到mini2440常见问题

原创 2013年12月02日 14:49:50

具体方法参考移植手册,常见问题如下。

错误一:

NOW, Booting Linux......
UncompressingLinux......................................................................................done, booting the kernel.

停止的情况

下面的是tools/mach-types中关于体系的参数定义

s3c2440           ARCH_S3C2440       S3C2440          362

mini2440       MACH_MINI2440       MINI2440       1999

解决方法:linux机器码要与bootloader一致,否则出现这个错误!

2.内核的配置

1..[*] Enable loadable module support --->

      [*]   Module unloading

 2. System Type ----> 
      [*] S3C2410 DMAsupport      [*] Support ARM920T processor 
           S3C2440 Machines ---> 
              [*] SMDK2440 
              [*] SMDK2440 with S3C2440 CPU moduleq

其他的比如2410,2443相关的全部去掉

3.Boot options  ---> 
将(root=/dev/hda1 ro init=/bin/bash console=ttySAC0) Default kernelcommand string

改成    (noinitrdroot=/dev/mtdblock2 init=/linuxrc console=ttySAC0 ) 
其中mtdblock2 表示 MTD 分区的第二个分区存文件系统; Linuxrc 为启动的首个脚本。

4关掉nand ecc .因为bootload中已经有ecc校验算法

Device Drivers ---> 
      <*> Memory Technology Device (MTD) support---> 
              [*]   MTD partitioningsupport 
              <*> NAND Device Support ---> 
                      <*>   NAND Flash supportfor S3C2410/S3C2440 SoC 
                      []    S3C2410 NAND HardwareECC    // 这个要去掉

3.添加nand flash驱动(可参考arm/plat-s3c24xx/common-smdk.c)

  在arm/mach-mini2440.c

错误二:

//注意结构和函数的顺序

中添加static struct mtd_partition mini2440_default_nand_part[] ={
    [0] ={
       .name    ="supervivi",
       .size    0x00040000,//dev/mdkbloack0
       .offset    =0,
    },
    [1] ={
       .name    ="param",
       .offset = 0x00040000,
       .size    =0x00020000,
    },
    [2] ={
       .name    ="Kernel",
       .offset = 0x00560000,
       .size    =1024 *1024 * 1024,
    },
    [3] ={
       .name    ="nand",
       .offset    =0x00000000,
       .size    = 1024* 1024 * 1024,
    },
    
    
};


static struct s3c2410_nand_set mini2440_nand_sets[] = {
    [0] ={
       .name       = "NAND",
       .nr_chips    =1,
       .nr_partitions   = ARRAY_SIZE(mini2440_default_nand_part),
       .partitions   =mini2440_default_nand_part,
    },
};

static struct s3c2410_platform_nand mini2440_nand_info = {
   .tacls       = 20,
   .twrph0       = 60,
   .twrph1       = 20,
   .nr_sets    =ARRAY_SIZE(mini2440_nand_sets),
   .sets       = mini2440_nand_sets,
   .ignore_unset_ecc = 1,
};

相关文章推荐

移植Linux内核到mini2440常见问题

具体方法参考移植手册,常见问题如下。 错误一: NOW, Booting Linux...... Uncompressing Linux................................

移植linux内核到mini2440常见问题

具体方法参考移植手册,常见问题如下。错误一:NOW, Booting Linux......Uncompressing Linux......................................
  • icyrat
  • icyrat
  • 2011年03月25日 22:06
  • 3048

【原创】嵌入式LINUX内核移植(mini2440)----09.02

首先要申明下的,虽说原创,但是整个过程都是辛苦的查阅网络资料一点一点的完成。同时掺杂自己的心得。所以还是希望有些用处,同时也是自己整理一下思路,加深下记忆。 MINI2440的开发板买了很久了。年末的...

【原创分享】嵌入式linux应用之内核移植定制篇-后篇(修复部分问题)(linux-3.8.12 mini2440)

前面一个linux3.8.12的内核已经可以跑起来了,只不过,解决了网络以后还是有一堆问题影响正常使用,有3个问题需要解决。 同样准备工作: 1...

linux内核移植mini2440

  • 2011年11月10日 10:39
  • 3KB
  • 下载

移植Linux内核(2.6.30.4)和文件系统到mini2440(Nand Flash 256M)

移植Linux内核(2.6.30.4)和文件系统到mini2440(Nand Flash 256M) 一, 下载安装交叉编译环境   1)下载安装交叉编译器 http://www.arm1...

linux内核移植到mini2440:

一、说明      1、许多移植步骤都是参照了网上的一些博客的资料,为尊重他人劳动成果,现将一些主要的参考质料列出            (1)http://blog.csdn.net/hpwzd/...

mini2440的 linux内核移植

mini2440的Linux内核移植 参考网上的资料将linux-2.6.30.5的内核移植到了mini2440开发板,现把移植过程整理下来备忘。 电脑主机系统:Ubuntu ...
  • hpwzd
  • hpwzd
  • 2012年03月18日 09:56
  • 2786

Linux内核分析及常见问题解答

  • 2008年06月24日 22:30
  • 9.22MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 移植Linux内核到mini2440常见问题
举报原因:
原因补充:

(最多只允许输入30个字)