public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* jffs2: Too few erase blocks (1)
@ 2009-02-09  5:52 Dzuy Nguyen
  2009-02-09  8:50 ` Ricard Wanderlof
  0 siblings, 1 reply; 6+ messages in thread
From: Dzuy Nguyen @ 2009-02-09  5:52 UTC (permalink / raw)
  To: linux-mtd

Hello,

I've allocated a small (64K) "user_config" partition in my flash for
persistence storage:

mtd0: 00020000 00010000 "u-boot"
mtd1: 00010000 00010000 "Config"
mtd2: 00100000 00010000 "vmlinux"
mtd3: 002a0000 00010000 "rootfs"
mtd4: 00010000 00010000 "user_config"
mtd5: 00020000 00010000 "ART"

When I tried to mount -t jffs2 /dev/mtdblock4, I get

jffs2: Too few erase blocks (1)

I understand that my erasesize is 64K, which gives me only 1 block,
and jffs2 needs more than 1 block, but the kernel defaults the erasesize
to 64K.

If I made a jffs2 file with eraseblock=8, would this work or would I have
to set it at the kernel?

Dzuy

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: jffs2: Too few erase blocks (1)
  2009-02-09  5:52 jffs2: Too few erase blocks (1) Dzuy Nguyen
@ 2009-02-09  8:50 ` Ricard Wanderlof
  2009-02-09 15:39   ` Dzuy Nguyen
  0 siblings, 1 reply; 6+ messages in thread
From: Ricard Wanderlof @ 2009-02-09  8:50 UTC (permalink / raw)
  To: Dzuy Nguyen; +Cc: linux-mtd@lists.infradead.org


On Mon, 9 Feb 2009, Dzuy Nguyen wrote:

> I've allocated a small (64K) "user_config" partition in my flash for
> persistence storage:
>
> mtd0: 00020000 00010000 "u-boot"
> mtd1: 00010000 00010000 "Config"
> mtd2: 00100000 00010000 "vmlinux"
> mtd3: 002a0000 00010000 "rootfs"
> mtd4: 00010000 00010000 "user_config"
> mtd5: 00020000 00010000 "ART"
>
> When I tried to mount -t jffs2 /dev/mtdblock4, I get
>
> jffs2: Too few erase blocks (1)
>
> I understand that my erasesize is 64K, which gives me only 1 block,
> and jffs2 needs more than 1 block, but the kernel defaults the erasesize
> to 64K.

The kernel does that probably because that is the size of the blocks on 
your flash chip. It is not so much a default as detection of the 
properties of the chip.

> If I made a jffs2 file with eraseblock=8, would this work or would I have
> to set it at the kernel?

You need to allocate more space if you want to use jffs2 quite simply. The 
exact number is not exact; 8 should be ok, meaning you need to partition 
your flash so you have 64K * 8 = 512K in your user_config partition.

If you can't afford that much space, you could consider writing your user 
configurations to a file and just dumping the file with dd into your flash 
partition. Not at all as flexible, but doable in a pinch.

/Ricard
--
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: jffs2: Too few erase blocks (1)
  2009-02-09  8:50 ` Ricard Wanderlof
@ 2009-02-09 15:39   ` Dzuy Nguyen
  2009-02-09 16:32     ` Ricard Wanderlof
  0 siblings, 1 reply; 6+ messages in thread
From: Dzuy Nguyen @ 2009-02-09 15:39 UTC (permalink / raw)
  To: linux-mtd@lists.infradead.org

Thanks, Ricard.  I didn't realize that jffs2 is not suitable for a small
partition.  Yes,
64K is all I can afford.  I suppose I can dd the file, but doesn't that
provide no wear
leveling feature that jffs2 does?

Ricard Wanderlof wrote:
> On Mon, 9 Feb 2009, Dzuy Nguyen wrote:
>
>   
>> I've allocated a small (64K) "user_config" partition in my flash for
>> persistence storage:
>>
>> mtd0: 00020000 00010000 "u-boot"
>> mtd1: 00010000 00010000 "Config"
>> mtd2: 00100000 00010000 "vmlinux"
>> mtd3: 002a0000 00010000 "rootfs"
>> mtd4: 00010000 00010000 "user_config"
>> mtd5: 00020000 00010000 "ART"
>>
>> When I tried to mount -t jffs2 /dev/mtdblock4, I get
>>
>> jffs2: Too few erase blocks (1)
>>
>> I understand that my erasesize is 64K, which gives me only 1 block,
>> and jffs2 needs more than 1 block, but the kernel defaults the erasesize
>> to 64K.
>>     
>
> The kernel does that probably because that is the size of the blocks on 
> your flash chip. It is not so much a default as detection of the 
> properties of the chip.
>
>   
>> If I made a jffs2 file with eraseblock=8, would this work or would I have
>> to set it at the kernel?
>>     
>
> You need to allocate more space if you want to use jffs2 quite simply. The 
> exact number is not exact; 8 should be ok, meaning you need to partition 
> your flash so you have 64K * 8 = 512K in your user_config partition.
>
> If you can't afford that much space, you could consider writing your user 
> configurations to a file and just dumping the file with dd into your flash 
> partition. Not at all as flexible, but doable in a pinch.
>
> /Ricard
> --
> Ricard Wolf Wanderlöf                           ricardw(at)axis.com
> Axis Communications AB, Lund, Sweden            www.axis.com
> Phone +46 46 272 2016                           Fax +46 46 13 61 30
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>   

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: jffs2: Too few erase blocks (1)
  2009-02-09 15:39   ` Dzuy Nguyen
@ 2009-02-09 16:32     ` Ricard Wanderlof
  2009-02-10  4:16       ` Dzuy Nguyen
  0 siblings, 1 reply; 6+ messages in thread
From: Ricard Wanderlof @ 2009-02-09 16:32 UTC (permalink / raw)
  To: Dzuy Nguyen; +Cc: linux-mtd@lists.infradead.org


On Mon, 9 Feb 2009, Dzuy Nguyen wrote:

> Thanks, Ricard.  I didn't realize that jffs2 is not suitable for a small
> partition.  Yes,
> 64K is all I can afford.  I suppose I can dd the file, but doesn't that
> provide no wear
> leveling feature that jffs2 does?

No. But with one eraseblock you can't get much wear levelling anyway.

It might not be too difficult to write an application that appends 
new data to existing data to the partition, erasing the whole block when 
it fills up and write the latest. Then you need something that will search 
for the latest version of the file. Something that jffs2 does, but on a 
smaller scale, acceptable for your application.

/Ricard
--
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: jffs2: Too few erase blocks (1)
  2009-02-09 16:32     ` Ricard Wanderlof
@ 2009-02-10  4:16       ` Dzuy Nguyen
  2009-02-10 12:41         ` Jamie Lokier
  0 siblings, 1 reply; 6+ messages in thread
From: Dzuy Nguyen @ 2009-02-10  4:16 UTC (permalink / raw)
  To: linux-mtd@lists.infradead.org

I think I'll just use ext2.  ext2 doesn't mind small partition.  Writing
to it
should work the same as dd.

Ricard Wanderlof wrote:
> On Mon, 9 Feb 2009, Dzuy Nguyen wrote:
>
>   
>> Thanks, Ricard.  I didn't realize that jffs2 is not suitable for a small
>> partition.  Yes,
>> 64K is all I can afford.  I suppose I can dd the file, but doesn't that
>> provide no wear
>> leveling feature that jffs2 does?
>>     
>
> No. But with one eraseblock you can't get much wear levelling anyway.
>
> It might not be too difficult to write an application that appends 
> new data to existing data to the partition, erasing the whole block when 
> it fills up and write the latest. Then you need something that will search 
> for the latest version of the file. Something that jffs2 does, but on a 
> smaller scale, acceptable for your application.
>
> /Ricard
> --
> Ricard Wolf Wanderlöf                           ricardw(at)axis.com
> Axis Communications AB, Lund, Sweden            www.axis.com
> Phone +46 46 272 2016                           Fax +46 46 13 61 30
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>   

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: jffs2: Too few erase blocks (1)
  2009-02-10  4:16       ` Dzuy Nguyen
@ 2009-02-10 12:41         ` Jamie Lokier
  0 siblings, 0 replies; 6+ messages in thread
From: Jamie Lokier @ 2009-02-10 12:41 UTC (permalink / raw)
  To: Dzuy Nguyen; +Cc: linux-mtd@lists.infradead.org

Dzuy Nguyen wrote:
> I think I'll just use ext2.  ext2 doesn't mind small partition.
> Writing to it should work the same as dd.

Be careful.  Writing to ext2 over mtdblock may wear out the flash
faster than dd over mtd.

-- Jamie

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-02-10 12:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-09  5:52 jffs2: Too few erase blocks (1) Dzuy Nguyen
2009-02-09  8:50 ` Ricard Wanderlof
2009-02-09 15:39   ` Dzuy Nguyen
2009-02-09 16:32     ` Ricard Wanderlof
2009-02-10  4:16       ` Dzuy Nguyen
2009-02-10 12:41         ` Jamie Lokier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox