linux-2.6.32.2移植到s3c2410 之一--------使系统跑起来

硬件:s3c2410
内核:2.6.32.2
交叉编译器 :3.4.1
       这篇文档只记录内核的移植,相应的bios和根文件系统请自己准备,网上的资料很多的。等以后我也会把我自己做的根文件系统的记录整理一下,不多说了,进入正题
       第一,修改bios里的启动参数,将控制台改为ttySAC0(2.4下为ttyS0),生成一个新的bios。
       第二,下载内核源码linux-2.6.32.2.tar.bz2,并且准备一个yaffs的补丁cvs-root.tar.gz
       第三,开始移植
           (1)解压缩内核和yaffs补丁
               假定现在所在目录为/home/cxf/
               tar -jxvf linux-2.6.32.2.tar.bz2
               tar -zxvf cvs-root.tar.gz
           (2)将补丁打上
                cd cvs/yaffs2
               ./patch-ker.sh c /home/cxf/linux-2.6.32.2/
           (3)修改内核Makefile
               cd /home/cxf/linux-2.6.32.2
               修改Makefile,183和184行
               改为
               ARCH        ?= arm
               CROSS_COMPILE    ?= /usr/local/arm/3.4.1/bin/arm-linux-
          (4)修改内核源码
               修改nand flash分区使之与bios中设置一致
               vi linux-2.6.32.2/arch/arm/plat-s3c24xx/common-smdk.c,其中有一个结构体 smdk_default_nand_part[],即flash分区。结构体 smdk_nand_sets中的.nr_chips成员表示分区的数量,如实赋值即可
               去掉ECC校验
vi driver/mtd/nand/s3c2410.c
             查找关键字NAND_ECC_SOFT,将其改为NAND_ECC_NONE
          (5)将默认的配置文件copy到内核的根目录下
               cp arch/arm/configs/s3c2410-defconfig .config
          (6)配置内核
              make menuconfig 进入配置界面
                 Load an Alternate Configuration File 
                 输入.config
              Boot options  --->
                         (0x0) Compressed ROM boot loader BSS address //此项下面
                       │noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0,115200
              File systems  --->//这几个选项去掉吧,没什么用,减小内核体积
                         <> Second extended fs support
                         <> Ext3 journalling file system support
                         <> The Extended 4 (ext4) filesystem
                         [*] Miscellaneous filesystems  ---> //选上这个
                         <*>   YAFFS2 file system support
              Device Drivers  ---> //选上
                        <*> Memory Technology Device (MTD) support  --->           
                                    [*]   MTD partitioning support
       说明:这个只是最基本的配置,你可以自己再裁剪以下,去掉自己不需要的,使生成的内核文件更小一些
         保存退出,make即可生成zImage,在arch/arm/boot目录下
将生成的内核烧进板子,就可以跑起来了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值