Linux2.6.14内核编译、移植.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文档。上传文档
查看更多
Linux2.6.14内核编译、移植 (含LCD移植) 2010-03-06 09:09 4. Linux2.6.14内核编译、移植 (含LCD移植) ????? 4. Linux2.6.14内核编译、移植 一、准备必要的文件 ??? 我们首先去官方网站下载最新的llinux内核 /pub/linux/kernel/v2.6/linux-2.6.14.tar.bz2 ??? 因为linux2.6.14内核需要更新版木的编译器,所以我们需要下载交叉编译器 /projects/toolchain/arm-linux-gcc-3.4. l.tar.bz2 注:这个编译器已经包含在光盘的\DISK4\linux才I I关\linuxtool目录下. 二、安装文件 (1)安装交叉编译器 ???? (a)在/usr/local/目录下建立文件夹arm ???? (b)将arm-linux-gcc-3.4. l.tar.bz2拷贝到arm文件夹下 ???? (c)# tar jxvf arm-linux-gcc-3.4. l.tar.bz2??? //解压缩编译器,其中:jxvf中的j表示用bzip2来压缩/解压缩文件?????? ???? (d)vi ~/.bash_profile //设置系统环境变量 ??????? //把arm-linux-gcc的路径/usr/local/arm/3.4.1/bin添加到PATH中: 【原来】 :PATH=$PATH:$HOME/bin ??????? 【修改为】:PATH=$PATH:/usr/local/arm/3.4.1/bin??????? (2)解压缩内核代码并配置内核 ???? (a)# tar jxvf linux2.6.14.tar.gz??? //解压缩内核,其中:zxvf中的z表示用gzip来压缩/解压缩文件 ???? (b)# ls ???? (c)# cd linux2.6.14 三、修改makefile文件 ??? 内核的编译是根据makefile文件的指T进行的,Makefile文件来组织内核的各模块之间的 关系,记录了各个模块之间的相互联系和依赖关系。 ??? 我们首先修改linux-2.6.14的根目录下的makfile文件,我们须改的卞要内容是目标代码的 类型和为编译内核指定一个编译器。 ??? 我们注释掉以下内容: ??? #ARCH?=$(SUBARCH) ????? #CROSS COMPILE?= ??? 增加如下内容: ??? ARCH:= arm ??? CROSS COMPILE =/usr/local/arm/3.4.1/bin/arm-linux- 四、修改相关的文件。 ??? 4.1 设置flash分区 ??? 4.1.1 指明分区信息 在arch/arm/mach-s3c2410/devs.c文件中: [arm@localhost linux-2.6.14]$ vi arch/arm/mach-s3c2410/devs.c ???? (1)增加头文件定义: ??????? /***********add here***********/ ??????? #include linux/mtd/partitions.h ??????? #include linux/mtd/nand.h ??????? #include asm/arch/nand.h ??????? /**************end add********/ ???? (2)增加nand flash分区信息定义(分区信息和bootloader一致就可以) /***********add here***********/ static struct mtd_partition partition_ info[]={ [0]={??? //128K name: boot,?? //name:代表分区名字 size: 0x20000,?? //size:代表flash分区大小(单位:字节) offset: 0,?? //offset:代表flash分区的起始地址(相对干0x0的偏移) }, [1]={??? //3M name: kernel, size: 0x300000, offset: 0x20000, }, [2]={??? //5M name: rootfs, size: 0x500000, offset: 0x320000, }, [3]={??? //1M name: etc, size: Ox 100000, offset: 0x820000. }, [4]=??? //11M name: user size: Oxb00000, offset: Ox9

文档评论(0)

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

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

1亿VIP精品文档

相关文档