加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

UBIFS分区制作及UBIFS烧写和启动

发布时间:2020-12-15 06:47:58 所属栏目:百科 来源:网络整理
导读:UBIFS分区制作及UBIFS烧写和启动 相关命令工具 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 U
UBIFS分区制作及UBIFS烧写和启动
相关命令工具
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
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,--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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读