The following applies to
Use always the PTXdist version the BSP was developed for.
Please note:
Ubuntu 10.04 or newer required for the toolchain.
To install PTXdist you need a Linux OS like Ubuntu. The BSP needs some additional packages which are normally not installed. These packages are:
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.
Use always the buildsystem version the BSP was developed for
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:
See download page for links to toolchain download. If using precompiled toolchain install to /opt. Otherwise following the documentation for building toolchains.
Normally the toolchain is alredy configured in the BSP. So nothing further to setup.
Extract the package TQC-ARM-BSP-REV<version>.tgz to any directory (e.g. /opt or /home):
$ cd /opt/projekte $ tar -xvf TQC-ARM-BSP-REV<version>.tgz $ cd TQC-ARM-BSP-REV<version>
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:
Dependencies between packages should be “automagically” resolved. Software is organized in sections.
Select one of the supported hardware platforms (platformconfig)
BSP 0102:
up to BSP 0101:
Select one of the supported software configs (ptxconfig)
BSP 0102:
and start building the images.
$ ptxdist platform configs/platforms/tqma35/<platformname>/platformconfig $ ptxdist select configs/systems/<config name>/ptxconfig $ ptxdist collection configs/platforms/tqma35/ptxcollection $ ptxdist go $ ptxdist images
PTXdist downloads some packages. If it reports some errors please
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.
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/platforms/tqma35/<used-platform> to <BSPROOT>/configs/platforms/tqma35/<your-cool-platform> $ ptxdist platform <BSPROOT>/configs/platforms/<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>
The software in the rootfs BSP was selected to give a starting point. To use it in a product with special needs we suggest to define an own software configuration. To start with it make a copy of software config and select the new software configuration
$ cd <BSPROOT> $ cp -r <BSPROOT>/configs/systems/<config name> to <BSPROOT>/configs/systems/<your-cool-config> $ ptxdist select <BSPROOT>/configs/systems/<your-cool-config>/ptxconfig
Please read the build system documentation howto go further.
Finally, you will find the built images in platform-<platformname>/images.
To update bootloader / kernel in a running system you have to copy the images in your tftp directory.
If you rename the images to the names defined in the bootloader environment you can use the update scripts from the bootloader :
To update your root file system in NOR flash follow these instructions:
erase ${ramdisk_addr} <last address> tftp ${loadaddr} <Rootfs-Image> cp.b ${loadaddr} ${ramdisk_addr} ${filesize}
This can be automated using u-boot env:
setenv rootfs rootfs.jffs2 setenv ramdisk_end <last address> setenv prg_rootfs ’tftpboot ${loadaddr} ${rootfs}; erase ${ramdisk_addr} ${ramdisk_end}; cp.b ${loadaddr} ${ramdisk_addr} ${filesize};’
Then you can call
to update the root file system.
U-Boot is stored on NOR. This is factory default.
To boot the TQMa35 from network you need a working bootloader in NOR which is able to get the kernel image over tftp and to provide the kernel with commandline settigns for NFS. You have to provide the images via tftp and nfs and to configure the bootloader to work with your tftp-server and your nfs-server.
Currently only rootfs on eMMC is supported.
Modify your u-boot env to support root file system on eMMC (it is assumed that the first partition is used and ext2 is used as the file system):
setenv emmcargs ’setenv bootargs rootfstype=ext2 root=/dev/mmcblk0p1 ro rootwait’ setenv flash_emmc ’run emmcargs addcons <other command line args>; bootm ${kernel_addr}’ setenv bootcmd 'run flash_emmc'
To write the file system data to the eMMC card partition:
Currently only rootfs on SD-card is supported.
Modify your u-boot env to support root file system on eMMC (it is assumed that the first partition is used and ext2 is used as the file system):
setenv sdargs ’setenv bootargs rootfstype=ext2 root=/dev/mmcblk0p1 ro rootwait’ setenv flash_emmc ’run sdargs addcons <other command line args>; bootm ${kernel_addr}’ setenv bootcmd 'run flash_emmc'
To write the file system data to the SD card partition,