日期:2014-05-16  浏览次数:20710 次

linux-2.6.32在mini2440开发板上移植(19)之yaffs2文件系统移植

yaffs2文件系统移植

编者:前面用的文件系统都是友善自带的文件系统,其GUI是基于QTOPIA,这个文件系统的功能还是比较强大的。这里我们可以自己移植一个根文件系统,不过这只是一个最基本的系统,这样有助于理解嵌入式的开发。文件系统的制作过程大体相似,只是使用的制作工具不一样。在此处制作的文件系统,主要参考了移植手册和《ARM嵌入式系统移植实战开发》一书。

 

下面介绍下手册上的移植过程:原文链接如下

http://huang-tomey.blog.163.com/blog/static/1247505732009916437175/

使用busybox 制作基本根文件系统的详细步骤

1 下载busybox 源代码
        从
http://www.busybox.net/downloads/ 下载busybox , 这里下载的是busy busybox-1.13.3.tar.gz,这和当前mini2440 开发板使用的版本是一致的。


2 根文件系统目录说明
       嵌入式Linux 中都需要构建根文件系统,构建根文件系统的规则在FHS(FilesystemHierarchy Standard)文档中,下面是根文件系统顶层目录。
     目录                                   内容
  bin                  存放所有用户都可以使用的、基本的命令。
  sbin                 存放的是基本的系统命令,它们用于启动系统、修复系统等。
  usr                  里面存放的是共享、只读的程序和数据。
  proc                这是个空目录,常作为proc 文件系统的挂载点。
  dev                 该目录存放设备文件和其它特殊文件。
  etc                  存放系统配置文件,包括启动文件。
  lib                   存放共享库和可加载块(即驱动程序),共享库用于启动系统、运行根文件系统中的可执行程序。
  boot                引导加载程序使用的静态文件
  home              用户主目录,包括供服务账号锁使用的主目录,如FTP
  mnt                 用于临时挂接某个文件系统的挂接点,通常是空目录。也可以在里面创建空的子目录。
  opt                  给主机额外安装软件所摆放的目录。
 root                  root 用户的主目录
 tmp                  存放临时文件,通常是空目录。
 var                   存放可变的数据。

3 建立根文件系统目录
      进入到/opt/studyarm 目录,新建建立根文件系统目录的脚本文件create_rootfs_bash,使用命令chmod +x create_rootfs_bash 改变文件的可执行权限,./create_rootfs_bash 运行脚本,就完成了根文件系统目录的创建。
#!/bin/sh
echo "------Create rootfs directons start...--------"
mkdir rootfs
cd rootfs
echo "--------Create root,dev....----------"
mkdir root dev etc boot tmp var sys proc lib mnt home
mkdir etc/init.d etc/rc.d etc/sysconfig
mkdir usr/sbin usr/bin usr/li