How to use CubieTruck TSD version?


CubieTruck is the third generation product in CubieBoard series, it is very popular in the community. We have launched the CubieTruck TSD version in 2017, in this document we will describe how to use the CubieTruck TSD version. In the following post, CubieTruck TSD is called CT-TSD for short, and CubieTruck Nand is called CT-Nand for short.

1. What is TSD ?

TSD (eSD) is a TSOP package storage medium following the SDIO protocol, that has the same package with Nand flash. TSD contains Nand Flash and card controller, the card controller has a good backup mechanism of firmware in order to ensure the security of data, then it’s not easy to lose data during the Read and Write process. TSD is a TF-Card actually, so CT-TSD can be called as CubieTruck TF Card Version. The following pictures will show the differences between TSD and Nand Flash.

use-cubietruck TSD-1

2. Why launch CubieTruck TSD version?

You may have doubt about TSD, why abandon the traditional Nand Flash and replace with TSD? Mainly for the following reasons:

We contrasted several kinds of storage medium from physical stability, data security, openness and read-write speed aspects. We found TSD’s physical stability and data security are better than the Nand Flash. And more the SDIO in A20 source code and associated register descriptions are open, but Nand Flash driver is not open from the chipset vendor. If you have very high requirements of data security and system stability, it is recommended to use TSD storage medium.

use-cubietruck TSD-5

CubieTruck hardware design supports Nand Flash, TF Card and TSD, but not supports eMMC. Nand Flash has the risk of code missing, so we launched CT-TSD version for the special application areas.

3. How to distinguish TSD and Nand version?

CT-Nand and CT-TSD version boards are all the same except the different storage medium chips. The next figures show the differences between them. Nand Flash is printed with “SK Hynix” mark,  and TSD has “FORESEE” mark.

use-cubietruck TSD-2

use-cubietruck TSD-3

4. How to use CubieTruck TSD version?

For the new CubieTruck TSD version, CubieTech supplies assorted firmwares/images for users. Download link is as follows:

Android and Linux firmwares have the different installation methods, please refer to the following table:

use-cubietruck TSD-4

All the Android installations can use Allwinner’s tools. Linux OS installations use the open tools, such as Windows tool “W32diskimager”, Linux`s command line tool “dd”. The installation documents are here:

Modify source code, make it boot from TSD

If you are already CubieTruck Nand version owner, how to move your operating system to TSD? For Android operating system, you need modify Bootload source code and rebuild the firmware, make Android firmware, lastly flash it into the TSD chip. For Linux operating system, you may have two choices. If you are using the card firmware, it can still run in the card slot of the CT-TSD version. But if you need the system run from the TSD chip, then you can use the Linux Card SDK to make TF card firmware, which can be used to re-flash TSD.

  • Android System

In order to make Android firmware, you shall re-compile the SDK. You only need replace the boot0 binary file in Bootload source code, and re-package the firmware. The firmware can re-flash into the TSD chip by Allwinner’s PC tools, reboot the board then operating system will up. The detailed steps are as follows:

1)Get Android SDK
2) Portting your drivers or applications based on the SDK, then replace boot0 file
$ cd lichee/tools/pack/chips/sun7i/bin/
$ cp boot0_nand_sun7i.bin boot0_nand_back.bin //backup origin bin file
$ cp boot0_sdcard_sun7i.bin lichee/tools/pack/chips/sun7i/bin/boot0_nand_sun7i.bin
3) Re-package firmware, the build steps can refer the following documents:
You can use USB upgrade tools, such as PhoenixSuit, to re-flash the firmware to TSD, reboot it, your Android can boot from TSD flash.

  • Linux System

The Linux SDK has been opened on CubieBoard github, everyone can download it. Cubietech is maintaining two kinds of OS in SDK. One is desktop OS, the other is server OS. The SDK can build these images, including the image booting from TF card and image flash OS into TSD chip. Of course, this SDK can make other Linux distributions, usually just need to replace the rootfs.

Download Linux-SDK

$ mkdir linux-sdk-card
$ cd linux-sdk-card
1) kernel-source:
$ git clone
$ mv linux-sdk-kernel-source linux-sunxi
2) tools:
$ git clone
$ mv linux-sdk-card-tools tools
3) products:
$ git clone
$ mv linux-sdk-card-products products
4) rootfs&u-boot:
$ git clone
$ mv linux-sdk-binaries binaries
Get file from:

Please refer to the docs:


Leave a Reply