
2/11/2020
TS-7100 - Technologic Systems Manuals
https://wiki.embeddedarm.com/w/index.php?title=TS-7100&printable=yes
20/44
Compiling the kernel requires an armhf toolchain. We recommend development under Debian Stretch which
includes an armhf compiler in the repositories. See the Debian Stretch cross compilation section for instructions on
installing a proper cross compiler.
git clone
git clone
https://github.com/embeddedarm/linux-4.9.y
cd
linux-4.9.y
# These next commands set up some necessary environment variables
export
ARCH
=arm
export
CROSS_COMPILE
=arm-linux-gnueabihf-
export
LOADADDR
=0x80800000
# This sets up the default configuration that we ship with
make
tsimx6ul_defconfig
## Make any changes in "make menuconfig" or driver modifications, then compile
make
&&
make
zImage &&
make
modules
The following will install the kernel and modules to a temporary directory, and then pack them up in to a single
tarball:
TEMPDIR
=$
(
mktemp
-d
)
mkdir
"
${TEMPDIR}
/boot/"
cp
arch/arm/boot/zImage
"
${TEMPDIR}
"
/boot/zImage
cp
arch/arm/boot/dts/imx6ul*ts*.dtb
"
${TEMPDIR}
"
/boot/
INSTALL_MOD_PATH
=
"
${TEMPDIR}
"
make
modules_install
make
headers_install
INSTALL_HDR_PATH
=
"
${TEMPDIR}
"
tar
czf linux-tsimx6ul-
"
$(date +"%Y%m%d")
"
-
"
$(git describe --abbrev=8 --dirty --always)
"
.tar.gz
-C
"
${TEMPDIR}
"
.
rm
-rf
"
${TEMPDIR}
"
This will output a tarball with the kernel version and short git hash, as well as the date the tarball was created. For
example "linux-tsimx6ul-20190823-v4.9.171-60-g01e2117e.tar.gz"
This tarball can be directly unpacked to the root folder of a bootable media for the device. It is also possible to
unpack it directly on a booted system, however we do not recommend doing so on an active deployed system
without extensive testing.
# Unpack it to a mounted disk, this assumes the disk is mounted to "/mnt"
tar
xf linux-tsimx6ul...tar.gz
-C
/mnt
# Unpack it to the root directory of a booted system
tar
xf linux-tsimx6ul...tar.gz
-C
/
9 Production Mechanism
The TS-7100's U-Boot has the ability to locate and run a U-Boot script file named /tsinit.ub on the root of a USB
drive. This process occurs when attempting to boot to the U-Boot shell. If this script exists, U-Boot will load and
run it automatically. This is intended for the initial production of units and allows mass programming various media
from a USB mass storage device.
The USB blasting image can be downloaded here (http://ftp.embeddedarm.com/ftp/ts-arm-sbc/ts-7100-linux/usb-
blaster/tsimx6ul_usb_blaster-latest.tar.bz2) . This includes a basic Linux kernel and a small initramfs that will
mount the USB drive at "/mnt/usb/" and execute "/mnt/usb/blast.sh".