Linux (Colibri T20) - Source Code

 
Applicable For Products
Compare with Revision




Subscribe for Content Update

Delivered by FeedBurner

The source code of our Apalis T30, Colibri T20, Colibri T30 U-Boot boot loader and Linux kernel can be found here:

For V1.x images:
https://gitorious.org/colibri-t20-embedded-linux-bsp
git clone git://gitorious.org/colibri-t20-embedded-linux-bsp/colibri_t20-u-boot.git
git clone git://gitorious.org/colibri-t20-embedded-linux-bsp/colibri_t20-linux-kernel.git

For images starting with V2:
http://git.toradex.com/gitweb/
git clone git://git.toradex.com/u-boot-toradex.git
git clone git://git.toradex.com/linux-toradex.git

Full Image

If you need to build the full image we provide our OpenEmbedded recipes.

Linux (Colibri T20) - OpenEmbedded

This includes download and build of the software described further down.

Toolchain

Toolchain for soft float calling convention

Our Image V1.x (and V2.0Alpha1) for Colibri T20 uses soft float calling convention.

As tool chain one can use the following:

http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

As follows the procedure to install/configure that tool chain:

cd
wget http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
tar xjvf arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
export ARCH=arm
export CROSS_COMPILE=~/arm-2009q3/bin/arm-none-linux-gnueabi-

Toolchain for hard float calling convention

Starting with our Image V2.0Alpha2 we use hard float calling convention.

As tool chain one can use the following:

http://launchpad.net/linaro-toolchain-binaries/trunk/2012.09/+download/README.txt http://launchpad.net/linaro-toolchain-binaries/trunk/2012.09/+download/gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux.tar.bz2

As follows the procedure to install/configure that tool chain:

cd
wget http://launchpad.net/linaro-toolchain-binaries/trunk/2012.09/+download/gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux.tar.bz2
tar xjvf gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux.tar.bz2
ln -s gcc-linaro-arm-linux-gnueabihf-2012.09-20120921_linux gcc-linaro
export ARCH=arm
export CROSS_COMPILE=~/gcc-linaro/bin/arm-linux-gnueabihf-

Linux Image / Flashing tools

This manual assumes you already got our latest Linux image installed as follows:
As an example we use here T20_LinuxImageV1.0_20120504.tar.bz2 which will create a directory T20_LinuxImageV1.0 http://files.toradex.com/Colibri/Linux/Images/

cd
wget http://files.toradex.com/Colibri/Linux/Images/T20_LinuxImageV1.0_20120504.tar.bz2     
sudo tar xjvf T20_LinuxImageV1.0_20120504.tar.bz2     

DTC

U-Boot compilation needs a recent device tree compiler (dtc) to be installed and executable via PATH. Unfortunately current Fedore/Ubuntu packages only contain DTC 1.1.0 which is too old. Please proceed as follows to build the latest DTC 1.3.0 from source:

cd
wget -c http://www.jdl.com/software/dtc-v1.3.0.tgz
tar xzvf dtc-v1.3.0.tgz
cd dtc-v1.3.0
make
export PATH=$PATH:$HOME/dtc-v1.3.0

U-Boot Tools

The uImage target of the Linux kernel compilation needs a recent mkimage tool which is actually built during U-Boot compilation as explained further below and one just has to make sure that one is in the path:

export PATH=$PATH:$HOME/colibri_t20-u-boot/tools

Alternatively one can simply install the Debian/Ubuntu package u-boot-tools:

apt-get install u-boot-tools

U-Boot

The default configuration is called as follows: (Apalis T30 shared the u-boot configuration with the Colibri T30 in the Alpha 1 image.)

colibri_t20_config
colibri_t30_config
apalis_t30_config

For a u-boot usable for Colibri-T20 SD-card boot take:

colibri_t20_sdboot_config

By default it uses the cross compiler as indicated here:

.hhl_cross_compile

Compilation

As follows the procedure to compile the boot loader:

cd
# This is for a V2.x image, for V1.x see top of page
git clone git://git.toradex.com/u-boot-toradex.git
cd u-boot-toradex
make colibri_t20_config
make -j3 2>&1 | tee build.log

Update

As follows the procedure to flash just the new boot loader (assumes target already in recovery mode) (assumes a Colibri T20 512MB V1_2):

cd ~/T20_LinuxImageV1.0/bin
cp ~/u-boot-toradex/u-boot.bin ./u-boot-custom.bin
ln -fs u-boot-custom.bin u-boot.bin
cd ..
./update.sh -r 512 -v V1_2 -u

Linux Kernel

The default configuration is called as follows:

colibri_t20_defconfig
colibri_t30_defconfig
apalis_t30_defconfig

By default it uses the cross compiler as indicated here:

.cross_compile

Compilation

As follows the procedure to compile the kernel:

# This is for a V2.x image, for V1.x see top of page
git clone git://git.toradex.com/linux-toradex.git 
cd linux-toradex
make colibri_t20_defconfig
make -j3 uImage 2>&1 | tee build.log

Update

As follows the procedure to flash just the new kernel (assumes target already in recovery mode) (assumes a Colibri T20 512MB V1_2):

cd ~/T20_LinuxImageV1.0/bin
cp ~/linux-toradex/arch/arm/boot/uImage ./uImage-custom
ln -fs uImage-custom uImage
cd ..
./update.sh -r 512 -v V1_2 -k