linux内核植-移植2.6.35.4内核到s3c2440.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux内核植-移植2.6.35.4内核到s3c2440

linux内核移植-移植内核到s3c2440 分类: 嵌入式ARM+Linux Linux内核游记 技术手册 2011-07-14 09:31 1941人阅读 评论(16) 收藏 举报 主机平台:Ubuntu 11.04 交叉编译器:arm-linux-gcc 4.3.2 原创作品,转载请标明出处/yming0221/article/details/6604616 本来是想移植最新的内核2.6.39但是总是在编译快完成的时候报错,有人说是新的内核对arm平台的支持不好,所以就降低了一下版本,这里移植内核 一、准备工作 1、下载 解压内核 从官网上下载linux-2.6.35的内核, /pub/linux/kernel/v2.6/ ,文件不大,约85M。 新建一个工作目录s3c2440,将内核源码包拷贝至工作目录下,再解压。 2、移植yaffs2驱动 下载最新的驱动点击下载 解压在工作目录s3c2440下 进入yaffs2: ?cd yaffs2? 给内核打补丁: ./patch-ker.sh ?c ../linux-2.6.35 3、安装交叉编译环境 下载arm-linux-gcc 4.3.2,然后安装并配置环境变量 最后执行arm-linux-gcc -v查看 二、移植 ? ??1、修改机器码 飞凌开发板的bootloader默认的机器码是193,所以我们在使用smdk2440机器的时候,需要修 改机器码。修改内核中的arch/arm /tools/mach-types。 ?? 删掉 s3c2410 ? ? ?ARCH_S3C2410 ? ?S3C2410 ? ?182? 然后将 s3c2440 ? ? ?ARCH_S3C2440 ? ?S3C2440 ? ?362? 修改为 s3c2440 ? ? ?ARCH_S3C2440 ? ?S3C2440 ? ?193 2、指定目标板machine、编译器和编译器路径 ?修改linux-/Makefile,将 ARCH ? ? ? ? ? ? ? ??= $(SUBARCH)? CROSS_COMPILE ? ? ? ??=? 修改成ARCH ? ? ? ? ? ? ? ??= arm? CROSS_COMPILE ? ? ? ??= /opt/arm/4.3.2/bin/arm-linux-? 注意:CROSS_COMPILE是指交叉编译器的路径,该路径一定要完整,否则最后make zImage时提示文件不存在。 3、增加devfs文件管理器的支持 我们所用的文件系统使用的是devfs文件管理器。修改fs/Kconfig, 找到 menu Pseudo filesystems 添加如下语句: config DEVFS_FS ?? ? ? ? bool /dev file system support (OBSOLETE) ?? ? ? ? default y ? ? config DEVFS_MOUNT bool Automatically mount at boot default y depends on DEVFS_FS ? 帮助理解:Kconfig就是对应着内核的配置菜单。假如要想添加新的驱动到内核的源码中,能够修改Kconfig, 这样就能够选择这个驱动,假如想使这个驱动被编译,要修改Makefile。 4、修改晶振频率(?可解决打印信息乱码问题?) 文件:arch/arm/mach-s3c2440/mach-smdk2440.c /*s3c24xx_init_clocks;*/??s3c24xx_init_clocks; 5、修改MTD分区 [cpp] view plaincopyprint? static?struct?mtd_partition?smdk_default_nand_part[]?=?{?? [0]?=?{?? ????????.name???=?Boot,?? ????????.size???=?0?? ????????.offset?=?0?? ????},?? ????[1]?=?{?? ????????.name???=?MyApp,?? ????????.size???=?0x003c0000,?? ????????.offset?=?0?? ????},?? ????[2]?=?{?? ????????.name???=?Kernel,?? ????????.size???=?0?? ????????.offset?=?0?? ????},?? ????[3]?=?{?? ????????.name???

文档评论(0)

qee026 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档