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
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..
UBIFS的更多相关文章
- ubifs概述
UBIFS无排序区块图像文件系统(Unsorted Block Image File System, UBIFS)是用于固态存储设备上,并与LogFS相互竞争,作为JFFS2的后继文件系统之一.真正开 ...
- 嵌入式: jffs2,yaffs2,logfs,ubifs文件系统性能分析
在嵌入式领域,FLASH是一种常用的存储介质,由于其特殊的硬件结构,所以普通的文件系统如ext2,ext3等都不适合在其上使用,于是就出现了专门针对FLASH的文件系统,比较常用的有jffs2,yaf ...
- ubifs核心功能 -- 垃圾回收
可回收空间的分类 垃圾回收的目的是再利用(回收后的空间大小能写入有效的node),如果再利用的价值越低,其回收的必要性越低.为了进行有效的垃圾回收,UBIFS对可回收空间做了2个层次的水线划分: 死空 ...
- ubifs扩展性分析
文件系统的可扩展性,主要考察flash规模变大时对文件系统性能的影响,主要考察指标有: mount时间 访问时间 检查修复时间 最大文件大小 最大文件系统大小 最大文件个数 mount时间 ...
- ubifs核心对象 -- TNC和LPT
文件系统的核心问题是存储.这里面隐含2个问题:1)存储什么?2)存储到哪里?文件系统中的各种技术手段都是如何高效的解决这2个问题.ubifs用node标准化每一个存储对象,用lpr ...
- ubifs性能优化分析
本文通过分析ubifs的mount.read.write和commit流程,挖掘ubifs背后的设计决策和性能优化手段,并结合自身产品的特点,给出一些读写性能改进方案. 1. ubifs ...
- ubifs总体设计分析
1. 设计需求 flash设备区别与一般的块设备,有如下特点: 存在坏块 使用寿命较短 存储介质不稳定 读写速度慢 不支持随机访问(nand) 只能通过擦除将0改成1 最小读写单位为page ...
- ubifs物理存储
Ubifs通过ubi管理MTD设备,ubi的LEB随机映射PEB,其本身占用一部分PEB,具体文件存储情况分析如下. 1. Ubi中不管是是逻辑块号还是物理块号都是从0开始的.一般情况下,Nandfl ...
- UBIFS 文件系统分析1 - 磁盘结构【转】
转自:http://blog.csdn.net/kickxxx/article/details/7109662 版权声明:本文为博主原创文章,未经博主允许不得转载. ubifs磁盘结构 UBIFS文件 ...
- android和ubifs
原文地址: http://opendevkit.com/?e=37 1. ubifs号称性能比yaffs2 好,同时压缩可读写,文件系统image体较小同时可写,相当不错 2. ubifs制作 (1) ...
随机推荐
- Python数据分析-Numpy数值计算
Numpy介绍: NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. NumPy的主要功能: 1)ndarray,一个多维数组结构,高效且节省空间 2)无需循环对整组 ...
- excel模板解析—桥接模式:分离解析模板和业务校验
在做excel模板解析的时候,其实会有两个部分,第一,将模板读取出来,校验一些必录项等. 但除了这些,在数据真正被业务线使用的时候,还会有一些其他的校验,比如说:根据业务,年龄是不能超过多少岁的,包括 ...
- easyUI tree jQuery
Tree 数据转换 所有节点都包含以下属性: id:节点id,这个很重要到加载远程服务器数据 which is important to load remote data text: 显示的节点文本 ...
- linux shell常用语法
特殊变量 $0 当前脚本的文件名$n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2.$# 传递给脚本或函数的参数个数.$* 传递给脚本或函数的所有参 ...
- 洛谷 P4514 上帝造题的七分钟 解题报告
P4514 上帝造题的七分钟 题目背景 裸体(裸题)就意味着身体(神题). 题目描述 "第一分钟,X说,要有矩阵,于是便有了一个里面写满了\(0\)的\(n \times m\)矩阵. 第二 ...
- gerrit工具-workflow
gerrit-workflow
- VMware Storage VMotion概述及功能
可以跨存储阵列实时迁移虚拟机磁盘文件.VMware Storage VMotion 使您可以在共享存储位置之间和跨共享存储位置重新分配虚拟机磁盘文件,同时保证连续的服务供应和事务处理的完整性. 1.可 ...
- es6+最佳入门实践(4)
4.函数扩展 4.1.参数默认值 默认参数就是当用户没有传值的时候函数内部默认使用的值,在es5中我们通过逻辑运算符||来实现 function Fn(a, b) { b = b || "n ...
- java的struts2整理
readbook:struts2 先说一下struts1: struts1使用model II 模式开发,即jsp+java bean+servlet 再说它的缺陷: 1.表现层支持 ...
- OpenCV 2.4.9 学习笔记(1)—— 基本功能结构
一些关于OpenCV(2.4.9版本)的学习笔记,作为记录,以免自己忘了. 安装与配置 OpenCV的下载.安装以及在各个平台(Windows/Linux等)配置网上有很多的资料,自己就不用存了.需要 ...