从eprom引导linux

从eprom引导linux

ID:22374041

大小:59.00 KB

页数:6页

时间:2018-10-28

从eprom引导linux_第1页
从eprom引导linux_第2页
从eprom引导linux_第3页
从eprom引导linux_第4页
从eprom引导linux_第5页
资源描述:

《从eprom引导linux》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、从EPROM引导Linux

2、第1...本文简要介绍从486单板机的EPROM引导Linux。提供了一种在无硬盘的嵌入式系统上运行Linux的方法。我们要介绍的应用程序是一个显示器上的OperatorInterface,它的显示系统是由BoeingFlightTest开发的。飞行环境需要一种可以防止突然性的电源中断的机制。为了满足这样的要求,我们决定在无硬盘的系统上实现OperatorInterface。概况基本的问题包括从EPROM的SSD(solidstatedisk)引导,将root文件系统从EPROM拷贝至一个RAMdisk,从客户机加载Operator

3、Interface软件并且执行它。本文主要讨论系统工作机制的细节以及它所使用的开发技巧。我们所选用的硬件为一台拥有16MRAM、一个能够容纳4MEPROM的PC104SSD和其他一些PC104板的基于VME的单板机。它的BIOS支持SSD的使用。系统使用一个可编程的键盘和一块标准的VGA显示卡。系统操作引导时我们需要考虑两个选项:*在DOS下使用loadlin(可以加在Autoexec.bat文件中)引导Linux*安装LILO直接引导Linux第二种选项的好处是引导所用的时间较小。我们采用第一种方案,因为我们使用一个可编程的键盘——在DOS运行为键盘编程的软

4、件。为了使系统工作,我们需要kernel-hacking。Ramdisk.c代码被改成可以从任意的块设备加载而不仅仅是从软盘。另外,我们写一个从EPROM设备的新的块设备驱动程序。实现EPROM设备驱动程序的第一种思想是在EPROM中生成一个磁盘映像。这会为我们提供一个同EPROM相同大小的RAMdisk,在这种情况下大小为3.5M(SSD的DOS分区占1/2M)。为了得到一个大的RAMdisk,我们使用一个压缩的磁盘映像。压缩的思想很简单,相同的扇区之存贮一次。这样的好处是磁盘映像的空白区域不占用EPROM空间。为了自动运行Operatorinterface

5、程序,我们需要一个程序来替代getty。这个程序(dboot.c)应该运行登录程序,可以为指定的虚拟终端设置stdin,stdou和stderr。引导的过程是这样的:l加电后进行内存检测l加载运行AUTOEXEC.BAT的DOSl运行键盘应用程序l运行LOADLIN——从DOS分区中读取Linux内核执行l由linux内核接管系统l从EPROM中加载RAMdiskl转换root文件系统到RAMdisklinit读取inittab,注意inittab执行dboot而不是gettyl启动Operatorinterface开发下一阶段的任务是将EPROM的磁盘内容组

6、织在一起。我们使用如下分区的辅助盘来完成这项任务:*/dev/hda1–80Mlinuxsystem*/dev/hda2-6MEPROM*/dev/hda3-20MDOS分区*使用Lilo引导直接对EPROM进行编程时很费时间的事。所以,我们大部分的开发使用辐助盘来进行。磁盘映像的开发首先确定需求。首先完成一个最小的系统,然后再将operatorinterface所需的项目加到系统中。由于我不是Unix专家,所以这个最小系统的完成是个试验、纠错的过程。我不断的试验,直到系统正常运行。下一步将Linux分区的内容拷贝到6M分区中,然后在DOS下进行如下操作:lo

7、adlinzimageroot=/dev/hda2ro如果系统稳定,则将6M分区载入到RAMdisk。这同从EPROM中加载是相似的。为了避免对EPROM编程而测试系统,在DOS下进行如下操作:loadlinzimageroot=/dev/hda2ramdisk=6144ro因为对ramdisk.c进行了修改,/dev/hda2磁盘映像被加载到RAM中,然后root分区转换为RAMdisk。我们需要不断地修改diskimage直到它正常工作为止。对EPROMs编程首先使用tar将小的diskimage打包,然后解压缩到一个干净的文件系统。为了打包diskima

8、ge。我们从Linux引导,然后加载6M分区。不要对proc文件系统执行tar命令。我们使用以下的命令:mount–text2/dev/hda2/mntcd/mnttar–cpf/tmp/eprom.tar*为了生成diskimage,我使用另一拥有6MRAMdisk的计算机和如下的命令行:ddif=/dev/zeroof=/dev/ramcount=12288mke2fs/dev/ram6144mount–text2/dev/ram/mntcd/mnttar–xpf~/eprom.tarddif=/dev/ramof=~/eprom.dskcount=122

9、88这生成一个eprom.dsk文件,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。