Formilux

From Ant-Computing
Revision as of 18:13, 21 February 2015 by Ben (Talk | contribs) (Build toolchain)

Jump to: navigation, search

Formilux - Linux Firmware Distro

Why Formilux

Toolchain / Build environment

Create Formilux project

 [~]$ export FLXTECHNO=$HOME/.flx
 [~]$ mkdir $FLXTECHNO
 [~]$ 

Build Formilux Tools

 [~]$ cd /tmp
 [/tmp]$ git clone http://master.formilux.org/git/dist/techno.git/ formilux-techno
 [/tmp]$ cd formilux-techno
 [formilux-techno]$ make install DEST=$FLXTECHNO
 [formilux-techno]$ cat > $FLXTECHNO/defaults <<EOF
 export FLXTECHNO=$FLXTECHNO
 export PATH=\$PATH:\$FLXTECHNO/bin
 export FLX_SRC_CACHE_DIRS=\$FLXTECHNO/cache-src
 EOF
 [techno]$ ln -s /tmp $FLXTECHNO/cache-src
 [techno]$ source $FLXTECHNO/defaults
 [techno]$

Build compatibility tools

make, gcc, yacc sudo sans mot de passe pour installer les droits sur la version compilée de sudo

 [~]$ cd /tmp
 [/tmp]$ git clone http://master.formilux.org/git/dist/compat.git/ formilux-compat
 [/tmp]$ cd formilux-compat
 [formilux-compat]$ mkdir -p $FLXTECHNO/bin
 [formilux-compat]$ ./build.sh --install $FLXTECHNO/bin
 [formilux-compat]$ 

Build toolchain

linux-2.6.32 => distribué en .xz et non pas .bz2


 [~]$ cd /tmp
 [/tmp]$ SOURCE=(
     http://ftp.gnu.org/gnu/automake/automake-1.11.1.tar.bz2
     https://ftp.gnu.org/gnu/binutils/binutils-2.23.2.tar.bz2
     http://gcc.cybermirror.org/infrastructure/cloog-ppl-0.15.11.tar.gz
     http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.19.0.tar.bz2
     http://sourceforge.net/projects/expat/files/expat/2.1.0/expat-2.1.0.tar.gz/download
     https://launchpad.net/gcc-linaro/4.7/4.7-2014.06/+download/gcc-linaro-4.7-2014.06.tar.bz2
     http://ftp.gnu.org/gnu/gdb/gdb-7.4.1.tar.bz2
     https://launchpad.net/glibc/head/2.18/+download/glibc-2.18.tar.gz
     http://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2
     http://www.mr511.de/software/libelf-0.8.13.tar.gz
     https://ftp.gnu.org/gnu/libtool/libtool-2.2.6b.tar.lzma
     https://www.kernel.org/pub/linux/kernel/v2.6/longterm/v2.6.32/linux-2.6.32.62.tar.xz
     http://repository.timesys.com/buildsources/l/ltrace/ltrace-0.5.3/ltrace-0.5.3.tar.gz
     http://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.5.3.orig.tar.gz
     http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gz
     http://ftp.gnu.org/gnu/mpfr/mpfr-2.4.2.tar.bz2
     http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz
 [/tmp]$ 
 [~]$ git clone http://master.formilux.org/git/dist/toolchain.git/ formilux-toolchain
 [~]$ cd formilux-toolchain
 [formilux-toolchain]$ UCLIBC_PREFERRED_VERSION=0.9.33.2 \
       CT_VERSION=1.19.0 \
       PARALLEL=4 \
       TC_SRC=$FLX_SRC_CACHE_DIRS \
       TC_DST=$FLXTECHNO/tc \
       TC_TMP=/var/tmp \
         ./toolchain tc-all,uc-build \
           $PWD/config/config-{x86_64-gcc47l_glibc218-linux-gnu,i586-gcc47l_glibc218-linux-gnu,arm-gcc47l_glibc218-linux-gnueabi,armv7nthf-gcc47l_glibc218-linux-gnueabi,armv7pj4bthf-gcc47l_glibc218-linux-gnueabi,mips-24kc_gcc47l_glibc218-linux-gnu}
 [toolchain]$

Building firmware

Create Firmware Projet