Technologic Systems TS-5x00 SBCs
================================

This document explains how to set up a basic Buildroot system for the
Technologic Systems TS-5x00 serie of x86-based Single Board Computers.

TS-5x00 Single Board Computers are based on the AMD Elan520 processor. For more
information please have a look at https://docs.embeddedTS.com/Documentation_Home#AMD

The kernel configuration works for any AMD Elan520-based SBCs, but the support
is enhanced for the TS-5500 and TS-5400 models (on-board devices registration
and additional sysfs attributes under /sys/devices/platform/).

To build the default configuration you only have to:

    $ make ts5500_defconfig
    $ make

You will need a Compact Flash card of sufficient size and the first or only
partition configured as Linux type, with the bootable flag.

You can transfer the system on the partition then optionally resize it with:

    # dd if=output/images/rootfs.ext4 of=/dev/sdX1
    # resize2fs /dev/sdX1

Or you can just extract the root filesystem to the partition with:

    # mount /dev/sdX1 /mnt
    # tar -pxf output/images/rootfs.tar -C /mnt
    # umount /mnt

To install the bootloader, you will need to copy the MBR:

    # cat output/images/syslinux/mbr.bin > /dev/sdX

Then install SYSLINUX in the mounted partition:

    # mount /dev/sdX1 /mnt
    # output/host/sbin/extlinux --install /mnt/boot/syslinux
    # umount /mnt

IMPORTANT: In order for the board to boot the Compact Flash with a recent
config, the BIOS must use Logical Block Addressing (LBA). You can do it by
choosing "Ide 0: AUTOCONFIG, LBA" under "IDE DRIVE GEOMETRY" in the "Basic CMOS
Configuration" screen. Also, don't forget to set the 'active' (or 'bootable')
flag on partition 1. For details about the CMOS setup, please see:
https://docs.embeddedts.com/TS-5500#System_BIOS_Setup_Screens

Connect a terminal program to the rs232 connector marked "COM2"
with baudrate set to 115200, insert the Compact Flash card into the socket,
power up the board, and enjoy.
