
Hi, I'm trying to use UBI and UBIFS over a nand device. I want to create a mtd partition in u-boot (with ubi part command), save a ubifs image (with mkfs.ubifs), mount and load it with ubifs commands. The commands that I used are listed bellow:
(environment) mtdids=nand0=nand mtdparts=mtdparts=nand:64m(allstuff) partition=nand0,0 mtddevnum=0 mtddevname=allstuff
=> ubi part nand allstuff Creating 1 MTD partitions on "NAND 64MiB 3,3V 8-bit": 0x00000000-0x04000000 : "mtd=0" UBI: attaching mtd0 to ubi0 UBI: physical eraseblock size: 16384 bytes (16 KiB) UBI: logical eraseblock size: 15872 bytes UBI: smallest flash I/O unit: 512 UBI: sub-page size: 256 UBI: VID header offset: 256 (aligned 256) UBI: data offset: 512 UBI: empty MTD device detected UBI: create volume table (copy #1) UBI: create volume table (copy #2) UBI: attached mtd0 to ubi0 UBI: MTD device name: "mtd=0" UBI: MTD device size: 64 MiB UBI: number of good PEBs: 4096 UBI: number of bad PEBs: 0 UBI: max. allowed volumes: 92 UBI: wear-leveling threshold: 4096 UBI: number of internal volumes: 1 UBI: number of user volumes: 0 UBI: available PEBs: 4052 UBI: total number of reserved PEBs: 44 UBI: number of PEBs reserved for bad PEB handling: 40 UBI: max/mean erase counter: 0/0
=> ubi create vol Creating dynamic volume vol of size 64313344 => ubi info l UBI: volume information dump: UBI: vol_id 0 UBI: reserved_pebs 4052 UBI: alignment 1 UBI: data_pad 0 UBI: vol_type 3 UBI: name_len 3 UBI: usable_leb_size 15872 UBI: used_ebs 4052 UBI: used_bytes 64313344 UBI: last_eb_bytes 15872 UBI: corrupted 0 UBI: upd_marker 0 UBI: name vol
UBI: volume information dump: UBI: vol_id 2147479551 UBI: reserved_pebs 2 UBI: alignment 1 UBI: data_pad 0 UBI: vol_type 3 UBI: name_len 13 UBI: usable_leb_size 15872 UBI: used_ebs 2 UBI: used_bytes 31744 UBI: last_eb_bytes 2 UBI: corrupted 0 UBI: upd_marker 0 UBI: name layout volume
tftp 1000000 image.ubifs vol ${filesize} => ubi write 1000000 vol ${filesize} Volume "vol" found at volume id 0 => ubifsmount vol UBIFS error (pid 0): ubifs_check_node: bad node length 4100 UBIFS error (pid 0): ubifs_check_node: bad node at LEB 0:0 UBIFS error (pid 0): ubifs_read_node: expected node type 6 Error reading superblock on volume 'ubi:vol'!
image.ubifs was generated with the follow command: mkfs.ubifs -r /ubifs -m 256 -c 2180 -e 16KiB -v -g 3 -o image.ubifs (/ubifs contains a kernel+ramdisk cramfs image.)
My question is if the error was in image.ubifs creation or some u-boot configuration. I can't find where u-boot takes this 4100 length from. By the way, is a volume created in u-boot able to be used in linux kernel in read-write mode?
Thanks in advance,
Marcelo