Dear god, this is the best feature ever. I love it… This helps with development and gives you a perfect way to avoid bricking your TS-7800.
The way this basically works is that the TS-BOOTROM has a look to see if there is an SD card plugged in (if JP1 on the mainboard is set to off) and if it has an MBR to then boot it. The MBR includes a partition table, it resides in the first 512 bytes, from there to 128KiB (including the initial 512 bytes) is un-used and then the first partition begins at 128KiB.
Download 512mbsd-latest.dd.bz2 and pick up a spare SD card at least 512MiB in size to tinker with. We assume that when you plug the SD card into your workstation it appears as '/dev/mmcblk0'.
Plug in the SD card and type as root:
# bunzip2 -c /usr/src/ts7800/512mbsd-latest.dd.bz2 | dd of=/dev/mmcblk0
Once cooked, then you should find you can just boot off the SD card (if JP1 is set to off). If you are using a card larger than 512MiB then you will probably want to unplug the SD card, replug it back in and fix up by hand the partition table with a utility such as 'fdisk'.
Download sd-mbr.dd (you might want to look at the wiki section on fixing the MBR before hand) and pick up a spare SD card at least 16MiB in size to tinker with. We assume that when you plug the SD card into your workstation it appears as '/dev/mmcblk0'.
Plug in the SD card and type as root:
# dd if=/usr/src/ts7800/sd-mbr.dd of=/dev/mmcblk0
Now unplug the SD card and plug it back in (I cannot remember the command to tell Linux to reprobe a plugged in devices partition table), you should notice that it now has a partition table as well as a MBR slapped onto it. As root type:
# dd if=/usr/src/ts7800/my-kernel of=/dev/mmcblk0p1 # # optional initrd, I personally zImage my kernel with an initramfs included # dd if=/usr/src/ts7800/my-initrd of=/dev/mmcblk0p2
N.B. you might want to make sure with a custom kernel you consult the resolving booting problems page if your kernel seems to fail.
For the remaining space I would recommend you use JFS for the filesystem if you want to add further partitions; just leave partition 1 and 2 alone along with the initial 128kiB 'gap'.
If you use a custom kernel that is based on TS's kernel source then you will still be able to have access to the SD card (and any root filesystem you might have on it). If however you opt to go with the ts78xx git tree, then you will only find the SD card useful for holding the kernel and initrd; after that you will either have to mount a root filesystem from the NAND, NFS or a USB key for example.