Tiny6410 的内核移植(拿来主义)

本文档详细介绍了如何将Linux内核2.6.38移植到Tiny6410平台上,包括下载源码、修改Makefile、配置内核、添加驱动和编译过程。特别强调了对特定设备驱动的支持,如NAND Flash和S3C SoC的硬件ECC设置。

1下载linux-2.6.38的源码,ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.bz2

2解压 tar xvfj /mnt/ubuntu/linux-2.6.38.tar.bz2 -C .
3vi Makefile       191行改为    ARCH            ?= arm
4cp arch/arm/configs/s3c6400_defconfig .config(如果省略的话,后面会找不到System Type
5make menuconfig
General setup->(/usr/4.5.1/bin/arm-linux-) Cross-compiler tool prefix    我将编译器解压到了/usr/4.5.1目录
     System Type->[*] MINI6410   选上,其他的可以去掉,不确定的可以参考友善之臂的

6     拷贝友善的drivers/mtd/nand/s3c_nand.c

      arch/arm/plat-samsung/include/plat/regs-nand.h

      drivers/mtd/nand/s3c_nand_mlc.fo

        drivers/mtd/nand/nand_base.c  

到相应的文件夹下

7修改drivers/mtd/nand/Kconfig,我也不愿意改了,直接拷贝掉了

8drivers/mtd/nand/Makefile中20行增加
obj-$(CONFIG_MTD_NAND_S3C)            += s3c_nand.o

末尾再增加
S3C_NAND_MLC_SRC = $(shell ls drivers/mtd/nand/s3c_nand_mlc.c 2>/dev/null)
ifeq ($(S3C_NAND_MLC_SRC),)
obj-$(CONFIG_MTD_NAND_S3C)            += s3c_nand_mlc.fo
else
obj-$(CONFIG_MTD_NAND_S3C)            += s3c_nand_mlc.o
endif

这步要是不愿意改的话,直接拷贝覆盖即可

9然后再make menuconfig
  Device Drivers---> 
             <*> Memory Technology Device (MTD) support  --->
                             [*]   MTD partitioning support
                              [*]     Command line partition table parsing 
                             <*>   Direct char device access to MTD devices 
                            <*>   Caching block device access to MTD devices
                            <*>   NAND Device Support  --->
                                                      < >   NAND Flash support for Samsung S3C SoCs  去掉不要选
                                                      <*>   NAND Flash support for S3C SoC  
                                                                  [*]     S3C NAND Hardware ECC

  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值