ubifs文件系统制作与移植

来源:互联网 发布:南邮软件中心 编辑:程序博客网 时间:2024/05/22 08:18
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
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 老师在教育学生学生跑出教室怎么办 孩子遇到校园暴力回来不敢说怎么办 学位网没有英文认证出国留学怎么办 4-5岁幼儿记忆不好该怎么办 2个月宝宝不拉大便怎么办 论文已查重了要下载查重报告怎么办 华为畅享7手机媒体音量小怎么办 杂志投稿投到了假的网站怎么办 支付宝骗了5万多怎么办 微信转账到银行卡被骗了怎么办 给对方转账到银行卡疑似被骗怎么办 谷歌邮箱收不到邮件了怎么办 我在微信上做兼职被骗了钱怎么办 要是微信里面做兼职被骗了怎么办 在打离婚管斯死亡赔常金怎么办 编辑部回复我文章没有被录用怎么办 父亲死后教师资格被别人顶替怎么办 刚发的论文影响因子变化了怎么办 奥鹏毕业论文过了提交时间了怎么办 手机电池被拿出来后时间不准怎么办 高中的孩子与同学相处不好怎么办 孩子在幼儿园不敢和老师说话怎么办 注册过万方医学网忘了用户名怎么办 狗咬了没破皮没出血有点疼怎么办 狗咬了没出血肿起来了怎么办 广州已经过了幼儿园报名时间怎么办 大专学费没交学校开始查了怎么办 如果申请留学的本科成绩不够怎么办 硕士读了三年无法毕业怎么办啊 孩子在美国读研读不下去怎么办? 在地割草中过失死亡法律^怎么办 高中毕业申请国外大学没录取怎么办 英国研究生老师没给写推荐信怎么办 申请悉尼大学博士奖学金被拒怎么办 硕士延迟毕业但被博士录取怎么办 考完初级职称还是不会做账怎么办 美国留学生在中国办日本签证怎么办 留学雅思过了gpa低怎么办澳洲 护士电子化注册用户名忘记了怎么办 护士电子化注册证书编码错误怎么办 澳洲预科上半学期成绩不达标怎么办