* [U-Boot] ubi part failing on NAND @ 2009-12-17 21:09 Jeff Angielski 2009-12-18 8:16 ` Stefan Roese 0 siblings, 1 reply; 8+ messages in thread From: Jeff Angielski @ 2009-12-17 21:09 UTC (permalink / raw) To: u-boot The "ubi part" command is failing for me on my PowerPC 85xx board. I am not trying to do anything special, just create the partitions and volumes so that I can try writing an ubi.img. It spits out enough information that it looks like it did work but it prints out an error nonetheless. And of course there is the long standing issue of the reported MTD number not making any sense. But previous posts have discounted this as an issue. Here is the snippet of the error: UBI error: ubi_init: cannot attach mtd2 UBI: mtd2 is detached from ubi0 UBI error: ubi_init: UBI error: cannot initialize UBI, error -17 UBI init error -17 Here is a cleaned up version of the session log: => mtdparts device nor0 <f8000000.nor>, # parts = 8 #: name size offset mask_flags 0: config 0x00020000 0x00000000 0 1: kernel 0x00260000 0x00020000 0 2: fdt 0x00020000 0x00280000 0 3: tinyfs 0x00600000 0x002a0000 0 4: rootfs 0x076a0000 0x008a0000 0 5: u-boot-env-r 0x00020000 0x07f40000 1 6: u-boot-env 0x00020000 0x07f60000 1 7: u-boot 0x00080000 0x07f80000 1 device nand0 <f4000000.nand>, # parts = 2 #: name size offset mask_flags 0: fs1 0x20000000 0x00000000 0 1: fs2 0x20000000 0x20000000 0 => nand erase 0x0 0x40000000 NAND erase: device 0 whole chip Skipping bad block at 0x01200000 Skipping bad block at 0x0e880000 Skipping bad block at 0x1cd80000 Skipping bad block at 0x2b300000 Skipping bad block at 0x323c0000 Skipping bad block at 0x364c0000 Skipping bad block at 0x37cc0000 Erasing at 0x3ffc0000 -- 100% complete. OK => ubi part fs1 Creating 1 MTD partitions on "nand0": 0x000000000000-0x000020000000 : "mtd=0" UBI: attaching mtd2 to ubi0 UBI: physical eraseblock size: 262144 bytes (256 KiB) UBI: logical eraseblock size: 253952 bytes UBI: smallest flash I/O unit: 4096 UBI: VID header offset: 4096 (aligned 4096) UBI: data offset: 8192 UBI: empty MTD device detected UBI: create volume table (copy #1) UBI: create volume table (copy #2) UBI: attached mtd2 to ubi0 UBI: MTD device name: "mtd=0" UBI: MTD device size: 512 MiB UBI: number of good PEBs: 2045 UBI: number of bad PEBs: 3 UBI: max. allowed volumes: 128 UBI: wear-leveling threshold: 4096 UBI: number of internal volumes: 1 UBI: number of user volumes: 0 UBI: available PEBs: 2021 UBI: total number of reserved PEBs: 24 UBI: number of PEBs reserved for bad PEB handling: 20 UBI: max/mean erase counter: 0/0 UBI error: ubi_init: cannot attach mtd2 UBI: mtd2 is detached from ubi0 UBI error: ubi_init: UBI error: cannot initialize UBI, error -17 UBI init error -17 exit not allowed from main input shell. My last sync with the denx git was when 2.6.31 was released. Here is my version: => ver U-Boot 2009.08-00213-gfdf80f7 (Dec 17 2009 - 12:57:07) Jeff Angielski The PTR Group www.theptrgroup.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] ubi part failing on NAND 2009-12-17 21:09 [U-Boot] ubi part failing on NAND Jeff Angielski @ 2009-12-18 8:16 ` Stefan Roese 2009-12-18 12:35 ` hedwin 0 siblings, 1 reply; 8+ messages in thread From: Stefan Roese @ 2009-12-18 8:16 UTC (permalink / raw) To: u-boot Jeff, On Thursday 17 December 2009 22:09:03 Jeff Angielski wrote: > The "ubi part" command is failing for me on my PowerPC 85xx board. I am > not trying to do anything special, just create the partitions and > volumes so that I can try writing an ubi.img. It spits out enough > information that it looks like it did work but it prints out an error > nonetheless. > > And of course there is the long standing issue of the reported MTD > number not making any sense. But previous posts have discounted this as > an issue. Patches to fix/change this are welcome. :) > Here is the snippet of the error: > > UBI error: ubi_init: cannot attach mtd2 > UBI: mtd2 is detached from ubi0 > UBI error: ubi_init: UBI error: cannot initialize UBI, error -17 > UBI init error -17 -17 == EEXIST. Looking at the code (build.c) shows that ubi_attach_mtd_dev() is returning this error code in case the MTD device is already attached. Even though the UBI implementation should handle this without any problems. I have to admit that I'm a bit out of ideas what's going wrong in your case. I just checked again and UBI works fine for me with the latest version: => mtdparts device nand0 <nand>, # parts = 3 #: name size offset mask_flags 0: bootloader 0x00100000 0x00000000 0 1: rootfs 0x01000000 0x00100000 0 2: ubifs 0x02f00000 0x01100000 0 active partition: nand0,0 - (bootloader) 0x00100000 @ 0x00000000 defaults: mtdids : nand0=nand mtdparts: mtdparts=nand:1m(bootloader),16m(rootfs),-(ubifs) => nand erase 1100000 2f00000 NAND erase: device 0 offset 0x1100000, size 0x2f00000 Erasing at 0x3ffc000 -- 100% complete. OK => ubi part ubifs Creating 1 MTD partitions on "nand0": 0x000001100000-0x000004000000 : "mtd=2" UBI: attaching mtd1 to ubi0 UBI: physical eraseblock size: 16384 bytes (16 KiB) UBI: logical eraseblock size: 15872 bytes UBI: smallest flash I/O unit: 512 UBI: sub-page size: 256 UBI: VID header offset: 256 (aligned 256) UBI: data offset: 512 UBI: empty MTD device detected UBI: create volume table (copy #1) UBI: create volume table (copy #2) UBI: attached mtd1 to ubi0 UBI: MTD device name: "mtd=2" UBI: MTD device size: 47 MiB UBI: number of good PEBs: 3008 UBI: number of bad PEBs: 0 UBI: max. allowed volumes: 92 UBI: wear-leveling threshold: 4096 UBI: number of internal volumes: 1 UBI: number of user volumes: 0 UBI: available PEBs: 2974 UBI: total number of reserved PEBs: 34 UBI: number of PEBs reserved for bad PEB handling: 30 UBI: max/mean erase counter: 0/0 => mtdparts device nand0 <nand>, # parts = 3 #: name size offset mask_flags 0: bootloader 0x00100000 0x00000000 0 1: rootfs 0x01000000 0x00100000 0 2: ubifs 0x02f00000 0x01100000 0 active partition: nand0,0 - (bootloader) 0x00100000 @ 0x00000000 defaults: mtdids : nand0=nand mtdparts: mtdparts=nand:1m(bootloader),16m(rootfs),-(ubifs) => nand erase 100000 1000000 NAND erase: device 0 offset 0x100000, size 0x1000000 Erasing at 0x10fc000 -- 100% complete. OK => ubi part rootfs UBI: mtd1 is detached from ubi0 Creating 1 MTD partitions on "nand0": 0x000000100000-0x000001100000 : "mtd=1" UBI: attaching mtd1 to ubi0 UBI: physical eraseblock size: 16384 bytes (16 KiB) UBI: logical eraseblock size: 15872 bytes UBI: smallest flash I/O unit: 512 UBI: sub-page size: 256 UBI: VID header offset: 256 (aligned 256) UBI: data offset: 512 UBI: empty MTD device detected UBI: create volume table (copy #1) UBI: create volume table (copy #2) UBI: attached mtd1 to ubi0 UBI: MTD device name: "mtd=1" UBI: MTD device size: 16 MiB UBI: number of good PEBs: 1024 UBI: number of bad PEBs: 0 UBI: max. allowed volumes: 92 UBI: wear-leveling threshold: 4096 UBI: number of internal volumes: 1 UBI: number of user volumes: 0 UBI: available PEBs: 1010 UBI: total number of reserved PEBs: 14 UBI: number of PEBs reserved for bad PEB handling: 10 UBI: max/mean erase counter: 0/0 => Perhaps you should try the latest version as well. Could be that this is a bug already fixed now. Otherwise you need to debug this problem yourself, since I can't reproduce it here. Cheers, 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 at denx.de ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] ubi part failing on NAND 2009-12-18 8:16 ` Stefan Roese @ 2009-12-18 12:35 ` hedwin 2009-12-18 12:41 ` Stefan Roese 2009-12-18 14:47 ` Jeff Angielski 0 siblings, 2 replies; 8+ messages in thread From: hedwin @ 2009-12-18 12:35 UTC (permalink / raw) To: u-boot Jeff, what is the size of your allocateble memory. Had to increase it to 4MB to get it working. On Fri, Dec 18, 2009 at 9:16 AM, Stefan Roese <sr@denx.de> wrote: > Jeff, > > On Thursday 17 December 2009 22:09:03 Jeff Angielski wrote: >> The "ubi part" command is failing for me on my PowerPC 85xx board. ?I am >> not trying to do anything special, just create the partitions and >> volumes so that I can try writing an ubi.img. ?It spits out enough >> information that it looks like it did work but it prints out an error >> nonetheless. >> >> And of course there is the long standing issue of the reported MTD >> number not making any sense. ?But previous posts have discounted this as >> an issue. > > Patches to fix/change this are welcome. :) > >> Here is the snippet of the error: >> >> UBI error: ubi_init: cannot attach mtd2 >> UBI: mtd2 is detached from ubi0 >> UBI error: ubi_init: UBI error: cannot initialize UBI, error -17 >> UBI init error -17 > > -17 == EEXIST. Looking at the code (build.c) shows that ubi_attach_mtd_dev() > is returning this error code in case the MTD device is already attached. Even > though the UBI implementation should handle this without any problems. I have > to admit that I'm a bit out of ideas what's going wrong in your case. I just > checked again and UBI works fine for me with the latest version: > > > => mtdparts > > device nand0 <nand>, # parts = 3 > ?#: name ? ? ? ? ? ? ? ?size ? ? ? ? ? ?offset ? ? ? ? ?mask_flags > ?0: bootloader ? ? ? ? ?0x00100000 ? ? ?0x00000000 ? ? ?0 > ?1: rootfs ? ? ? ? ? ? ?0x01000000 ? ? ?0x00100000 ? ? ?0 > ?2: ubifs ? ? ? ? ? ? ? 0x02f00000 ? ? ?0x01100000 ? ? ?0 > > active partition: nand0,0 - (bootloader) 0x00100000 @ 0x00000000 > > defaults: > mtdids ?: nand0=nand > mtdparts: mtdparts=nand:1m(bootloader),16m(rootfs),-(ubifs) > => nand erase 1100000 2f00000 > > NAND erase: device 0 offset 0x1100000, size 0x2f00000 > Erasing at 0x3ffc000 -- 100% complete. > OK > => ubi part ubifs > Creating 1 MTD partitions on "nand0": > 0x000001100000-0x000004000000 : "mtd=2" > UBI: attaching mtd1 to ubi0 > UBI: physical eraseblock size: ? 16384 bytes (16 KiB) > UBI: logical eraseblock size: ? ?15872 bytes > UBI: smallest flash I/O unit: ? ?512 > UBI: sub-page size: ? ? ? ? ? ? ?256 > UBI: VID header offset: ? ? ? ? ?256 (aligned 256) > UBI: data offset: ? ? ? ? ? ? ? ?512 > UBI: empty MTD device detected > UBI: create volume table (copy #1) > UBI: create volume table (copy #2) > UBI: attached mtd1 to ubi0 > UBI: MTD device name: ? ? ? ? ? ?"mtd=2" > UBI: MTD device size: ? ? ? ? ? ?47 MiB > UBI: number of good PEBs: ? ? ? ?3008 > UBI: number of bad PEBs: ? ? ? ? 0 > UBI: max. allowed volumes: ? ? ? 92 > UBI: wear-leveling threshold: ? ?4096 > UBI: number of internal volumes: 1 > UBI: number of user volumes: ? ? 0 > UBI: available PEBs: ? ? ? ? ? ? 2974 > UBI: total number of reserved PEBs: 34 > UBI: number of PEBs reserved for bad PEB handling: 30 > UBI: max/mean erase counter: 0/0 > => mtdparts > > device nand0 <nand>, # parts = 3 > ?#: name ? ? ? ? ? ? ? ?size ? ? ? ? ? ?offset ? ? ? ? ?mask_flags > ?0: bootloader ? ? ? ? ?0x00100000 ? ? ?0x00000000 ? ? ?0 > ?1: rootfs ? ? ? ? ? ? ?0x01000000 ? ? ?0x00100000 ? ? ?0 > ?2: ubifs ? ? ? ? ? ? ? 0x02f00000 ? ? ?0x01100000 ? ? ?0 > > active partition: nand0,0 - (bootloader) 0x00100000 @ 0x00000000 > > defaults: > mtdids ?: nand0=nand > mtdparts: mtdparts=nand:1m(bootloader),16m(rootfs),-(ubifs) > => nand erase 100000 1000000 > > NAND erase: device 0 offset 0x100000, size 0x1000000 > Erasing at 0x10fc000 -- 100% complete. > OK > => ubi part rootfs > UBI: mtd1 is detached from ubi0 > Creating 1 MTD partitions on "nand0": > 0x000000100000-0x000001100000 : "mtd=1" > UBI: attaching mtd1 to ubi0 > UBI: physical eraseblock size: ? 16384 bytes (16 KiB) > UBI: logical eraseblock size: ? ?15872 bytes > UBI: smallest flash I/O unit: ? ?512 > UBI: sub-page size: ? ? ? ? ? ? ?256 > UBI: VID header offset: ? ? ? ? ?256 (aligned 256) > UBI: data offset: ? ? ? ? ? ? ? ?512 > UBI: empty MTD device detected > UBI: create volume table (copy #1) > UBI: create volume table (copy #2) > UBI: attached mtd1 to ubi0 > UBI: MTD device name: ? ? ? ? ? ?"mtd=1" > UBI: MTD device size: ? ? ? ? ? ?16 MiB > UBI: number of good PEBs: ? ? ? ?1024 > UBI: number of bad PEBs: ? ? ? ? 0 > UBI: max. allowed volumes: ? ? ? 92 > UBI: wear-leveling threshold: ? ?4096 > UBI: number of internal volumes: 1 > UBI: number of user volumes: ? ? 0 > UBI: available PEBs: ? ? ? ? ? ? 1010 > UBI: total number of reserved PEBs: 14 > UBI: number of PEBs reserved for bad PEB handling: 10 > UBI: max/mean erase counter: 0/0 > => > > > Perhaps you should try the latest version as well. Could be that this is a bug > already fixed now. Otherwise you need to debug this problem yourself, since I > can't reproduce it here. > > Cheers, > 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 at denx.de > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot > ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] ubi part failing on NAND 2009-12-18 12:35 ` hedwin @ 2009-12-18 12:41 ` Stefan Roese 2009-12-18 15:07 ` Jeff Angielski 2009-12-18 14:47 ` Jeff Angielski 1 sibling, 1 reply; 8+ messages in thread From: Stefan Roese @ 2009-12-18 12:41 UTC (permalink / raw) To: u-boot On Friday 18 December 2009 13:35:26 hedwin wrote: > Jeff, what is the size of your allocateble memory. Had to increase it to > 4MB to get it working. I've got 1MByte for my test on Kilauea. This should be enough. There is already a compile-time check in the UBI code: #if (CONFIG_SYS_MALLOC_LEN < (512 << 10)) #error Malloc area too small for UBI, increase CONFIG_SYS_MALLOC_LEN to >= 512k #endif Please let me know if this really is not enough. But for me, 1MB is working. Cheers, 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 at denx.de ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] ubi part failing on NAND 2009-12-18 12:41 ` Stefan Roese @ 2009-12-18 15:07 ` Jeff Angielski 2009-12-19 12:56 ` hedwin 2009-12-21 10:02 ` Stefan Roese 0 siblings, 2 replies; 8+ messages in thread From: Jeff Angielski @ 2009-12-18 15:07 UTC (permalink / raw) To: u-boot Stefan Roese wrote: > On Friday 18 December 2009 13:35:26 hedwin wrote: >> Jeff, what is the size of your allocateble memory. Had to increase it to >> 4MB to get it working. > > I've got 1MByte for my test on Kilauea. This should be enough. There > is already a compile-time check in the UBI code: > > > #if (CONFIG_SYS_MALLOC_LEN < (512 << 10)) > #error Malloc area too small for UBI, increase CONFIG_SYS_MALLOC_LEN to >= 512k > #endif > > Please let me know if this really is not enough. But for me, 1MB is working. As per Hedwin's suggestion I increased my CONFIG_SYS_MALLOC_LEN to 4MB and the error disappeared. Thanks Hedwin! And now the UBI output matches my part (e.g. PEB size). => nand erase 0x0 0x40000000 => ubi part fs1 Creating 1 MTD partitions on "nand0": 0x000000000000-0x000020000000 : "mtd=0" UBI: attaching mtd2 to ubi0 UBI: physical eraseblock size: 262144 bytes (256 KiB) UBI: logical eraseblock size: 253952 bytes UBI: smallest flash I/O unit: 4096 UBI: VID header offset: 4096 (aligned 4096) UBI: data offset: 8192 UBI: empty MTD device detected UBI: create volume table (copy #1) UBI: create volume table (copy #2) UBI: attached mtd2 to ubi0 UBI: MTD device name: "mtd=0" UBI: MTD device size: 512 MiB UBI: number of good PEBs: 2045 UBI: number of bad PEBs: 3 UBI: max. allowed volumes: 128 UBI: wear-leveling threshold: 4096 UBI: number of internal volumes: 1 UBI: number of user volumes: 0 UBI: available PEBs: 2021 UBI: total number of reserved PEBs: 24 UBI: number of PEBs reserved for bad PEB handling: 20 UBI: max/mean erase counter: 0/0 => -- Jeff Angielski The PTR Group www.theptrgroup.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] ubi part failing on NAND 2009-12-18 15:07 ` Jeff Angielski @ 2009-12-19 12:56 ` hedwin 2009-12-21 10:02 ` Stefan Roese 1 sibling, 0 replies; 8+ messages in thread From: hedwin @ 2009-12-19 12:56 UTC (permalink / raw) To: u-boot A bit on the reason why this amount of memory is needed. I had the same problem jeff mentions. After tracing where dlmalloc allocates its memory chunks I found out that it started allocating memory in code space. Overwritting code space eventually resultated in uboot crashing. Looking into dlmalloc I did not find any code that checks whether it allocates memory outside its boundary. Since I use a 2009.01 release I need to verify this against the latest release. There is also another problem with ubi. If you repeat the following statements more than once uboot also crashed. nand erase /aPartition ubi part nand /aPartition ubi create aVolume I did not check yet if this is also an allocation problem or something totally different. Hedwin On Fri, Dec 18, 2009 at 4:07 PM, Jeff Angielski <jeff@theptrgroup.com> wrote: > Stefan Roese wrote: >> >> On Friday 18 December 2009 13:35:26 hedwin wrote: >>> >>> Jeff, what is the size of your allocateble memory. Had to increase it to >>> ?4MB to get it working. >> >> I've got 1MByte for my test on Kilauea. This should be enough. There >> is already a compile-time check in the UBI code: >> >> >> #if (CONFIG_SYS_MALLOC_LEN < (512 << 10)) >> #error Malloc area too small for UBI, increase CONFIG_SYS_MALLOC_LEN to >= >> 512k >> #endif >> >> Please let me know if this really is not enough. But for me, 1MB is >> working. > > As per Hedwin's suggestion I increased my CONFIG_SYS_MALLOC_LEN to 4MB and > the error disappeared. ?Thanks Hedwin! ?And now the UBI output matches my > part (e.g. PEB size). > > > => nand erase 0x0 0x40000000 > > => ubi part fs1 > Creating 1 MTD partitions on "nand0": > 0x000000000000-0x000020000000 : "mtd=0" > UBI: attaching mtd2 to ubi0 > UBI: physical eraseblock size: ? 262144 bytes (256 KiB) > UBI: logical eraseblock size: ? ?253952 bytes > UBI: smallest flash I/O unit: ? ?4096 > UBI: VID header offset: ? ? ? ? ?4096 (aligned 4096) > UBI: data offset: ? ? ? ? ? ? ? ?8192 > UBI: empty MTD device detected > UBI: create volume table (copy #1) > UBI: create volume table (copy #2) > UBI: attached mtd2 to ubi0 > UBI: MTD device name: ? ? ? ? ? ?"mtd=0" > UBI: MTD device size: ? ? ? ? ? ?512 MiB > UBI: number of good PEBs: ? ? ? ?2045 > UBI: number of bad PEBs: ? ? ? ? 3 > UBI: max. allowed volumes: ? ? ? 128 > UBI: wear-leveling threshold: ? ?4096 > UBI: number of internal volumes: 1 > UBI: number of user volumes: ? ? 0 > UBI: available PEBs: ? ? ? ? ? ? 2021 > UBI: total number of reserved PEBs: 24 > UBI: number of PEBs reserved for bad PEB handling: 20 > UBI: max/mean erase counter: 0/0 > => > > -- > Jeff Angielski > The PTR Group > www.theptrgroup.com > ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] ubi part failing on NAND 2009-12-18 15:07 ` Jeff Angielski 2009-12-19 12:56 ` hedwin @ 2009-12-21 10:02 ` Stefan Roese 1 sibling, 0 replies; 8+ messages in thread From: Stefan Roese @ 2009-12-21 10:02 UTC (permalink / raw) To: u-boot On Friday 18 December 2009 16:07:40 Jeff Angielski wrote: > Stefan Roese wrote: > > On Friday 18 December 2009 13:35:26 hedwin wrote: > >> Jeff, what is the size of your allocateble memory. Had to increase it to > >> 4MB to get it working. > > > > I've got 1MByte for my test on Kilauea. This should be enough. There > > is already a compile-time check in the UBI code: > > > > > > #if (CONFIG_SYS_MALLOC_LEN < (512 << 10)) > > #error Malloc area too small for UBI, increase CONFIG_SYS_MALLOC_LEN to > > >= 512k #endif > > > > Please let me know if this really is not enough. But for me, 1MB is > > working. > > As per Hedwin's suggestion I increased my CONFIG_SYS_MALLOC_LEN to 4MB > and the error disappeared. Thanks Hedwin! And now the UBI output > matches my part (e.g. PEB size). Hmmm. Must be because my test platform used a small page NAND device. I'll give it a try on a large page NAND soon. The code must be lacking a check for malloc failure. Cheers, 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 at denx.de ^ permalink raw reply [flat|nested] 8+ messages in thread
* [U-Boot] ubi part failing on NAND 2009-12-18 12:35 ` hedwin 2009-12-18 12:41 ` Stefan Roese @ 2009-12-18 14:47 ` Jeff Angielski 1 sibling, 0 replies; 8+ messages in thread From: Jeff Angielski @ 2009-12-18 14:47 UTC (permalink / raw) To: u-boot hedwin wrote: > Jeff, what is the size of your allocateble memory. Had to increase it to 4MB > to get it working. #define CONFIG_SYS_MALLOC_LEN (1024 * 1024) I'll try increasing it to see if that helps. > > On Fri, Dec 18, 2009 at 9:16 AM, Stefan Roese <sr@denx.de> wrote: >> Jeff, >> >> On Thursday 17 December 2009 22:09:03 Jeff Angielski wrote: >>> The "ubi part" command is failing for me on my PowerPC 85xx board. I am >>> not trying to do anything special, just create the partitions and >>> volumes so that I can try writing an ubi.img. It spits out enough >>> information that it looks like it did work but it prints out an error >>> nonetheless. >>> >>> And of course there is the long standing issue of the reported MTD >>> number not making any sense. But previous posts have discounted this as >>> an issue. >> Patches to fix/change this are welcome. :) >> >>> Here is the snippet of the error: >>> >>> UBI error: ubi_init: cannot attach mtd2 >>> UBI: mtd2 is detached from ubi0 >>> UBI error: ubi_init: UBI error: cannot initialize UBI, error -17 >>> UBI init error -17 >> -17 == EEXIST. Looking at the code (build.c) shows that ubi_attach_mtd_dev() >> is returning this error code in case the MTD device is already attached. Even >> though the UBI implementation should handle this without any problems. I have >> to admit that I'm a bit out of ideas what's going wrong in your case. I just >> checked again and UBI works fine for me with the latest version: >> >> >> => mtdparts >> >> device nand0 <nand>, # parts = 3 >> #: name size offset mask_flags >> 0: bootloader 0x00100000 0x00000000 0 >> 1: rootfs 0x01000000 0x00100000 0 >> 2: ubifs 0x02f00000 0x01100000 0 >> >> active partition: nand0,0 - (bootloader) 0x00100000 @ 0x00000000 >> >> defaults: >> mtdids : nand0=nand >> mtdparts: mtdparts=nand:1m(bootloader),16m(rootfs),-(ubifs) >> => nand erase 1100000 2f00000 >> >> NAND erase: device 0 offset 0x1100000, size 0x2f00000 >> Erasing at 0x3ffc000 -- 100% complete. >> OK >> => ubi part ubifs >> Creating 1 MTD partitions on "nand0": >> 0x000001100000-0x000004000000 : "mtd=2" >> UBI: attaching mtd1 to ubi0 >> UBI: physical eraseblock size: 16384 bytes (16 KiB) >> UBI: logical eraseblock size: 15872 bytes >> UBI: smallest flash I/O unit: 512 >> UBI: sub-page size: 256 >> UBI: VID header offset: 256 (aligned 256) >> UBI: data offset: 512 >> UBI: empty MTD device detected >> UBI: create volume table (copy #1) >> UBI: create volume table (copy #2) >> UBI: attached mtd1 to ubi0 >> UBI: MTD device name: "mtd=2" >> UBI: MTD device size: 47 MiB >> UBI: number of good PEBs: 3008 >> UBI: number of bad PEBs: 0 >> UBI: max. allowed volumes: 92 >> UBI: wear-leveling threshold: 4096 >> UBI: number of internal volumes: 1 >> UBI: number of user volumes: 0 >> UBI: available PEBs: 2974 >> UBI: total number of reserved PEBs: 34 >> UBI: number of PEBs reserved for bad PEB handling: 30 >> UBI: max/mean erase counter: 0/0 >> => mtdparts >> >> device nand0 <nand>, # parts = 3 >> #: name size offset mask_flags >> 0: bootloader 0x00100000 0x00000000 0 >> 1: rootfs 0x01000000 0x00100000 0 >> 2: ubifs 0x02f00000 0x01100000 0 >> >> active partition: nand0,0 - (bootloader) 0x00100000 @ 0x00000000 >> >> defaults: >> mtdids : nand0=nand >> mtdparts: mtdparts=nand:1m(bootloader),16m(rootfs),-(ubifs) >> => nand erase 100000 1000000 >> >> NAND erase: device 0 offset 0x100000, size 0x1000000 >> Erasing at 0x10fc000 -- 100% complete. >> OK >> => ubi part rootfs >> UBI: mtd1 is detached from ubi0 >> Creating 1 MTD partitions on "nand0": >> 0x000000100000-0x000001100000 : "mtd=1" >> UBI: attaching mtd1 to ubi0 >> UBI: physical eraseblock size: 16384 bytes (16 KiB) >> UBI: logical eraseblock size: 15872 bytes >> UBI: smallest flash I/O unit: 512 >> UBI: sub-page size: 256 >> UBI: VID header offset: 256 (aligned 256) >> UBI: data offset: 512 >> UBI: empty MTD device detected >> UBI: create volume table (copy #1) >> UBI: create volume table (copy #2) >> UBI: attached mtd1 to ubi0 >> UBI: MTD device name: "mtd=1" >> UBI: MTD device size: 16 MiB >> UBI: number of good PEBs: 1024 >> UBI: number of bad PEBs: 0 >> UBI: max. allowed volumes: 92 >> UBI: wear-leveling threshold: 4096 >> UBI: number of internal volumes: 1 >> UBI: number of user volumes: 0 >> UBI: available PEBs: 1010 >> UBI: total number of reserved PEBs: 14 >> UBI: number of PEBs reserved for bad PEB handling: 10 >> UBI: max/mean erase counter: 0/0 >> => >> >> >> Perhaps you should try the latest version as well. Could be that this is a bug >> already fixed now. Otherwise you need to debug this problem yourself, since I >> can't reproduce it here. >> >> Cheers, >> 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 at denx.de >> _______________________________________________ >> U-Boot mailing list >> U-Boot at lists.denx.de >> http://lists.denx.de/mailman/listinfo/u-boot >> > -- Jeff Angielski The PTR Group www.theptrgroup.com ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2009-12-21 10:02 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-12-17 21:09 [U-Boot] ubi part failing on NAND Jeff Angielski 2009-12-18 8:16 ` Stefan Roese 2009-12-18 12:35 ` hedwin 2009-12-18 12:41 ` Stefan Roese 2009-12-18 15:07 ` Jeff Angielski 2009-12-19 12:56 ` hedwin 2009-12-21 10:02 ` Stefan Roese 2009-12-18 14:47 ` Jeff Angielski
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox