移植linux 3.0.2到2440

主机:FC9

交叉编译器:arm-linux-gcc-4.3.2

开发板平台:公司的产品2440CPU

这周一口气移了linux2.6.25.14   2.6.26    2.6.29到公司的板子上,前两个都能正常跑到文件系统进入终端,运行个驱动和应用的helo world;移植2.6.29时提示没有串口终端,需要检查init内核字符串,这个还没搞定。貌似2.6.26以后集成了DM9000,想下个内核验证一下,顺便确定一下yaffs2的官方源码获取方法,或者自己修改···

一、内核源码修改

1.修改顶层Makefile文件

2,修改机器码

arch/arm/tools/mach-types
arch/arm/mach-s3c2440

根据uboot传入的数据设置

3.修改时钟,不修改超级终端中会出现乱码

根据硬件外置时钟设置

4.修改对nand的分区信息。

arch/arm/plat-s3c24xx/common-smdk.c

5.修改nand Flash的校验方式,去掉ECC校验。

drivers/mtd/nand/s3c2410.c 

在669行左右 NAND_ECC_NONE

6.文件系统支持

安装git

yum install git

获取最新yaffs2源码

git clone git://www.aleph1.co.uk/yaffs2

打补丁到自己的内核路径下

./patch-ker.sh c m ../linux-3.0.2

说明:内核自带DM9000驱动,不用移植了,根据自己的硬件修改配置就可以

二、内核配置

make s3c2410_defconfig

make menuconfig

System Type ---->

       [*] S3C2410 DMA support

       S3C2410 Machines --->

              [*] SMDK2410/A9M2410 

       S3C2440 Machines --->

              [*] SMDK2440

              [*] SMDK2440 with S3C2440 CPU module

       (2)S3C UART to use for low-level messages (new)

       要选择串口对应我公司的配置

Kernel hacking-->

    (2)S3C UART to use for low-level debug

    要选择串口对应我公司的配置

Boot option ----->

noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC2,

115200

根据实际需要配置

Device Drivers --->

       <*> Memory Technology Device (MTD) support --->

              [*]   MTD partitioning support

              <*> NAND Device Support --->

                      <*>   NAND Flash support for S3C2410/S3C2440 SoC

                      [ ]    S3C2410 NAND Hardware ECC     //这个要去掉

       [*] Network device support --->

               [*]   Ethernet (10 or 100Mbit) ---> 

                   <*>   DM9000 support

这个是系统自带的

Kernel Features ->
     [*]Use the ARM EABI to compile the kernel
     [*]  Allow old ABI binaries to run with this kernel

Filesystem -->

屏蔽 EXT2 EXT3相关

打开自动挂载ramfs

选中yaffs2

Drivers-->

根据板子的实际情况配置

三、内核编译与模块安装

1、Make

生成zImage文件供下载,确认生成的文件没有比分配给他的分区大

2、Make modules

生成模块

3、Make modules_install

安装模块,用于驱动开发用,在/lib/modules下会生成3.0.2的文件夹。参考代码看LDD3。

四、下载运行

五、


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值