--- toast-linux 2005/02/13 05:10:15 1.140 +++ toast-linux 2005/02/15 05:32:18 1.141 @@ -1737,12 +1737,12 @@ WGET = wget FROMCONF = dev toast-linux.stub mkhd floppy.vmx cd.vmx logotoppm -FROMCONF2 = smartcat linux-config-smallk linux-config-largek busybox-config sbin/setup +FROMCONF2 = smartcat linux-config-smallk linux-config-largek buildroot-config busybox-config sbin/setup -PKGS = TOOLCHAIN LINUX BUSYBOX E2FSPROGS NTFSPROGS PARTED DEVMAP LVM2 GENEXT2FS MTOOLS SYSLINUX CDRTOOLS +PKGS = LINUX BUILDROOT BUSYBOX E2FSPROGS NTFSPROGS PARTED DEVMAP LVM2 GENEXT2FS MTOOLS SYSLINUX CDRTOOLS -# TOOLCHAIN_VERSION = ??? [only available from cvsweb right now...] LINUX_VERSION = 2.6.10 +BUILDROOT_VERSION = 0.9.27 BUSYBOX_VERSION = 1.00 E2FSPROGS_VERSION = 1.35 NTFSPROGS_VERSION = 1.9.2 @@ -1755,8 +1755,8 @@ SYSLINUX_VERSION = 3.07 CDRTOOLS_VERSION = 2.01 -TOOLCHAIN_DIR = toolchain LINUX_DIR = linux-$(LINUX_VERSION) +BUILDROOT_DIR = buildroot BUSYBOX_DIR = busybox-$(BUSYBOX_VERSION) E2FSPROGS_DIR = e2fsprogs-$(E2FSPROGS_VERSION) NTFSPROGS_DIR = ntfsprogs-$(NTFSPROGS_VERSION) @@ -1768,8 +1768,8 @@ SYSLINUX_DIR = syslinux-$(SYSLINUX_VERSION) CDRTOOLS_DIR = cdrtools-$(CDRTOOLS_VERSION) -TOOLCHAIN_ARCHIVE = toolchain.tar.gz LINUX_ARCHIVE = $(LINUX_DIR).tar.bz2 +BUILDROOT_ARCHIVE = $(BUILDROOT_DIR)-$(BUILDROOT_VERSION).tar.bz2 BUSYBOX_ARCHIVE = $(BUSYBOX_DIR).tar.bz2 E2FSPROGS_ARCHIVE = $(E2FSPROGS_DIR).tar.gz NTFSPROGS_ARCHIVE = $(NTFSPROGS_DIR).tar.gz @@ -1782,8 +1782,8 @@ SYSLINUX_ARCHIVE = $(SYSLINUX_DIR).tar.bz2 CDRTOOLS_ARCHIVE = $(CDRTOOLS_DIR).tar.bz2 -TOOLCHAIN_URL = http://www.uclibc.org/cgi-bin/cvsweb/toolchain.tar.gz LINUX_URL = http://www.kernel.org/pub/linux/kernel/v2.6/$(LINUX_ARCHIVE) +BUILDROOT_URL = http://www.uclibc.org/downloads/$(BUILDROOT_ARCHIVE) BUSYBOX_URL = http://busybox.net/downloads/$(BUSYBOX_ARCHIVE) E2FSPROGS_URL = http://download.sourceforge.net/e2fsprogs/$(E2FSPROGS_ARCHIVE) NTFSPROGS_URL = http://download.sourceforge.net/linux-ntfs/$(NTFSPROGS_ARCHIVE) @@ -1798,10 +1798,9 @@ # http://distro.ibiblio.org/pub/linux/distributions/sorcerer/sources/cdrtools/$(CDRTOOLS_VERSION)/$(CDRTOOLS_ARCHIVE) # http://gd.tuwien.ac.at/utils/schilling/cdrtools/$(CDRTOOLS_ARCHIVE) -TOOLCHAIN_MAKE_DIR = $(TOOLCHAIN_DIR)/gcc-3.3.x -TOOLCHAIN_ROOT_DIR = $(TOOLCHAIN_MAKE_DIR)/toolchain_i386/i386-linux-uclibc -TOOLCHAIN_LIB_DIR = $(TOOLCHAIN_ROOT_DIR)/lib -TOOLCHAIN_BIN_DIR = $(CURDIR)/$(TOOLCHAIN_ROOT_DIR)/bin +CROSS_ROOT_DIR = $(BUILDROOT_DIR)/build_i386/staging_dir/i386-linux-uclibc +CROSS_LIB_DIR = $(CROSS_ROOT_DIR)/lib +CROSS_BIN_DIR = $(CURDIR)/$(CROSS_ROOT_DIR)/bin PKG_DIRS = $(foreach PKG, $(PKGS), $($(PKG)_DIR)) @@ -1839,8 +1838,8 @@ cp $(MAN_PAGE) $(INSTALL_MAN_DIR)/$(MAN_PAGE) # surely there must be a way to avoid writing out these rules: -$(TOOLCHAIN_ARCHIVE): ; $(WGET) $(TOOLCHAIN_URL) $(LINUX_ARCHIVE): ; $(WGET) $(LINUX_URL) +$(BUILDROOT_ARCHIVE): ; $(WGET) $(BUILDROOT_URL) $(BUSYBOX_ARCHIVE): ; $(WGET) $(BUSYBOX_URL) $(E2FSPROGS_ARCHIVE): ; $(WGET) $(E2FSPROGS_URL) $(NTFSPROGS_ARCHIVE): ; $(WGET) $(NTFSPROGS_URL) @@ -1892,66 +1891,71 @@ %-modsize: %-modules cd $*-modules/lib/modules/*/kernel/drivers; ls -lS `find -name '*.ko'` -$(TOOLCHAIN_DIR)/ok: $(TOOLCHAIN_ARCHIVE) smartcat - rm -fr $(TOOLCHAIN_DIR) +$(BUILDROOT_DIR)/.config: $(BUILDROOT_ARCHIVE) buildroot-config smartcat + rm -fr $(BUILDROOT_DIR) ./smartcat $< | tar x - ln -s $(CURDIR) $(TOOLCHAIN_MAKE_DIR)/sources/dl - yes '' | $(MAKE) -C $(TOOLCHAIN_MAKE_DIR) + ln -s .. $(BUILDROOT_DIR)/dl + cp buildroot-config $@ + yes '' | $(MAKE) -C $(BUILDROOT_DIR) oldconfig touch $@ -$(BUSYBOX_DIR)/.config: $(BUSYBOX_ARCHIVE) busybox-config $(TOOLCHAIN_DIR)/ok smartcat +$(BUILDROOT_DIR)/ok: $(BUILDROOT_DIR)/.config + yes '' | $(MAKE) -C $(BUILDROOT_DIR) all + touch $@ + +$(BUSYBOX_DIR)/.config: $(BUSYBOX_ARCHIVE) busybox-config $(BUILDROOT_DIR)/ok smartcat rm -fr $(BUSYBOX_DIR) ./smartcat $< | tar x - perl -pe 's!^(CROSS_COMPILER_PREFIX=").*(")!$$1$(TOOLCHAIN_BIN_DIR)/$$2!' busybox-config > $@ + perl -pe 's!^(CROSS_COMPILER_PREFIX=").*(")!$$1$(CROSS_BIN_DIR)/$$2!' busybox-config > $@ yes '' | $(MAKE) -C $(BUSYBOX_DIR) oldconfig touch $@ $(BUSYBOX): $(BUSYBOX_DIR)/.config $(MAKE) -C $(BUSYBOX_DIR) all -$(TUNE2FS): $(E2FSPROGS_ARCHIVE) $(TOOLCHAIN_DIR)/ok smartcat +$(TUNE2FS): $(E2FSPROGS_ARCHIVE) $(BUILDROOT_DIR)/ok smartcat rm -fr $(E2FSPROGS_DIR) ./smartcat $< | tar x - (cd $(E2FSPROGS_DIR) && ./configure --with-cc=$(TOOLCHAIN_BIN_DIR)/gcc --with-linker=$(TOOLCHAIN_BIN_DIR)/ld --with-ccopts=-Os --disable-{nls,evms,swapfs}) + (cd $(E2FSPROGS_DIR) && ./configure --with-cc=$(CROSS_BIN_DIR)/gcc --with-linker=$(CROSS_BIN_DIR)/ld --with-ccopts=-Os --disable-{nls,evms,swapfs}) $(MAKE) -C $(E2FSPROGS_DIR) strip $@ $(E2FSCK) $(RESIZE2FS): $(TUNE2FS) strip $@ -$(NTFSRESIZE): $(NTFSPROGS_ARCHIVE) $(TOOLCHAIN_DIR)/ok smartcat +$(NTFSRESIZE): $(NTFSPROGS_ARCHIVE) $(BUILDROOT_DIR)/ok smartcat rm -fr $(NTFSPROGS_DIR) ./smartcat $< | tar x - (cd $(NTFSPROGS_DIR) && CC=$(TOOLCHAIN_BIN_DIR)/gcc CFLAGS="-static -Os" ./configure --disable-shared && $(MAKE)) + (cd $(NTFSPROGS_DIR) && CC=$(CROSS_BIN_DIR)/gcc CFLAGS="-static -Os" ./configure --disable-shared && $(MAKE)) strip $@ -$(PARTED): $(PARTED_ARCHIVE) $(TOOLCHAIN_DIR)/ok smartcat +$(PARTED): $(PARTED_ARCHIVE) $(BUILDROOT_DIR)/ok smartcat rm -fr $(PARTED_DIR) ./smartcat $< | tar x perl -p -i -e 's!(\#include <libintl.h>)!/* $1 */!' $(PARTED_DIR)/libparted/filesys.c - cd $(PARTED_DIR) && CC=$(TOOLCHAIN_BIN_DIR)/gcc CFLAGS="-static -Os" CPPFLAGS="-I$(CURDIR)/$(E2FSPROGS_DIR)/lib" LDFLAGS="-L$(CURDIR)/$(E2FSPROGS_DIR)/lib" ./configure --without-readline --disable-shared --disable-nls --disable-dynamic-loading --disable-Werror + cd $(PARTED_DIR) && CC=$(CROSS_BIN_DIR)/gcc CFLAGS="-static -Os" CPPFLAGS="-I$(CURDIR)/$(E2FSPROGS_DIR)/lib" LDFLAGS="-L$(CURDIR)/$(E2FSPROGS_DIR)/lib" ./configure --without-readline --disable-shared --disable-nls --disable-dynamic-loading --disable-Werror $(MAKE) -C $(PARTED_DIR) strip $@ -$(DEVMAP): $(DEVMAP_ARCHIVE) $(TOOLCHAIN_DIR)/ok smartcat +$(DEVMAP): $(DEVMAP_ARCHIVE) $(BUILDROOT_DIR)/ok smartcat rm -fr $(DEVMAP_DIR) mkdir $(DEVMAP_DIR) ./smartcat $< | tar x -C $(DEVMAP_DIR) mv $(DEVMAP_DIR)/*/* $(DEVMAP_DIR)/ - set -e; cd $(DEVMAP_DIR); ./configure --disable-shared CC="$(TOOLCHAIN_BIN_DIR)/gcc -static -Os"; $(MAKE) lib + set -e; cd $(DEVMAP_DIR); ./configure --disable-shared CC="$(CROSS_BIN_DIR)/gcc -static -Os"; $(MAKE) lib -$(LVM2): $(LVM2_ARCHIVE) $(DEVMAP) $(TOOLCHAIN_DIR)/ok smartcat +$(LVM2): $(LVM2_ARCHIVE) $(DEVMAP) $(BUILDROOT_DIR)/ok smartcat rm -fr $(LVM2_DIR) mkdir $(LVM2_DIR) ./smartcat $< | tar x -C $(LVM2_DIR) mv $(LVM2_DIR)/*/* $(LVM2_DIR)/ perl -p -i -e 's/-O2/-Os/g' $(LVM2_DIR)/make.tmpl.in rm -f $(DEVMAP:.a=.so) - set -e; cd $(LVM2_DIR); export CPATH="$(CURDIR)/$(DEVMAP_DIR)/include"; ./configure --host=i386-pc-linux-gnu CC="$(TOOLCHAIN_BIN_DIR)/gcc -Os -L$(CURDIR)/$(dir $(DEVMAP))"; $(MAKE) DESTDIR=dummy + set -e; cd $(LVM2_DIR); export CPATH="$(CURDIR)/$(DEVMAP_DIR)/include"; ./configure --host=i386-pc-linux-gnu CC="$(CROSS_BIN_DIR)/gcc -Os -L$(CURDIR)/$(dir $(DEVMAP))"; $(MAKE) DESTDIR=dummy strip $@ symbols: $(BUSYBOX) $(E2FSCK) $(TUNE2FS) $(RESIZE2FS) $(NTFSRESIZE) $(PARTED) $(LVM2) - $(TOOLCHAIN_BIN_DIR)/nm -Dp $^ | perl -lne '/.{8} [BUV] (.+)/ && print "-u $$1"' | sort -u > $@ + $(CROSS_BIN_DIR)/nm -Dp $^ | perl -lne '/.{8} [BUV] (.+)/ && print "-u $$1"' | sort -u > $@ Makefile $(FROMCONF): !CONFIGURE! !CONFIGURE! $@ @@ -1965,9 +1969,10 @@ !CONFIGURE! $@ mkdir -p $@/{root,proc,sys,tmp,media/floppy,media/cdrom,mnt,var/run} ln -s . $@/usr - install -D $(TOOLCHAIN_LIB_DIR)/ld-uClibc.so.0 $@/lib/ld-uClibc.so.0 - install -D $(TOOLCHAIN_LIB_DIR)/libdl.so.0 $@/lib/libdl.so.0 - gcc -s -nostdlib -Wl,-warn-common -shared -o $@/lib/libc.so.0 `cat symbols` $(TOOLCHAIN_LIB_DIR)/libc.a + install -D $(CROSS_LIB_DIR)/ld-uClibc.so.0 $@/lib/ld-uClibc.so.0 + install -D $(CROSS_LIB_DIR)/libdl.so.0 $@/lib/libdl.so.0 + install -D $(CROSS_LIB_DIR)/libgcc_s.so.1 $@/lib/libgcc_s.so.1 + gcc -s -nostdlib -Wl,-warn-common -shared -o $@/lib/libc.so.0 `cat symbols` $(CROSS_LIB_DIR)/libc.a $(MAKE) -C $(BUSYBOX_DIR) PREFIX=$(CURDIR)/$@ install # install -D $(E2FSCK) $@/sbin/e2fsck install -D $(TUNE2FS) $@/sbin/tune2fs @@ -2082,6 +2087,10 @@ $(MAKE) -C $(LINUX_DIR) O=$(CURDIR)/$* menuconfig cp $< linux-config-$* +config-buildroot: $(BUILDROOT_DIR)/.config + $(MAKE) -C $(BUILDROOT_DIR) menuconfig + cp $< buildroot-config + config-busybox: $(BUSYBOX_DIR)/.config $(MAKE) -C $(BUSYBOX_DIR) menuconfig cp $< busybox-config @@ -5285,6 +5294,221 @@ CONFIG_X86_BIOS_REBOOT=y CONFIG_X86_TRAMPOLINE=y CONFIG_PC=y + +--- FILE buildroot-config --- +# +# Automatically generated make config: don't edit +# +BR2_HAVE_DOT_CONFIG=y +# BR2_arm is not set +# BR2_armeb is not set +# BR2_cris is not set +BR2_i386=y +# BR2_m68k is not set +# BR2_mips is not set +# BR2_mipsel is not set +# BR2_powerpc is not set +# BR2_sh3 is not set +# BR2_sh3eb is not set +# BR2_sh4 is not set +# BR2_sh4eb is not set +# BR2_sparc is not set +BR2_ARCH="i386" + +# +# Build options +# +BR2_WGET="wget --passive-ftp" +# BR2_TAR_VERBOSITY is not set +BR2_STAGING_DIR="$(BUILD_DIR)/staging_dir" +BR2_JLEVEL=1 + +# +# Toolchain Options +# + +# +# Kernel Header Options +# +# BR2_KERNEL_HEADERS_2_4_25 is not set +# BR2_KERNEL_HEADERS_2_4_27 is not set +# BR2_KERNEL_HEADERS_2_6_8 is not set +BR2_KERNEL_HEADERS_2_6_9=y +BR2_DEFAULT_KERNEL_HEADERS="2.6.9" + +# +# uClibc Options +# +# BR2_UCLIBC_VERSION_SNAPSHOT is not set +# BR2_ENABLE_LOCALE is not set + +# +# Binutils Options +# +# BR2_BINUTILS_VERSION_2_14_90_0_6 is not set +# BR2_BINUTILS_VERSION_2_14_90_0_7 is not set +# BR2_BINUTILS_VERSION_2_14_90_0_8 is not set +# BR2_BINUTILS_VERSION_2_15 is not set +# BR2_BINUTILS_VERSION_2_15_90_0_1 is not set +# BR2_BINUTILS_VERSION_2_15_90_0_1_1 is not set +# BR2_BINUTILS_VERSION_2_15_90_0_2 is not set +# BR2_BINUTILS_VERSION_2_15_90_0_3 is not set +# BR2_BINUTILS_VERSION_2_15_91_0_1 is not set +BR2_BINUTILS_VERSION_2_15_91_0_2=y +# BR2_BINUTILS_VERSION_2_15_92_0_2 is not set +# BR2_BINUTILS_VERSION_2_15_94_0_1 is not set +# BR2_BINUTILS_VERSION_2_15_94_0_2 is not set +BR2_BINUTILS_VERSION="2.15.91.0.2" + +# +# Gcc Options +# +# BR2_GCC_VERSION_2_95 is not set +# BR2_GCC_VERSION_3_3_3 is not set +# BR2_GCC_VERSION_3_3_4 is not set +# BR2_GCC_VERSION_3_3_5 is not set +# BR2_GCC_VERSION_3_4_0 is not set +# BR2_GCC_VERSION_3_4_1 is not set +BR2_GCC_VERSION_3_4_2=y +# BR2_GCC_VERSION_3_4_3 is not set +BR2_GCC_VERSION="3.4.2" +BR2_GCC_USE_SJLJ_EXCEPTIONS="--enable-sjlj-exceptions" +BR2_EXTRA_GCC_CONFIG_OPTIONS="" +# BR2_INSTALL_LIBSTDCPP is not set + +# +# Ccache Options +# +BR2_CCACHE=y + +# +# Gdb Options +# +# BR2_PACKAGE_GDB is not set +# BR2_PACKAGE_GDB_SERVER is not set + +# +# Common Toolchain Options +# +# BR2_ENABLE_MULTILIB is not set +BR2_LARGEFILE=y +BR2_TARGET_OPTIMIZATION="-Os -pipe" + +# +# Package Selection for the target +# + +# +# The default minimal system +# +# BR2_PACKAGE_BUSYBOX is not set + +# +# The minimum needed to build a uClibc development system +# +# BR2_PACKAGE_BASH is not set +# BR2_PACKAGE_BZIP2 is not set +# BR2_PACKAGE_COREUTILS is not set +# BR2_PACKAGE_DIFFUTILS is not set +# BR2_PACKAGE_ED is not set +# BR2_PACKAGE_FINDUTILS is not set +# BR2_PACKAGE_FLEX is not set +# BR2_PACKAGE_GAWK is not set +# BR2_PACKAGE_GCC_TARGET is not set +# BR2_PACKAGE_CCACHE_TARGET is not set +# BR2_PACKAGE_GREP is not set +# BR2_PACKAGE_MAKE is not set +# BR2_PACKAGE_PATCH is not set +# BR2_PACKAGE_SED is not set +# BR2_PACKAGE_TAR is not set + +# +# Other stuff +# +# BR2_PACKAGE_AUTOCONF is not set +# BR2_PACKAGE_AUTOMAKE is not set +# BR2_PACKAGE_BERKELEYDB is not set +# BR2_PACKAGE_BISON is not set +# BR2_PACKAGE_BOA is not set +# BR2_PACKAGE_BRIDGE is not set +# BR2_PACKAGE_CONFIG is not set +# BR2_PACKAGE_CUSTOMIZE is not set +# BR2_PACKAGE_DHCP_RELAY is not set +# BR2_PACKAGE_DISTCC is not set +# BR2_PACKAGE_DNSMASQ is not set +# BR2_PACKAGE_DROPBEAR_SSHD is not set +# BR2_PACKAGE_FAKEROOT is not set +# BR2_PACKAGE_FILE is not set +# BR2_PACKAGE_GETTEXT is not set +# BR2_PACKAGE_GZIP is not set +# BR2_PACKAGE_HOSTAP is not set +# BR2_PACKAGE_HOTPLUG is not set +# BR2_PACKAGE_IPROUTE2 is not set +# BR2_PACKAGE_IPTABLES is not set +# BR2_PACKAGE_JPEG is not set +# BR2_PACKAGE_LESS is not set +# BR2_PACKAGE_LIBFLOAT is not set +# BR2_PACKAGE_LIBGLIB12 is not set +# BR2_PACKAGE_LIBMAD is not set +# BR2_PACKAGE_LIBPNG is not set +# BR2_PACKAGE_LIBTOOL is not set +# BR2_PACKAGE_LINKS is not set +# BR2_PACKAGE_LINUX is not set +# BR2_PACKAGE_LRZSZ is not set +# BR2_PACKAGE_LTP-TESTSUITE is not set +# BR2_PACKAGE_LTRACE is not set +# BR2_PACKAGE_LZO is not set +# BR2_PACKAGE_M4 is not set +# BR2_PACKAGE_MICROCOM is not set +# BR2_PACKAGE_MICROWIN is not set +# BR2_PACKAGE_MKDOSFS is not set +# BR2_PACKAGE_MKE2FS is not set +# BR2_PACKAGE_MPG123 is not set +# BR2_PACKAGE_MROUTED is not set +# BR2_PACKAGE_NANO is not set +# BR2_PACKAGE_NCURSES is not set +# BR2_PACKAGE_NETKITBASE is not set +# BR2_PACKAGE_NETKITTELNET is not set +# BR2_PACKAGE_NETSNMP is not set +# BR2_PACKAGE_NEWT is not set +# BR2_PACKAGE_NTP is not set +# BR2_PACKAGE_OPENSSH is not set +# BR2_PACKAGE_OPENSSL is not set +# BR2_PACKAGE_OPENVPN is not set +# BR2_PACKAGE_PCIUTILS is not set +# BR2_PACKAGE_PCMCIA is not set +# BR2_PACKAGE_PORTAGE is not set +# BR2_PACKAGE_PORTMAP is not set +# BR2_PACKAGE_PPPD is not set +# BR2_PACKAGE_PROCPS is not set +# BR2_PACKAGE_PYTHON is not set +# BR2_PACKAGE_RAIDTOOLS is not set +# BR2_PACKAGE_RSYNC is not set +# BR2_PACKAGE_RXVT is not set +# BR2_PACKAGE_SFDISK is not set +# BR2_PACKAGE_SLANG is not set +# BR2_PACKAGE_SOCAT is not set +# BR2_PACKAGE_STRACE is not set +# BR2_PACKAGE_TINYLOGIN is not set +# BR2_PACKAGE_TINYX is not set +# BR2_PACKAGE_TN5250 is not set +# BR2_PACKAGE_TTCP is not set +# BR2_PACKAGE_UDHCP is not set +# BR2_PACKAGE_UTIL-LINUX is not set +# BR2_PACKAGE_VALGRIND is not set +# BR2_PACKAGE_VTUN is not set +# BR2_PACKAGE_WGET is not set +# BR2_PACKAGE_WHICH is not set +# BR2_PACKAGE_WTOOLS is not set +# BR2_PACKAGE_ZLIB is not set + +# +# Target Options +# +# BR2_TARGET_ROOTFS_CRAMFS is not set +# BR2_TARGET_ROOTFS_EXT2 is not set +# BR2_TARGET_ROOTFS_JFFS2 is not set +# BR2_TARGET_ROOTFS_SQUASHFS is not set --- FILE busybox-config --- #