实验三linux内核移植.docxVIP

  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文档。上传文档
查看更多
实验内容H—Linux内核移植 一、 实验目的 根据前两次实验的基础上做Linux内核移植实验,为以后移植应用程序做准备(P84)。 二、 实验内容 在Linux下利用交叉编译工具配置编译zlmage并烧写到arm开发箱屮。 三、 实验步骤 (1) 实验准备 从网上下载Linux的最新版本,解压后可以看到它的全部源代码,我们这里以 linux-2.6.24为例,实现Linux的内核移植。 mkdir ?p /arm2410/kemel cd /arm2410/kemel #wget ftp://192.164.210/crosstool/linux?2.6.24.tar.bz2 cp /mnt/hgfs/ker nel/crosstool/linux-2.6.24.tar.bz2 ? tar -xjvf linux-2.6.24.tar.bz2 cd linux-2.6.24 (2) 修改顶层Makefile 在顶层Makefile 先要定义交叉编译器,这里就使用我们第一次实验屮构建的交叉编 译器。查找ARCH,在193行左右修改确认ARCH和CROSS COMPILE的值 ARCH ?=arm CROSS COMPILE ?= arm-linux- 如果学生机上没有交叉编译环境,先从教师机上下载交叉编译环境或者通过共享冃录来 解压已经做好的交叉编译环境。 #wget 10/u-boot/arm-linux-gcc.tar.bz2 #tar ? xjvf arm-linux-gcc.tar.bz2 ?C / tar -xjvf /mnt/hgfs/kemel/u-boot/arm-linux-gcc.tar.bz2 -C /# 通过共亨 口 录 为了方便使用ami?linux?gcc,我们可以把它所在的目录添加到环境变量中 gedit /etc/profile 在export PATH前面插入 PATH=/arm2410/crosstool/gcc-4.1. l-glibc-2.3.2/arm-linux/bin/:$PATH 这样一句,以后启动就可以直接使用arm-linux-gcc 了。 要使环境变量立马生效,可以使用下面的命令。 source /etc/profile ~~我们可以用arm-linux?gcc來查看交叉编译器版本,如果是4.1.1就是正确的。 (3)设置Nand Flash分区信息表 设置Nand Flash的分区信息表是为内核启动以后加载文件系统用的,可以将Nand Flash看成我们PC机的硬盘,对Nand Flash的分区看成是对硬盘的分区,硬盘可以分成C 盘,D盘之类,而Nand Flash则可以分成很多块,每块有不同的名字、大小和用途。下面 是对Super-ARM实验箱的Nand Flash进行分区的情况(参考表5-1-1): 第0块命名为“uboot”,它用来存放u-boot.bin映像,起始地址是Nand Flash的 0x000000,最大 0x30000 个字节; 第1块命名为“kernel,用來存放内核,起始地址是Nand Flash的0x30000,最大 0X1D0000个字节; 第2块命名为lootfs”,用来存放根文件系统,起始地址是Nand Hash的 0x200000,最大 30M 字节; 笫3块命名为”ext?fsl“,留给用户存放其他文件系统,起始地址是Nand Flash 的0x2000000,最大32M字节; 至于具体要怎么分,这样根据你的目标机的Nand Flash來定,不能一概而论。分区的 方法就是修改 arch/arm/plat-s3c24xx 口 录卜?的 common-smdk.c 文件: 执彳了 gcdit arch/ann/plat-s3c24xx/common-smdk.c 命令,找到:static struct mtd_partition smdk_dcfault_nand_part[],在其中填入下面的内容(将原来的内容覆盖) [0] = { .name = uboot°, .size = 0x30()()0, .offset = 0, }, [11 = { .name = kernel, .offset = 0x30000, .size = Ox 1D0000, }, [2]={ .name = rootfs, .offset = SZ_2M, .size = SZ_lM*30, }, [3] = { .name = ext-fsl, .offset = SZ_32M, .size = SZ_32M, 添加devfs文件系统支持 为了我们的内核支持devfs,以及在启动时能自动挂载/dev。编辑fs/Kconfig:在907行 menu HP

文档评论(0)

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

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

1亿VIP精品文档

相关文档