论坛风格切换切换到宽版
  • 624阅读
  • 0回复

[Ubuntu] 【不得不火】基于飞凌2440开发板的最高版linux2.6.33移植详解 [复制链接]

上一主题 下一主题
离线54nb.
 
发帖
2136
C币
-140107
威望
384
贡献值
1
银元
-4
铜钱
4658
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-04-27
【转帖】详述linux.-2.6.33内.核在飞凌2440开发板的移植.

本文转引自飞凌BBS:http://bbs.witech.com.cn/thread-468-1-1.html学习

宿主机:ubuntu9.04
目标机:飞凌OK2.440开发板外贸
交叉编译器:arm-lin.ux-gcc-3.4.1.
交.叉编译器路径:/usr/local/arm/3..4.1.
要移植的内核版.本:linux-2.6.33.
文.件系统类型: yaffs2 (目前使.用光盘中linux-2.6.28.7的文件系统)电影

欢迎大.家一起讨论,请各位指正。另外请回帖的各位老师、同学、工程师写清楚移植过程。如果只是.通篇的问题,很难判断哪里有问题。.

下载解压内核
        首先,从官网.上下载linux-2.6.33的内.核。学习
        ftp://ftp.kernel.org/pub/linux./ker.nel/v2.6/可以找到。.
        新建目录mkdir /file/fl。将内核源码包拷.贝到/file/f.l的目录下。服务器
        解压源码包
tar zxvf .linu.x-2.6.33.tar.gz    健康

移植yaffs2驱动
下载最新的驱动http://www.aleph1.co.uk/cgi-bin/ ... fs2.tar.gz?view=tar               乙肝
解压在/file/fl下

tar zxvf yaffs2.t.ar.gz(广告)

进入yaffs2,

cd yaffs2

给内核打补丁

./patch-ker.sh  c  ./fil.e/fl/linux-2.6.33    美容

成功后打印信息

U.pdating /file/fl/linux-.2.6.33/fs/Kconfig.
Updating /file/f.l/linux-2.6.33/fs/Make.file服务器

修改机器码
飞.凌开发板的bootloader默认的机器码是193,所以我们在使用smdk.2440机器的时候,需要修改机器码。修改arch/arm./tools/mach-types。将.

s3c2410  .    AR.CH_S3C2410    S3C2410    193(        游戏          )

s3c2440    .  ARCH_S3C2440    S3C2440    3.62             汽车

s3c24.40      ARCH_.S3C2440    S3C2440    193              乙肝

指定目标板machine、编译器和编译器路.径电影
修改linux-2.6.33/Make.file,将             汽车

ARCH       .         ?= $(SUBARCH.)服务器
CRO.SS_COMPILE        ?=  .

修改成

#ARCH.                ?= $.(SUBARCH)虚拟主机
#CROSS_COMPILE        ?.=电脑
ARCH  .  .            ?= arm    外汇
CROSS_COMPILE        ?= /usr/local/arm/3..4.1/.bin/arm-linux-      健康

增加devfs文.件管理器的支持外贸
我们所用的文件系统使用的是d.evfs文件管理器。修改.fs/Kconfig,--- 印刷
找到

menu "Pseudo fi.lesystems".

添加如下语句:

co.nfig DEVFS_FS健康
         boo.l "/dev file sy.stem support (OBSOLETE)"           女人
         default y    .    健康
config DEVFS_MOUN.T             汽车
bool "Automat.ica.lly mount at boot"(广告)
default y
depends on DEVFS_.FS.

修改晶振频率( 可解决打印信息乱码问.题 ).
文件:arch/arm/mach-s3c2440/.mach-smd.k2440.c          婚庆

/*s.3c24xx_init_clocks(16934400);*/  s3c24xx_init_clocks(12.000000);  电脑

修改MTD分区
文件: arch/ar.m/plat-s3c24xx/common.-smdk.c .
需要和bootloader.中的分区信息相同(128M),否则.,启动时出错。外贸

static struct mtd_partition. smdk_default_nan.d_part[] = {    外汇

      .  [0] = {虚拟主机
             .   .name     .   = "Boot",.
       .         .si.ze        = 0x00100000,学习
      ..          .offset = 0           鲜花
        },
      .  [1] = {.
         .       .name        = "MyA.pp",           女人
                .size    .  .  = 0x003c0000,.
                .offset = 0x.0.0140000,外贸
        },
   .     [2] = {(        游戏          )
                .name        = "K.ernel.",教育
.       .        .size        = 0x00300000,.
                .offse.t .= 0x00500000,              乙肝
        },
        [3] .= {.
                .n.ame      .  = "fs_yaffs",.
     ..           .size        = 0x03c00000,         //30M教育
           .     .offset = 0x0080000.0,            杀毒
        },.        .
        [4.] = {投资
                .name    .    .= "WINCE",.
             .   .size        = 0x03c00.000,    健康
                .of.f.set = 0x04400000,域名
        }
};

关闭ECC校验
文件:drivers/mtd/nand/..s3c2410.c服务器
函数:s.3c2410_nand_init_chip投资

/*chip->ecc.mode = NAND_ECC_S.OFT; */  chip->ecc.mode = NAND._ECC_NONE;          婚庆

修改nandflash驱动,.支持.K9F1G08的nandflash    健康
修改drivers/mtd/nand下面的nand._.bbt.c文件:.

static struct nand_bbt_d.escr. largepage_memorybased = {.
        .options .= 0,--------------彩票
        .off.s = 0,             汽车
        .len = 1,           // 原数值为.2,支持128.M的K9F1G08修改为1           女人
        .patte.r.n = scan_ff_pattern学习
};
static s.truct nand_bbt_descr l.argepage_flashbased = {    美容
        .options = NA.ND_BBT_SCAN2ND.PAGE,             汽车
      .  .offs = 0,.
        .le.n = .1,           // 原数值为2,支持128M的K9F1G08修改为1虚拟主机
    ..    .pattern = scan_ff_pattern          婚庆
};

下面,开始配置内核。
进.入linux-2.6.33目录,把s3.c2410的默认配置写入config文件。.

m.ake s3c2410_defconfig投资

配置文件系统选项
配置yaffs2文件系统
修改配置如下:

File sys.tems  ---> 健康
    
Mi.scell.aneous filesystems  --->--- 印刷
        <*>   YAFFS2. file s.ystem support .
       .     -*-     512 byte / page dev.ices           女人
            -*-   .  2048 byt.e (or larger) / page devices .
               . 学习
       Aut..oselect yaffs2 format 电脑
               .     外汇
     Cache s.hort names i.n RAM.

配置cpu相关选项
修改配置如下:

System Type  --->. (广告)
  .  S3C2440 Machines  ---.> .
        
SMDK2440
        
S.MDK2.440 with S3C2440 CPU module            杀毒

如果现在编译内核,下载到开发板中,内核就可以正常启动了。呵呵,有了雏形,咱们继续.移植设备.驱动。.

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个