




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
配置交叉编译链、内核、根文件系统一、 实验目的通过动手配置交叉编译链、内核、根文件系统。从而了解掌握相关基本知识二、 实验设备装有Ubuntu的PC一台三、 实验步骤1、配置交叉编译链:1)交叉编译简介在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。 简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。 有时是因为目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器;有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。例如:A、在Windows PC上,利用ADS(ARM 开发环境),使用armcc编译器,则可编译出针对ARM CPU的可执行代码。B、在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。C、在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,可编译出针对ARM CPU的可执行代码。2)详细步骤A、解压:#tar-zxvfarm-linux-gcc-4.4.3-20100728.tar.gz#cdusr/local/#cp-rvarm/usr/local/交叉编译器在/usr/local/opt/FriendlyARM/toolschain/4.4.3/bin里了B、修改环境变量:#vim/etc/profile增加路径设置,在末尾添加如下,保存/etc/profile文件:exportPATH$PATH:/usr/local/opt/FriendlyARM/toolschain/4.4.3/binC、立即使新的环境变量生效 : #source/etc/profileD、检查是否将路径加入到PATH:#echo$PATH若显示的内容中有/usr/local/opt/FriendlyARM/toolschain/4.4.3/bin,说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。E、测试是否安装成功#arm-linux-gcc-v上面的命令会显示arm-linux-gcc信息和版本。2、配置内核A、下载内核:Linux-2.6.32.2B、解压内核C、指定平台和编译工具:#vi Makefile查找CROSS_COMPILE,跳至如下位置并修改:export KBUILD_BUILDHOST := $(SUBARCH)ARCH ?= arm#体系结构为ARMCROSS_COMPILE ?= arm-linux-#交叉编译器为arm-linuxD 、寻找配置文件arch/arm/configs/我们使用s3c6410_defconfig做为默认缺省配置文件,s3c6410_defconfig是SMDK6410的缺省配置文件E、#make s3c6410_defconfig加载s3c6410_defconfig的文件配置,最终在内核根目录下生成.config配置文件,保存了你的配置,内核编译以此配置文件为依据进行F、编译内核:#makemake后将在arch/arm/boot/目录下生成内核镜像zImageG、测试源码vmlinux, arch/arm/boot/compressed/vmlinux,arch/arm/boot/Image, arch/arm/boot/zImage 之间的区别vmlinux 是一个elf格式的文件Image 是经过objcopy 处理了的只包含内核代码,数据的一个文件,已经不是elf格式的了;arch/arm/boot/compressed/vmlinux 是经过压缩的Image和加入了解压头部的elf格式的文件;arch/arm/boot/zImage 是经过objcopy处理了的可以直接下到对应的地址执行的内核镜像。H、机器码的确定Uboot启动最后阶段时,会将机器码、启动参数标记列表在RAM中的起始地址等信息传递给kernel。在U-boot/include/asm-arm/mach-types.h中可以看到mini6410的机器码定义。内核通过传入的机器码(MACH_TYPE)确定应启动哪种目标平台的,(Mini6410机器码为2520,它位于linux-2.6.32.2/arch/arm/tools/mach_types文件中)附加:内核可以手动进行具体配置:#make menuconfig3、配置根文件系统1) 在目录下,创建一个rootfs目录,将其制作为nfs,目录结构如下mkdir bin dev etc lib mnt opt proc sbin srv sys tmp usr varcd etcmkdir init.d networkcd networktouch if-down.d if-post-down.d if-pre-up.d if-up.dcd ././usrmkdir bin lib sbincd ./varmkdir runcd ./2) 解压busybox-1.9.1.tar.bz2下,得到文件夹busybox-1.9.1$ tar -zxvf busybox-1.9.1.tar.bz23) 进入内核目录$ cd busybox-1.9.14) 修改Makefile,找到以下内容:ARCH?= $(SUBARCH)CROSS_COMPILE?= 改为:ARCH?= armCROSS_COMPILE?= arm-linux-5) 以缺省配置为起点做进一步的配置$ make defconfig$ make menuconfig 在菜单中做如下配置:A、 选中 BusyBox Settings Installation OptionsBusyBox installation prefix设置为rootfs(busybox编译后安装到这个目录)B、根据需要裁剪Linux命令。但是ShellChoose your default shell选项一定要保留一个默认shell。因为如果没有默认shell,将不会创建/bin/sh这个链接,而一般的shell脚本都是以#!/bin/sh开头的,若找不到/bin/sh就不能执行。6) 编译和安装busybox# make# make install7) linuxrc需读取设备文件/dev/console和/dev/null,我们手动创建这些设备文件:# cd rootfs/dev# sudo mknod -m 600 console c 5 1# sudo mknod -m 666 null c 1 3常见设备文件的设备号可以从内核代码的Documentation/devices.txt文件中查到8) 创建一个启动配置文件:/rootfs/etc/inittab:sysinit:/etc/init.d/rcS:respawn:/sbin/getty 115200 s3c2410_serial0:restart:/sbin/init:shutdown:/bin/umount -a -r9) 启动的过程首先执行rcS启动脚本,创建这个脚本/rootfs/etc/init.d/rcS(根据/etc/fstab配置文件提供的信息mount一些fs)#!/bin/shmount -a这个脚本需加可执行权限:chmod +x rcS10) 创建/etc/fstab配置文件# proc /proc proc defaults 0 0sys /sys sysfs defaults 0 011) 执行完rcS,要执行respawn,需创建s3c2410_serial0设备文件# cd rootfs/dev# sudo mknod -m 600 s3c2410_serial0 c 204 64这个设备号在内核代码的Documentation/arm/Samsung-S3C24XX/Overview.txt中可查到12) 打开终端会提示输入用户名和密码后才启动shell,需创建帐号文件passwd和group/rootfs/etc/passwd文件内容为:root:0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025建筑消防系统升级改造合同
- 疫情方面的课件
- 小学二年级第二学期班主任工作计划
- 2025现代农业产业园认购及委托经营合同
- 2025合作伙伴协议样本宅易贷合作协议
- 疫情单位课件
- 2025有关茶叶的采购合同
- 江苏省南京鼓楼区五校联考2026届中考数学考前最后一卷含解析
- 2025年上海房屋装修合同范本
- 2026届河北省邯郸市馆陶县重点达标名校中考语文考试模拟冲刺卷含解析
- GB/T 25763-2024滚动轴承汽车变速箱用滚针轴承
- Unit4AGlimpseoftheFutureDevelopingideasP58-63教学设计-2023-2024学年高二下学期英语外研版(2019)选择性必修第三册
- 创业问题及解决方案
- 2024年河北省张家口市行政职业能力测验题库及答案(新)
- (正式版)SHT 3224-2024 石油化工雨水监控及事故排水储存设施设计规范
- 黄精商业计划书
- 电销同理心培训课件
- 变频柜安装施工方案
- 医院应急预案培训计划
- 增强意识及自我调节-保护心理健康
- 2024全新第五版FMEA培训教材
评论
0/150
提交评论