嵌入式课设报告

上传人:鲁** 文档编号:460401021 上传时间:2023-05-17 格式:DOCX 页数:17 大小:53.44KB
返回 下载 相关 举报
嵌入式课设报告_第1页
第1页 / 共17页
嵌入式课设报告_第2页
第2页 / 共17页
嵌入式课设报告_第3页
第3页 / 共17页
嵌入式课设报告_第4页
第4页 / 共17页
嵌入式课设报告_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《嵌入式课设报告》由会员分享,可在线阅读,更多相关《嵌入式课设报告(17页珍藏版)》请在金锄头文库上搜索。

1、华北水利水电学院课程设计报告课程名称:嵌入式系统姓名:学号:班级:专业:电子信息工程日 期:2013/7/4前言21课程设计的目的和要求 21.1 课程设计的目的21.2 课程设计的基本要求22前期准备 22.1 基本工作原理32.2 开机载入程序 GRUB232.3 Busybox 简介42.4 根文件系统简介 42.5 实验平台52.6 实验流程53 编译 linux 内核64 制作启动盘 65建立根文件系统85.1 编译 Busybox85.2 建立文件系统96系统整合及测试127实验心得127 参考文献 13附录13前言现在的计算机技术简直日新月异,U盘,固态硬盘等等存储介质做的可以越

2、来越大, 并越来越便宜。电脑已经不是稀罕物了,办公室,家里都有,并且还不只一台。电脑多 了,给我们带来方便的同时,有时候也会弄得很麻烦。比如开发工具,写的文档,编的 程序,在家里,办公室的电脑上都要装一装。很多实验室,生产线的在线控制,监测等 等,这些的维护对一个技术人员来说工作量是非常的繁复。也许这些都可以随着技术的 发展越来越方便。如果把操作系统装在u盘里,在家里,办公室,随便插在哪台机器上 都可以启动自己的定制的桌面,工作的环境,是多么的方便啊!不必好几台机器都要同 步文档,程序等等。本课程设计就是构建一个基于U盘存储的linux操作系统,通过支持USB硬盘启动 方式的PC机,可以启动U

3、盘上的linux系统。1课程设计的目的和要求1.1 课程设计的目的通过本次课程设计,学会如何构建一个基于U盘存储的linux操作系统,了解linux 操作系统的具体的构建过程,和linux操作系统的基本组成部分,以及掌握linux操作 系统的基本操作1.2 课程设计的基本要求(1) 通过实验开发平台提供的Linux操作系统中的make等工具重新配置新内核,在功能 齐全的前提下,要求所配置的内核尽量小。(2) 制作一张启动盘(BootDisk)。要求将该启动盘放于一张U盘上,用GRUB2引导程 序引导,其引导内核为上面新配置的内核,同时考虑将它所引导的根文件系统放 于同一U盘上。(3) 制作根文

4、件系统盘。要求该启动盘也能放于同一张 U 盘上,并能通过上面做成的 启动盘成功引导并进入系统,从而得到一个微型的Linux操作系统。2 前期准备2.1 基本工作原理一个Boot/Root盘实际上是一个完整系统的缩影,基本上是放于一张U盘上的一个 小型而自给自足的Linux系统,它能够执行一个完整系统的大部分功能。故在制作启动 盘之前,你应该了解基本的Linux启动流程。开机后,系统执行存放在ROM中的BIOS程序,然后根据的设置BIOS决定是从硬盘还 是软盘启动。若是从硬盘启动,则读入)柱面0磁头1扇区的MBR,引导系统的执行。一般 在Linux OS中启动盘的0柱面0磁头1扇区中装的是启动装

5、载器GRUB2,它定位内核并装载 内核,最后执行内核。如果GRUB2装在MBR (Master Boot Record),则先由BIOS把GRUB2 代码调入内存,然后跳转执行GRUB2,再装载执行内核,即:BIOS -GRUB2 (在MBR中) KERNEL; 旦内核装载完毕后,开始初始化系统所有硬件设备,当硬件设备初始化 完成后,启动过程会就此停止而等待根文件系统的装载。接着,系统在根文件系统上找到init程序并执行它,init程序寻找它的配置文 /etc/inittab、/etc/rc.S,并开始执行其中的脚本,这些脚本是一些SHELL命令的组 合,用来执行下面一些命令,如加载所需的模块

6、、装载SWAP、初始化网络、装载fstab中 列出的所有驱动器等,至此,系统启动流程完毕CPU复位cpu的pc指向特定的地址(懸敷遲地址幵始执行程序2.2开机载入程序一GRUB2.0GRUB2是一个在Linux环境下编写的引导安装(Boot Loader)程序(故其安装和 配置都要在Linux下进行),其主要功能是引导Linux OS的启动GRUB不仅可作为Linux 分区的引导扇区内的启动程序,而且可放入MBR中完全控制Boot Loader的全过程。此 次课程设计使用的GRUB2,主要作用是引导扇区的启动程序,加载linux内核和根文件 系统。2.3 Busybox 简介Busybox是一

7、个集成了一百多个最常用linux命令和工具的软件。Busybox包含了一 些简单的工具,例如ls、cat、cp等,甚至还集成了一个http服务器和一个telnet服务 器,而所有这一切功能却只有区区1M左右的大小。我们平时用的那些linux命令就好比是 分立式的电子元件,而Busybox就好比是一个集成电路,把常用的工具和命令集成压缩在 一个可执行文件里,功能基本不变,而大小却小很多倍,在嵌入式linux中,Busybox有非 常广的应用,另外,大多数linux发行版的安装程序中都有Busybox的身影,安装linux的 时候按ctrl+alt+F2就能得到一个控制台,而这个控制台中的所有命令

8、都是指向Busybox 的链接。Busybox的小身材大作用的特性,给制作一张软盘的linux带来了及大方便。 Busybox 被称作 “The Swiss Army Knife of Embedded Linux”,Busybox 实质是提供 一个很小的可执行程序,通过对其的链接,可以建立其他常用的linux系统命令。它仅 仅用一个可执行文件就可以提供一个基本的Linux操作系统所需的常用命令。不但体 积小,配置起来也方便,只需很少的配置文件即可以运行。一个由Busybox构成的 Linux操作系统加上内核完全可以做到只占用2、3M空间,甚至可以更小。Busybox是Linux下的一个开放源

9、代码软件,编译的时候需要gcc和glibc 的支持,也可以用uClibc代替glibc。(glibc是gnu发布的libc库,即c运行库)。 所以需要保证你的开发环境是否安装了 gcc,若没安装,就可以通过命令apt-get ins tall build-esse nt ial 来安装。从 Busybox 的官方网站 htt p:/www.busybox.ne t 上 下载Busybox的源代码。本课程设计所用的busybox版本是busyboxT.2.0. tar.bz2。2.4 根文件系统简介Windows操作系统可以将硬盘划分为C,D,E,F等各个盘分别访问,linux同理将MTD 设备

10、划分为若干个分区,在不同的分区存放不同类别的文件。与windows的C盘类似, linux 一样要在一个分区上存放系统启动所必需的文件如下图所示:BootloaderBootLoader参数区LinuxKernel根文件系统根文件系统必须包含支持完整Linux系统运行所需要的每一个项目,为此它必须至少包括能让Linux系统运行的最起码需求(即基本的文件系统构架,其它需求可在系统运行时或系统运行之后动态加载):1最起码的目录:/dev, /bin, /sbin, /etc, /usr;2最基本的命令文件:ash (或bash等,shell是必不可少的),cp, rm, ls,mkdir, cd;

11、3最起码的配置文件: rc, inittab, etc. ;4最起码的设备文件: /dev/fd0, /dev/tty*, /dev/hd*, console, /dev/ram0,etc.;上述文件大小远远小于4M,所用U盘大小为1G。当用U盘启动时,文件自己先解压到内存中,形成一个虚拟启动盘(Ramdisk),通过Ramdisk来控制启动。因此,为了能够创建以上的根文件系统,必须有一个空闲的能放下约4M文件的Ramdisk。2.5 实验平台开发环境:虚拟机 VMware9.0、Ubuntu12.10开发工具:内核源码:linux-2.6.18. tar.bz2或安装linux的主机中/us

12、r/kernel下的内核版本、Busybox 版本:busyboxT.2.0. tar.bz2、U 盘:Kingston2.0 4G2.6 实验流程操作系统的设计本身是一个非常复杂和困难的工作,本实验参考Linux操作系统的 启动流程和内核架构,按照如下流程实现了小型操作系统的设计:a. 编译 linux 内核b. 制作启动盘c. 建立根文件系统盘d. 系统整合及测试3 编译 linux 内核此步主要是剪裁linux内核,以求简洁实用,适合U盘(或嵌入式)系统。裁减内核 的流程如下:1、在编译之前需要准备以下几个软件包:build-essential,libcurses5-dev、 kerne

13、l-package(注:(1)#apt-cache policy XXX,查看软件XXX是否安装。(2)使用apt-get 所下载的用于安装的软件包,在/var/cache/apt/archives中,如果执行过apt-get clean,那么原始下载包就找不到了。)= apt-get install build-essential /安装gcc, make等= apt-get ins tall libncurses5-dev /安 装 m ake menuconfig 时必须的库文件= apt-get install kernel-package2、下载linux内核,解压安装可以从 www

14、.kernel.org www.linux.org 上下载 linux 内核,可以直接使用安装 linux的主机中/usr/kernel下的内核版本。在内核版本使用的问题,觉得应该多尝试 几个不同的版本,内核版本不是越新越好,也不是越老越好。本课程设计编译内核版本 为linux-2.6.18. tar.bz2,但在测试时使用的内核是主机本身的内核。具体操作如下:=mkdir /usr/myos=cp linux-2.6.18.tar.bz2 /usr/myos/=cd /usr/myos=tar -jxvf linux-2.6.18.tar.bz2=cd linux-2.6.183、配置内核选

15、项=make menuconfig配置menuconfig里选项详见附录4、编译内核=makemake完成后会在/usr/myos/linux-2.6.18/arch/i386/boo t/目录下生成内核文件 bzImage。这就是我们需要拷贝到U盘下的内核。4 制作启动盘准备一个U盘,并在其上面建立linux分区和ext2文件格式。在对U盘进行分区 之前必须知道U盘在系统中设备文件,U盘在linux被识别scsi设备,因此系统分配给 U盘在系统中的设备文件一般为sda、sdb、sdc等,如果系统中只有一个scsi设备,则 插入的第一个U盘的设备文件一般为/dev/sda。对于VMware下安装的linux系统而言, 第一个U盘设备文件一般为/dev/sdb。实际的设备文件可以通过“fdisk - l “指令来 查看。知道U盘设备文件之后,就可以对U盘进行分区和格式化,具体操作如下:1、利用linux自带的fdisk工具格式化

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

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号