zoukankan      html  css  js  c++  java
  • UBIFS

    转:http://www.armadeus.com/wiki/index.php?title=UBIFS

    This is a preliminary page dealing with the installation of UBIFS on the APF boards. UBIFS will replace JFFS2 file system on NAND (and NOR as well) based boards because JFFS2 induces a big overhead when parsing, reading and writing large devices, see UBIFS scalability.

    Contents

     [hide]

    Introduction

    UBIFS website

    Host Setup

    • add uuid-dev packages (should be already installed as required to build the HEAD of Armadeus repository):
    $ sudo apt-get install uuid-dev
    

    APF build config

    Buildroot

    $ make menuconfig
    

    APF51:

    Target filesystem options  --->
        [*] ubifs root filesystem
        (0x1f800) UBI logical erase block size
        (0x800) UBI minimum I/O size
        (2047) Maximum LEB count
              ubifs runtime compression (lzo)  --->
              Compression method (no compression)  --->
        [*]   UBI image
        (0x20000) UBI physical erase block size
        (512)   UBI sub-page size
    

    APF27:

    Target filesystem options  --->
        [*] ubifs root filesystem
        (0x20000) UBI physical erase block size
        (0x1f800) UBI logical erase block size
        (0x800) UBI minimum I/O size
        (512) UBI sub-page size
        (2047) Maximum LEB count
    
    $ make
    

    Linux

    $ make linux-menuconfig
    
    File systems  --->
        [*] Miscellaneous filesystems  --->
            <*>   UBIFS file system support   and disable debugging !!
    
    Device Drivers  --->
        <*> Memory Technology Device (MTD) support  --->
            UBI - Unsorted block images  --->
                <*> Enable UBI
                (4096) UBI wear-leveling threshold  and disable debugging !!
    
    $ make linux
    
    • reflash your kernel

    U-Boot envt variables

    BIOS> setenv bootcmd run ubifsboot
    BIOS> setenv download_rootfs tftpboot ${loadaddr} ${serverpath}${board_name}-rootfs.arm.ubi
    

    Additional informations

    A new file 'ubinize.cfg' defining the ubi volumes is located in buildroot/target/ubifs/. This file contains the different UBI volumes of the UBI image:

     [ubifs]
     mode=ubi
     vol_id=0
     vol_type=dynamic
     vol_name=rootfs
     vol_alignment=1
     vol_flags=autoresize
    

    This file is processed by the ubinize utility after mkfs.ubifs.

    U-Boot access to UBIFS partitions

    U-Boot can read files from the rootfs / UBIFS partition using the commands: uni, ubifsmount, ubifsls, ubifsload. Here is an example applicable to the apf27, apf28 and apf51 boards:

     

    BIOS> ubi part rootfs
    UBI: attaching mtd1 to ubi0
    UBI: physical eraseblock size:   131072 bytes (128 KiB)
    UBI: logical eraseblock size:    129024 bytes
    UBI: smallest flash I/O unit:    2048
    UBI: sub-page size:              512
    UBI: VID header offset:          512 (aligned 512)
    UBI: data offset:                2048
    UBI: attached mtd1 to ubi0
    UBI: MTD device name:            "mtd=7"
    UBI: MTD device size:            500 MiB
    UBI: number of good PEBs:        3988
    UBI: number of bad PEBs:         12
    UBI: max. allowed volumes:       128
    UBI: wear-leveling threshold:    4096
    UBI: number of internal volumes: 1
    UBI: number of user volumes:     1
    UBI: available PEBs:             0
    UBI: total number of reserved PEBs: 3988
    UBI: number of PEBs reserved for bad PEB handling: 39
    UBI: max/mean erase counter: 2/0
    
    BIOS> ubifsmount ubi0:rootfs
    UBIFS: mounted UBI device 0, volume 0, name "rootfs"
    UBIFS: mounted read-only
    UBIFS: file system size:   504483840 bytes (492660 KiB, 481 MiB, 3910 LEBs)
    UBIFS: journal size:       9033728 bytes (8822 KiB, 8 MiB, 71 LEBs)
    UBIFS: media format:       w4/r0 (latest is w4/r0)
    UBIFS: default compressor: LZO
    UBIFS: reserved for root:  0 bytes (0 KiB)
    
    BIOS> ubifsls /boot
    	  2604048  Thu Oct 03 08:38:56 2013  apf51-linux.bin
    
    BIOS> ubifsload 90000000 /boot/apf51-linux.bin
    Loading file '/boot/apf51-linux.bin' to addr 0x90000000 with size 2604048 (0x0027bc10)...
    Done
    
    

    Acces to UBIFS files from U-Boot can used to do an update of your system after deployement on site through some U-Boot scripts..

  • 相关阅读:
    requireJS搭建
    html启动本地.exe文件
    自定义input[type="checkbox"]的样式
    使用rem单位时css sprites的坑
    visibility API
    css动画
    去除ios端输入框的弹出
    *java类的生命周期
    处理高并发,防止库存超卖
    java注解的使用
  • 原文地址:https://www.cnblogs.com/pengdonglin137/p/3434015.html
Copyright © 2011-2022 走看看