UBIFS - Issue while running ubimkvol (ubimkvol Killed)

Sri Charan Chalasani sricharan.chalasani at yahoo.com
Fri Dec 7 04:20:02 CET 2012


Hi all,

We are basically trying to mount our inbuilt NAND flash device and write some files onto it using UBI/UBI-FS.

After running some of the following steps successfully, the linux kernel crashed after running ‘ubimkvol’.

Please help me if I am doing something wrong in any of the steps below which is causing ubimkvol to be killed.  


Flash Size                            :    800 MB
Linux Kernel Version              :    3.1.14
Page size                             :  
  8192
Physical Erase Block Size    :    1MiB ( We are taking)


These are the steps we are following:

1. Create ubifs image by using mkfs.ubifs command

 #mkfs.ubifs -v -r rootfs -o ubifs.img -m 8192 -e 1032192 -c 788

 Description:

 We are taking Physical Erase Block (PEB) size as 1048576 bytes(1MiB)

        -e -- Erase Block Size

         e = (1048576 - 2 * 8192) = 1032192 bytes

        -c --The maximum size, in LEBs, of this file system

         c = 788(see the below calculation)

         PEB Size (SP) =
 1048576

         LEB Size (SL) =  1048576 - 2 * 8192 = 1032192

         Total Flash Size = 800 MiB

         Total number of PEBs on the MTD device (P) = 800 MiB/1048576 = 800

         Number of PEBs reserved for bad PEB handling(B) is 1% of P = 8

         The overhead related to storing EC and VID headers in bytes
                               i.e. O = SP - SL = 1048576 - 1032192 = 16384.

         UBI Overhead =  (B + 4) * SP + O * (P - B -
 4)

                     =  (8 + 4) * 1048576 + 16384(800 - 8 -4)

                     =  ~24

         Available PEB's = 800 - 24 = 776 PEB's.

         Calcultion of 'c' = ((Available PEB's)*PEB)/LEB

                          = (776 * 1048576)/ 1032192

                          = ~ 788 LEB's.

2. Create ubinize.cfg file and write the contents into
 it

       # vi ubinize.cfg

            [ubifs]
            mode=ubi
            image=ubifs.img
            vol_id=0
            vol_size=512MiB
            vol_type=dynamic
            vol_name=rootfs
            vol_flags=autoresize

       give ubinise command

     #ubinize -o ubi.img -m 8192 -p 1MiB  ubinize.cfg
 -v

       m = 8192 page size.

       p = 1MiB physical erase block

3. Flash_Erase: Prepares NAND partition; MTD partition 3 needs to be erased
    and used for UBI file system.

       # flash_erase /dev/mtd3 0 0

        (0 0) - indicates erases the memory from available first LEB to last LEB

        It displays the following message :

        Erasing 1024 Kibyte @ 31f00000 -- 100 % complete

4. UBI Formatting :Flash the UBI file system image (ubi.img) to MTD partition "3"

       # ubiformat /dev/mtd3 -f ubi.img

5. Ubiattach: Attach MTD device to
 UBI

        # ubiattach /dev/mtd3 -f ubi.img

6. ubimkvol : Create an UBI volume - the created volume will be empty

        # ubimkvol /dev/ubi0 -N ubifs_volume -m

         It displays the following message :

         Set volume size to 813367296

         Killed

        (log of ubimkvol is attached please find it for further reference)

        The kernel crashed after running this step.

Thanks in
 advance,
Charan.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openmoko.org/pipermail/community/attachments/20121206/242999a7/attachment.htm>


More information about the community mailing list