|
|
Linux (Colibri T20) - Source CodeApplicable For Products
Compare with Revision
Subscribe for Content Update
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: For images starting with V2: Full ImageIf 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. ToolchainToolchain for soft float calling conventionOur Image V1.x (and V2.0Alpha1) for Colibri T20 uses soft float calling convention. As tool chain one can use the following: 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 conventionStarting 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 toolsThis manual assumes you already got our latest Linux image installed as follows: cd wget http://files.toradex.com/Colibri/Linux/Images/T20_LinuxImageV1.0_20120504.tar.bz2 sudo tar xjvf T20_LinuxImageV1.0_20120504.tar.bz2 DTCU-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 ToolsThe 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-BootThe 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 CompilationAs 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 UpdateAs 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 KernelThe 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 CompilationAs 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 UpdateAs 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 |