
Hi Alex,
On Wednesday 07 March 2012 16:14:28 Alex Zeffertt wrote:
On 7 March 2012 14:42, Alex Zeffertt azeffertt@cambridgesys.com wrote:
Hi u-booters,
I have a short script in my u-boot environment which chooses which of two ubifs partitions to boot by attempting to read a release file in each one.
Unfortunately, after an unclean shutdown sometimes the ubifsmount fails. (By "unclean shutdown" I mean that the board was power cycled while doing some low bandwidth logging.)
The strange thing is that Linux has no problem mounting the partition as its root filesystem. This is very confusing because it looks like the ubifs implementation in u-boot is just a copy of the one in Linux.
Correct. The U-Boot version is mainly a copy of the Linux version. With minor changes. But its based on an older Linux version. Many changes have gone into the UBI Linux code.
Has anyone else seen this problem?
Regards,
Alex
PS My kernel is linux-3.0.0/armv5tel and the full u-boot trace is below:
U-Boot 2011.06 (Feb 10 2012 - 12:29:06) OpenRD-Base SoC: Kirkwood 88F6281_A1 DRAM: 128 MiB NAND: 512 MiB *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: egiga0 88E6351 Initialized on egiga0 Hit any key to stop autoboot: 0 Creating 1 MTD partitions on "nand0": 0x000001000000-0x000010000000 : "mtd=2" UBI: attaching mtd1 to ubi0 UBI: physical eraseblock size: 131072 bytes (128 KiB) UBI: logical eraseblock size: 126976 bytes UBI: smallest flash I/O unit: 2048 UBI: sub-page size: 512 UBI: VID header offset: 2048 (aligned 2048) UBI: data offset: 4096 UBI: attached mtd1 to ubi0 UBI: MTD device name: "mtd=2" UBI: MTD device size: 240 MiB UBI: number of good PEBs: 1913 UBI: number of bad PEBs: 7 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: 1913 UBI: number of PEBs reserved for bad PEB handling: 19 UBI: max/mean erase counter: 7/1 UBIFS: recovery needed Error reading superblock on volume 'ubi:rootfs'! UBI: mtd1 is detached from ubi0
I've been comparing the linux and u-boot implementations, and it looks like the following fix is in the kernel but not in u-boot. I don't really understand it, but it looks like a candidate. Might porting this change to u-boot fix the issue?
Hard to tell. Might be worth a try, if its not too complicated. It would be great if you could report the outcome of this. And best to send this patch to the list as well.
Thanks, Stefan
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de