X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=blobdiff_plain;f=make.sh;h=e08f731d704e5b7f0849a007e8e47fc4b025634a;hp=eb1b89ad991aafdcbe13d22c9d7cc15f6a983a2e;hb=df94e866a309f738cc87d0f469035172ee07a4d5;hpb=ac073fba8c61fa675f7144523c26de3f55c01eac diff --git a/make.sh b/make.sh index eb1b89ad99..e08f731d70 100755 --- a/make.sh +++ b/make.sh @@ -25,8 +25,8 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name VERSION="2.9" # Version number -CORE="49" # Core Level (Filename) -PAKFIRE_CORE="48" # Core Level (PAKFIRE) +CORE="52" # Core Level (Filename) +PAKFIRE_CORE="51" # Core Level (PAKFIRE) GIT_BRANCH=`git status | head -n1 | cut -d" " -f4` # Git Branch SLOGAN="www.ipfire.org" # Software slogan CONFIG_ROOT=/var/ipfire # Configuration rootdir @@ -189,7 +189,11 @@ prepareenv() { set +h LC_ALL=POSIX if [ -z $MAKETUNING ]; then - MAKETUNING="-j6" + if [ "${MACHINE:0:3}" = "arm" ]; then + MAKETUNING="-j2" + else + MAKETUNING="-j6" + fi fi export LFS LC_ALL CFLAGS CXXFLAGS MAKETUNING unset CC CXX CPP LD_LIBRARY_PATH LD_PRELOAD @@ -243,14 +247,19 @@ buildtoolchain() { LOGFILE="$BASEDIR/log/_build.toolchain.log" export LOGFILE - ORG_PATH=$PATH NATIVEGCC=`gcc --version | grep GCC | awk {'print $3'}` export NATIVEGCC GCCmajor=${NATIVEGCC:0:1} GCCminor=${NATIVEGCC:2:1} GCCrelease=${NATIVEGCC:4:1} + ORG_PATH=$PATH + export PATH=$BASEDIR/build/usr/local/bin:$BASEDIR/build/tools/bin:$PATH lfsmake1 ccache PASS=1 + lfsmake1 make PASS=1 lfsmake1 binutils PASS=1 lfsmake1 gcc PASS=1 - export PATH=$BASEDIR/build/usr/local/bin:$BASEDIR/build/tools/bin:$PATH - lfsmake1 linux-libc-header + if [ "${MACHINE_TYPE}" = "arm" ]; then + lfsmake1 linux TOOLS=1 HEADERS=1 + else + lfsmake1 linux-libc-header + fi lfsmake1 glibc lfsmake1 cleanup-toolchain PASS=1 lfsmake1 tcl @@ -270,7 +279,7 @@ buildtoolchain() { lfsmake1 grep lfsmake1 gzip lfsmake1 m4 - lfsmake1 make + lfsmake1 make PASS=2 lfsmake1 patch lfsmake1 perl lfsmake1 sed @@ -285,7 +294,11 @@ buildbase() { LOGFILE="$BASEDIR/log/_build.base.log" export LOGFILE lfsmake2 stage2 - lfsmake2 linux-libc-header + if [ "${MACHINE_TYPE}" = "arm" ]; then + lfsmake2 linux HEADERS=1 + else + lfsmake2 linux-libc-header + fi lfsmake2 man-pages lfsmake2 glibc lfsmake2 cleanup-toolchain PASS=3 @@ -339,7 +352,11 @@ buildbase() { lfsmake2 udev lfsmake2 util-linux lfsmake2 vim - lfsmake2 grub + + # ARM cannot use grub. + if [ "${MACHINE_TYPE}" != "arm" ]; then + lfsmake2 grub + fi } buildipfire() { @@ -357,43 +374,57 @@ buildipfire() { ipfiremake which ipfiremake xz ipfiremake linux-firmware - ipfiremake linux XEN=1 - ipfiremake kqemu XEN=1 - ipfiremake v4l-dvb XEN=1 - ipfiremake madwifi XEN=1 - ipfiremake mISDN XEN=1 - ipfiremake dahdi XEN=1 KMOD=1 - ipfiremake cryptodev XEN=1 - ipfiremake compat-wireless XEN=1 - ipfiremake r8169 XEN=1 - ipfiremake r8168 XEN=1 - ipfiremake r8101 XEN=1 - ipfiremake e1000 XEN=1 - ipfiremake e1000e XEN=1 - ipfiremake igb XEN=1 - ipfiremake linux PAE=1 - ipfiremake kqemu PAE=1 - ipfiremake kvm-kmod PAE=1 - ipfiremake v4l-dvb PAE=1 - ipfiremake madwifi PAE=1 - ipfiremake alsa PAE=1 KMOD=1 - ipfiremake mISDN PAE=1 - ipfiremake dahdi PAE=1 KMOD=1 - ipfiremake cryptodev PAE=1 - ipfiremake compat-wireless PAE=1 -# ipfiremake r8169 PAE=1 -# ipfiremake r8168 PAE=1 -# ipfiremake r8101 PAE=1 - ipfiremake e1000 PAE=1 - ipfiremake e1000e PAE=1 - ipfiremake igb PAE=1 + ipfiremake zd1211-firmware + + # The xen and PAE kernels are only available for x86 + if [ "${MACHINE_TYPE}" != "arm" ]; then + ipfiremake linux XEN=1 + ipfiremake kqemu XEN=1 + ipfiremake v4l-dvb XEN=1 + ipfiremake madwifi XEN=1 + ipfiremake mISDN XEN=1 + ipfiremake dahdi XEN=1 KMOD=1 + ipfiremake cryptodev XEN=1 + ipfiremake compat-wireless XEN=1 + ipfiremake r8169 XEN=1 + ipfiremake r8168 XEN=1 + ipfiremake r8101 XEN=1 + ipfiremake e1000 XEN=1 + ipfiremake e1000e XEN=1 + ipfiremake igb XEN=1 + ipfiremake linux PAE=1 + ipfiremake kqemu PAE=1 + ipfiremake kvm-kmod PAE=1 + ipfiremake v4l-dvb PAE=1 + ipfiremake madwifi PAE=1 + ipfiremake alsa PAE=1 KMOD=1 + ipfiremake mISDN PAE=1 + ipfiremake dahdi PAE=1 KMOD=1 + ipfiremake cryptodev PAE=1 + ipfiremake compat-wireless PAE=1 +# ipfiremake r8169 PAE=1 +# ipfiremake r8168 PAE=1 +# ipfiremake r8101 PAE=1 + ipfiremake e1000 PAE=1 + ipfiremake e1000e PAE=1 + ipfiremake igb PAE=1 + fi + + # Default kernel build ipfiremake linux - ipfiremake kqemu - ipfiremake kvm-kmod ipfiremake v4l-dvb - ipfiremake madwifi - ipfiremake alsa KMOD=1 - ipfiremake mISDN + + if [ "${MACHINE_TYPE}" != "arm" ]; then + # Virtualization helpers are only available for x86. + ipfiremake kqemu + ipfiremake kvm-kmod + #unsupported arch (armv5) + ipfiremake madwifi + #todo enable alsa driver in kernel config + ipfiremake alsa KMOD=1 + #undefined declaration in echo canceler try to fix later + ipfiremake mISDN + fi ipfiremake dahdi KMOD=1 ipfiremake cryptodev ipfiremake compat-wireless @@ -606,13 +637,14 @@ buildipfire() { ipfiremake igmpproxy ipfiremake fbset ipfiremake sdl - ipfiremake qemu - ipfiremake qemu-kqemu + #ipfiremake qemu + #ipfiremake qemu-kqemu ipfiremake sane ipfiremake netpbm ipfiremake phpSANE ipfiremake tunctl ipfiremake nagios + ipfiremake nagios_nrpe ipfiremake ebtables ipfiremake fontconfig ipfiremake freefont @@ -621,7 +653,7 @@ buildipfire() { ipfiremake faad2 ipfiremake ffmpeg ipfiremake videolan - ipfiremake vdr + #ipfiremake vdr ipfiremake w_scan ipfiremake icecast ipfiremake icegenerator @@ -637,9 +669,11 @@ buildipfire() { ipfiremake wpa_supplicant ipfiremake hostapd ipfiremake urlgrabber - ipfiremake syslinux + if [ "${MACHINE_TYPE}" != "arm" ]; then + ipfiremake syslinux + fi ipfiremake tftpd - ipfiremake cpufrequtils + #ipfiremake cpufrequtils ipfiremake dbus ipfiremake bluetooth ipfiremake gutenprint @@ -662,7 +696,9 @@ buildipfire() { ipfiremake perl-DBD-mysql ipfiremake cacti ipfiremake icecc - ipfiremake openvmtools + if [ "${MACHINE_TYPE}" != "arm" ]; then + ipfiremake openvmtools + fi ipfiremake nagiosql ipfiremake iftop ipfiremake motion @@ -671,8 +707,8 @@ buildipfire() { ipfiremake watchdog ipfiremake libpri ipfiremake dahdi - ipfiremake asterisk - ipfiremake lcr + #ipfiremake asterisk + #ipfiremake lcr ipfiremake usb_modeswitch ipfiremake usb_modeswitch_data ipfiremake zerofree @@ -688,8 +724,10 @@ buildipfire() { ipfiremake parted ipfiremake swig ipfiremake python-m2crypto + ipfiremake wireless-regdb ipfiremake crda ipfiremake libsatsolver + ipfiremake python-satsolver ipfiremake python-distutils-extra ipfiremake python-lzma ipfiremake python-progressbar @@ -716,9 +754,11 @@ buildinstaller() { # Run installer scripts one by one LOGFILE="$BASEDIR/log/_build.installer.log" export LOGFILE - ipfiremake as86 - ipfiremake mbr - ipfiremake memtest + if [ "${MACHINE_TYPE}" != "arm" ]; then + ipfiremake as86 + ipfiremake mbr + ipfiremake memtest + fi ipfiremake installer cp -f $BASEDIR/doc/COPYING $BASEDIR/build/install/initrd/ installmake strip @@ -910,7 +950,8 @@ downloadsrc) for i in *; do if [ -f "$i" -a "$i" != "Config" ]; then echo -ne "Loading $i" - make -s -f $i LFS_BASEDIR=$BASEDIR MESSAGE="$i\t ($c/$MAX_RETRIES)" download >> $LOGFILE 2>&1 + make -s -f $i LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \ + MESSAGE="$i\t ($c/$MAX_RETRIES)" download >> $LOGFILE 2>&1 if [ $? -ne 0 ]; then beautify message FAIL FINISHED=0 @@ -926,7 +967,8 @@ downloadsrc) ERROR=0 for i in *; do if [ -f "$i" -a "$i" != "Config" ]; then - make -s -f $i LFS_BASEDIR=$BASEDIR MESSAGE="$i\t " md5 >> $LOGFILE 2>&1 + make -s -f $i LFS_BASEDIR=$BASEDIR MACHINE=$MACHINE \ + MESSAGE="$i\t " md5 >> $LOGFILE 2>&1 if [ $? -ne 0 ]; then echo -ne "MD5 difference in lfs/$i" beautify message FAIL @@ -952,7 +994,7 @@ toolchain) test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains cd $BASEDIR && tar -zc --exclude='log/_build.*.log' -f cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.tar.gz \ build/{bin,etc,usr/bin,usr/local} \ - build/tools/{bin,etc,*-linux-gnu,include,lib,libexec,sbin,share,var} \ + build/tools/{bin,etc,*-linux-gnu*,include,lib,libexec,sbin,share,var} \ log >> $LOGFILE md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.tar.gz \ > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$BUILDMACHINE.md5