计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

一种实现嵌入式Linux的新法子毕业论文(2)

2013-11-22 01:03
导读:/dev/ram / ext2 defaults 1 1 none /proc proc defaults 0 0 即可。一般来说系统 启动时都要激活交换 分区,即在启动脚本中有swapon a 命令,但我们不需要 交换 分区,因

/dev/ram      /       ext2          defaults    1    1
none          /proc   proc          defaults    0    0
即可。一般来说系统 启动时都要激活交换 分区,即在启动脚本中有swapon –a 命令,但我们不需要 交换 分区,因此要把这一项移除,否则启动时会打印差错信息然后收场启动。
最后我们要拷贝ramdisk的映像并将其收缩。首要步骤如下:
运行df ,注意1024-blocks一栏中/dev/ram的数值,在我的机上为25600;
卸载/dev/ram,运行cd /root切换至root目录并运行umount /dev/ram;
将ramdisk写成映象文件,运行dd if=/dev/ram of=ram30.img bs=1k count=25600
收缩,并在/root目录下产生 一个收缩的映象文件ram30.img.gz,运行gzip –9v ram30.img
3.2创立 initrd ramdisk 映像
首先我们在/dev/ram0中创立一个适宜大小的ext2文件系统 ,法子 同上,只是大小只有2048K,因为initrd ramdisk是用来指示(bootstrap)30M的ramdisk,并将它挂载至/mnt/ram。
然后在/dev/ram0中建立 映像需要 的目录和文件。创立目录bin、dev、etc、lib、mnt和可履行脚本文件linuxrc,linuxrc的内容为:
   #!/bin/bash
   mount –o –ro /dev/hda1/ /mnt             # 以只读法子 将flash盘挂载在/mnt下
   zcat /mnt/boot/ram30.img.gz > /dev/ram     # 将根文件系统 映像解压至ram
   umount /dev/hda1                           # 卸载flash盘 (科教范文网http://fw.nseac.com)
bin下面为linuxrc中用到的命令;lib为这些命令需要 的动态链接库;etc下为配置文件ld.so.conf,定义命令运行时寻找所需动态链接库的路径,运行命令ldconfig –r /mnt/ram产生 文件ld.so.cach,在命令和动态链接库之间建立 对应关系;dev下根基终端设备 和linuxrc中用到的设备 :console、ram、null、systty、tty1、tty2和hda1;mnt为hda1的挂载点。
    最后创立收缩的initrd ramdisk映像。
运行df 看看/dev/ram0的字节数,在我的盘算机上1684K;
转换当前目录至/root并卸载/dev/ram0 umount /dev/ram0;
拷贝/dev/ram0成映像文件 dd if=/dev/ram0 of=initrd.img bs=1k count=1684;
产生 收缩的映像文件initrd.img.gz,运行gzip -9v initrd.img。
3.3启动
    系统 的启动需要 依赖flash盘,通过LILO把系统 启动信息写入flash盘主指示区。
将flash盘作为第一主盘hda,而将装有普通Linux的硬盘作为第一从盘hdb并从它启动。在flash硬盘上创立 ext2文件系统 ,将它挂载至/mnt/flash目录。在flash盘上建立 boot目录,将收缩的文件系统 和initrd映像拷贝至boot目录下,同时将Linux内核、指示区记载 boot.b、指示区映射map拷贝至其下。在普通Linux系统 中建立 LILO配置文件ramlilo.conf,配置文件如下:             
 boot=/dev/hda
              map=/mnt/flash/boot/map
                      install=/mnt/flash/boot/boot.b
              prompt
              timeout=50

              image=/mnt/flash/boot/vmlinuz (科教作文网http://zw.NSEaC.com编辑发布)
                     append= “ramdisk_size=30000”
                     label=embedded
                     root=/dev/ram
                     initrd=/mnt/flash/boot/initrd.img.gz
运行命令lilo –C ramlilo.conf ,将启动信息写入flash的主指示区MBR。
重新启动盘算机,登陆后运行mount,我们看到如下两项:
         /dev/ram on / ext2 (rw)
         none on /proc type proc (rw)
这显示只有ramdisk被挂载,制作 成功 。
4 结论
在我们制作 的嵌入式Linux中进行各种操作,速度非常快,而且系统 很稳固。没有出现因为根文件系统 毁坏而导致系统 进入手工掩护界面的现象。用它作为HTTP网络服务器、网络监督器、宽带通信 设备 管理器或者其他需要 长光阴不停运行的机器,都有很高的利用价值。

参考文献
1.邹思铁 嵌入式Linux设计与利用 清华大学出版社 2002 北京
2.黄敦 如何结构嵌入式Linux系统 dunn@163.net 2001
3.Tom Fawcett The Linux Bootdisk HOWTO Bootdisk-HOWTO@linuxdoc.org 200
4.Paul Moody miniHOWTO Embedded Linux 1.1b paulmoody@bigpond.com 1998

上一篇:基于LINUX操作系统 的防火墙技巧及其具体实现 下一篇:没有了