Hello Anton,

Am 14.01.2015 18:12, schrieb Anton Habegger:
Hello Heiko

Am 14.01.2015 13:52, schrieb Anton Habegger:
Hello

We have a PPC MPC5125 device with 64MB NOR flash. The U-boot has to load the 
kernel and initramfs from a UBIFS partition.
Recently we made an upgrade from U-Boot version V2010.12 to version V2014.10. Now after 
some regression tests with power cuts, we got an UBIFS state, which is unreadable for 
U-Boot  version  V2014.10. If I do a tftpboot an mount the UBIFS with linux, there is no 
problem. It is also very >>strange, that if I downgrade the U-Boot to V2010.12, then 
it is also no problem with the partition and everything is readable. I tend to say there is 
probably a regression with the most recent U-Boot version. But I don't know where I can 
start to find it. I enabled also the DEBUG define, but there >>appears no additional 
debug message concerning UBIFS. How can I debug this?

You can enable:

#undef CONFIG_UBI_SILENCE_MSG
#define CONFIG_MTD_DEBUG
#define CONFIG_MTD_DEBUG_VERBOSE 1

Now I got output, thank you. I have to investigate more to get a better picture.

Thanks!

With which Linux version do you test? U-Boot is synced with linux 3.15 ... so, if 
you can test it with a kernel >= 3.15 this would be great!

Our device is running with 2.6.34, with the patches from 
git://git.infradead.org/users/dedekind/ubifs-v2.6.34.git. I'm also able to open 
mount the image with linux 3.13  (Ubuntu 14.04/x86_64) and the mtdram module.
As soon the image is once mounted (and recovered) either with 2.6.34 or 3.13, 
the U-Boot V2014.10 can load it as well.

Here the dmesg output mount with linux 3.13 which succeeds:
[189672.868677] UBI: attaching mtd0 to ubi0
[189672.869154] UBI: scanning is finished
[189672.870359] UBI: attached mtd0 (name "mtdram test device", size 63 MiB) to 
ubi0
[189672.870363] UBI: PEB size: 131072 bytes (128 KiB), LEB size: 130944 bytes
[189672.870366] UBI: min./max. I/O unit sizes: 1/64, sub-page size 1
[189672.870367] UBI: VID header offset: 64 (aligned 64), data offset: 128
[189672.870369] UBI: good PEBs: 504, bad PEBs: 0, corrupted PEBs: 0
[189672.870371] UBI: user volume: 1, internal volumes: 1, max. volumes count: 
128
[189672.870373] UBI: max/mean erase counter: 280/161, WL threshold: 4096, image 
sequence number: 2041090957
[189672.870374] UBI: available PEBs: 0, total reserved PEBs: 504, PEBs reserved 
for bad PEB handling: 0
[189672.870489] UBI: background thread "ubi_bgt0d" started, PID 50742
[189689.698048] UBIFS: background thread "ubifs_bgt0_0" started, PID 50750
[189689.698157] UBIFS: recovery needed
[189689.699949] UBIFS: recovery completed

This two lines arer interesting ... I see this message also in U-Boot code:

./fs/ubifs/super.c in mount_ubifs() ...

Why does this output not come in U-Boot?
Maybe it is worth to look into this place too ...

bye,
Heiko
[189689.700308] UBIFS: mounted UBI device 0, volume 0, name "flash"
[189689.700313] UBIFS: LEB size: 130944 bytes (127 KiB), min./max. I/O unit 
sizes: 8 bytes/64 bytes
[189689.700316] UBIFS: FS size: 61674624 bytes (58 MiB, 471 LEBs), journal size 
8249472 bytes (7 MiB, 63 LEBs)
[189689.700318] UBIFS: reserved for root: 0 bytes (0 KiB)
[189689.700321] UBIFS: media format: w4/r0 (latest is w4/r0), UUID 
370BF56B-8A90-443C-B344-BF6BA00A8634, small LPT model

Here the output from U-Boot V2014.10:

=> ubi part fs
UBI: attaching mtd1 to ubi0
UBI: scanning is finished
UBI: attached mtd1 (name "mtd=0", size 63 MiB) to ubi0
UBI: PEB size: 131072 bytes (128 KiB), LEB size: 130944 bytes
UBI: min./max. I/O unit sizes: 1/64, sub-page size 1
UBI: VID header offset: 64 (aligned 64), data offset: 128
UBI: good PEBs: 504, bad PEBs: 0, corrupted PEBs: 0
UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
UBI: max/mean erase counter: 280/161, WL threshold: 4096, image
sequence number: 2041090957
UBI: available PEBs: 0, total reserved PEBs: 504, PEBs reserved for
bad PEB handling: 0 => ubifsmount ubi:flash => ubifsls
            53549  Mon Dec 01 11:34:08 2014  setup.xml
             2051  Wed Nov 19 09:05:49 2014  LOG_Default_000001.csv
        filldir: Error in ubifs_iget(), ino=44049 ret=ffffffea!

seems a problem in ubifs_iget() fs/ubifs/super.c ... it returns -EINVAL please 
debug into this function for a starting point.

Thank you for the hint. I will start from there.

Anton
********************************************************************************************************************************
This email message, including any attachments, is for the sole use of the 
intended recipient(s) and may contain
confidential and privileged information. Any unauthorized review, use, 
disclosure or distribution is prohibited.
If you are not the intended recipient, please contact the sender by reply 
e-mail and destroy all copies of the original message.
[Delta Energy Systems]
********************************************************************************************************************************



--
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to