Skip to contentSkip to conversation

UBI filesystem creation fails silently with 4k erase size

DISCUSSION Mike Looijmans 2 participants 3 messages Jul 14, 2014 – Jul 15, 2014

lore
Share & tools
lore
#0 lore raw

I have a NOR chip that reports a 4k erase size, so in my machine.conf I entered:

MKUBIFS_ARGS = "-m 1 -e 3968 -c 7040"
UBINIZE_ARGS = "-m 1 -p 4096"
UBI_VOLNAME = "qspi-rootfs"

When I create an image with "ubi" in the IMAGE_FSTYPES, the build runs and does not report any error, however it did NOT create the ubi filesystem image.

If I change the parameters for a 64k flash using:

MKUBIFS_ARGS = "-m 1 -e 65408 -c 440"

the ubi filesystem is created (both ubifs and ubi files).

Where can I find what went wrong? I'd expect big read error messages telling me that it failed to create an image for my device, but I cannot find such message anywhere.

So my questions are:

1) Why is there no error message when image creation fails?
2) Where is the log/output from the mkfs.ubi commands?
2) What could be wrong with my mkubifs parameters?

Mike.

Met vriendelijke groet / kind regards,

Mike Looijmans

TOPIC Embedded Systems
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: (+31) (0) 499 33 69 79
Telefax: (+31) (0) 499 33 69 70
E-mail: [email protected]
Website: www.topic.nl

Please consider the environment before printing this e-mail

Topic zoekt FPGA experts
http://topic.nl/vacatures/word-jij-onze-nieuwe-fpga-expert/

#1 lore raw
Quoted 21 lines · Mike Looijmans

I have a NOR chip that reports a 4k erase size, so in my machine.conf I entered:

MKUBIFS_ARGS = "-m 1 -e 3968 -c 7040"
UBINIZE_ARGS = "-m 1 -p 4096"
UBI_VOLNAME = "qspi-rootfs"

When I create an image with "ubi" in the IMAGE_FSTYPES, the build runs and does not report any error, however it did NOT create the ubi filesystem image.

If I change the parameters for a 64k flash using:

MKUBIFS_ARGS = "-m 1 -e 65408 -c 440"

the ubi filesystem is created (both ubifs and ubi files).

Where can I find what went wrong? I'd expect big read error messages telling me that it failed to create an image for my device, but I cannot find such message anywhere.

Quoted 6 lines

So my questions are:

1) Why is there no error message when image creation fails?
2) Where is the log/output from the mkfs.ubi commands?
2) What could be wrong with my mkubifs parameters?

The answer to that last question is that UBI itself refuses to work with a sector size below 15kB. Which results in UBI now failing to work on most NOR chips on the market because the kernel recently uses 4k erasing for all serial flash chips that support it.

So just the question remains why OE doesn't tell me about mkfs.ubifs failure?

Mike.

Met vriendelijke groet / kind regards,

Mike Looijmans

TOPIC Embedded Systems Eindhovenseweg 32-C, NL-5683 KH Best Postbus 440, NL-5680 AK Best
Telefoon: (+31) (0) 499 33 69 79
Telefax: (+31) (0) 499 33 69 70
E-mail: [email protected]
Website: www.topic.nl

Please consider the environment before printing this e-mail

Topic zoekt FPGA experts
http://topic.nl/vacatures/word-jij-onze-nieuwe-fpga-expert/

#2 lore raw
Quoted 29 lines · Mike Looijmans
Quoted 21 lines · Mike Looijmans

I have a NOR chip that reports a 4k erase size, so in my machine.conf I entered:

MKUBIFS_ARGS = "-m 1 -e 3968 -c 7040"
UBINIZE_ARGS = "-m 1 -p 4096"
UBI_VOLNAME = "qspi-rootfs"

When I create an image with "ubi" in the IMAGE_FSTYPES, the build runs and does not report any error, however it did NOT create the ubi filesystem image.

If I change the parameters for a 64k flash using:

MKUBIFS_ARGS = "-m 1 -e 65408 -c 440"

the ubi filesystem is created (both ubifs and ubi files).

Where can I find what went wrong? I'd expect big read error messages telling me that it failed to create an image for my device, but I cannot find such message anywhere.

Quoted 6 lines

So my questions are:

1) Why is there no error message when image creation fails?
2) Where is the log/output from the mkfs.ubi commands?
2) What could be wrong with my mkubifs parameters?

Quoted 6 lines

The answer to that last question is that UBI itself refuses to work with a sector size below 15kB. Which results in UBI now failing to work on most NOR chips on the market because the kernel recently uses 4k erasing for all serial flash chips that support it.

So just the question remains why OE doesn't tell me about mkfs.ubifs failure?

Do you have the following fix?

http://cgit.openembedded.org/openembedded-core/commit/?id=f8125a1e9b6893a12355d55d4df584a8d97f0bff

Signature · 1 line
Denys