I'd add my benchmarks here with some new SD cards, but I can't seem to hack the commands you're using sufficiently to get a benchmark that works - can someone break the command down a little bit so a new guy like me can understand it?
Specifically what to use for the if=/blah and of=/blah - I assume these are source and destination files, right?
BTW, I'm using the stock kernel and have gainroot already available
>dd --help
Usage: dd [OPERAND]...
or: dd OPTION
Copy a file, converting and formatting according to the operands.
bs=BYTES force ibs=BYTES and obs=BYTES
cbs=BYTES convert BYTES bytes at a time
conv=CONVS convert the file as per the comma separated symbol list
count=BLOCKS copy only BLOCKS input blocks
ibs=BYTES read BYTES bytes at a time
if=FILE read from FILE instead of stdin
iflag=FLAGS read as per the comma separated symbol list
obs=BYTES write BYTES bytes at a time
of=FILE write to FILE instead of stdout
oflag=FLAGS write as per the comma separated symbol list
seek=BLOCKS skip BLOCKS obs-sized blocks at start of output
skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input
status=noxfer suppress transfer statistics
BLOCKS and BYTES may be followed by the following multiplicative suffixes:
xM M, c 1, w 2, b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.
...
I guess the 'dd' version on the N800 is a busybox version, if so it'll have slightly fewer options than the above (which is from the desktop version). But the basics are there for sure.
Other than that: /dev/zero is a device-file which is an unlimited source of binary zeroes, i.e. it will pump out bytes (all with the binary value 0) as long as you read from it. /dev/null is a device-file that will swallow everything you write to it.
You can also read from it, if so it will give you exactly 0 bytes of data.
dd if=/dev/zero bs=1024 count=100 of=/media/mmc1/file
will write 100 kilobytes (KiB) to the file /media/mmc1/file, and the file will contain only binary zero values. dd if=/dev/zero bs=1024 count=100 of=/dev/null
will write the same data to a bottomless pit (/dev/null) and you'll not see any data stored anywhere. But it will test how fast you can transport data through an application if it's not read from any medium and not written to any medium: You're not measuring flash speed. dd if=/dev/null of=/media/mmc1/file
will give you a file /media/mmc1/file of length 0.
(Note that with this data source there's no need to limit (with count=) how much to read, as it stops after 0 bytes read.)
dd if=/dev/zero bs=1024 count=100 of=/media/mmc1/file
will measure (if you time it) the write speed to that file, no actual reading involved.
Edit: For those 'dd' versions that don't calculate the speed itself you can always use the 'time' command in front (time dd if=...)
or simply 'date; dd if=..; date', and do the calculations yourself, with the N800 calc app..
__________________
N800/OS2007|N900/Maemo5
-- Metalayer-crawler delenda est.
-- Current state: Fed up with everything MeeGo.
I'd add my benchmarks here with some new SD cards, but I can't seem to hack the commands you're using sufficiently to get a benchmark that works - can someone break the command down a little bit so a new guy like me can understand it?
Specifically what to use for the if=/blah and of=/blah - I assume these are source and destination files, right?
BTW, I'm using the stock kernel and have gainroot already available
Ta!