For those who are familiar with the TS7400, all this is probably of
no use to you, but someone could proof-read it and correct any errors
then that will help someone else further down the line.. sometimes
having an overview of the process can help localizing a problem.
and maybe deciding how to troubleshoot a non-booting system..
INTRODUCTION
Since I had lots of trouble unravelling the myriad of boot options on
the TS7400, there may be others who are new to the TS7400 having
similar problems. Here is a overview of what I managed to unravel.
1. There are 3 main ways of getting a kernel and initrd loaded. and
from there a large variety number of ways of mounting a root
filesystem. These are distinct phases of the overall process.
The initial boot methods are:-
A). Boot from the TS9441 flash this is TS-SPIBOOT and requires the
boot jumper to be installed on the adaptor board. I suggest you
keep this as default, in case you need to recover from a screw-up.
There is a utility that allows the SPIBOOT flash to be changed, It's
a bit like flashing your only backup bios.
B). Boot from on board Flash this is TS-FLASHBOOT this is generally
the default and can be set using tsbootrom_update -f
The kernel loads from /dev/mtdblock/1
The initrd loads from /dev/mtdblock/2
don't use dd on these partitions, use mtdcp
C). Boot from sd card this is TS-SDBOOT can be set using
tsbootrom_update -s (you might mhave to set your mac-address as well)
this is also done with the tsbootrom_update -m <mac_address>
The kernel loads from /dev/sda1 (/dev/sdcard0/disc0/part1)
The initrd load from /dev/sda2 (/dev/sdcard1/disc0/part2)
2. Mounting the filesystem. The filesystem can be on one or more
of the following. (plus probably others, ie CF, ide etc.. )
A) MTD Flash
B) SD Card
C) USB thumb drive
D) NFS
etc..
The scripts in initrd, controls the next stage of the boot process
and allows you to mount the filesystem, swap kernels etc. Basically
you could do pretty much whatever you want.. ie mount the
debian filesystem on sdcard etc.. This is done by symlinking
/linuxrc to the relevant boot script, ie.
ln -sf /whatever_boot_script /linuxrc
Remember this is in ram, if you want the symlink to stick, don't
forget to save.
This arrangement gives a great deal of flexibility. In that you get
a running linux kernel is a few seconds, so that all the subsequent
steps can be done in a linux environment. It's a bit like having a
linux bios. Or a bit like the forth-based open-boot used on macs.
The SD card partitioning...
I suspect the same partitioning is used across all boot methods,
So there will be at least 2 kernels available at boot time on a
TS7400 with sd card, one from the on-board flash and one on the
sdcard.
The kernel is partition 1. /dev/sda1 == /dev/mtdblock/1
The initrd is partition 2. /dev/sda2 == /dev/mtdblock/2
The filesystem partition3. /dev/sda3 == /dev/mtdblock/3
Missing...
The key utilities for the next step are pivot.root and bootload
and I didn't have to muck about with either, so I leave the task
of documenting that to someone else.
I didn't do anything with redboot either, so look elsewhere for
that, although there appears to be documentation for that.
Kind Regards
Ray
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|