• 2013.03.0 (BSP 0105)
  • 2012.07.0 (up to BSP 0104)

Please note:
The following was tested on Ubuntu 10.04 / 12.04. All newer distributions should work.

To install PTXdist you need Linux on your development workstation (or a virtual machine running Linux). The build system needs some additional packages which may be normally not installed by default. These packages are (names should match for Debian based systems):

  • autoconf
  • bc
  • bison
  • dialog
  • flex
  • g++
  • gawk
  • gettext
  • git
  • libxml-parser-perl
  • ncurses-dev
  • quilt
  • texinfo
  • zip
  • python-dev

For development it is recommended to have an tftp server for image download and update and an nfs server for network mounted rootfs configured and running.

After installing all packages download PTXdist source, configure, compile and install. See download page for links.

Extract the package ptxdist-<version>.tar.bz2 to a temporary directory and call:

$ ./configure
$ make
$ sudo make install

This will install PTXdist to /usr/local. Afterwards please configure PTXdist with:

$ ptxdist setup 

You have to setup the following things:

  • ftp / http proxies
  • username and mail address
  • path for archive of downloaded source packages (aka local package pool)
  • for further setup details see PTXdist manual …

Note: you can install more than one PTXdist version in parallel. Then the best way is to setup an symbolic link to the version needed in your BSP.

See download page for links to toolchain download. If using precompiled toolchain install to /opt. Otherwise carefully follow the documentation for building toolchains found here or in the download section.
By default the toolchain will get installed to /opt/OSELAS.Toolchain-<version>.

Follow chapter “Building a toolchain” in the PTXdist manual and keep in mind:

  • When you are asked to run the command
    $ ptxdist select ptxconfigs/...

    select this ptxconfig: ptxconfigs/arm-cortexa8-linux-gnueabi_gcc-<version>_glibc-<version>_binutils-<version>_kernel-<version>-sanitized.ptxconfig (for TQMa53)

  • To build the toolchain project you should install the corresponding PTXdist version for the Toolchain (as told in the documentation).

The Toolchain normally is already setup in the BSP project. So you can move on to the next step.

Extract the package OSELAS.BSP-TQ-TQMA53.<version>.tgz to any directory (e.g. /opt or /home):

$ cd /opt/projekte
$ tar -xvf OSELAS.BSP-TQ-TQMA53.<version>.tgz

Using the build system

The manual is your friend. See Downloads where to get it.

To configure the system (e.g. add additional packages) you can start the PTXdist menu:

$ ptxdist menu

To add additional packages to your root filesystem simply use the ptxdist tool. The ncurses based UI is the same that is used by the linux kernel with “make menuconfig”. It can be used the following way:

  • use the up / down arrow keys to navigate in the menu
  • use the left / right arrow keys to navigate between buttons
  • select / deselect packages and options using the SPACE key
  • enter submenus or press buttons using the ENTER key

Dependencies between packages should be “automagically” resolved. Software is organized in sections.

Select the platform MBa53 and start building the images:

$ ptxdist platform configs/platform-tq-mba53/platformconfig
$ ptxdist select configs/<ptxconfig | ptxconfig.qt_gpu>
$ ptxdist go
$ ptxdist images

PTXdist downloads some packages. If it reports some errors please

  • verify your internet connection or proxy settings.
  • make sure the package source is correct. Some packege source pages will change from time to time. (You can always try to download the source package manually and copy it to your package pool)
  • some packages like bootloaders and kernels where you can select versions need to know about there hash sums. You have to enter the correct hash in the PTXdist configuration.

PTXdist uses release tar balls for software it loads from the net. You have to work with patches, if you need to make changes of the source code. Follow the instructions of the developers section in the PTXdist manual.

Changes that are made in the build directories only will be deleted, when PTXdist needs to redo a buildstep.

PTXdist needs a package for every bit you need in your root FS. To add your software, files etc. you have to provide local packages. Follow the instructions of the developers section in the PTXdist manual. PTXdist provides templates as starting point for own packages. Type

$ ptxdist newpackage

to see what package templates exist.

Finally, you will find the built images in platform-MBa53/images.

Complete system images:

  • barebox_sd.img is a bootable image for usage with an SD card
  • barebox_emmc.img is a bootable image for usage with the eMMC an TQMa53.
  • uboot_hd.img: bootable image for usage on SD Card and eMMC

The complete system images are built with bootloader configured for module version AA and are intended for

  • development system initialisation
  • deployment

Bootloader images:

  • barebox-image: barebox bootloader for SD (configured for module version AA)
  • barebox_emmc-image: barebox bootloader for eMMC (configured for module version AA)
  • uboot.imx: u-boot bootloader for usage on SD Card and eMMC (configured for module version AA)
  • uboot-AB.imx: u-boot bootloader for usage on SD Card and eMMC (configured for module version AB)

Linux images:

  • linuximage: Kernel (zImage)
  • imx53-mba53.dtb: device tree blob

Rootfs images:

  • root.cpio: Root file system archive (for NFS etc.)
  • root.ext3: Root file system (for system update(

The BSP was developed for the starterkit. To use it in a product with special needs or a different basebord we suggest to define an own platform. To start with it make a copy of the platform definition and select the new platform definition

$ cd <BSPROOT>
$ cp -r <BSPROOT>/configs/platform-tq-mba53 to <BSPROOT>/configs/<your-cool-platform>
$ ptxdist platform <BSPROOT>/configs/<your-cool-platform>/platformconfig

To start configuring your new platform type

$ ptxdist platformconfig

The first thing to change should be the platform name. Adapt things like kernel configuration, image creation etc. to your needs.

The new system will be built under <BSPROOT>/platform-<platformname_from_platformconfig>

Please read the build system documentation howto go further.

Changing the partition scheme may affect the boot loader update capability and / or the kernel command line parameters!

The following partition scheme is used for SD / eMMC images

  • sector size 512 Byte
  • unpartitioned area: 4MiB (0x2000 sectors)
Sector Size Usage
0x0000 … 0x0001 0x0002 sectors / 1kiB MBR / Partition Table
0x0002 … 0x07ff 0x07fe sectors u-boot
0x0800 … 0x0fff 0x0800 sectors / 1MiB environment
0x1000 … 0x17ff 0x0800 sectors / 1MiB device tree blob
  • partitioned area:
Partition Size Usage
1 4 MiB Kernel image
2 256 MiB root FS
3 256 MiB Spare, not formatted
4 —- —-

The partition scheme is defined using the config file config/platform-tq-mba53/config/uboot-hd.config. The creation of the image is controlled using the project local PTXdist package image-uboot-hd. To create the image the genimage host tool is used. This tool is automatically selected and built. You can find the build directory under <BSPROOT>/platform-MBa53/build-host/genimage. There is also a README file documenting how to use this tool.

  • Last modified: 2022/08/04 15:02