Cannot write to ubi volume
Hallo,
according to the ubi documentation it should be possible to 'write' in a, say, /dev/ubi1_0 (dynamic) volume device.
I tried the following without success:
root@giorgio [ ~ ]# ubimkvol /dev/ubi1 -N "rootfs" -s 32MiB Volume ID 0, size 265 LEBs (33648640 bytes, 32.1 MiB), LEB size 126976 bytes (124.0 KiB), dynamic, name "rootfs", alignment 1 root@giorgio [ ~ ]# ls -al /dev/ubi*
crw-rw---- 1 root root 254, 0 1970-01-01 01:00 /dev/ubi0 crw-rw---- 1 root root 254, 2 1970-01-01 01:00 /dev/ubi0_1 crw-rw---- 1 root root 253, 0 1970-01-01 01:00 /dev/ubi1 crw-rw---- 1 root root 253, 1 2008-06-04 17:03 /dev/ubi1_0
crw-rw---- 1 root root 10, 63 1970-01-01 01:00 /dev/ubi_ctrl root@giorgio [ ~ ]# dd if=/usr/local/tftp_root/k of=/dev/ubi1_0 count=1960020 bs=1
dd: writing `/dev/ubi1_0': Operation not permitted 1+0 records in
0+0 records out
0 bytes (0 B) copied, 0.00690123 s, 0.0 kB/s root@giorgio [ ~ ]# ubinfo /dev/ubi1_0
Volume ID: 0 (on ubi1) Type: dynamic Alignment: 1 Size: 265 LEBs (33648640 bytes, 32.1 MiB) State: OK Name: rootfs Character device major/minor: 253:1
Am I completely wrong trying to write with a 'dd' ?
How should I proceed to write something into the volume ? Is it possible to write something 'directly' in an ubi volume without explicitly formatting an image file (with 'ubinize' for example) ?
Excuse me if my questions are a bit silly or naive and thank you for your explanations.
giorgio
_________________________________________________________________
Non perdere altro tempo...corri incontro all'amore! http://incontri.tiscali.it/
Hi,
Quoted 2 lines · On Wed, 2008-06-04 at 17:49 +0200, [email protected] wrote:
according to the ubi documentation it should be possible to 'write' in a, say,
/dev/ubi1_0(dynamic) volume device.
Could you please point where exactly you have read this - these docs. should be fixed.
Direct writes like you tried are prohibited and you have to use volume update operation, or ubiupdatevol utility instead of dd:
ubiupdatevol /dev/ubi1_0 /usr/local/tftp_root/k
Quoted 1 line
Am I completely wrong trying to write with a 'dd' ?
Yes.
Quoted 1 line
How should I proceed to write something into the volume ?
ubiupdatevol
Quoted 2 lines
Is it possible to write something 'directly' in an ubi volume without explicitly formatting an image file (with 'ubinize' for example) ?
ubinize is needed if you want to pre-create a _raw_ flash image and write it to _raw_ flash (e.g., /dev/mtd0). If you already have UBI running and want to put arbitrary contents from file 'x' to the volume, then you use 'ubiupdatevol <UBI volume device> x'. Or you may use thr corresponding ioctl from your programs.
Direct writes with dd and the like are prohibited by design, mostly to protect UBI from dumb users (and dumb users from themselves). Indeed, direct writes are tricky and the user has to be very careful. However, if you show the reasons why you have to have direct writes and cannot live with volume update, we may allow them.
Quoted 2 lines
Excuse me if my questions are a bit silly or naive and thank you for your explanations.
No problem.
Signature · 2 lines
Best regards, Artem Bityutskiy (Битюцкий Артём)