Sigma Tools
From OpenTViX
Contents |
Sigma Tools
This page describes the various sources that have either been provided by Sigma or 'obtained' by other means. The sources for each of these components can be downloaded from the opentvix downloads page. Please note that these instructions are from memory and I haven't been through it step by step myself yet. Please update the wiki if you have consolidated the instructions (and remote this note).
SMP86XX Toolchain
The source for this toolchain can be downloaded here: http://www.networkedmediatank.com/download/firmware/nmt/gpl/smp86xx_toolchain.20080505.tar.bz2
This toolchain needs to be built using GCC 3 so if you have a modern Linux distribution, you will either need to add the GCC 3 packages or build a version of GCC 3 yourself. On Debian, you can install GCC 3.4 using:
# apt-get install gcc-3.4
Once you have GCC 3 installed, you are ready to build the toolchain. First set the environment variables to ensure that GCC 3 is used:
$ export CC=/usr/bin/gcc-3.4 $ export CXX=/usr/bin/cpp-3.4
Now configure the toolchain to use the same (or similar) packages as the TViX firmware:
$ make menuconfig
Toolchain Options--> Kernel Headers: 2.6.11.0 uClibc: 0.9.28.3 [*] Enable locale/gettext/i18n support binutils: 2.17 gcc: 4.0.4
Save the configuraion, and build the toolchain:
$ make
On my setup, the options above produce identical libraries to those contained on the TViX firmware [at least on 1.3.168].
Sigma Rootfs
The Sigma rootfs is the framework provided by DVICO under GPL license to build packages for the SMP86XX systems. This package is not necessarily required to build applications, but it is useful to be able to generate the same binaries and libraries as are on the TViX M-6500 itself. You can also extend this framework to add more of your own packages.
You must have the Sigma toolchain built to be able to build the rootfs.
After downloading the rootfs from the downloads section smp86xx_rootfs.tar.bz2 and untarring, perform the following steps:
Source the toolchain environment:
$ source ../smp86xx_toolchain/toolchain-path.env
Configure the packages (e.g. set busybox 1.5.0):
$ make menuconfig
And make:
$ make
Linux Kernel
Can be downloaded from the opentvix download section: smp86xx_kernel_source.tar.bz2. This file was provided under the GPL license by DVICO but has since been removed.
After untarring the file, you should replace the kernel configuration file with the one from your TViX in /proc/config.gz:
$ mv config-2.6.15-smp86xx config-2.6.15-smp86xx.orig $ zcat config.gz > config-2.6.15-smp86x
This ensures that your kernel will be built using the same options as DVICO used. You can add more modules as you experiment later, but try making sure the default configuration builds first to avoid complications. If you do not have a rootfs built, you will need to set the following option in the .config file. Otherwise you can leave it.
It just sets where the binaries and library target directories are:
orig: CONFIG_INITRAMFS_SOURCE="$(SMP86XX_ROOTFS_PATH)/build_mipsel/root"
new: CONFIG_INITRAMFS_SOURCE=""
Before building, source the environment files of your toolschain and rootfs:
$ source ../smp86xx_toolchain/toolchain-path.env $ source ../smp86xx_rootfs/rootfs-path.env
Now fine tune any options
$ make menuconfig
Finally, build the kernel and install the kernel modules into your rootfs (if you have one)
$ make && make modules_install
MRUA
Still ironing out problems. Instructions TBD.