交叉编译环境的建立及Linux9内核的安装.DOC

上传人:国*** 文档编号:905162 上传时间:2018-11-05 格式:DOC 页数:34 大小:2.44MB
下载 相关 举报
交叉编译环境的建立及Linux9内核的安装.DOC_第1页
第1页 / 共34页
交叉编译环境的建立及Linux9内核的安装.DOC_第2页
第2页 / 共34页
交叉编译环境的建立及Linux9内核的安装.DOC_第3页
第3页 / 共34页
交叉编译环境的建立及Linux9内核的安装.DOC_第4页
第4页 / 共34页
交叉编译环境的建立及Linux9内核的安装.DOC_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、1第一部分 交叉编译环境的建立及 Linux2.6.9 内核的安装一、交叉编译环境的建立交叉编译是伴随嵌入式系统的发展而来的,传统的程序编译方式,生成的程序直接在本地运行,这种编译方式称作本地编译(Native Compilation) ;嵌入式系统多采用交叉编译的方式,在本机编译好的程序是不能在本机运行的,需要通过特定的手段(例如烧写,下载等)安装到目标系统上执行。这种编译运行的方法比较繁琐,是受到实际条件限制的。大多数的嵌入式系统目标板系统资源都很有限,无论是存储空间还是 CPU 处理能力,都很难达到编译程序的要求。而且很多目标板是没有操作系统的,需要通过其他的机器编译操作系统和应用程序。

2、首先,下载交叉编译工具包 arm_tools_3.3.tar.bz2 到目录/home/sunguoliang/(也可以是其它目录) ,然后运用以下命令进行解压:sunguolianglocalhost $ tar xvf arm_tools_3.3.tar.bz2sunguolianglocalhost $ mv arm_tools_3.3 arm_tools再通过以下命令来修改环境变量:添加了编译器的路径。sunguolianglocalhost $ vi .bash_profile2图 1 环境变量的修改二、Linux2.6.9 内核的安装首先,将 Linux-2.6.9.tar.bz2

3、、install-da.sh 和 patch.20100302.tar.bz2 三个文件下载到/home/sunguoliang 目录下。然后通过以下几个命令进行内核安装。首先解压 patch 包。sunguolianglocalhost $tar xvf patch.20100302.tar.bz2其中,文件 install-da.sh 是一个可执行的脚本文件,如果运行这个脚本文件则 Linux-2.6.9 的整个安装(包括打 patch)将会自动运行。用 vi 编辑器可以打开查看其中的内容。然后运行脚本文件 install-da.sh。若此文件不是可执行文件,可使用命令 chmod 777

4、 install-da.sh 使其成为可执行文件。3图 2 install-da.sh 中的内容sunguolianglocalhost $ ./install-da.sh待 install-da.sh 文件执行完后,Linux-2.6.9 内核就完成安装。我们以后就可以通过相应的配置文件对 Linux 内核进行相应的配置和裁剪,使其支持某些功能的嵌入式系统内核,再通过 make zImage 命令编译生成压缩的内核镜像文件,下载到目标板上通过 u-boot 去引导运行。附:如果通过 SecureCRT 与带有 Linux 操作系统的主机相连时,我们可以通过两个命令来进行文件的下载和上传。下载

5、文件:通过运行以下命令会出现一个窗口。sunguolianglocalhost $ rz4图 3 下载文件通过这个窗口可以选择要下载到当前目录下的文件。上传文件:通过运行以下命令可以实现文件的上传。文件一般会默认上传到我的文档里。sunguolianglocalhost $ sz u-boot.bin5第二部分 NFS(网络文件系统)服务器的搭建以 root 身份登录 Linux 服务器,编辑/etc 目录下的共享目录配置文件exports,指定需要共享的目录及权限等。执行如下命令编辑文件/etc/exports:rootlocalhost /# vi /etc/exports在该文件里添加以

6、下内容:/home/zht/sfsys 192.168.0.*(rw,sync,no_root_squash)编辑完成后保存退出。添加的内容表示:允许 IP 地址范围在 192.168.0.*的计算机以读写的权限方式来访问/home/zht/sfsys 目录。此目录也称为服务器输出共享目录。括号内的参数意义描述如下: rw:读/写权限,只读权限的参数为 ro; sync:数据同步写入内存和硬盘,也可以使用 async,此时数据会先暂存于内存中,而不立即写入硬盘。 no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权

7、限。 6图 4 /etc/exports 里的内容接着执行如下命令,启动端口映射: rootlocalhost /# /etc/rc.d/init.d/portmap start 最后执行如下命令启动 NFS 服务,此时 NFS 会激活守护进程,然后就开始监听 Client 端的请求: rootlocalhost /# /etc/rc.d/init.d/nfs restart 若端口映射和 NFS 启动成功会如下图所示:7图 5 端口映射和 nfs 服务启动成功我们首先在 Linux 服务器上进行 NFS 服务器的回环测试,验证共享目录是否能够被访问。在 Linux 服务器上运行如下命令: r

8、ootlocalhost /# mount t nfs 192.168.0.55: /home/zht/sfsys /mnt rootlocalhost /# ls /mnt 命令将 Linux 服务器的 NFS 输出共享目录挂载到/mnt 目录下,因此,如果NFS 正常工作,应该能够在 /mnt 目录看到/home/work 共享目录中的内容。为了不必每次开机都要启动 NFS 服务,我们把/etc/rc.d/init.d/nfs restart 添加到/etc/rc.d/rc.local 中,以后 PC 启动的时候就会执行此文件开启 NFS 服务。8图 6 /etc/rc.d/rc/loca

9、l 里添加 nfs 启动命令9第三部分 支持 NFS 的 Linux 内核的配置及编译生成压缩镜像内核编译以后产生两个文件文件,一个是 Image,一个是 zImage,其中Image 为内核的映像文件,而 zImage 为内核的一种映像压缩文件。 uImage 为 u-boot 专用的映像文件,它是 zImage 之前加上一个长度为 64 个字节的头,说明这个映像文件的类型、加载位置、生成时间、大小等信息。换句话说,如果直接从 uImage 的 0x40 位置开始执行,zImage 和 uImage 没有任何区别。一、 Linux 内核的配置内核的配置可使用 make menuconfig

10、命令进入基于文本选单的配置界面,根据需要选择某些选项使内核对 NFS 支持,例如:选中 networking optionsIP:kernel level auloconfiguralion 项选中 file systemsnetwork file systems下的 root file system on nfs 和nfs file system support。具体操作过程是首先进入 Linux-2.6.x 目录下,然后运行 make menuconfig命令就会进入配置界面。sunguolianglocalhost$ /home/sunguoliang/uClinux-dist-710/

11、linux-2.6.xsunguolianglocalhost linux-2.6.x$make menuconfig10图 7 运行 make menuconfig 命令后出现的配置界面当我们根据需要选择完选项并保存配置退出后,会在当前目录下生成一个.config 文件,可以使用命令 ls al 查看这个文件。针对我们自己的华邦平台,支持网络文件系统的内核配置文件已经生成,放在解压 patch.20100302.tar.bz2 后的 patch 包里。我们可以使用以下命令将这个配置文件拷到当前目录下。这样系统配置完成。sunguolianglocalhost linux-2.6.x$ cp ././patch/config.nfs.20091230 /.config具体步骤如下图所示:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。