uboot中访问ubifs文件系统内容

有被问到在uboot中访问ubi文件系统,之前大概了解,但是没有实际操作,这次还是操作一遍看看。

硬件平台

  • 君正 x1000 halley2

uboot编译配置

至少配置以下几项,其他的驱动是必备的

#define CONFIG_MTD_DEVICE
#define CONFIG_CMD_UBI
#define CONFIG_CMD_UBIFS
#define CONFIG_CMD_MTDPARTS
#define CONFIG_MTD_PARTITIONS

uboot启动

help之后的打印会看到:

mtdparts- define flash/nand partitions

ubi - ubi commands
ubifsload- load file from an UBIFS filesystem
ubifsls - list files in a directory
ubifsmount- mount UBIFS volume
ubifsumount- unmount UBIFS volume

uboot下使用ubi命令

首先使用mtdparts命令生成所有的mtd默认分区,

halley2-sfcnand# mtdparts default
halley2-sfcnand# mtdparts

device nand0 <nand>, # parts = 4
#: name size offset mask_flags
0: boot 0x00100000 0x00000000 0
1: kernel 0x00800000 0x00100000 0
2: rootfs 0x02800000 0x00900000 0
3: data 0x0cf00000 0x03100000 0

active partition: nand0,0 - (boot) 0x00100000 @ 0x00000000

defaults:
mtdids : nand0=nand
mtdparts: mtdparts=nand:1M(boot),8M(kernel),40M(rootfs),-(data)

使用ubi part命令连接mtd分区, 例如链接rootfs分区, 激活当前分区会将已经激活的分区取消链接

halley2-sfcnand# ubi part nand
halley2-sfcnand# ubi part
Device 0: nand0, partition rootfs

使用ubi info 查看当前分区信息, 注意其中的PEB代表可擦除的物理页个数
每个物理页大小128K

halley2-sfcnand# ubi info
UBI: MTD device name: "mtd=2"
UBI: MTD device size: 40 MiB
UBI: physical eraseblock size: 131072 bytes (128 KiB)
UBI: logical eraseblock size: 126976 bytes
UBI: number of good PEBs: 320
UBI: number of bad PE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值