zoukankan      html  css  js  c++  java
  • UBIFS分区制作及UBIFS烧写和启动

    参考

    http://blog.csdn.net/chongzi865458/article/details/6799258

    ubiattach version 1.0 - a tool to attach MTD device to UBI.
    Usage: ubiattach  <UBI control device node file name> 
    [-m <MTD device number>] [-d <UBI device number>]
    [--mtdn=<MTD device number>] [--devn <UBI device number>]

    Example 1: ubiattach /dev/ubi_ctrl -m 0 - attach MTD device 0 (mtd0) to UBI
    Example 2: ubiattach /dev/ubi_ctrl -m 0 -d 3 - attach MTD device 0 (mtd0) to UBI and  create UBI device number 3 (ubi3)

    -d, --devn=<UBI device number>  the number to assign to the newly created UBI       device(the number is assigned automatically if this is not specified)
    -m, --mtdn=<MTD device number>  MTD device number to attach
    -O, --vid-hdr-offset            VID header offset (do not specify this unless you really know what you do and the optimal defaults will be used)
    -h, --help                      print help message
    -V, --version                   print program version

    ubimkvol version 1.0 - a tool to create UBI volumes.
    Usage: ubimkvol <UBI device node file name> [-h] [-a <alignment>] [-n <volume ID>] [-N <name>] [-s <bytes>] [-S <LEBs>] [-t <static|dynamic>] [-V] [-m] [--alignment=<alignment>][--vol_id=<volume ID>] [--name=<name>] [--size=<bytes>] [--lebs=<LEBs>] [--type=<static|dynamic>] [--help] [--version] [--maxavsize]

    Example: ubimkvol/dev/ubi0 -s 20MiB -N config_data - create a 20 Megabytes volume named "config_data" on UBI device /dev/ubi0.

    -a, --alignment=<alignment>   volume alignment (default is 1)
    -n, --vol_id=<volume ID>      UBI volume ID, if not specified, the volume ID
    will be assigned automatically
    -N, --name=<name>             volume name
    -s, --size=<bytes>            volume size volume size in bytes, kilobytes (KiB)
    or megabytes (MiB)
    -S, --lebs=<LEBs count>       alternative way to give volume size in logical
    eraseblocks
    -m, --maxavsize               set volume size to maximum available size
    -t, --type=<static|dynamic>   volume type (dynamic, static), default is dynamic
    -h, -?, --help                print help message
    -V, --version                 print program version

    The following is a compatibility option which is deprecated, do not use it
    -d, --devn=<devn>             UBI device number - may be used instead of the UBI
    device node name in which case the utility assumes
    that the device node is "/dev/ubi<devn>"

    ubidetach version 1.0 - a tool to remove UBI devices (detach MTD devices from UBI)
    Usage: ubidetach<UBI control device node file name> [-d <UBI device number>] [-m <MTD device number>] [--devn <UBI device number>] [--mtdn=<MTD device number>]
    Example 1: ubidetach /dev/ubi_ctrl -d 2 - delete UBI device 2 (ubi2)
    Example 2: ubidetach /dev/ubi_ctrl -m 0 - detach MTD device 0 (mtd0)

    -d, --devn=<UBI device number>  UBI device number to delete
    -m, --mtdn=<MTD device number>  or altrnatively, MTD device number to detach -
    this will delete corresponding UBI device
    -h, --help                      print help message
    -V, --version                   print program version

    ubiformat version 1.0 - a tool to format MTD devices and flash UBI images
    Usage: ubiformat <MTD device node file name> [-h] [-V] [-y] [-q] [-v]
    [-x <num>] [-E <value>] [-s <bytes>] [-O <offs>] [-n]
    [--help] [--version] [--yes] [--verbose] [--quiet]
    [--ec=<value>] [--vid-hdr-offset=<offs>]
    [--ubi-ver=<num>] [--no-volume-table]
    Example 1: ubiformat /dev/mtd0 -y - format MTD device number 0 and do not ask questions.
    Example 2: ubiformat /dev/mtd0 -q -e 0 - format MTD device number 0, be quiet and force erase counter value 0.

    -s, --sub-page-size=<bytes>  minimum input/output unit used for UBI
    headers, e.g. sub-page size in case of NAND
    flash (equivalent to the minimum input/output
    unit size by default)
    -O, --vid-hdr-offset=<offs>  offset if the VID header from start of the
    physical eraseblock (default is the next
    minimum I/O unit or sub-page after the EC
    header)
    -n, --no-volume-table        only erase all eraseblock and preserve erase
    counters, do not write empty volume table
    -f, --flash-image=<file>     flash image file
    -e, --erase-counter=<value>  use <value> as the erase counter value for all
    eraseblocks
    -y, --yes                    assume the answer is "yes" for all question
    this program would otherwise ask
    -q, --quiet                  suppress progress percentage information
    -v, --verbose                be verbose
    -x, --ubi-ver=<num>          UBI version number to put to EC headers
    (default is 1)
    -h, -?, --help               print help message
    -V, --version                print program version

    使用实例
    将一个MTD分区挂载为UBIFS格式 

    ● flash_eraseall /dev/mtd5 //擦除mtd5 
    ● ubiattach /dev/ubi_ctrl -m 5 -d 0 //UBI和mtd5关联 ->ubi0
    ● ubimkvol /dev/ubi0 -n 0 -N rootfs0 -s 256MiB //创建分区ubi0_0设定volume 大小

    ● mount -t ubifs ubi0_0 /mnt/ubi或mount -t ubifs ubi0:rootfs0 /mnt/ubi //挂载

    烧写UBIFS文件系统映像

    U-Boot烧写ubifs:(mmc)

    #mmcinit
    #fatload mmc 0:1 81000000 ubi.img
    #nand unlock
    #nand ecc sw
    #nand erase 680000 7980000
    #nand write.i 81000000 680000 $(filesize)

    NFS文件系统上烧写

    法一,使用 ubiformat工具

    ./ubiformat -q /dev/mtd5 -f ubi.img  

    法二,不必烧写映像,将ROOTFS打包,解压到UBIFS

    ubiattach /dev/ubi_ctrl -m 5 -d 0

    ubimkvol /dev/ubi0 -n 0 -N rootfs -s 128MiB

    mount -t ubifs ubi0_0 /mnt/ubi0

    tar -jxv -C /mnt/ubi0 rootfs.tar.bz2

    umount /mnt/ubi0

     

    UBI文件系统启动

    设置UBIFS文件系统作为根文件系统启动的参数

    #setenv bootargs console=ttyAM0,115200n8 ubi.mtd=5 root=ubi0:rootfs rootfstype=ubifs init=linuxrc 
    # setenv bootcmd nand read.i 80300000 280000 200000;bootm 80300000

  • 相关阅读:
    mysql的安全漏洞的一种现象,就是利用转义字符把 ' ' 化没了,然后true 起作用啦
    maven项目中添加MySql依赖失败(以及maven的安装到maven项目的使用过程)
    mysql中的update(更新)与alter(更改)以及 change和modify的区别
    多线程:(充分利用定义任务后,开启多线程实现任务的理解)题目:模拟三个老师同时给50个小朋友发苹果,每个老师相当于一个线程。
    swing更改组件(删除后添加)得到心得:起码得刷新一下啊,可能还得再考虑重绘
    IE设置主页一直无果,尝试了右键软件看目标路径后缀无效,注册表也无效,最后在电脑管家里的工具浏览器保护搞定
    封装的localstorge的插件,store.js
    jquery.cookie用法详细解析,封装的操作cookie的库有jquery.cookie.js
    localstroge可以在页面间传递数值;
    移动开发阻止默认事件,1默认长按复制2拖动时页面默认移动
  • 原文地址:https://www.cnblogs.com/pengdonglin137/p/3408617.html
Copyright © 2011-2022 走看看