动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.OC4J 10g 10.1.3 数据源中的连接.
.EXP、IMP 命令详解.
.如何限制某个用户只能FTP不能TEL.
.不同平台的数据库异步I/O的使用.
.我的oracle笔记五(oracle工具使.
.簡析REDO LOGFILE.
.Oracle中使用自治事务保存日志表.
.Oracle内存结构(三)----Process .
.关于使用RMAN进行clone数据库二.
.Linux2.2.18环境下实现多网卡Bon.
.Oracle10g R2新增工具:CVU.
.Oracle 9i修改数据库的工作模式.
.oracle的update问题.
.ORACLE 锁.
.Oracle数据库中如何改善表空间的.
.Oracle中对两个数据表交集查询简.
.Oracle数据库中临时表的深入研究.
.Oracle9i中监视索引的使用.
.提高ORACLE数据库的查询统计速度.
.Fravo Oracle 1Z0-033 v3.0.

从EPROM引导Linux

发表日期:2008-2-9 |



  本文简要介绍从486单板机的EPROM引导Linux。提供了一种在无硬盘的嵌入式系统上运行Linux的方法。我们要介绍的应用程序是一个显示器上的Operator Interface,它的显示系统是由Boeing Flight Test开发的。飞行环境需要一种可以防止忽然性的电源中断的机制。 为了满足这样的要求,我们决定在无硬盘的系统上实现Operator Interface。
  
  概况
  
  基本的问题包括从EPROM的SSD(solid state disk)引导,将root文件系统从EPROM拷贝至一个RAM disk,从客户机加载Operator Interface软件并且执行它。本文主要讨论系统工作机制的细节以及它所使用的开发技巧。
  
  我们所选用的硬件为一台拥有16M RAM、一个能够容纳4M
  
  EPROM的PC104 SSD和其他一些PC104板的基于VME的单板机。它的BIOS支持SSD的使用。系统使用一个可编程的键盘和一块标准的VGA显示卡。
  
  系统操作
  
  引导时我们需要考虑两个选项:
  
  * 在DOS下使用loadlin(可以加在Autoexec.bat文件中)引导Linux
  
  * 安装LILO直接引导Linux
  
  第二种选项的好处是引导所用的时间较小。我们采用第一种方案,因为我们使用一个可编程的键盘——在DOS运行为键盘编程的软件。
  
  为了使系统工作,我们需要kernel-hacking。Ramdisk.c代码被改成可以从任意的块设备加载而不仅仅是从软盘。另外,我们写一个从EPROM设备的新的块设备驱动程序。
  
  实现EPROM设备驱动程序的第一种思想是在EPROM中生成一
  
  个磁盘映像。这会为我们提供一个同EPROM相同大小的RAM disk,在这种情况下大小为3.5M(SSD的DOS分区占1/2M)。为了得到一个大的RAM disk,我们使用一个压缩的磁盘映像。压缩的思想很简单,相同的扇区之存贮一次。这样的好处是磁盘映像的空白区域不占用EPROM空间。
  
  为了自动运行Operator interface程序,我们需要一个程序来替代getty。
  
  这个程序(dboot.c)应该运行登录程序,可以为指定的虚拟终端设置stdin,stdou和stderr。
  
  引导的过程是这样的:
  
  l 加电后进行内存检测
  
  l 加载运行AUTOEXEC.BAT的DOS
  
  l 运行键盘应用程序
  
  l 运行LOADLIN——从DOS分区中读取Linux内核执行
  
  l 由linux内核接管系统
  
  l 从EPROM中加载RAM disk
  
  l 转换root文件系统到RAM disk
  
  l init读取inittab,注重inittab执行dboot 而不是getty
  
  l 启动Operator interface
  
  开发
  
  下一阶段的任务是将EPROM的磁盘内容组织在一起。我们使
  
  用如下分区的辅助盘来完成这项任务:
  
  * /dev/hda1 – 80M linux system
  
  * /dev/hda2 - 6M EPROM
  
  * /dev/hda3 - 20M DOS分区
  
  * 使用Lilo引导
  
  直接对EPROM进行编程时很费时间的事。所以,我们大部分
  
  的开发使用辐助盘来进行。
  
  磁盘映像的开发首先确定需求。首先完成一个最小的系统,然后再将operator interface所需的项目加到系统中。由于我不是Unix专家,所以这个最小系统的完成是个试验、纠错的过程。我不断的试验,直到系统正常运行。
  
  下一步将Linux分区的内容拷贝到6M分区中,然后在DOS下进行如下操作:
  
  loadlin zimage root=/dev/hda2 ro
  
  假如系统稳定,则将6M分区载入到RAM disk。这同从EPROM中加载是相似的。为了避免对EPROM编程而测试系统,在DOS下进行如下操作:
  
  loadlin zimage root=/dev/hda2 ramdisk=6144 ro
  
  因为对ramdisk.c进行了修改,/dev/hda2磁盘映像被加载到RAM中,然后root分区转换为RAM disk。我们需要不断地修改disk image直到它正常工作为止。
  
  对EPROMs编程
  
  首先使用tar将小的disk image打包,然后解压缩到一个干净的文件系统。

  
  为了打包disk image。我们从Linux引导,然后加载6M分区。不要对proc文件系统执行tar命令。我们使用以下的命令:
  
  mount –t ext2 /dev/hda2 /mnt
  
  cd /mnt
  
  tar –cpf /tmp/eprom.tar *
  
  为了生成disk image,我使用另一拥有6M RAM disk的计算机和如下的命令行:
  
  dd if=/dev/zero of=/dev/ram count=12288
  
  mke2fs /dev/ram 6144
  
  mount –t ext2 /dev/ram /mnt
  
  cd /mnt
  
  tar –XPf ~/eprom.tar
  
  dd if=/dev/ram of=~/eprom.dsk count=12288
  
  这生成一个eprom.dsk文件,我们使用med.c程序将disk image(eprom.dsk)写入EPROMs(即对EPROMs编程)。
  
  Med ~/eprom.dsk ~/eprom.img
  
  然后EPROM程序员将EPROM image刻入EPROM中。
  
  DOS boot SSD
  SBC的SSD功能帮助我们构建disk image。DOS SSD disk最少需要如下的文件:DOS引导文件,command.com,autoexec.bat,键盘加载程序,loadlin与zImage。
  
  结论
  
  辅助盘上的开发工作量很大,我们需要采取措施来减少工作量。EPROM disk在我们的应用程序中工作的很好。
上一篇:TCP/IP远程访问操作 人气:523
下一篇:如何使用UUCP 人气:409
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-10 企业网站智能管理系统(TZIMS) v6
2008-10-10 拓文asp.net网站内容管理系统 v6
2008-10-10 动网论坛PHP版 v2.0++ Build 081
2008-10-10 免费时代CMS v5.0
2008-10-10 wodig第四季中文DIGG社区 v4.1 b
2008-10-10 老Y文章管理系统 v2.2 bulid 081
2008-10-10 魔法盒动感相册 ASP+SQL版 v2.0
2008-10-10 Asoft签到管理系统 v3.0 Pack1
2008-10-10 哥特人音乐网潮流留言本 v1.1
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成