嵌入式Linux实验一 Linux常用命令(5)

2018-12-15 18:03

2.

3.

4.

十一、实验小结(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论。)

了解BootLoader的结构。掌握BootLoader配置编译过程。熟悉BootLoader的常用命令。

十二、思考题

1. BootLoader的作用?它有几种操作模式?

在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。它有两种操作模式:启动加载模式和下载模式。

福建师范大学协和学院《嵌入式系统》实验报告

实验日期: 2017 年 5 月 9 日

学号: 124242014080 姓名: 谢志杰 实验台: D1 组员姓名: 谢志杰、洪剑锋

实验六 内核和根文件系统

一、实验目的

1. 熟悉内核、根文件系统的结构和配置编译过程。 2. 掌握BootLoader、内核和根文件系统的下载。

二、实验环境

硬件:PC机、ARM实验板及相关配件

软件:VMware Workstation虚拟机、Linux操作系统、BootLoader文件(uboot)、Linux内核源码、根文件系统、Source Insight工具软件、BusyBox工具软件、Samba、nfs和SecureCRT

三、实验内容及步骤

1. 熟悉内核的裁剪和编译

将Linux内核文件复制到Linux下(D:\\嵌入式Linux课程软件集\\内核驱动\\Linux内核制作TQ2440\\linux-tq2440.tar.gz),并解压(#tar xvzf linux-tq2440.tar.gz) (1)内核的裁剪

1)方式1 #make menuconfig命令:进入菜单式配置界面(截图),其中上下键选菜单项,左右键选择选择方式。其中,若为尖括号<>,则有3种取值方式;若为方括号[]则只有两种取值方式:

按Y表示编译进内核; 按N表示不编译进内核;

按M表示以模块方式进行编译;

进入General setup选项中,将Initial RAM ......栏设置为不编译进内核(即按N,选项前会变成[ ]),因为现在暂不进行文件系统挂载。

退出,保存;

2)方式2 #make xconfig命令:进入图形式配置界面(截图),直接通过鼠标选择;

选择好之后,退出,保存

3)#ls -a查看配置文件:配置文件为 .config(截图)

4)*方式3 将已配置好的文件,替换原来的文件。(可不做) (2)内核的编译

1)#make clean命令:清除以前配置产生的一些中间文件和目标文件;

2)#make uImage ARCH=arm CROSS_COMPILE=arm-linux- 命令:执行make命令对内核进行编译,指定体系结构为arm,交叉编译器为arm-linux-gcc等交叉工具。

发现最后会出现在 ./arch/arm/boot目录有zImage文件,但无法创建uImage

3)#创建内核映象文件:把上次实验课uboot/tools/目录下的mkimage文件复制到/bin/目录下,重复2)步骤,即可解决问题

根据编译信息可知,在“./arch/arm/boot/”目录下生成了一个uImage文件,这就是需要的

内核文件映像文件。(截图),再通过tftp服务器下载到开发板 2. 熟悉根文件系统的生成过程 根文件系统的制作

将根文件系统的系统配置文件及BusyBox软件(路径D:\\嵌入式Linux课程软件集\\内核驱动\\根文件系统制作相关软件\\etc.tar.gz和busybox-1.13.3.tar.gz复制到Linux下

使用Busybox工具软件制作根文件系统。

(1)在/home/win目录下先创建一个rootfs目录,并在这个目录下建各个子目录。

#mkdir rootfs #cd rootfs

#mkdir bin etc dev lib mnt proc sbin sys tmp usr var #mkdir usr/bin usr/lib usr/sbin lib/modules (2)创建设备文件

#cd rootfs/dev

#mknod -m 666 console c 5 1 #mknod -m 666 null c 1 3 (3)加入配置文件

#tar etc.tar.gz //解压复制过来的文件 #mv etc/* /home/win/rootfs/etc/ -rf (4)添加内核模块

#cd /home/win/TQ2440/linux-tq2440 //进入内核主目录下 #make modules ARCH=arm CROSS_COMPILE=arm-linux-

#make modules_install ARCH=arm INSTALL_MOD_PATH=/home/win/rootfs (5)配置、安装BusyBox

先把复制过来的BusyBox软件进行解压,解压完进入其主目录 1) 配置busybox

#make menuconfig Busybox Settings àbuild Options->

选中 “Build busybox as a static binary”, 静态链接 Cross Compiler prefix (arm-linux-) (截图)

Installation Options->

选中 “Don’t use /usr”, 选中该项可以避免busybox 被安装到宿主系统的/usr目录下,破坏宿主系统

Busybox Installation Prefix (/xxx/rootfs) 该选项表明编译后的busybox的安装位置 2)编译安装busybox

#make

#make install

3. 使用Initramfs挂载根文件系统 #cd /home/win/rootfs/ #ln -s /bin/busybox init

配置Linux内核,支持Initramfs

#make menuconfig -> general setup ->Initial RAM filesystem and ......

目录写上/home/win/rootfs

编译内核

#make zImage ARCH=arm CROSS_COMPILE=arm-linux- 用ls列出所有的文件,(截图)

*用tftp服务下载根文件系统到Linux系统到开发板(参考实验五)

四、实验结果(粘贴执行结果截图)

1.

2.


嵌入式Linux实验一 Linux常用命令(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:三年级上册数学集体备课计划

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: