Hi all,
since it looks as if I have damaged something on 2 machines (they
still boot the new kernel from SD card when pressing Fn-Ctrl-Shift -
but nothing else works), I tried to understand the boot process
better. Unfortuantely, information is a little distributed. So I have
tried to collect things in this e-mail.
With this information we may be able to write and install our own U-
Boot, our own recovery menus etc.
Please respond if you find inaccuracies or ommissions. After
discussion, someone with write access to kwaak (I have to dig for my
password) may upload and nicely format the results.
0. NAND fash partitions
--------------------------------
0x00000000-0x00100000 : "bootloader partition" -- ok, this is u-boot
0x00100000-0x00400000 : "kernel partition" -- ok, this is a kernel
0x00400000-0x00500000 : "mac partition" -- this holds the MAC
address(es)
0x00500000-0x00a00000 : "mini rootfs partition"
0x00a00000-0x40000000 : "yaffs2 rootfs partition"
cat /proc/mtd will list all partitions (incl. one for the second 1G
flash)
See here how these partitions are mapped to /dev/mtd# and /dev/mtdblock#
http://www.informit.com/articles/article.aspx?p=1187102&seqNum=6
1. U-Boot (1.1.6)
----------------------
U-Boot is stored in partition "bootloader partition" (/dev/mtd0)
The default boot args (and usually invisible console output) are
described here: http://projects.kwaak.net/twiki/bin/view/Epc700/UbootStuff
Source code:
http://projects.kwaak.net/twiki/pub/Epc700/UbootStuff/PC701-LX-u-boot-1.1.6.tar.bz2
The U-Boot has some patches in common/main.c and common/cmd_bootm.c to
detect several key combinations during boot. Depending on that,
different actions are taken (normal boot, flash uimage, flash minifs
etc.)
There appear to be different versions of U-Boot installed in factory
since the recovery procedures and secret key combinations described
are not exactly the same and don't exactly match the U-Boot sources.
And, older machines don't have tftp built in, but newer machines
(1.1.6 U-Boot) appear as if they can load/boot/flash through tftp by
additional key press combinations.
U-Boot can read flash images only from a SD card (not from USB memory
keys).
Normal boot sequence boots a kernel from nandflash (i.e. the "kernel
partition")
If that fails, the so called minifs is booted (by loading kernel &
minifs to RAM and doing a bootm).
2. minifs
------------
This appears a mini-linux system that operates as a second stage
bootloader or at least as a maintainance tool. It lives in the /dev/
mtd3 partition.
It is not clear if it contains its own kernel or shares the kernel
with the real system.
Download: http://www.trendtac.nl/documents/Recovery_EPC700.zip (this
includes also a certain version of a recovery.img for 4.)
I guess (since I could neither find code in U-Boot nor the Kernel -
and one can't overwrite a rootfs while it is being used) the function
of this minifs is to show the penguin picture, and check for F3 to
flash a root-filesystem. And, boot the final system if F3 is not
pressed.
To get this minifs into flash through U-Boot, one has to press fn
+leftshift+rightshift and have minifs.img (this is a .jffs2) on a FAT-
SD card (does not work on my broken device - or the kernel in flash
does not work any more).
3. kernel
------------
This is the real kernel (or is it shared with 2?).
It is stored in NAND flash in partition "kernel partition" (/dev/mtd1)
To flash a kernel, place a uImage (file search is not case sensitive)
on the FAT-SD and press Fn+LeftShift+F1 and power on.
If the kernel is not shared with 2. it could also be written by the
recovery procedure.
There appears to be a download of a kernel at
http://www.elonex.com/support/products/ONEt/mbrrecovery.shtm
4. root filesystem
-----------------------
This can be flashed by placing a .tbz archive (with extension renamed
to .img) on the root of a SD card or USB stick and press F3 during
boot. This will open a recovery menu where one can choose where to
load the rootfs from. The recovery menu is not provided by U.Boot
but ???
Finally, there is a newer .rec format which appears to replace
the .img format - but nothing specific is known (a yaffs raw image?).
This is used for the recovery file of the Letux 400. Since U-Boot
can't handle complex file formats I think it is responsibility of 2.
to handle this.
BR,
Nikolaus
_______________________________________________
Mipsbook-devel mailing list
Mipsbook-devel@linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/mipsbook-devel