5 Here the list of the currently implemented UBI commands:
11 ubi part [part] [offset]
12 - Show or set current partition (with optional VID header offset)
13 ubi info [l[ayout]] - Display volume and ubi layout information
14 ubi create[vol] volume [size] [type] - create volume name with size
15 ubi write[vol] address volume size - Write volume from address with size
16 ubi read[vol] address volume [size] - Read volume to address with size
17 ubi remove[vol] volume - Remove volume
19 volume: character name
20 size: specified in bytes
21 type: s[tatic] or d[ynamic] (default=dynamic)
24 The first command that is needed to be issues is "ubi part" to connect
25 one mtd partition to the UBI subsystem. This command will either create
26 a new UBI device on the requested MTD partition. Or it will attach a
27 previously created UBI device. The other UBI commands will only work
28 when such a UBI device is attached (via "ubi part"). Here an example:
32 device nor0 <1fc000000.nor_flash>, # parts = 6
33 #: name size offset mask_flags
34 0: kernel 0x00200000 0x00000000 0
35 1: dtb 0x00040000 0x00200000 0
36 2: root 0x00200000 0x00240000 0
37 3: user 0x01ac0000 0x00440000 0
38 4: env 0x00080000 0x01f00000 0
39 5: u-boot 0x00080000 0x01f80000 0
41 active partition: nor0,0 - (kernel) 0x00200000 @ 0x00000000
44 mtdids : nor0=1fc000000.nor_flash
45 mtdparts: mtdparts=1fc000000.nor_flash:2m(kernel),256k(dtb),2m(root),27392k(user),512k(env),512k(u-boot)
48 Creating 1 MTD partitions on "nor0":
49 0x000000240000-0x000000440000 : "mtd=2"
50 UBI: attaching mtd1 to ubi0
51 UBI: physical eraseblock size: 262144 bytes (256 KiB)
52 UBI: logical eraseblock size: 262016 bytes
53 UBI: smallest flash I/O unit: 1
54 UBI: VID header offset: 64 (aligned 64)
56 UBI: attached mtd1 to ubi0
57 UBI: MTD device name: "mtd=2"
58 UBI: MTD device size: 2 MiB
59 UBI: number of good PEBs: 8
60 UBI: number of bad PEBs: 0
61 UBI: max. allowed volumes: 128
62 UBI: wear-leveling threshold: 4096
63 UBI: number of internal volumes: 1
64 UBI: number of user volumes: 1
65 UBI: available PEBs: 0
66 UBI: total number of reserved PEBs: 8
67 UBI: number of PEBs reserved for bad PEB handling: 0
68 UBI: max/mean erase counter: 2/1
71 Now that the UBI device is attached, this device can be modified
72 using the following commands:
74 ubi info Display volume and ubi layout information
75 ubi createvol Create UBI volume on UBI device
76 ubi removevol Remove UBI volume from UBI device
77 ubi read Read data from UBI volume to memory
78 ubi write Write data from memory to UBI volume
81 Here a few examples on the usage:
84 Creating dynamic volume testvol of size 1048064
87 UBI: volume information dump:
94 UBI: usable_leb_size 262016
96 UBI: used_bytes 1048064
97 UBI: last_eb_bytes 262016
102 UBI: volume information dump:
103 UBI: vol_id 2147479551
109 UBI: usable_leb_size 262016
111 UBI: used_bytes 524032
115 UBI: name layout volume
118 UBI: MTD device name: "mtd=2"
119 UBI: MTD device size: 2 MiB
120 UBI: physical eraseblock size: 262144 bytes (256 KiB)
121 UBI: logical eraseblock size: 262016 bytes
122 UBI: number of good PEBs: 8
123 UBI: number of bad PEBs: 0
124 UBI: smallest flash I/O unit: 1
125 UBI: VID header offset: 64 (aligned 64)
126 UBI: data offset: 128
127 UBI: max. allowed volumes: 128
128 UBI: wear-leveling threshold: 4096
129 UBI: number of internal volumes: 1
130 UBI: number of user volumes: 1
131 UBI: available PEBs: 0
132 UBI: total number of reserved PEBs: 8
133 UBI: number of PEBs reserved for bad PEB handling: 0
134 UBI: max/mean erase counter: 4/1
136 => ubi write 800000 testvol 80000
137 Volume "testvol" found at volume id 0
139 => ubi read 900000 testvol 80000
140 Volume testvol found at volume id 0
141 read 524288 bytes from volume 0 to 900000(buf address)
143 => cmp.b 800000 900000 80000
144 Total of 524288 bytes were the same