TS-7840 Production tool

From Technologic Systems Manuals

The TS-7840 supports using a USB thumbdrive to rewrite the onboard media. If the USB media is present on startup it will be chosen instead of eMMC. The startup script will:

  • Turn on the RED LED
  • Rewrite emmc/sd/u-boot as requested
  • Blink green to indicate a pass

* Blinking red indicates a failure. See the console output for more details.

Rewriting a full emmc image typically takes around 5-10 minutes depending on the image size.

The blast image and scripts require a minimum of 50 MB; this plus any disk images or tarballs used dictate the minimum disk size required. The USB drive must have at least 1 partition, with the first partition being formatted ext2/3/4 or fat32/vfat.

wget http://ftp.embeddedarm.com/ftp/ts-arm-sbc/ts-7840-linux/usb-blaster/tsa38x-usb-production-rootfs-latest.tar.xz

# This assumes USB drive is /dev/sdc:
sudo mkfs.ext4 /dev/sdc1
sudo mkdir /mnt/usb/
sudo mount /dev/sdc1 /mnt/usb/
sudo tar --numeric-owner -xf /path/to/tsa38x-usb-production-rootfs-latest.tar.xz -C /mnt/usb/
# Copy image files to /mnt/usb/
sudo umount /mnt/usb/

At this point disk images or tarballs would be copied to the /mnt/usb/ folder and named as noted below. The latest disk images we provide can be downloaded from our FTP site, see the backup and restore section for links to these files. Note that the script expects images and tarballs to have specific names. When using an ext* filesystem, symlinks can be used.

The formatted USB drive boots into a small buildroot initramfs environment with filesystem and partitioning tools installed. This can be used to format SD, eMMC, or other disks. The buildroot starts up and calls /blast.sh on the USB device. By default this script is set up to look for a number of of specific files on the USB disk and write to media on the host device. Upon completion of the script the green or red LEDs will blink to visually indicate a pass or fail of the script. This script can be used without modification to write images from USB with these filenames:

eMMC emmcimage.tar.xz Tar of the filesystem. This will repartition the eMMC to 1 ext4 partition and extract this tar to the filesystem. If present, a /md5sums.txt will be checked and every file can be verified on the filesystem. This md5sums file is optional and can be omitted, but it must not be blank if present.
emmcimage.dd.xz Disk image of the card. This will be written to mmcblk1 directly. If present a emmcimage.dd.md5 will cause the written data on the eMMC to be read back and verified against this checksum.
SATA sataimage.tar.xz Tar of the filesystem. This will repartition the SATA to 1 ext4 partition and extract this tar to the filesystem. If present, a /md5sums.txt will be checked and every file can be verified on the filesystem. This md5sums file is optional and can be omitted, but it must not be blank if present.
sataimage.dd.xz Disk image of the card. This will be written to mmcblk1 directly. If present a emmcimage.dd.md5 will cause the written data on the eMMC to be read back and verified against this checksum.

Most users should be able to use the above script without modification. Our buildroot sources are available from our github repo with instructions to rebuild this "tsa38x_usbprod_defconfig" target.