Greetings,
The DoC has hardware support for a 512B boot plock. On powerup, it loads the first block into a block that 'just happens' to map the end of the block at 0xf000:0xfff0. If the first block has an ECC error, the second block is copied instead (so two copies of docipl).
IIRC, the seek=128 is used so that two copies of LinuxBIOS can be stored, one as a fallback image though full support for that never got implemented in the older boards.
G'day, sjames
On Wed, 21 May 2003, Xavier Pegenaute wrote:
Hello,
In the script of src/util/mtd/burn_mtd there are these lines ..
- dd conv=notrunc conv=sync bs=65536 if=${linux} of=vmlinux.bin.gz.block
With this we if exist we don't trunc and fix the size of vmlinux.bin.gz.block, if it's more smaller than 65536 we put 0 until this size.
- dd conv=notrunc conv=sync bs=63k if=${linuxbios} of=linuxbios.block
The same but with 63k.
- dd conv=notrunc if=docipl of=/dev/mtd0
We write without trunc /dev/mtd0 with the source of docipl.
- dd conv=notrunc if=docipl of=/dev/mtd0 seek=1
The same but this time we skip 1 block of "bs" (i supose that we can remind the value of bs in the last line, then sizeof(docipl) ).
- dd conv=notrunc if=linuxbios.block of=/dev/mtd0 seek=2
Without trunc we write linuxbios.block to mtd, skipping 2 times the last size (sizeof(docipl) ).
- dd conv=notrunc if=vmlinux.bin.gz.block of=/dev/mtd0 seek=128
Now without trunc write vmlinux skipping 128 times the size of linuxbios.block.
My questions, are:
Why we write two times docipl ? And why we skip 128 times the size of linuxbios.block ? (i supose that i'm wrong, any one can help me with these)
Thanks a lot for your patience. Xavi.
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios