网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
天线制作 GPS 地标
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | Open source | GNU | Linux | BSD | Solaris | AIX | HP-UX | IRIX | Mac OS X | Minix | Tru64 | SCO UNIX | Network | Security | X-Window | Database | 应用服务 | Programming | 经典著作 | 永远的纪念 | 杂项
 当前位置: Home > Linux > 嵌入式系统 > 文章  
ARM的嵌入式Linux移植体验之操作系统
文章来源: 天极开发 文章作者: 宋宝华 发布时间: 2006-08-13   字体: [ ]  
 

  (6)/mnt:用户临时挂载文件系统的地方;
  (7)/proc:linux提供的一个虚拟系统,系统启动时在内存中产生,用户可以直接通过访问这些文件来获得系统信息;
  (8)/root:超级用户主目录;
  (9)/sbin:这个目录存放着系统管理程序,如fsck、mount等;
  (10)/tmp(temporary):存放不同的程序执行时产生的临时文件;
  (11)/usr(user):存放用户应用程序和文件。

  采用BusyBox是缩小根文件系统的好办法,因为其中提供了系统的许多基本指令但是其体积很小。众所周知,瑞士军刀以其小巧轻便、功能众多而闻名世界,成为各国军人的必备工具,并广泛应用于民间,而BusyBox也被称为嵌入式Linux领域的"瑞士军刀"。

  此地址可以下载BusyBox:http://www.busybox.net,当前最新版本为1.1.3。编译好busybox后,将其放入/bin目录,若要使用其中的命令,只需要建立link,如:

ln -s ./busybox ls
ln -s ./busybox mkdir

  4.1 cramfs

  在根文件系统中,为保护系统的基本设置不被更改,可以采用cramfs格式,它是一种只读的闪存文件系统。制作cramfs文件系统的方法为:建立一个目录,将需要放到文件系统的文件copy到这个目录,运行"mkcramfs 目录名 image名"就可以生成一个cramfs文件系统的image文件。例如如果目录名为rootfs,则正确的命令为:

mkcramfs rootfs rootfs.ramfs

  我们使用下面的命令可以mount生成的rootfs.ramfs文件,并查看其中的内容:

mount -o loop -t cramfs rootfs.ramfs /mount/point

  此地址可以下载mkcramfs工具:http://sourceforge.net/projects/cramfs/

  4.2 jfss2

  对于cramfs闪存文件系统,如果没有ramfs的支持则只能读,而采用jfss2(The Journalling Flash File System version 2)文件系统则可以直接在闪存中读、写数据。jfss2 是一个日志结构(log-structured)的文件系统,包含数据和原数据(meta-data)的节点在闪存上顺序地存储。jfss2记录了每个擦写块的擦写次数,当闪存上各个擦写块的擦写次数的差距超过某个预定的阀值,开始进行磨损平衡的调整。调整的策略是,在垃圾回收时将擦写次数小的擦写块上的数据迁移到擦写次数大的擦写块上以达到磨损平衡的目的。

  与mkcramfs类似,同样有一个mkfs.jffs2工具可以将一个目录制作为jffs2文件系统。假设把/bin目录制作为jffs2文件系统,需要运行的命令为:

mkfs.jffs2 -d /bin -o jffs2.img

  4.3 yaffs

  yaffs 是一种专门为嵌入式系统中常用的闪存设备设计的一种可读写的文件系统,它比jffs2 文件系统具有更快的启动速度,对闪存使用寿命有更好的保护机制。为使Linux支持yaffs文件系统,我们需要将其对应的驱动加入到内核中 fs/yaffs/,并修改内核配置文件。使用我们使用mkyaffs工具可以将NAND FLASH中的分区格式化为yaffs格式(如/bin/mkyaffs /dev/mtdblock/0命令可以将第1个MTD块设备分区格式化为yaffs),而使用mkyaffsimage(类似于mkcramfs、 mkfs.jffs2)则可以将某目录生成为yaffs文件系统镜像。

  嵌入式Linux还可以使用NFS(网络文件系统)通过以太网挂接根文件系统,这是一种经常用来作为调试使用的文件系统启动方式。通过网络挂接的根文件系统,可以在主机上生成ARM 交叉编译版本的目标文件或二进制可执行文件,然后就可以直接装载或执行它,而不用频繁地写入flash。

  采用不同的文件系统启动时,要注意通过第二章介绍的BootLoader修改启动参数,如广州友善之臂的demo提供如下三种启动方式:

  (1)从cramfs挂接根文件系统:root=/dev/bon/2();   
  (2)从移植的yaffs挂接根文件系统:root=/dev/mtdblock/0;
  (3)从以太网挂接根文件系统:root=/dev/nfs。

  5.小结

  本章介绍了嵌入式Linux的背景、移植项目、init进程修改和文件系统移植,通过这些步骤,我们可以在嵌入式系统上启动一个基本的Linux。

--
原文链接: http://dev.yesky.com/153/2527653.shtml

 
推荐文章
·嵌入式Linux平台的多协议路由器
·恰当选择嵌入式Linux环境下的GUI
·嵌入式Linux系统的MiniGUI研究和
·基于Linux的移动电话开发技术及
·嵌入式uClinux的内核结构和开发
·基于 GTK+ 和 X-window 的 GUI
·基于Qt/Embedded和Qtopia的GUI设
·恰当选择嵌入式Linux环境下的GUI
·ARM的嵌入式Linux移植体验之基本
·ARM的嵌入式Linux移植体验之应用
·ARM的嵌入式Linux移植体验之设备
·ARM的嵌入式Linux移植体验之Boot
·嵌入式Linux系统中的GUI系统的研
·QTE/Qtopia在Liod-270上的移植
 
 
共7页: 上一页 [1] [2] [3] [4] [5] [6] 7 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·ARM的嵌入式Linux移植体
·U-Boot简介
·基于Qt/Embedded的GUI移
·基于Qt/Embedded和Qtopi
·U-BOOT的启动流程及移植
·ARM的嵌入式Linux移植体
·几种Linux嵌入式开发环
·ARM的嵌入式Linux移植体
相关文章
·ARM的嵌入式Linux移植体
·ARM的嵌入式Linux移植体
·ARM的嵌入式Linux移植体
·ARM的嵌入式Linux移植体
·bootloader的加载和运行
·Bootloader存在的必要性
·深入浅出Linux设备驱动
·Linux桌面应用与Windows
更多...
 
 

Copyright(c) 2001-2009 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统