ARM-LINUX-GCC版本4.3.2.以安装在/usr/local/arm/4.3.2下.

第一步:
修改linux-2.6.34/Makefile文件,在makefile中找到以下两条信息并做修改
ARCH ? =arm 
CROSS_COMPILE ?=/usr/local/arm/4.3.2/bin/arm-linux-

第二步:
修改平台输入时钟
修改平台的时钟频率,修改内核源码“arch/arm/mach-s3c2440/mach-smdk2440.c”
把时钟初始化中(S3C24XX_init_clocks(16934400 ))的16934400 改为12000000,因为我们的开发板上为12M

第三步:
修改机器类型ID号::
   bootloader启动内核时,会传递机器类型ID进来,这里需根据bootloadr传进的ID修改内核ID号.
   在内核源码的“arch/arm/tools/mach-types”文件查找S3C2440,这里刚好与我们的bootloader相同,所以不用做修改,直接保存退出即可,如果不同则根据bootloader的内容修改此文件,或根据此文件修改boorloader的内容(在vivi中可通过param show查看)。

第四步:
解压yaffs2.tar.gz源码包,进入yaffs2文件夹,给内核打上补丁使内核支持yaffs2
# ./patch-ker.sh  c  /home/linux-2.6.34
结果:更新了两个文件系统下的文件
Updating /home/linux-2.6.34/fs/Kconfig
Updating /home/linux-2.6.34/fs/Makefile

第五步:
修改内核mtd分区和bootloader(vivi)使其一致
编辑文件arch/arm/plat-s3c24xx/common-smdk.c

static struct mtd_partition smdk_default_nand_part[] = {
    [0] = {
        .name    = "vivi",
        .size    = 0x30000,
        .offset    = 0,
    },
    [1] = {
        .name    = "kernel",
        .offset = 0x50000,
        .size    = 0x300000,
    },
    [2] = {
        .name    = "root",
        .offset = 0x350000,
        .size    = 0x3cac000,
    },
};

第六步:
修改文件drivers/mtd/nand/s3c2410.c
将s3c2410_nand_init_chip函数里的NAND_ECC_SOFT改为NAND_ECC_NONE(因为在内核中默认配置不支持ECC校验,当然也可以在内核配置时选中ECC选项)
修改后如下:
chip->ecc.mode        = NAND_ECC_NONE;

第七步:
到llinux-2.6.30目录下执行命令
   #cp  arch/arm/configs/s3c2410_defconfig  .config

第八步:
执行make menuconfig,并对选项进行配置

1)System Type --->
        S3C2440 and S3C2442 machines --->
            仅保留SMDK2440 与SMDK2440 whith S3C2440 CPU module两个选项,将其他的选项全部勾掉

2)Kernel Features --->
        [*]Use the arm EABI to compile the kernel(选中该选项)
       
    3)File systems --->
        a、把与ext2 ext3 ext4相关的所有选项全部去掉

b、Miscellaneous filesystems --->
            <*>yaffs2 file system support(选中此选项)

去除所有与jffs2相关的选项

保存退出

第九步:执行make zImage 编译生成内核.

在arch/arm/boot下生成编译好的可执行程序zImage.  这个是在vivi下使用的.

wenhao@20110609

转载于:https://www.cnblogs.com/hnrainll/archive/2011/06/09/2076522.html

ARM Linux.2.6.34内核移植相关推荐

  1. 将linux内核烧进arm板,ARM开发板上uClinux内核移植

    <ARM开发板上uClinux内核移植>由会员分享,可在线阅读,更多相关<ARM开发板上uClinux内核移植(19页珍藏版)>请在人人文库网上搜索. 1.纷傲掌秀悸篷益哑檀扬 ...

  2. linux内核移植与开发板,Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解

    Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解 [复制链接] 今天终于让Linux内核在飞凌的板子上跑起来了,想来也是艰辛,为了移植成功,断断续续做了将近两个月的努力,期间郁闷不可 ...

  3. ARM linux解析之压缩内核zImage的启动过程

    ARM linux解析之压缩内核zImage的启动过程 首先,我们要知道在zImage的生成过程中,是把arch/arm/boot/compressed/head.s 和解压代码misc.c,deco ...

  4. linux arm内核栈切换,ARM Linux中断发生时内核堆栈切换

    转载注明出处:http://www.wowotech.net/forum/viewtopic.php?id=54 对ARM Linux中断非常简洁.精确的描述. 发生了中断,最重要的是保存现场,在中断 ...

  5. arm linux ppp拨号gprs上网移植

    sim900芯片-GPRS模块ppp拨号上网 2016-08-04 19:33 本站整理 浏览(369) --------------------------------------- 主机操作系统: ...

  6. arm linux 串口 蓝牙,arm linux串口藍牙工具移植及使用

    ap6212中串口藍牙在linux下的使用記錄 一.linux藍牙工具移植 主要使用到的工具及相關庫如下: bluez-libs-3.36 libxml2-2.7.4 dbus-1.0.2 glib- ...

  7. 移植Linux 3.4.2内核到JZ2440开发板(超精讲)

    Linux 3.4.2内核移植到JZ2440开发板 0.开发环境 虚拟机:VMware workstation 16 pro 宿主机操作系统:Ubuntu 16.04 开发板:JZ2440 移植内核版 ...

  8. linux 内核移植和根文件系统的制作【转载】

    原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之 ...

  9. 支持v4l2 linux内核选项 s3c2440,linux内核移植-移植2.6.35.4内核到s3c2440

    原标题:linux内核移植-移植2.6.35.4内核到s3c2440 硬件平台:FL2440 主机平台:Ubuntu 11.04 交叉编译器: - -gcc 4.3.2 原创作品,转载请标明出处htt ...

最新文章

  1. [C#参考]锁定lock
  2. crontab简单示例
  3. 初步认识Volatile-CPU层面的内存屏障
  4. 【渝粤教育】国家开放大学2018年春季 0014-22T秘书学(一) 参考试题
  5. Python黑魔法,一行实现并行化
  6. iOS VIPER架构(三)
  7. log4j 按天打印到文件夹_log4j日志打印到前一天的日志文件中
  8. Ssm手机电脑自适应新闻博客系统实战开发
  9. SuperSocketClientEngine
  10. 十八、x86汇编基础
  11. 26.【案例:敏感词汇过滤】
  12. PostgreSQL-11.7关系型数据库源码安装
  13. 企业微信开发之获取media_id的值
  14. spring管理事务管理1----------编程式(以下源码均为spring2.5.6)
  15. JSP自定义带属性的标签
  16. 字符串水题——相对分子质量
  17. 干5年外包,突然失业了。。。
  18. Matlab神经网络函数newff()新旧用法差异
  19. zabbix报警收敛
  20. java 监控 emc 存储_EMC存储VNX5500搜集日志

热门文章

  1. php 发送post请求json,thinkphp ,php post发送json请求,就收post请求
  2. css线条伸缩_CSS3弹性伸缩布局之box布局
  3. php session 反序列化,PHP SESSION反序列化本地样例分析
  4. 32f407tim4时钟源频率_慎重选择时钟发生器,别让这俩指标影响你的ADC 「图片」...
  5. MySQL 高级 —— 索引实现的思考
  6. linux系统生成的新文件是什么编码的,Linux系统的默认编码怎样设置?
  7. 计算机地图制图的点状符号制作,地理空间信息符号化表达研究
  8. Leetcode-2 两数相加【c语言】
  9. php 的html文件怎么打开,什么是html文件?html格式如何打开?(图)
  10. java swing linux_Linux下关于解决JavaSwing中文乱码的情况