ubifs文件系统制作与移植

origin: http://www.07net01.com/program/244903.html

*****************************************************************************************************************

装载声明:点击打开链接

作       者:fuLinux

*****************************************************************************************************************

UBIFS文件系统使用

Author: Guo Wenxue<guowenxue@gmail.com> Date: 2012.01.30


1, UBIFS简介

Linux-2.6.27以前,谈到flash文件系统,大家很多时候多会想到cramfs、jffs2、yaffs2等文件系统。它们也都是基于文件系统+mtd+flash设备的架构。linux-2.6.27后,内核加入了一种新型的flash文件系统UBIFS(Unsorted Block Image File systems)。

UBIFS最早在2006年由IBM与Nokia的工程师Thomas Gleixner,Artem Bityutskiy所设计,专门为了解决MTD(Memory Technology Device)设备所遇到的瓶颈。由于NandFlash容量的暴涨,YAFFS等皆无法再去控制Nand Flash的空间。UBIFS通过子系统UBI 处理与MTD device之间的动作。与JFFS2 一样,UBIFS 建构于MTD device 之上,而与一般的block device不兼容。它在设计与性能上均较YAFFS2、JFFS2更能适用于MLC NAND FLASH上面。

   UBIFS 支持 write-back, 其写入的数据会被cache, 直到有必要写入时才写到flash, 大大地降低分散小区块数量及I/O效率。UBIFS UBIFS文件系统目录存储在flash上,UBIFS mount时不需要scan整个flash的数据来重新创建文件目录。支持on-the-flight压缩文件数据,而且可选择性压缩部份文件。另外UBIFS使用日志(journal),可减少对flash index的更新频率。

  下面是UBIFS与其它文件系统的一些比较:

ubifs文件系统制作与移植

  关于UBIFS与其它文件系统更详细的比较,可以参考TOSHIBA的两个文档:

  Evaluation of Flash File Systems for Large NAND Flash Memory 

     Evaluation of UBI and UBIFS 

     http://wenku.baidu.com/view/eebeacd9a58da0116c174991.html

UBIFS的官方站点为: http://www.linux-mtd.infradead.org/doc/ubifs.html

2, 内核支持UBIFS

配置Linux内核(make menuconfig)时,选择下面选项来支持UBIFS

   Device Drivers  --->

       <*> Memory Technology Device (MTD) support  --->

             <*>   Enable UBI - Unsorted block images  --->

                  --- Enable UBI - Unsorted block images                                     

                  (4096) UBI wear-leveling threshold (NEW)                                   

                  (1)   Percentage of reserved eraseblocks for bad eraseblocks handling (NEW)

                  < >   MTD devices emulation driver (gluebi) (NEW)                          

                  [ ]   UBI debugging (NEW)                     

       

   File systems  --->

       [*] Miscellaneous filesystems  --->

  

             <*>   UBIFS file system support          

             [*]     Extended attributes support      

             [*]     Advanced compression options     

             [*]       LZO compression support (NEW)  

             [*]       ZLIB compression support (NEW) 

             [ ]     Enable debugging support (NEW)       


3, 测试的板子上Nandflash K9F2G08及在Linux内核中的分区信息:

 K9F2G08相关硬件信息:

1 Page= (2K+64)Bytes

 1 Block= 64Pages =(128K+4K) Bytes

 1 Device = 2048 Blocks = (2K+64) * 64Pages * 2048 Blocks = 2112 Mbits = 256MiB

 

下面是以256M的nandflash进行移植,内核中nandflash的分区表信息是这样的

Creating 11 MTD partitions>0x000006e00000-0x000009600000 : "mtdblock5 ubifs 40MB"
0x000009600000-0x000009700000 : "mtdblock6 info 1MB"
0x000009700000-0x00000bf00000 : "mtdblock7 apps 40MB"
0x00000bf00000-0x00000e700000 : "mtdblock8 data 40MB"
0x00000e700000-0x000010000000 : "mtdblock9 backup 25MB"

4、制作mkfs.ubifs和ubinize工具

对于ubifs文件系统要想烧到对应的nandflash分区中去(对应上面的“mtdblock5”)有两种方式,第一中是用ubi write,前提是在uboot中创建ubifs的分区同时必须用ubi part命令激活这个分区,但是我这个uboot中ubi part命令无法执行,有很多错误,我找不到解决方法。因此第一种在我这里不行。第二种时用ubinize工具将mkfs.ubifs制作的镜像转换为可以直接用nand write来烧录多nandflash中去。下面介绍第二种方法:

[lingyun@localhost rootfs]$ clear
[lingyun@localhost rootfs]$ mkdir mtd-utils
[lingyun@localhost rootfs]$ cd mtd-utils/
[lingyun@localhost mtd-utils]$ vim build.sh

#!/bin/sh


#+--------------------------------------------------------------------------------------------
#|Description:  This shell script used to download lzo,zlib,mtd-utils source code
#|              and cross compile it for ARM Linux, all is static cross compile.
#|     Author:  GuoWenxue <guowenxue@gmail.com>
#|  ChangeLog:
#|           1, Initialize 1.0.0>[lingyun@localhost mtd-utils]$sh build.sh

编译过程。。。。。。。。。

[lingyun@localhost mtd-utils]$ ls
build.sh        e2fsprogs-1.42.tar.gz  lzo-2.04.tar.gz  mtd-utils-1.4.9.tar.bz2  zlib-1.2.5.tar.bz2
e2fsprogs-1.42  lzo-2.04               mtd-utils-1.4.9  zlib-1.2.5
[lingyun@localhost mtd-utils]$ cd mtd-utils-1.4.9
[lingyun@localhost mtd-utils-1.4.9]$ ls
common.mk         feature-removal-schedule.txt  flash_otp_lock.c   jffs-dump.c        nanddump.o     recv_image.o
compr.c           fectest.c                     flash_otp_write.c  lib                nandtest       rfddump
compr.h           flashcp                       flash_unlock       load_nandsim.sh    nandtest.c     rfddump.c
compr_lzo.c       flashcp.c                     flash_unlock.c     make_a_release.sh  nandtest.o     rfddump.o
compr_lzo.o       flashcp.o                     flash_unlock.o     MAKEDEV            nandwrite      rfdformat
compr.o           flash_erase                   ftl_check          Makefile           nandwrite.c    rfdformat.c
compr_rtime.c     flash_eraseall                ftl_check.c        mcast_image.h      nandwrite.o    rfdformat.o
compr_rtime.o     flash_erase.c                 ftl_check.o        mkfs.jffs2         nftldump       serve_image
compr_zlib.c      flash_erase.o                 ftl_format         mkfs.jffs2.1       nftldump.c     serve_image.c
compr_zlib.o      flash_lock                    ftl_format.c       mkfs.jffs2.c       nftldump.o     serve_image.o
COPYING           flash_lock.c                  ftl_format.o       mkfs.jffs2.o       nftl_format    summary.h
device_table.txt  flash_lock.o                  include            mkfs.ubifs         nftl_format.c  sumtool
docfdisk          flash_otp_dump                jffs2dump          mtd_debug          nftl_format.o  sumtool.c
docfdisk.c        flash_otp_dump.c              jffs2dump.c        mtd_debug.c        rbtree.c       sumtool.o
docfdisk.o        flash_otp_dump.o              jffs2dump.o        mtd_debug.o        rbtree.h       tests
doc_loadbios      flash_otp_info                jffs2reader        mtd-utils.spec     rbtree.o       ubi-utils
doc_loadbios.c    flash_otp_info.c              jffs2reader.c      nanddump           recv_image
doc_loadbios.o    flash_otp_info.o              jffs2reader.o      nanddump.c         recv_image.c
[lingyun@localhost mtd-utils-1.4.9]$ cd mkfs.ubifs/
[lingyun@localhost mkfs.ubifs]$ ls
compr.c  compr.o  crc16.c  crc16.o  devtable.c  hashtable  lpt.c  lpt.o       mkfs.ubifs.c  mkfs.ubifs.o  ubifs.h
compr.h  COPYING  crc16.h  defs.h   devtable.o  key.h      lpt.h  mkfs.ubifs  mkfs.ubifs.h  README        ubifs-media.h
[lingyun@localhost mkfs.ubifs]$ sudo cp mkfs.ubifs /usr/bin/
[lingyun@localhost mkfs.ubifs]$ cd ..

[lingyun@localhost mtd-utils-1.4.9]$ cd ubi-utils/
[lingyun@localhost ubi-utils]$ ls
dictionary.c    libscan.c    libubi_int.h          ubiattach.c  ubidetach.o  ubinfo     ubirename.c  ubirsvol.o
dictionary.o    libscan.o    libubi.o              ubiattach.o  ubiformat    ubinfo.c   ubirename.o  ubiupdatevol
include         libubi.a     LICENSE.libiniparser  ubicrc32     ubiformat.c  ubinfo.o   ubirmvol     ubiupdatevol.c
libiniparser.a  libubi.c     mtdinfo               ubicrc32.c   ubiformat.o  ubinize    ubirmvol.c   ubiupdatevol.o
libiniparser.c  libubigen.a  mtdinfo.c             ubicrc32.o   ubimkvol     ubinize.c  ubirmvol.o   ubiutils-common.c
libiniparser.o  libubigen.c  mtdinfo.o             ubidetach    ubimkvol.c   ubinize.o  ubirsvol     ubiutils-common.o
libscan.a       libubigen.o  ubiattach             ubidetach.c  ubimkvol.o   ubirename  ubirsvol.c
[lingyun@localhost ubi-utils]$ 


5、制作ubifs-arm920t.img镜像文件

 注1:mkfs.ubifs中的选项说明

-r, -d, --root=DIR       build file system from directory DIR

-m, --min-io-size=SIZE   minimum I/O unit size, 参考上面手动挂载一个分区时的信息

-e, --leb-size=SIZE      logical erase block size  参考上面手动挂载一个分区时的信息

-c, --max-leb-cnt=COUNT  maximum logical erase block count 依赖分区大小,调整测试出来

-o, --output=FILE        output to FILE

-x, --compr=TYPE         compression type - "lzo", "favor_lzo", "zlib" or

                         "none" (default: "lzo")

注2: ubinize选项说明:

-o, --output=<file name>     output file name

-p, --peb-size=<bytes>       size of the physical eraseblock of the flash

                             this UBI image is created for in bytes,

                             kilobytes (KiB), or megabytes (MiB)

                             (mandatory parameter),这里是物理擦除快大小

-m, --min-io-size=<bytes>    minimum input/output unit size of the flash

                             in bytes

-s, --sub-page-size=<bytes>  minimum input/output unit used for UBI

                             headers, e.g. sub-page size in case of NAND

                             flash (equivalent to the minimum input/output

                             unit size by default) 查看上面手动挂载时的信息

-O, --vid-hdr-offset=<num>   offset if the VID header from start of the

                             physical eraseblock (default is the next

                             minimum I/O unit or sub-page after the EC

                             header) 查看上面手动挂载时的VID信息

下面给出一个创建ubifs-arm920t.img镜像文件:

[lingyun@localhost rootfs]$ cd tools/
[lingyun@localhost tools]$ ls
build_ubifs.sh  install_shared_library.sh
[lingyun@localhost tools]$ vim build_ubifs.sh 

#!/bin/sh
#+--------------------------------------------------------------------------------------------
#|Description: This shell script is used to generate a UBIFS rootfs for K9F2G08 nandflash
#|     Author:  GuoWenxue <guowenxue@gmail.com> QQ: 281143292 凌云嵌入式学习
#|  ChangeLog:
#|           1, Initialize 1.0.0>[lingyun@localhost tools]$ sh build_ubifs.sh 

执行后就会在/tftp目录下生成ubifs-arm920t.img镜像文件


6、根据第一步中分区表的信息,将rootfs.jffs2烧录到开发板中

(1)下面是开发板中低环境变量

[ s3c2440@fulinux ]# pri
cpu=s3c2440
bbl=nand erase 0 100000;tftp 30008000 u-boot-$cpu.bin;nand write 30008000 0 $filesize
norbbl=erase bank 1;tftp 30008000 u-boot-$cpu.bin;cp.b 30008000 0 $filesize
bkr=tftp 30008000 uImage-$cpu.gz;nand erase 100000 400000;nand write 30008000 100000 $filesize
brdfs=tftp 30800000 ramdisk-$cpu.gz;nand erase 500000 a00000;nand write 30800000 500000 $filesize
bubifs=tftp 30800000 ubifs-$cpu.img;nand erase 0x02e00000 0x01400000;nand write 0x30800000 0x2e00000 0x4c0000
bootcmd_ramdisk=nand read 30008000 100000 400000;nand read 30800000 500000 a00000;bootm 30008000
bootcmd_rootfs=nand read 30008000 100000 400000;bootm 30008000
tpb=tftp 30008000 uImage-$cpu.gz;tftp 30800000 ramdisk-$cpu.gz;bootm 30008000 
bootargs_ramdisk=console=ttyS0,115200 mem=64M initrd=0x30800000,16M root=/dev/ram0 rw loglevel=7
bootargs_ubifs=console=ttyS0,115200 mem=64M ubi.mtd=5 root=ubi0:rootfs rootwait rootfstype=ubifs rw
mtdids=nand0=nand0
mtdparts=mtdparts=nand0:1M@0x0(u-boot),5M@0x100000(kernel),10M@0x600000(ramdisk),10M@0x1000000(cramfs),20M@0x1a00000(yaffs2),20M@0x2e00000(ubifs),-(users)
bootdelay=1
baudrate=115200
ethaddr=08:00:3e:26:0a:6b
ethact=dm9000
bcramfs=tftp 30800000 rootfs.cramfs;nand erase f00000 600000;nand write 30800000 f00000 600000
filesize=533000
fileaddr=30800000
netmask=255.255.255.0
ipaddr=192.168.1.244
serverip=192.168.1.3
bootargs=noinitrd root=/dev/mtdblock3 rootfstype=cramfs init=/linuxrc console=ttyS0,115200
bootcmd_cramfs=nand read 30008000 100000 400000;bootm 30008000
bootcmd=run bootcmd_cramfs
stdin=serial
stdout=serial
stderr=serial

Environment size: 1570/131068 bytes
[ s3c2440@fulinux ]# 


(2)下面设置一个烧录rootfs.ubifs的环境变量

[ s3c2440@fulinux ]# set bubifs 'tftp 30008000 ubifs-$cpu.img;nand erase 6e00000 900000;nand write 30008000 6e00000 900000'

[ s3c2440@fulinux ]# set bootargs_ubifs 'console=ttyS0,115200 mem=64M ubi.mtd=6 root=ubi0:rootfs rootwait rootfstype=ubifs rw'

[ s3c2440@fulinux ]# set bootcmd 'run bootcmd_rootfs'

[ s3c2440@fulinux ]# save

(3)下载ubifs-arm920t.img镜像文件

[ s3c2440@fulinux ]# run bubjfs

dm9000 i/o: 0x20000300, id: 0x90000a46 
DM9000: running in 16 bit mode
MAC: 08:00:3e:26:0a:6b
could not establish link
operating at 100M full duplex mode
Using dm9000 device
TFTP from server 192.168.1.3; our IP address is 192.168.1.111
Filename 'ubifs-arm920t.img'.
Load address: 0x30008000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #############################################################
done
Bytes transferred = 8519680 (820000 hex)


NAND erase: device 0 offset 0x6e00000, size 0x900000
Erasing at 0x76e0000 -- 100% complete.
OK


NAND write: device 0 offset 0x6e00000, size 0x900000
 9437184 bytes written: OK


7、启动内核

[ s3c2440@fulinux ]#boot

NAND read: device 0 offset 0x100000, size 0x400000
 4194304 bytes read: OK
## Booting kernel from Legacy Image at 30008000 ...
   Image Name:   Linux Kernel
   Created:      2013-04-24  11:49:03 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2612516 Bytes = 2.5 MiB
   Load Address: 30008000
   Entry Point:  30008040
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK
OS entry point: 30008040
Image entry point=30008040


Starting kernel ...


Uncompressing Linux... done, booting the kernel.
Linux version 3.0.0 (lingyun@localhost.localdomain) (gcc version 4.5.4 (Buildroot 2012.08) ) #2 Wed Apr 24 19:49:00 CST 2013
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: SMDK2440
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
S3C24XX Clocks, Copyright 2004 Simtec Electronics
S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz
CLOCK: Slow mode (1.500 MHz), fast, MPLL>0x000006e00000-0x000009600000 : "mtdblock5 ubifs 40MB"
0x000009600000-0x000009700000 : "mtdblock6 info 1MB"
0x000009700000-0x00000bf00000 : "mtdblock7 apps 40MB"
0x00000bf00000-0x00000e700000 : "mtdblock8 data 40MB"
0x00000e700000-0x000010000000 : "mtdblock9 backup 25MB"
UBI: attaching mtd6 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: max. sequence number:       5
UBI: attached mtd6 to ubi0
UBI: MTD device name:            "mtdblock5 ubifs 40MB"
UBI: MTD device size:            40 MiB
UBI: number of good PEBs:        320
UBI: number of bad PEBs:         0
UBI: number of corrupted PEBs:   0
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: 320
UBI: number of PEBs reserved for bad PEB handling: 3
UBI: max/mean erase counter: 1/0
UBI: image sequence number:  435262471
UBI: background thread "ubi_bgt0d" started, PID 449
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
dm9000 Ethernet Driver, V1.31
eth0: dm9000a at c48b6300,c48b8304 IRQ 51 MAC: 08:00:3e:26:0a:6b (chip)
usbcore: registered new interface driver rt2800usb
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000
usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: S3C24XX OHCI
usb usb1: Manufacturer: Linux 3.0.0 ohci_hcd
usb usb1: SerialNumber: s3c24xx
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
USB Serial support registered for ch341-uart
usbcore: registered new interface driver ch341
USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
USB Serial support registered for GSM modem (1-port)
usbcore: registered new interface driver option
option: v0.7.2:USB Driver for GSM modems
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
mousedev: PS/2 mouse device common for all mice
samsung-ts s3c2440-ts: driver attached, registering input device
input: S3C24XX TouchScreen as /devices/virtual/input/input0
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c-rtc s3c2410-rtc: rtc disabled, re-enabling
s3c-rtc s3c2410-rtc: rtc core: registered s3c as rtc0
i2c /dev entries driver
s3c-sdi s3c2440-sdi: mmc0 - using pio, sw SDIO IRQ
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
S3C24XX_UDA134X SoC Audio driver
UDA134X SoC Audio Codec
asoc: uda134x-hifi <-> s3c24xx-iis mapping ok
ALSA device list:
  #0: S3C24XX_UDA134X
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (929 buckets, 3716 max)
ctnetlink v0.93: registering with nfnetlink.
xt_time: kernel timezone is -0000
ip_set: protocol 6
IPVS: Registered protocols (TCP, UDP, AH, ESP)
IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
IPVS: Creating netns size=1008 id=0
IPVS: ipvs loaded.
IPVS: [rr] scheduler registered.
IPVS: [wrr] scheduler registered.
IPVS: [lc] scheduler registered.
IPVS: [wlc] scheduler registered.
IPVS: [lblc] scheduler registered.
IPVS: [lblcr] scheduler registered.
IPVS: [dh] scheduler registered.
IPVS: [sh] scheduler registered.
IPVS: [sed] scheduler registered.
IPVS: [nq] scheduler registered.
ip_tables: (C) 2000-2006 Netfilter Core Team
ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
arp_tables: (C) 2002 David S. Miller
TCP cubic registered
NET: Registered protocol family 17
lib80211: common routines for IEEE802.11 drivers
Registering the dns_resolver key type
s3c-rtc s3c2410-rtc: setting system clock to 2023-01-06 16:57:59 UTC (1673024279)
UBIFS: mounted UBI device 0, volume 0, name "rootfs"
UBIFS: file system size:   16773120 bytes (16380 KiB, 15 MiB, 130 LEBs)
UBIFS: journal size:       2580480 bytes (2520 KiB, 2 MiB, 20 LEBs)
UBIFS: media format:       w4/r0 (latest is w4/r0)
UBIFS: default compressor: lzo
UBIFS: reserved for root:  0 bytes (0 KiB)
VFS: Mounted root (ubifs filesystem) on device 0:11.
Freeing init memory: 156K
usb 1-1: new full speed USB device number 2 using s3c2410-ohci
usb 1-1: New USB device found, idVendor=05e3, idProduct=0606
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1: Product: USB Hub 2.0
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
UBI: attaching mtd8 to ubi8
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: max. sequence number:       13
UBI: attached mtd8 to ubi8
UBI: MTD device name:            "mtdblock7 apps 40MB"
UBI: MTD device size:            40 MiB
UBI: number of good PEBs:        320
UBI: number of bad PEBs:         0
UBI: number of corrupted PEBs:   0
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:             33
UBI: total number of reserved PEBs: 287
UBI: number of PEBs reserved for bad PEB handling: 3
UBI: max/mean erase counter: 2/1
UBI: image sequence number:  -232904551
UBI: background thread "ubi_bgt8d" started, PID 554
UBIFS: mounted UBI device 8, volume 0, name "apps"
UBIFS: file system size:   34965504 bytes (34146 KiB, 33 MiB, 271 LEBs)
UBIFS: journal size:       1806336 bytes (1764 KiB, 1 MiB, 14 LEBs)
UBIFS: media format:       w4/r0 (latest is w4/r0)
UBIFS: default compressor: lzo
UBIFS: reserved for root:  1651507 bytes (1612 KiB)
UBI: attaching mtd9 to ubi9
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: max. sequence number:       13
UBI: attached mtd9 to ubi9
UBI: MTD device name:            "mtdblock8 data 40MB"
UBI: MTD device size:            40 MiB
UBI: number of good PEBs:        319
UBI: number of bad PEBs:         1
UBI: number of corrupted PEBs:   0
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:             32
UBI: total number of reserved PEBs: 287
UBI: number of PEBs reserved for bad PEB handling: 3
UBI: max/mean erase counter: 2/1
UBI: image sequence number:  1359039830
UBI: background thread "ubi_bgt9d" started, PID 582
UBIFS: mounted UBI device 9, volume 0, name "data"
UBIFS: file system size:   34965504 bytes (34146 KiB, 33 MiB, 271 LEBs)
UBIFS: journal size:       1806336 bytes (1764 KiB, 1 MiB, 14 LEBs)
UBIFS: media format:       w4/r0 (latest is w4/r0)
UBIFS: default compressor: lzo
UBIFS: reserved for root:  1651507 bytes (1612 KiB)
dm9000 dm9000.0: eth0: link down


Copyright (C) 2012 GuoWenxue<guowenxue@gmail.com>
Default Password:  12345




fulinux login: dm9000 dm9000.0: eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1


Copyright (C) 2012 GuoWenxue<guowenxue@gmail.com>
Default Password:  12345




fulinux login: root
Password: 
~ >: ls
apps     data     home     lib      media    proc     stat     usr
backup   dev      info     linuxrc  mnt      root     sys      var
bin      etc      init     logs     opt      sbin     tmp
~ >: 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值