changeset 910:f1671488c740

Split busybox and toybox builds, update toybox and linux package versions.
author Rob Landley <rob@landley.net>
date Tue, 01 Dec 2009 19:49:23 -0600
parents 1720e1d988db
children b69d7013e16e
files download.sh host-tools.sh root-filesystem.sh sources/include.sh sources/patches/linux-mipsfix.patch sources/sections/busybox.sh sources/sections/toybox.sh
diffstat 7 files changed, 31 insertions(+), 93 deletions(-) [+]
line wrap: on
line diff
--- a/download.sh	Tue Dec 01 19:43:42 2009 -0600
+++ b/download.sh	Tue Dec 01 19:49:23 2009 -0600
@@ -30,8 +30,8 @@
 # Building a cross compile toolchain requires linux headers, uClibc,
 # binutils, and gcc.
 
-URL=http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.5.tar.bz2 \
-SHA1=f4a580f75f605b8f7c285958c4f3ec11183dff6c \
+URL=http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.6.tar.bz2 \
+SHA1=00967b9eb7e2bd635425b684968761569a69479e \
 UNSTABLE=http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.32-rc7.tar.bz2 \
 download || dienow
 
@@ -84,8 +84,8 @@
 
 # These are optional parts of the native root filesystem.
 
-URL=http://impactlinux.com/code/toybox/downloads/toybox-0.0.9.2.tar.bz2 \
-SHA1=83a8763833abc55f84f8cf1f39cad279bffd1db7 \
+URL=http://impactlinux.com/code/toybox/downloads/toybox-0.1.0.tar.bz2 \
+SHA1=ad42f9317e3805312c521fc62c6bfd2d4c61906c \
 UNSTABLE=http://impactlinux.com/fwl/mirror/alt-toybox-0.tar.bz2
 download || dienow
 
--- a/host-tools.sh	Tue Dec 01 19:43:42 2009 -0600
+++ b/host-tools.sh	Tue Dec 01 19:49:23 2009 -0600
@@ -66,10 +66,8 @@
 # system has (or lacks, such as "which"), so throw busybox at it first
 # thing.
 
-if [ ! -f "${STAGE_DIR}/busybox" ]
-then
-  build_section busybox
-fi
+[ ! -f "$STAGE_DIR/busybox" ] && build_section busybox
+[ ! -f "$STAGE_DIR/toybox" ] && build_section toybox
 
 # Create symlinks to the host toolchain.  We need a usable existing host
 # toolchain in order to build anything else (even a new host toolchain),
--- a/root-filesystem.sh	Tue Dec 01 19:43:42 2009 -0600
+++ b/root-filesystem.sh	Tue Dec 01 19:49:23 2009 -0600
@@ -95,6 +95,8 @@
 STAGE_DIR="$ROOT_TOPDIR"/bin build_section busybox
 cp "$WORK"/config-busybox "$ROOT_TOPDIR"/src || dienow
 
+STAGE_DIR="$ROOT_TOPDIR"/bin build_section toybox
+
 # Build and install make
 
 setupfor make
--- a/sources/include.sh	Tue Dec 01 19:43:42 2009 -0600
+++ b/sources/include.sh	Tue Dec 01 19:49:23 2009 -0600
@@ -54,7 +54,7 @@
   export WRAPPY_LOGPATH="$BUILD/logs/cmdlines.$ARCH_NAME.early"
   OLDPATH="$PATH:$OLDPATH"
   PATH="$WRAPDIR"
-elif [ ! -f "$HOSTTOOLS/busybox" ]
+elif [ ! -f "$HOSTTOOLS/busybox" ] || [ ! -f "$HOSTTOOLS/toybox" ]
 then
   PATH="$PATH:$OLDPATH"
 fi
--- a/sources/patches/linux-mipsfix.patch	Tue Dec 01 19:43:42 2009 -0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-commit d71789b6fa37c21ce5eb588d279f57904a62e7e2
-Author: Manuel Lauss <manuel.lauss@gmail.com>
-Date:   Thu Sep 24 21:44:24 2009 +0200
-
-    mips: fix build of vmlinux.lds
-    
-    Commit 51b563fc93c8cb5bff1d67a0a71c374e4a4ea049 ("arm, cris, mips,
-    sparc, powerpc, um, xtensa: fix build with bash 4.0") removed a few
-    CPPFLAGS with vital include paths necessary to build vmlinux.lds
-    on MIPS, and moved the calculation of the 'jiffies' symbol
-    directly to vmlinux.lds.S but forgot to change make ifdef/... to
-    cpp macros.
-    
-    Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
-    [sam: moved assignment of CPPFLAGS arch/mips/kernel/Makefile]
-    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-    Acked-by: Dmitri Vorobiev <dmitri.vorobiev@movial.com>
-
-diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile
-index e961221..eecd2a9 100644
---- a/arch/mips/kernel/Makefile
-+++ b/arch/mips/kernel/Makefile
-@@ -2,6 +2,8 @@
- # Makefile for the Linux/MIPS kernel.
- #
- 
-+CPPFLAGS_vmlinux.lds := $(KBUILD_CFLAGS)
-+
- extra-y		:= head.o init_task.o vmlinux.lds
- 
- obj-y		+= cpu-probe.o branch.o entry.o genex.o irq.o process.o \
-diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
-index 9bf0e3d..162b299 100644
---- a/arch/mips/kernel/vmlinux.lds.S
-+++ b/arch/mips/kernel/vmlinux.lds.S
-@@ -11,15 +11,15 @@ PHDRS {
- 	note PT_NOTE FLAGS(4);	/* R__ */
- }
- 
--ifdef CONFIG_32BIT
--	ifdef CONFIG_CPU_LITTLE_ENDIAN
-+#ifdef CONFIG_32BIT
-+	#ifdef CONFIG_CPU_LITTLE_ENDIAN
- 		jiffies  = jiffies_64;
--	else
-+	#else
- 		jiffies  = jiffies_64 + 4;
--	endif
--else
-+	#endif
-+#else
- 	jiffies  = jiffies_64;
--endif
-+#endif
- 
- SECTIONS
- {
--- a/sources/sections/busybox.sh	Tue Dec 01 19:43:42 2009 -0600
+++ b/sources/sections/busybox.sh	Tue Dec 01 19:49:23 2009 -0600
@@ -1,22 +1,17 @@
-#!/bin/bash
-
-[ ! -z "$ARCH" ] && DO_CROSS=CROSS_COMPILE=${ARCH}-
-
 # Build busybox statically by default, but don't statically link against
 # glibc because glibc is buggy and can't combine --static with --gc-sections.
 
 [ "$BUILD_STATIC" != "none" ] && [ ! -z "$ARCH" ] && BUSYBOX_STATIC="--static"
+[ ! -z "$ARCH" ] && DO_CROSS=CROSS_COMPILE=${ARCH}-
 
 # Build busybox
 
 setupfor busybox
 make allyesconfig KCONFIG_ALLCONFIG="${SOURCES}/trimconfig-busybox" &&
-cp .config "$WORK"/config-busybox
+cp .config "$WORK"/config-busybox &&
 LDFLAGS="$LDFLAGS $BUSYBOX_STATIC" make -j $CPUS $VERBOSITY $DO_CROSS &&
 make busybox.links &&
-cp busybox "${STAGE_DIR}"
-
-[ $? -ne 0 ] && dienow
+cp busybox "${STAGE_DIR}" || dienow
 
 for i in $(sed 's@.*/@@' busybox.links)
 do
@@ -25,22 +20,3 @@
 done
 
 cleanup
-
-# Build toybox
-
-[ ! -z "$ARCH" ] && DO_CROSS=CROSS_COMPILE=${ARCH}-
-
-setupfor toybox
-make defconfig &&
-CFLAGS="$CFLAGS $STATIC_FLAGS" make $DO_CROSS || dienow
-if [ -z "$USE_TOYBOX" ]
-then
-  mv toybox "$STAGE_DIR" &&
-  ln -sf toybox "$STAGE_DIR"/patch &&
-  ln -sf toybox "$STAGE_DIR"/oneit &&
-  ln -sf toybox "$STAGE_DIR"/netcat || dienow
-else
-  make install_flat PREFIX="$STAGE_DIR" || dienow
-fi
-
-cleanup
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/sections/toybox.sh	Tue Dec 01 19:49:23 2009 -0600
@@ -0,0 +1,19 @@
+# Build toybox
+
+[ ! -z "$ARCH" ] && DO_CROSS=CROSS_COMPILE=${ARCH}-
+
+setupfor toybox
+make defconfig &&
+CFLAGS="$CFLAGS $STATIC_FLAGS" make $DO_CROSS || dienow
+
+if [ -z "$USE_TOYBOX" ]
+then
+  mv toybox "$STAGE_DIR" &&
+  ln -sf toybox "$STAGE_DIR"/patch &&
+  ln -sf toybox "$STAGE_DIR"/oneit &&
+  ln -sf toybox "$STAGE_DIR"/netcat || dienow
+else
+  make install_flat PREFIX="$STAGE_DIR" || dienow
+fi
+
+cleanup