Difference between revisions of "Formilux"
From Ant-Computing
m (→Build toolchain) |
m (→Build toolchain) |
||
Line 42: | Line 42: | ||
linux-2.6.32 => distribué en .xz et non pas .bz2 | linux-2.6.32 => distribué en .xz et non pas .bz2 | ||
− | gperf, bison, flex, texinfo, ncurses-devel, gcc, automake, libtool, glibc-static, gcc-c++ | + | gperf, bison, flex, texinfo, ncurses-devel, gcc, automake, libtool, glibc-static, gcc-c++, expat-devel |
Latest revision as of 22:35, 22 February 2015
Contents
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
gperf, bison, flex, texinfo, ncurses-devel, gcc, automake, libtool, glibc-static, gcc-c++, expat-devel
[~]$ cd /tmp [/tmp]$ git clone http://master.formilux.org/git/dist/toolchain.git/ formilux-toolchain [~]$ cd $FLX_SRC_CACHE_DIRS [...]$ SOURCE=( http://ftp.gnu.org/gnu/automake/automake-1.11.1.tar.bz2:c2972c4d9b3e29c03d5f2af86249876f https://ftp.gnu.org/gnu/binutils/binutils-2.23.2.tar.bz2:4f8fa651e35ef262edc01d60fb45702e http://gcc.cybermirror.org/infrastructure/cloog-ppl-0.15.11.tar.gz:060ae4df6fb8176e021b4d033a6c0b9e http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.19.0.tar.bz2:882e5420ec0ff5a19a9d027ec5094527 http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz:dd7dab7a5fea97d2a6a43f511449b7cd https://launchpad.net/gcc-linaro/4.7/4.7-2014.06/+download/gcc-linaro-4.7-2014.06.tar.bz2:933b50b47f2cd820630a945e14c6d452 http://ftp.gnu.org/gnu/gdb/gdb-7.4.1.tar.bz2:8854d34691087ec127d934692639855f http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.bz2:e67f791383077c5f6a6e91fabc7579a5 http://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2:dd60683d7057917e34630b4a787932e8 http://www.mr511.de/software/libelf-0.8.13.tar.gz:4136d7b4c04df68b686570afa26988ac https://ftp.gnu.org/gnu/libtool/libtool-2.2.6b.tar.lzma:a4b36980765003b47dd75ac9429f4f11 https://www.kernel.org/pub/linux/kernel/v2.6/longterm/v2.6.32/linux-2.6.32.62.tar.gz:844a422f3761887b8492a33c0535ebd4 http://repository.timesys.com/buildsources/l/ltrace/ltrace-0.5.3/ltrace-0.5.3.tar.gz:3fa7fe715ab879db08bd06d1d59fd90f http://ftp.debian.org/debian/pool/main/l/ltrace/ltrace_0.5.3.orig.tar.gz:3fa7fe715ab879db08bd06d1d59fd90f http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gz:0d6acab8d214bd7d1fbbc593e83dd00d http://ftp.gnu.org/gnu/mpfr/mpfr-2.4.2.tar.bz2:89e59fe665e2b3ad44a6789f40b059a0 http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz:8cb9c412e5f2d96bc6f459aa8c6282a1 http://pkgs.fedoraproject.org/repo/pkgs/ppl/ppl-0.11.2.tar.bz2/c24429e6c3bc97d45976a63f40f489a1/ppl-0.11.2.tar.bz2:c24429e6c3bc97d45976a63f40f489a1 http://www.uclibc.org/downloads/uClibc-0.9.33.2.tar.bz2:a338aaffc56f0f5040e6d9fa8a12eda1 ) [...]$ OUTPUT=$(for file in ${SOURCE[@]} ; do md5=${file##*:} ; file=${file%:*} ; echo "## ${file##*[/?]}" >&2 [ -e ${file##*[/?]} ] || { curl -OL $file || touch ${file##*[/?]} ; } echo "$md5 ${file##*[/?]}" done) [...]$ md5sum -c <<<"$OUTPUT" [...]$ cd /tmp/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=$PWD/build \ ./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} [formilux-toolchain]$