嵌入式课设报告---基于U盘的LINUX操作系统

上传人:pu****.1 文档编号:502827400 上传时间:2023-11-21 格式:DOC 页数:17 大小:148KB
返回 下载 相关 举报
嵌入式课设报告---基于U盘的LINUX操作系统_第1页
第1页 / 共17页
嵌入式课设报告---基于U盘的LINUX操作系统_第2页
第2页 / 共17页
嵌入式课设报告---基于U盘的LINUX操作系统_第3页
第3页 / 共17页
嵌入式课设报告---基于U盘的LINUX操作系统_第4页
第4页 / 共17页
嵌入式课设报告---基于U盘的LINUX操作系统_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《嵌入式课设报告---基于U盘的LINUX操作系统》由会员分享,可在线阅读,更多相关《嵌入式课设报告---基于U盘的LINUX操作系统(17页珍藏版)》请在金锄头文库上搜索。

1、华北水利水电学院课程设计报告课程名称: 嵌入式系统 姓 名: 学 号: 班 级: 专 业: 电子信息工程 日 期: 2013/7/4 目 录前言-21 课程设计的目的和要求-21.1课程设计的目的-21.2课程设计的基本要求-22 前期准备-22.1基本工作原理-32.2 开机载入程序GRUB2-32.3 Busybox简介-42.4 根文件系统简介- 42.5 实验平台-52.6 实验流程-53 编译linux内核-64 制作启动盘-65 建立根文件系统-8 5.1 编译Busybox-8 5.2 建立文件系统-96 系统整合及测试-127 实验心得-127 参考文献-13 附录-13前 言

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

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

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

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

6、命令,如加载所需的模块、装载SWAP、初始化网络、装载fstab 中列出的所有驱动器等,至此,系统启动流程完毕图 1 LINUX的启动流程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就能得到一个控制台,而这个控制台中的所有命令都是指向Busybox的

8、链接。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 install build-essential来安装。从Busybox的官方网站http:/ 上下载Busybox的源代码。本课程设计所用的busybox版本是busybox-1.2.0.tar.bz2。2.4 根文件系统简介Windows操作系统可以将硬盘划分为C,D,E,F等各个盘分别访问,linux同理将MTD设备划分为若干个分区,在不同的分区存放不同类别的文件。与windows

10、的C盘类似,linux一样要在一个分区上存放系统启动所必需的文件如下图所示:根文件系统必须包含支持完整Linux 系统运行所需要的每一个项目,为此它必须至少包括能让Linux系统运行的最起码需求(即基本的文件系统构架,其它需求可在系统运行时或系统运行之后动态加载):1 最起码的目录:/dev,/bin,/sbin,/etc,/usr;2 最基本的命令文件:ash(或bash 等,shell 是必不可少的),cp,rm,ls,mkdir,cd; 3 最起码的配置文件:rc,inittab,etc.;4 最起码的设备文件:/dev/fd0,/dev/tty*,/dev/hd*,console,/d

11、ev/ram0,etc.;上述文件大小远远小于4M,所用U盘大小为1G。当用U盘启动时,文件自己先解压到内存中,形成一个虚拟启动盘(Ramdisk),通过Ramdisk来控制启动。因此,为了能够创建以上的根文件系统,必须有一个空闲的能放下约4M 文件的Ramdisk。2.5 实验平台开发环境:虚拟机VMware9.0、Ubuntu12.10开发工具:内核源码:linux-2.6.18.tar.bz2或安装linux的主机中/usr/kernel下的内核版本、Busybox版本:busybox-1.2.0.tar.bz2、U盘:Kingston2.0 4G 2.6 实验流程操作系统的设计本身是一个非常复杂和困难的工作,本实验参考Linux 操作系统的启动流程和内核架构,按照如下流程实现了小型操作系统的设计:a.编译linux内核b.制作启动盘c.建立根文件系统盘d.系统整合及测试3 编译linux内核此步主要是剪裁linux内核,以求简洁实用,适合

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

当前位置:首页 > 幼儿/小学教育 > 小学课件

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