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. JavaScript对象中的构造方法
  2. maven 引入本地 jar
  3. 通过调整Linux内核参数提升网络性能
  4. JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
  5. requestmapping配置页面后_第004课:Spring Boot 项目属性配置
  6. 巩固shell基础知识
  7. JS学习总结(5)——循环语句
  8. Atitit 获取mp3音乐文件的音乐名与歌手结构化元数据 nlp java 目录 1.1. 一、MP3文件的元数据 1 1.2. MP3文件的数据结构以及为mp3内嵌歌词的代码 3 1.3.
  9. 故障排查 node_Kubernetes 故障解决心得(一)
  10. 在使用renderTo中遇到的Uncaught TypeError: Cannot read property 'insertAdjacentHTML' of null
  11. arcgis怎么做poi_基于POI数据与ArcGIS空间分析技术的城市公交站点现状容量评价方法...
  12. 常用邮箱服务器地址大全截止2020-9
  13. Zxing扫描条形码后得到结果前面多了一个0的问题
  14. STM32通过IIC读取MPU6050原始数据过程详解
  15. oracle服务端下载(10g)
  16. neo4j安装详细步骤(小白版)
  17. 【数论】——Catalan 卡特兰数
  18. 补天SRC漏洞数排名
  19. 一键转换ASCII码
  20. 电脑维修不求人:电脑常见故障维修大全及解决方法

热门文章

  1. html自动适应屏幕分辨率,css如何自适应屏幕大小?
  2. python while语法结构_python语法之流程控制(if while for)
  3. MySQL 基础———— UNION 联合查询
  4. Linux进阶之路————进程与服务管理
  5. (kruskal)Jungle Roads
  6. matlab 参数识别,[转载]自编最小二乘法的Matlab参数辨识程序(含实例)
  7. Linux启动tomcat命令行关闭后服务会停止
  8. 斑能不能彻底去掉_淡妆能不能只用洗面奶卸掉?
  9. buffsize 缓冲区的大小多少合适_对于Redis性能指标监控!你了解多少?
  10. python语言基本语句例句-关于python:使用WordNet查找同义词,定义和例句