busybox移植yaffs2根文件系统

步骤:

1、下载yaffs2源码(http://www.aleph1.co.uk/gitweb?p=yaffs2/.git;a=summary

2、解压

       #tar xvf yaffs2-912be3d.tar.gz

       #cd yaffs2-912be3d

2、给linux内核打补丁

       #./patch-ker.sh c m /home/workspace/share/sourceinsight/linux/linux-2.6.38.5

3、配置内核增加对yaffs2的支持

       File systems ---> 

               [*] Miscellaneous filesystems ---> 

                 <*> YAFFS2 file system support 
                 -*- 512 byte / page devices 
                 [ ] Use older-style on-NAND data format with pageStatus byte 
                 [ ] Lets Yaffs do its own ECC 
                 -*- 2048 byte (or larger) / page devices 
                 [*] Autoselect yaffs2 format 

                 [ ] Disable lazy loading 
                 [ ] Turn off wide tnodes 
                 [ ] Force chunk erase check
                 [*] Cache short names in RAM 

4、编译烧进目标板

5、制作根文件夹

      #mkdir my_rootfs

     #cd my_rootfs

     #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/lib usr/modules

     #mknod -m 600 dev/console c 204 64     (非常重要,busybox是虚拟串口平台)
     #mknod -m 600 dev/null c 1 3
     #mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp
     #mkdir var/lib var/lock var/run var/tmp
     #chmod 1777 tmp
     #chmod 1777 var/tmp

5、下载busybox (http://www.busybox.net/downloads/

6、解压进入工作目录

      #tar jxvf busybox-1.13.3.tar.bz2

      #cd busybox-1.13.3

     #make menuconfig

7、busybox配置

 

        Busybox settings-->

             Build Options-->

                 [*]Build BusyBox as a static binary (no shared libs)

             Busybox Library Tuning-->

                  Command line editing-->

                      [*]Fancy shell prompts 

    

        Linux Module Utilities --->
              (/lib/modules) Default directory containing modules
              (modules.dep) Default name of modules.dep

              [ ] Simplified modutils
              [*] insmod
              [*] rmmod
              [*] lsmod
              [*] modprobe

        保存,退出。

8、编译和安装Busybox

       #vi Makefile 

             CROSS_COMPILE ?=arm-none-linux-gnueabi-   //大约在164行

             ARCH ?=arm 

             修改         保存退出

     #make CONFIG_PREFIX=/home/workspace/share/rootfs/my_rootfs install

9、编写一个相关文件

     #cd my_rootfs

     #vi etc/inittab

        console::sysinit:/etc/init.d/rcS
        s3c2410_serial0::askfirst:-/bin/sh

        tty1::askfirst:-/bin/sh

        tty2::askfirst:-/bin/sh

        tty3::askfirst:-/bin/sh

        tty4::askfirst:-/bin/sh
        ::ctrlaltdel:/sbin/reboot
        ::shutdown:/bin/umount -a -r

     #vi etc/init.d/rcS        
         #!/bin/sh
         PATH=/sbin:/bin:/usr/sbin:/usr/bin
         runlevel=S      //运行的级别
         prevlevel=N
         umask 022   //文件夹的掩码
         export PATH runlevel prevlevel
         echo"--------- mount all--------"
         mount -a     //挂载/etc/fstab/文件指定的所有的文件系统
         echo /sbin/mdev>/proc/sys/kernel/hotplug
         mdev -s
         echo "*************************"
         echo "**********************lensens ARM**************"
         echo "Kernel version:linux-2.6.38.5"

         echo "Date:2011,6,21"
         echo "***********************"
         /bin/hostname lensens

         保存退出

 #chmod  +x  etc/init.d/rcS(重要)

 #vi etc/fstab

         #device mount-point type option dump fsck order
         proc /proc proc defaults 0 0
         tmpfs /tmp tmpfs defaults 0 0
         none /tmp ramfs defaults 0 0
         sysfs /sys sysfs defaults 0 0
         mdev /dev ramfs defaults 0 0

         保存退出

  #vi etc/profile

           #Ash profile
           #vim:syntax=sh
           #No core file by defaults
           #ulimit -S -c 0>/dev/null 2>&1
           USER="id -un"
           LOGNAME=$USER
           PS1='[/u@/h=W]#'
           PATH=$PATH
           HOSTNAME='/bin/hostname'
           export USER LOGNAME PS1 PATH
   

 

10、 制作根文件系统映像文件

         使用mkyaffs2image-128(友善提供)

              #mkyaffs2image   my_rootfs    rootfs.img

11、下载到目标板,运行可看到这一行就OK

         Please press Enter to activate this console.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值