Index: buildrom-devel/skeleton/device.txt
===================================================================
--- buildrom-devel/skeleton/device.txt	(revision 56)
+++ buildrom-devel/skeleton/device.txt	(working copy)
@@ -1,17 +1,25 @@
-null   c       640     0       0       1       3
-zero   c       640     0       0       1       5
-tty    c       640     0       0       5       0
-tty0   c       640     0       0       4       0
-tty1	c	640	0	0	4	1
-console        c       640     0       0       5       1
-sda    b       660     0       0       8       0
-sda1   b       660     0       0       8       1
-sda2   b       660     0       0       8       2
-sda3   b       660     0       0       8       3
-sda4   b       660     0       0       8       4
-sda5   b       660     0       0       8       5
-sda6   b       660     0       0       8       6
-sda7   b       660     0       0       8       7
-sda8   b       660     0       0       8       8
-mem    c       640     0       0       1       1
-fb0    c       640     0       0       29      0
+null	c	640	0	0	1	3
+zero	c	640	0	0	1	5
+tty	c	640	0	0	5	0
+tty0	c	640	0	0	4	0
+tty1	c	660	0	0	4	1
+hda	b	660	0	0	3	0
+hda1	b	660	0	0	3	1
+hda2	b	660	0	0	3	2
+hdb	b	660	0	0	3	64
+hdb1	b	660	0	0	3	65
+hdb2	b	660	0	0	3	66
+hdc	b	660	0	0	22	0
+fd0	b	660	0	0	2	0
+console	c	640	0	0	5	1
+sda	b	660	0	0	8	0
+sda1	b	660	0	0	8	1
+sda2	b	660	0	0	8	2
+sda3	b	660	0	0	8	3
+sda4	b	660	0	0	8	4
+sda5	b	660	0	0	8	5
+sda6	b	660	0	0	8	6
+sda7	b	660	0	0	8	7
+sda8	b	660	0	0	8	8
+mem	c	640	0	0	1	1
+fb0	c	640	0	0	29	0
Index: buildrom-devel/config/platforms/db800.conf
===================================================================
--- buildrom-devel/config/platforms/db800.conf	(revision 56)
+++ buildrom-devel/config/platforms/db800.conf	(working copy)
@@ -20,7 +20,7 @@
 # Use the same settings as the Norwich platform
 
 KERNEL_VERSION=2.6.20.2
-KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/norwich-defconfig
+KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-norwich
 UCLIBC_ARCH=i386
 
 # Etherboot configuration
Index: buildrom-devel/config/platforms/tyan-s2882.conf
===================================================================
--- buildrom-devel/config/platforms/tyan-s2882.conf	(revision 56)
+++ buildrom-devel/config/platforms/tyan-s2882.conf	(working copy)
@@ -6,8 +6,13 @@
 STRIP=strip
 AS=as
 
+ifeq ($(CONFIG_TARGET_64BIT), y)
+TARGET_ARCH=x86_64
+CFLAGS_platform =
+else
 TARGET_ARCH=i686
-CFLAGS_platform = -m32
+CFLAGS_platform =
+endif
 
 # Targets
 
@@ -17,9 +22,15 @@
 # kernel configuration (for LAB)
 
 KERNEL_VERSION=2.6.22.2
-KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/tyan-s2882-defconfig
-UCLIBC_ARCH=i386
 
+ifeq ($(CONFIG_TARGET_64BIT), y)
+$(error You must specify a kernel configuration for 64 bit)
+else
+KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-tyan-s2882
+endif
+
+#UCLIBC_ARCH=i386
+
 # Etherboot configuration
 ETHERBOOT_ARCH=i386
 
Index: buildrom-devel/config/platforms/tyan-s2891.conf
===================================================================
--- buildrom-devel/config/platforms/tyan-s2891.conf	(revision 56)
+++ buildrom-devel/config/platforms/tyan-s2891.conf	(working copy)
@@ -6,8 +6,13 @@
 STRIP=strip
 AS=as
 
+ifeq ($(CONFIG_TARGET_64BIT), y)
+TARGET_ARCH=x86_64
+CFLAGS_platform =
+else
 TARGET_ARCH=i686
-CFLAGS_platform = -m32
+CFLAGS_platform =
+endif
 
 # Targets
 
@@ -17,9 +22,15 @@
 # kernel configuration (for LAB)
 
 KERNEL_VERSION=2.6.22.2
-KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/tyan-s2891-defconfig
-UCLIBC_ARCH=i386
 
+ifeq ($(CONFIG_TARGET_64BIT),y)
+$(error You must specify a kernel configuration for 64 bit)
+else
+KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-tyan-s2891
+endif
+
+#UCLIBC_ARCH=i386
+
 # Etherboot configuration
 ETHERBOOT_ARCH=i386
 
Index: buildrom-devel/config/platforms/m57sli.conf
===================================================================
--- buildrom-devel/config/platforms/m57sli.conf	(revision 56)
+++ buildrom-devel/config/platforms/m57sli.conf	(working copy)
@@ -6,8 +6,13 @@
 STRIP=strip
 AS=as
 
+ifeq ($(CONFIG_TARGET_64BIT),y)
+TARGET_ARCH=x86_64
+CFLAGS_platform =
+else
 TARGET_ARCH=i686
-CFLAGS_platform = -m32
+CFLAGS_platform =
+endif
 
 # Targets
 
@@ -17,9 +22,15 @@
 # kernel configuration (for LAB)
 
 KERNEL_VERSION=2.6.22.2
-KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/m57sli-defconfig
-UCLIBC_ARCH=i386
 
+ifeq ($(CONFIG_TARGET_64BIT),y)
+$(error You must specify a kernel configuration for 64 bit)
+else
+KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-m57sli
+endif
+
+#UCLIBC_ARCH=$(TARGET_ARCH)
+
 # Etherboot configuration
 ETHERBOOT_ARCH=i386
 
Index: buildrom-devel/config/platforms/alix1c.conf
===================================================================
--- buildrom-devel/config/platforms/alix1c.conf	(revision 56)
+++ buildrom-devel/config/platforms/alix1c.conf	(working copy)
@@ -17,7 +17,7 @@
 # kernel configuration (for LAB)
 
 KERNEL_VERSION=2.6.20.2
-KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/alix1c-defconfig
+KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-alix1c
 UCLIBC_ARCH=i386
 
 # Etherboot configuration
Index: buildrom-devel/config/platforms/dbe61.conf
===================================================================
--- buildrom-devel/config/platforms/dbe61.conf	(revision 56)
+++ buildrom-devel/config/platforms/dbe61.conf	(working copy)
@@ -19,7 +19,7 @@
 # kernel configuration (for LAB)
 
 KERNEL_VERSION=2.6.20.2
-KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/norwich-defconfig
+KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-norwich
 UCLIBC_ARCH=i386
 
 # Etherboot configuration
Index: buildrom-devel/config/platforms/ga-2761gxdk.conf
===================================================================
--- buildrom-devel/config/platforms/ga-2761gxdk.conf	(revision 56)
+++ buildrom-devel/config/platforms/ga-2761gxdk.conf	(working copy)
@@ -6,8 +6,13 @@
 STRIP=strip
 AS=as
 
+ifeq ($(CONFIG_TARGET_64BIT),y)
+TARGET_ARCH=x86_64
+CFLAGS_platform =
+else
 TARGET_ARCH=i686
-CFLAGS_platform = -m32
+CFLAGS_platform =
+endif
 
 # Targets
 
@@ -20,7 +25,7 @@
 # Disable for now - I don't know the right kernel for this platform
 #KERNEL_VERSION=2.6.22.2
 #KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/
-UCLIBC_ARCH=i386
+#UCLIBC_ARCH=$(TARGET_ARCH)
 
 # Etherboot configuration
 ETHERBOOT_ARCH=i386
Index: buildrom-devel/config/platforms/msm800sev.conf
===================================================================
--- buildrom-devel/config/platforms/msm800sev.conf	(revision 56)
+++ buildrom-devel/config/platforms/msm800sev.conf	(working copy)
@@ -18,7 +18,7 @@
 # kernel configuration (for LAB)
 
 KERNEL_VERSION=2.6.20.2
-KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/msm800sev-defconfig
+KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-msm800sev
 UCLIBC_ARCH=i386
 
 # Etherboot configuration
Index: buildrom-devel/config/platforms/Config.in
===================================================================
--- buildrom-devel/config/platforms/Config.in	(revision 56)
+++ buildrom-devel/config/platforms/Config.in	(working copy)
@@ -60,25 +60,31 @@
        bool "GIGABYTE GA-M57SLI-S4"
        depends VENDOR_GIGABYTE
        select PLATFORM
+       select PLATFORM_SUPPORT_64BIT
 
 config PLATFORM_GA_2761GXDK
 	bool "GIGABYTE GA-2761GXDK"
 	depends VENDOR_GIGABYTE
 	select PLATFORM
+	select PLATFORM_SUPPORT_64BIT
 
 config PLATFORM_TYAN_S2882
        bool "Tyan S2882"
        depends VENDOR_TYAN
        select PLATFORM
+       select PLATFORM_SUPPORT_64BIT
 
 config PLATFORM_TYAN_S2891
        bool "Tyan S2891"
        depends VENDOR_TYAN
        select PLATFORM
+       select PLATFORM_SUPPORT_64BIT
 
 config PLATFORM_SERENGETI_CHEETAH
        bool "AMD Serengeti-Cheetah"
        depends VENDOR_AMD
        select PLATFORM
+       select PLATFORM_SUPPORT_64BIT
+
 endchoice
 endmenu
Index: buildrom-devel/config/platforms/serengeti_cheetah.conf
===================================================================
--- buildrom-devel/config/platforms/serengeti_cheetah.conf	(revision 56)
+++ buildrom-devel/config/platforms/serengeti_cheetah.conf	(working copy)
@@ -7,20 +7,36 @@
 STRIP=strip
 AS=as
 
-TARGET_ARCH=i586
+ifeq ($(CONFIG_TARGET_64BIT),y)
+TARGET_ARCH=x86_64
 CFLAGS_platform =
+else
+TARGET_ARCH=i686
+CFLAGS_platform =
+endif
 
 # Targets
 
 KERNEL_MK=$(PACKAGE_DIR)/kernel/serengeti_cheetah-kernel.mk
-LINUXBIOS_MK=$(PACKAGE_DIR)/linuxbios/generic-linuxbios.mk
+LINUXBIOS_MK=$(PACKAGE_DIR)/linuxbios/serengeti_cheetah.mk
 
 # kernel configuration (for LAB)
 
+ifeq ($(CONFIG_TARGET_64BIT),y)
+KERNEL_VERSION=2.6.22.2
+KERNEL_MK=$(PACKAGE_DIR)/kernel/serengeti_cheetah-kernel-x86_64.mk
+KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-serengeti_cheetah-x86_64
+BUSYBOX_CONFIG=defconfig-serengeti_cheetah-x86_64
+UCLIBC_VER=0.9.29
+UCLIBC_CONFIG=defconfig-x86_64
+else
 KERNEL_VERSION=2.6.20.2
-KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/serengeti_cheetah-defconfig
-UCLIBC_ARCH=i386
+KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-serengeti_cheetah
+UCLIBC_VER=0.9.28
+endif
 
+#UCLIBC_ARCH=$(TARGET_ARCH)
+
 # Etherboot configuration
 ETHERBOOT_ARCH=i386
 
@@ -30,7 +46,7 @@
 LINUXBIOS_BOARD=serengeti_cheetah
 LINUXBIOS_CONFIG=Config.lb
 LINUXBIOS_TDIR=serengeti_cheetah
-LINUXBIOS_TAG=2880
+LINUXBIOS_TAG=2950
 LINUXBIOS_ROM_NAME=serengeti_cheetah.rom
 
 # FILO configuration
Index: buildrom-devel/config/platforms/platforms.conf
===================================================================
--- buildrom-devel/config/platforms/platforms.conf	(revision 56)
+++ buildrom-devel/config/platforms/platforms.conf	(working copy)
@@ -15,6 +15,7 @@
 PLATFORM-$(CONFIG_PLATFORM_TYAN_S2882) = tyan-s2882.conf
 PLATFORM-$(CONFIG_PLATFORM_TYAN_S2891) = tyan-s2891.conf
 PLATFORM-$(CONFIG_PLATFORM_SERENGETI_CHEETAH) = serengeti_cheetah.conf
+PLATFORM-$(CONFIG_PLATFORM_SERENGETI_CHEETAH_64) = serengeti_cheetah-x86_64.conf
 PLATFORM-$(CONFIG_PLATFORM_GA_2761GXDK) = ga-2761gxdk.conf
 
 include $(CONFIG_DIR)/platforms/$(PLATFORM-y)
Index: buildrom-devel/config/platforms/norwich.conf
===================================================================
--- buildrom-devel/config/platforms/norwich.conf	(revision 56)
+++ buildrom-devel/config/platforms/norwich.conf	(working copy)
@@ -18,7 +18,7 @@
 # kernel configuration (for LAB)
 
 KERNEL_VERSION=2.6.20.2
-KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/norwich-defconfig
+KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-norwich
 UCLIBC_ARCH=i386
 
 # Etherboot configuration
Index: buildrom-devel/config/payloads/Config.in
===================================================================
--- buildrom-devel/config/payloads/Config.in	(revision 56)
+++ buildrom-devel/config/payloads/Config.in	(working copy)
@@ -11,42 +11,54 @@
 
 config PAYLOAD_CUSTOM
 	bool "Custom Payload"
-	select PAYLOAD
 
 config PAYLOAD_ETHERBOOT
 	depends !PLATFORM_M57SLI
 	depends !PLATFORM_TYAN_S2891
 	bool "Etherboot"
-	select PAYLOAD
 
 config PAYLOAD_FILO
 	bool "FILO"
-	select PAYLOAD
 
 config PAYLOAD_KERNEL
 	depends !PLATFORM_GA_2761GXDK
 	bool "Linux kernel payload"
-	select PAYLOAD
+	select PAYLOAD_64BIT
 
 config PAYLOAD_LAB
 	depends !PLATFORM_GA_2761GXDK
 	bool "Linux As Bootloader"
-	select PAYLOAD
+	select PAYLOAD_64BIT
 
 #config PAYLOAD_OFW
 #	depends !PLATFORM_M57SLI
 #	depends !PLATFORM_TYAN_S2891
 #	bool "OpenFirmware"
-#	select PAYLOAD
 
 config PAYLOAD_MEMTEST
 	depends !PLATFORM_M57SLI
 	depends !PLATFORM_TYAN_S2891
 	bool "Memtest86+"
-	select PAYLOAD
 
 endchoice
 
+choice
+	prompt "Desired target architecture"
+	depends PLATFORM_SUPPORT_64BIT && PAYLOAD_64BIT
+	default CHOOSE_32BIT
+	help
+	  Chose the target architecture for the payload.
+
+config CHOOSE_64BIT
+	bool "x86_64 (64 bit)"
+	select TARGET_64BIT
+
+config CHOOSE_32BIT
+	bool "x86 (32 bit)"
+	select TARGET_32BIT
+
+endchoice
+
 menu "Custom Payload"
 depends PAYLOAD_CUSTOM
 config CUSTOM_PAYLOAD
Index: buildrom-devel/scripts/Makefile.lab
===================================================================
--- buildrom-devel/scripts/Makefile.lab	(revision 56)
+++ buildrom-devel/scripts/Makefile.lab	(working copy)
@@ -30,7 +30,7 @@
 	@ rm -f $@
 	@ $(STAGING_DIR)/sbin/mkelfImage --command-line="$(COMMAND_LINE)" \
 	--ramdisk=$(OUTPUT_DIR)/initrd.uncompressed \
-	$(OUTPUT_DIR)/vmlinux $@
+	$(OUTPUT_DIR)/bzImage $@
 	@ chmod 0644 $@
 
 $(OUTPUT_DIR)/lab-payload.elf: $(OUTPUT_DIR)/initrd
Index: buildrom-devel/scripts/Build.settings
===================================================================
--- buildrom-devel/scripts/Build.settings	(revision 56)
+++ buildrom-devel/scripts/Build.settings	(working copy)
@@ -26,6 +26,7 @@
 CROSS_CFLAGS=
 CROSS_ASFLAGS=
 CROSS_LDFLAGS=
+UCLIBC_LOADER = /lib/ld-uClibc.so.0
 
 ifeq ($(BUILD_ARCH),x86_64)
 ifneq ($(BUILD_ARCH), $(TARGET_ARCH))
@@ -34,6 +35,8 @@
 CROSS_CFLAGS=-m32
 CROSS_LDFLAGS=-melf_i386
 
+else
+UCLIBC_LOADER = /lib/ld64-uClibc.so.0
 endif
 endif
 
@@ -62,8 +65,14 @@
 # This extra variable is needed because we need the original LDFLAGS
 # (without any cross flags) for at least busybox, and probably others too
 
+ifeq ($(TARGET_ARCH),x86_64)
+UCLIBC_LOADER = /lib/ld64-uClibc.so.0
+else
+UCLIBC_LOADER = /lib/ld-uClibc.so.0
+endif
+
 LDFLAGS_orig = -nostdlib -L$(STAGING_DIR)/lib \
--Wl,-rpath-link,$(STAGING_DIR)/lib -Wl,--dynamic-linker,/lib/ld-uClibc.so.0 \
+-Wl,-rpath-link,$(STAGING_DIR)/lib -Wl,--dynamic-linker,$(UCLIBC_LOADER) \
 $(LDFLAGS_platform)
 
 LDFLAGS=$(CROSS_LDFLAGS) $(LDFLAGS_orig)
Index: buildrom-devel/bin/checkrom.sh
===================================================================
--- buildrom-devel/bin/checkrom.sh	(revision 56)
+++ buildrom-devel/bin/checkrom.sh	(working copy)
@@ -1,13 +1,8 @@
 #!/bin/sh
 
 size=`du -b $1 | cut -f1`
-delta=`expr 884736 - $size`
-echo "Bytes left in ROM: $delta"
+echo "******************"
+echo "Payload takes $size Bytes (`expr $size / 1024` KBytes) in ROM:"
+echo "******************"
 
-if [ $delta -lt 0 ]; then 
-	echo "ERROR! ERROR! ERROR!"
-	echo "The ELF image $1 is too big!"
-	exit -1
-fi
-
 exit 0
Index: buildrom-devel/Config.in
===================================================================
--- buildrom-devel/Config.in	(revision 56)
+++ buildrom-devel/Config.in	(working copy)
@@ -62,9 +62,22 @@
 	bool
 	default n
 
-config PAYLOAD
+config PLATFORM_SUPPORT_64BIT
 	bool
 	default n
 
+config PAYLOAD_64BIT
+	bool
+	default n
+
+config TARGET_32BIT
+	bool
+	depends !TARGET_64BIT
+	default y
+
+config TARGET_64BIT
+	bool
+	default n
+
 source config/platforms/Config.in
 source config/payloads/Config.in
Index: buildrom-devel/packages/kernel/tyan-s2882-kernel.mk
===================================================================
--- buildrom-devel/packages/kernel/tyan-s2882-kernel.mk	(revision 56)
+++ buildrom-devel/packages/kernel/tyan-s2882-kernel.mk	(working copy)
@@ -2,8 +2,9 @@
 
 KERNEL_URL=http://kernel.org/pub/linux/kernel/v2.6/
 KERNEL_SOURCE=linux-$(KERNEL_VERSION).tar.bz2
-KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-tyan-s2882
 
+# KERNEL_CONFIG is defined in the platform configuration
+
 TINY_URL=http://elinux.org/images/0/0e/
 TINY_SOURCE=Tiny-quilt-2.6.22.1-1.tar.gz
 TINY_DIR=$(KERNEL_DIR)/tiny/patches
Index: buildrom-devel/packages/kernel/tyan-s2891-kernel.mk
===================================================================
--- buildrom-devel/packages/kernel/tyan-s2891-kernel.mk	(revision 56)
+++ buildrom-devel/packages/kernel/tyan-s2891-kernel.mk	(working copy)
@@ -2,8 +2,9 @@
 
 KERNEL_URL=http://kernel.org/pub/linux/kernel/v2.6/
 KERNEL_SOURCE=linux-$(KERNEL_VERSION).tar.bz2
-KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-tyan-s2891
 
+# KERNEL_CONFIG is defined in the platform configuration
+
 TINY_URL=http://elinux.org/images/0/0e/
 TINY_SOURCE=Tiny-quilt-2.6.22.1-1.tar.gz
 TINY_DIR=$(KERNEL_DIR)/tiny/patches
Index: buildrom-devel/packages/kernel/m57sli-kernel.mk
===================================================================
--- buildrom-devel/packages/kernel/m57sli-kernel.mk	(revision 56)
+++ buildrom-devel/packages/kernel/m57sli-kernel.mk	(working copy)
@@ -2,8 +2,9 @@
 
 KERNEL_URL=http://kernel.org/pub/linux/kernel/v2.6/
 KERNEL_SOURCE=linux-$(KERNEL_VERSION).tar.bz2
-KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-m57sli
 
+# KERNEL_CONFIG is defined in the platform configuration
+
 TINY_URL=http://elinux.org/images/0/0e/
 TINY_SOURCE=Tiny-quilt-2.6.22.1-1.tar.gz
 TINY_DIR=$(KERNEL_DIR)/tiny/patches
Index: buildrom-devel/packages/kernel/serengeti_cheetah-kernel-x86_64.mk
===================================================================
--- buildrom-devel/packages/kernel/serengeti_cheetah-kernel-x86_64.mk	(revision 0)
+++ buildrom-devel/packages/kernel/serengeti_cheetah-kernel-x86_64.mk	(revision 0)
@@ -0,0 +1,26 @@
+# Build file for the AMD Serengeti_Cheetah LAB kernel
+
+KERNEL_URL=http://kernel.org/pub/linux/kernel/v2.6/
+KERNEL_SOURCE=linux-$(KERNEL_VERSION).tar.bz2
+KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-serengeti_cheetah-x86_64
+KERNEL_SPEED_BUILD=-j 6
+
+TINY_URL=http://elinux.org/images/0/0e/
+TINY_SOURCE=Tiny-quilt-2.6.22.1-1.tar.gz
+TINY_DIR=$(KERNEL_DIR)/tiny/patches
+
+KERNEL_PATCHES += $(TINY_DIR)
+
+$(SOURCE_DIR)/$(KERNEL_SOURCE):
+	@ mkdir -p $(SOURCE_DIR)
+	@ wget -P $(SOURCE_DIR) $(KERNEL_URL)/$(KERNEL_SOURCE)
+
+$(SOURCE_DIR)/$(TINY_SOURCE):
+	@ mkdir -p $(SOURCE_DIR)
+	@ wget -P $(SOURCE_DIR) $(TINY_URL)/$(TINY_SOURCE)
+
+include $(PACKAGE_DIR)/kernel/kernel.inc
+
+kernel: generic-kernel
+kernel-clean: generic-kernel-clean
+kernel-distclean: generic-kernel-distclean
Index: buildrom-devel/packages/kernel/kernel.inc
===================================================================
--- buildrom-devel/packages/kernel/kernel.inc	(revision 56)
+++ buildrom-devel/packages/kernel/kernel.inc	(working copy)
@@ -7,6 +7,14 @@
 KERNEL_STAMP_DIR=$(KERNEL_DIR)/stamps
 KERNEL_LOG_DIR=$(KERNEL_DIR)/logs
 
+ifeq ($(CONFIG_TARGET_64BIT),y)
+KERNEL_BZIMAGE=$(KERNEL_SRC_DIR)/arch/x86_64/boot/bzImage
+KERNEL_BUILD_ARCH=x86_64
+else
+KERNEL_BZIMAGE=$(KERNEL_SRC_DIR)/arch/i386/boot/bzImage
+KERNEL_BUILD_ARCH=i386
+endif
+
 ifeq ($(CONFIG_VERBOSE),y)
 KERNEL_FETCH_LOG=/dev/stdout
 KERNEL_BUILD_LOG=/dev/stdout
@@ -42,23 +50,23 @@
 $(KERNEL_SRC_DIR)/.config: $(KERNEL_STAMP_DIR)/.patched
 	@ cat $(KERNEL_CONFIG) | sed -e s:^CONFIG_LOCALVERSION=.*:CONFIG_LOCALVERSION=\"$(ROM_VERSION)\": > $(KERNEL_SRC_DIR)/.config
 
-$(KERNEL_SRC_DIR)/arch/i386/boot/bzImage: $(KERNEL_SRC_DIR)/.config
+$(KERNEL_BZIMAGE): $(KERNEL_SRC_DIR)/.config
 	@ echo "Building kernel..."
-	@ $(MAKE) -C $(KERNEL_SRC_DIR) ARCH=i386 \
+	@ $(MAKE) -C $(KERNEL_SRC_DIR) ARCH=$(KERNEL_BUILD_ARCH) \
 	KERNEL_CC="$(CC)" KERNEL_LD="$(LD)" > $(KERNEL_BUILD_LOG) 2>&1
 
-$(OUTPUT_DIR)/bzImage: $(KERNEL_SRC_DIR)/arch/i386/boot/bzImage
+$(OUTPUT_DIR)/bzImage: $(KERNEL_BZIMAGE)
 	@ install -d $(OUTPUT_DIR)
 	@ install -m 0644 $< $@ 
 
-$(OUTPUT_DIR)/vmlinux: $(KERNEL_SRC_DIR)/arch/i386/boot/bzImage
+$(OUTPUT_DIR)/vmlinux: $(KERNEL_BZIMAGE)
 	@ install -d $(OUTPUT_DIR)
 	@ install -m 0644 $(KERNEL_SRC_DIR)/vmlinux $@
 	
 $(KERNEL_STAMP_DIR)/.headers: $(KERNEL_SRC_DIR)/.config $(STAGING_DIR)/host/bin/unifdef
 	@ echo "Installing kernel headers..."
 	@( export PATH=$(PATH):$(STAGING_DIR)/host/bin; \
-	$(MAKE) -C $(KERNEL_SRC_DIR) ARCH=i386 \
+	$(MAKE) -C $(KERNEL_SRC_DIR) ARCH=$(KERNEL_BUILD_ARCH) \
 	INSTALL_HDR_PATH=$(STAGING_DIR)/ headers_install > $(KERNEL_INSTALL_LOG) 2>&1)
 	@ touch $@
 
Index: buildrom-devel/packages/kernel/serengeti_cheetah-kernel.mk
===================================================================
--- buildrom-devel/packages/kernel/serengeti_cheetah-kernel.mk	(revision 56)
+++ buildrom-devel/packages/kernel/serengeti_cheetah-kernel.mk	(working copy)
@@ -2,12 +2,9 @@
 
 KERNEL_URL=http://kernel.org/pub/linux/kernel/v2.6/
 KERNEL_SOURCE=linux-$(KERNEL_VERSION).tar.bz2
-KERNEL_CONFIG=$(PACKAGE_DIR)/kernel/conf/defconfig-serengeti_cheetah
 
-#TINY_DIR=$(PACKAGE_DIR)/kernel/patches/tiny
-#KERNEL_PATCHES += $(shell ls $(TINY_DIR)/*.patch)
+# Kernel config is set in the platform configuration
 
-
 $(SOURCE_DIR)/$(KERNEL_SOURCE):
 	@ mkdir -p $(SOURCE_DIR)
 	@ wget -P $(SOURCE_DIR) $(KERNEL_URL)/$(KERNEL_SOURCE)
Index: buildrom-devel/packages/busybox/busybox.mk
===================================================================
--- buildrom-devel/packages/busybox/busybox.mk	(revision 56)
+++ buildrom-devel/packages/busybox/busybox.mk	(working copy)
@@ -15,6 +15,8 @@
 BUSYBOX_INSTALL_LOG=$(BUSYBOX_LOG_DIR)/install.log
 endif
 
+BUSYBOX_CONFIG ?= defconfig
+
 $(SOURCE_DIR)/$(BUSYBOX_SOURCE):
 	@ mkdir -p $(SOURCE_DIR)
 	@ wget -P $(SOURCE_DIR) $(BUSYBOX_URL)/$(BUSYBOX_SOURCE)
@@ -30,7 +32,7 @@
 	@ touch $@
 
 $(BUSYBOX_SRC_DIR)/.config: $(BUSYBOX_STAMP_DIR)/.patched
-	@ cp $(PACKAGE_DIR)/busybox/conf/defconfig $@
+	@ cp $(PACKAGE_DIR)/busybox/conf/$(BUSYBOX_CONFIG) $@
 
 $(BUSYBOX_SRC_DIR)/busybox: $(BUSYBOX_SRC_DIR)/.config
 	@ echo "Building busybox..."
Index: buildrom-devel/packages/busybox/conf/defconfig-serengeti_cheetah-x86_64
===================================================================
--- buildrom-devel/packages/busybox/conf/defconfig-serengeti_cheetah-x86_64	(revision 0)
+++ buildrom-devel/packages/busybox/conf/defconfig-serengeti_cheetah-x86_64	(revision 0)
@@ -0,0 +1,598 @@
+#
+# Automatically generated make config: don't edit
+#
+HAVE_DOT_CONFIG=y
+
+#
+# Busybox Settings
+#
+
+#
+# General Configuration
+#
+CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
+# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
+# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
+# CONFIG_FEATURE_VERBOSE_USAGE is not set
+# CONFIG_FEATURE_INSTALLER is not set
+# CONFIG_LOCALE_SUPPORT is not set
+# CONFIG_FEATURE_DEVFS is not set
+CONFIG_FEATURE_DEVPTS=y
+# CONFIG_FEATURE_CLEAN_UP is not set
+CONFIG_FEATURE_SUID=y
+# CONFIG_FEATURE_SUID_CONFIG is not set
+# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
+# CONFIG_SELINUX is not set
+
+#
+# Build Options
+#
+# CONFIG_STATIC is not set
+# CONFIG_DISABLE_SHARED is not set
+# CONFIG_BUILD_LIBBUSYBOX is not set
+# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set
+# CONFIG_FEATURE_SHARED_BUSYBOX is not set
+CONFIG_LFS=y
+# USING_CROSS_COMPILER is not set
+CROSS_COMPILER_PREFIX=""
+EXTRA_CFLAGS_OPTIONS=""
+# CONFIG_BUILD_AT_ONCE is not set
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_NO_DEBUG_LIB is not set
+# CONFIG_DMALLOC is not set
+# CONFIG_EFENCE is not set
+CONFIG_DEBUG_YANK_SUSv2=y
+
+#
+# Installation Options
+#
+# CONFIG_INSTALL_NO_USR is not set
+CONFIG_INSTALL_APPLET_SYMLINKS=y
+# CONFIG_INSTALL_APPLET_HARDLINKS is not set
+# CONFIG_INSTALL_APPLET_DONT is not set
+PREFIX="./_install"
+
+#
+# Busybox Library Tuning
+#
+CONFIG_MD5_SIZE_VS_SPEED=2
+
+#
+# Applets
+#
+
+#
+# Archival Utilities
+#
+# CONFIG_AR is not set
+# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
+# CONFIG_BUNZIP2 is not set
+# CONFIG_CPIO is not set
+# CONFIG_DPKG is not set
+# CONFIG_DPKG_DEB is not set
+# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
+# CONFIG_GUNZIP is not set
+# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
+# CONFIG_GZIP is not set
+# CONFIG_RPM2CPIO is not set
+# CONFIG_RPM is not set
+# CONFIG_TAR is not set
+# CONFIG_FEATURE_TAR_CREATE is not set
+# CONFIG_FEATURE_TAR_BZIP2 is not set
+# CONFIG_FEATURE_TAR_LZMA is not set
+# CONFIG_FEATURE_TAR_FROM is not set
+# CONFIG_FEATURE_TAR_GZIP is not set
+# CONFIG_FEATURE_TAR_COMPRESS is not set
+# CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY is not set
+# CONFIG_FEATURE_TAR_GNU_EXTENSIONS is not set
+# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
+# CONFIG_UNCOMPRESS is not set
+# CONFIG_UNLZMA is not set
+# CONFIG_FEATURE_LZMA_FAST is not set
+# CONFIG_UNZIP is not set
+# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
+# CONFIG_FEATURE_DEB_TAR_GZ is not set
+# CONFIG_FEATURE_DEB_TAR_BZ2 is not set
+# CONFIG_FEATURE_DEB_TAR_LZMA is not set
+
+#
+# Coreutils
+#
+CONFIG_BASENAME=y
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+# CONFIG_CHGRP is not set
+CONFIG_CHMOD=y
+CONFIG_CHOWN=y
+CONFIG_CHROOT=y
+# CONFIG_CMP is not set
+# CONFIG_COMM is not set
+CONFIG_CP=y
+# CONFIG_CUT is not set
+# CONFIG_DATE is not set
+# CONFIG_FEATURE_DATE_ISOFMT is not set
+CONFIG_DD=y
+# CONFIG_DF is not set
+# CONFIG_DIRNAME is not set
+# CONFIG_DOS2UNIX is not set
+# CONFIG_UNIX2DOS is not set
+# CONFIG_DU is not set
+# CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K is not set
+CONFIG_ECHO=y
+CONFIG_FEATURE_FANCY_ECHO=y
+# CONFIG_ENV is not set
+# CONFIG_EXPR is not set
+# CONFIG_EXPR_MATH_SUPPORT_64 is not set
+CONFIG_FALSE=y
+# CONFIG_FOLD is not set
+# CONFIG_HEAD is not set
+# CONFIG_FEATURE_FANCY_HEAD is not set
+# CONFIG_HOSTID is not set
+# CONFIG_ID is not set
+# CONFIG_INSTALL is not set
+# CONFIG_LENGTH is not set
+CONFIG_LN=y
+# CONFIG_LOGNAME is not set
+CONFIG_LS=y
+# CONFIG_FEATURE_LS_FILETYPES is not set
+# CONFIG_FEATURE_LS_FOLLOWLINKS is not set
+# CONFIG_FEATURE_LS_RECURSIVE is not set
+CONFIG_FEATURE_LS_SORTFILES=y
+CONFIG_FEATURE_LS_TIMESTAMPS=y
+CONFIG_FEATURE_LS_USERNAME=y
+# CONFIG_FEATURE_LS_COLOR is not set
+# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
+# CONFIG_MD5SUM is not set
+CONFIG_MKDIR=y
+# CONFIG_MKFIFO is not set
+CONFIG_MKNOD=y
+CONFIG_MV=y
+# CONFIG_NICE is not set
+# CONFIG_NOHUP is not set
+# CONFIG_OD is not set
+# CONFIG_PRINTENV is not set
+# CONFIG_PRINTF is not set
+CONFIG_PWD=y
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
+# CONFIG_RMDIR is not set
+# CONFIG_SEQ is not set
+# CONFIG_SHA1SUM is not set
+# CONFIG_SLEEP is not set
+# CONFIG_FEATURE_FANCY_SLEEP is not set
+# CONFIG_SORT is not set
+# CONFIG_FEATURE_SORT_BIG is not set
+# CONFIG_STAT is not set
+# CONFIG_FEATURE_STAT_FORMAT is not set
+# CONFIG_STTY is not set
+# CONFIG_SUM is not set
+# CONFIG_SYNC is not set
+# CONFIG_TAIL is not set
+# CONFIG_FEATURE_FANCY_TAIL is not set
+# CONFIG_TEE is not set
+# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
+CONFIG_TEST=y
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+# CONFIG_TR is not set
+# CONFIG_FEATURE_TR_CLASSES is not set
+# CONFIG_FEATURE_TR_EQUIV is not set
+CONFIG_TRUE=y
+# CONFIG_TTY is not set
+# CONFIG_UNAME is not set
+# CONFIG_UNIQ is not set
+CONFIG_USLEEP=y
+# CONFIG_UUDECODE is not set
+# CONFIG_UUENCODE is not set
+# CONFIG_WATCH is not set
+# CONFIG_WC is not set
+# CONFIG_WHO is not set
+# CONFIG_WHOAMI is not set
+# CONFIG_YES is not set
+
+#
+# Common options for cp and mv
+#
+CONFIG_FEATURE_PRESERVE_HARDLINKS=y
+
+#
+# Common options for ls, more and telnet
+#
+CONFIG_FEATURE_AUTOWIDTH=y
+
+#
+# Common options for df, du, ls
+#
+# CONFIG_FEATURE_HUMAN_READABLE is not set
+# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
+
+#
+# Console Utilities
+#
+# CONFIG_CHVT is not set
+CONFIG_CLEAR=y
+# CONFIG_DEALLOCVT is not set
+# CONFIG_DUMPKMAP is not set
+# CONFIG_LOADFONT is not set
+# CONFIG_LOADKMAP is not set
+CONFIG_OPENVT=y
+# CONFIG_RESET is not set
+# CONFIG_SETCONSOLE is not set
+# CONFIG_SETKEYCODES is not set
+
+#
+# Debian Utilities
+#
+# CONFIG_MKTEMP is not set
+# CONFIG_PIPE_PROGRESS is not set
+# CONFIG_READLINK is not set
+# CONFIG_FEATURE_READLINK_FOLLOW is not set
+CONFIG_RUN_PARTS=y
+# CONFIG_START_STOP_DAEMON is not set
+# CONFIG_WHICH is not set
+
+#
+# Editors
+#
+# CONFIG_AWK is not set
+# CONFIG_FEATURE_AWK_MATH is not set
+# CONFIG_PATCH is not set
+# CONFIG_SED is not set
+CONFIG_VI=y
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_SEARCH=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+CONFIG_FEATURE_VI_DOT_CMD=y
+# CONFIG_FEATURE_VI_READONLY is not set
+# CONFIG_FEATURE_VI_SETOPTS is not set
+# CONFIG_FEATURE_VI_SET is not set
+# CONFIG_FEATURE_VI_WIN_RESIZE is not set
+CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
+
+#
+# Finding Utilities
+#
+# CONFIG_FIND is not set
+# CONFIG_FEATURE_FIND_MTIME is not set
+# CONFIG_FEATURE_FIND_MMIN is not set
+# CONFIG_FEATURE_FIND_PERM is not set
+# CONFIG_FEATURE_FIND_TYPE is not set
+# CONFIG_FEATURE_FIND_XDEV is not set
+# CONFIG_FEATURE_FIND_NEWER is not set
+# CONFIG_FEATURE_FIND_INUM is not set
+# CONFIG_FEATURE_FIND_EXEC is not set
+# CONFIG_GREP is not set
+# CONFIG_FEATURE_GREP_EGREP_ALIAS is not set
+# CONFIG_FEATURE_GREP_FGREP_ALIAS is not set
+# CONFIG_FEATURE_GREP_CONTEXT is not set
+# CONFIG_XARGS is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
+# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
+
+#
+# Init Utilities
+#
+# CONFIG_INIT is not set
+# CONFIG_FEATURE_USE_INITTAB is not set
+# CONFIG_FEATURE_INIT_SCTTY is not set
+# CONFIG_FEATURE_EXTRA_QUIET is not set
+# CONFIG_FEATURE_INIT_COREDUMPS is not set
+# CONFIG_FEATURE_INITRD is not set
+CONFIG_HALT=y
+# CONFIG_MESG is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_FEATURE_SHADOWPASSWDS is not set
+# CONFIG_USE_BB_SHADOW is not set
+# CONFIG_USE_BB_PWD_GRP is not set
+# CONFIG_ADDGROUP is not set
+# CONFIG_DELGROUP is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_DELUSER is not set
+# CONFIG_GETTY is not set
+# CONFIG_FEATURE_UTMP is not set
+# CONFIG_FEATURE_WTMP is not set
+# CONFIG_LOGIN is not set
+# CONFIG_FEATURE_SECURETTY is not set
+# CONFIG_PASSWD is not set
+# CONFIG_SU is not set
+# CONFIG_SULOGIN is not set
+# CONFIG_VLOCK is not set
+
+#
+# Linux Ext2 FS Progs
+#
+# CONFIG_CHATTR is not set
+# CONFIG_E2FSCK is not set
+# CONFIG_FSCK is not set
+# CONFIG_LSATTR is not set
+# CONFIG_MKE2FS is not set
+# CONFIG_TUNE2FS is not set
+# CONFIG_E2LABEL is not set
+# CONFIG_FINDFS is not set
+
+#
+# Linux Module Utilities
+#
+# CONFIG_INSMOD is not set
+# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
+# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
+# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
+# CONFIG_RMMOD is not set
+# CONFIG_LSMOD is not set
+# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
+# CONFIG_MODPROBE is not set
+# CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS is not set
+# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
+# CONFIG_FEATURE_2_4_MODULES is not set
+# CONFIG_FEATURE_2_6_MODULES is not set
+# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
+
+#
+# Linux System Utilities
+#
+CONFIG_DMESG=y
+CONFIG_FBSET=y
+CONFIG_FEATURE_FBSET_FANCY=y
+# CONFIG_FEATURE_FBSET_READMODE is not set
+# CONFIG_FDFLUSH is not set
+# CONFIG_FDFORMAT is not set
+# CONFIG_FDISK is not set
+FDISK_SUPPORT_LARGE_DISKS=y
+# CONFIG_FEATURE_FDISK_WRITABLE is not set
+# CONFIG_FEATURE_AIX_LABEL is not set
+# CONFIG_FEATURE_SGI_LABEL is not set
+# CONFIG_FEATURE_SUN_LABEL is not set
+# CONFIG_FEATURE_OSF_LABEL is not set
+# CONFIG_FEATURE_FDISK_ADVANCED is not set
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSCK_MINIX is not set
+# CONFIG_MKFS_MINIX is not set
+# CONFIG_FEATURE_MINIX2 is not set
+# CONFIG_GETOPT is not set
+# CONFIG_HEXDUMP is not set
+# CONFIG_HWCLOCK is not set
+# CONFIG_FEATURE_HWCLOCK_LONGOPTIONS is not set
+# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
+# CONFIG_IPCRM is not set
+# CONFIG_IPCS is not set
+# CONFIG_LOSETUP is not set
+# CONFIG_MDEV is not set
+# CONFIG_FEATURE_MDEV_CONF is not set
+# CONFIG_MKSWAP is not set
+# CONFIG_MORE is not set
+# CONFIG_FEATURE_USE_TERMIOS is not set
+CONFIG_MOUNT=y
+# CONFIG_FEATURE_MOUNT_NFS is not set
+# CONFIG_PIVOT_ROOT is not set
+# CONFIG_RDATE is not set
+# CONFIG_READPROFILE is not set
+# CONFIG_SETARCH is not set
+# CONFIG_SWAPONOFF is not set
+# CONFIG_SWITCH_ROOT is not set
+CONFIG_UMOUNT=y
+# CONFIG_FEATURE_UMOUNT_ALL is not set
+
+#
+# Common options for mount/umount
+#
+# CONFIG_FEATURE_MOUNT_LOOP is not set
+# CONFIG_FEATURE_MTAB_SUPPORT is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_ADJTIMEX is not set
+# CONFIG_BBCONFIG is not set
+# CONFIG_CROND is not set
+# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
+# CONFIG_CRONTAB is not set
+# CONFIG_DC is not set
+# CONFIG_DEVFSD is not set
+# CONFIG_DEVFSD_MODLOAD is not set
+# CONFIG_DEVFSD_FG_NP is not set
+# CONFIG_DEVFSD_VERBOSE is not set
+# CONFIG_EJECT is not set
+# CONFIG_LAST is not set
+# CONFIG_LESS is not set
+# CONFIG_FEATURE_LESS_BRACKETS is not set
+# CONFIG_FEATURE_LESS_FLAGS is not set
+# CONFIG_FEATURE_LESS_FLAGCS is not set
+# CONFIG_FEATURE_LESS_MARKS is not set
+# CONFIG_FEATURE_LESS_REGEXP is not set
+# CONFIG_HDPARM is not set
+# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
+# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
+# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
+# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
+CONFIG_MAKEDEVS=y
+# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
+CONFIG_FEATURE_MAKEDEVS_TABLE=y
+# CONFIG_MOUNTPOINT is not set
+# CONFIG_MT is not set
+# CONFIG_RUNLEVEL is not set
+# CONFIG_RX is not set
+# CONFIG_STRINGS is not set
+# CONFIG_SETSID is not set
+# CONFIG_TIME is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Networking Utilities
+#
+# CONFIG_FEATURE_IPV6 is not set
+# CONFIG_ARPING is not set
+# CONFIG_DNSD is not set
+# CONFIG_ETHER_WAKE is not set
+# CONFIG_FAKEIDENTD is not set
+# CONFIG_FTPGET is not set
+# CONFIG_FTPPUT is not set
+# CONFIG_HOSTNAME is not set
+# CONFIG_HTTPD is not set
+# CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY is not set
+# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
+# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
+# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
+# CONFIG_FEATURE_HTTPD_SETUID is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
+# CONFIG_FEATURE_HTTPD_CGI is not set
+# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
+# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
+# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
+# CONFIG_IFCONFIG is not set
+# CONFIG_FEATURE_IFCONFIG_STATUS is not set
+# CONFIG_FEATURE_IFCONFIG_SLIP is not set
+# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
+# CONFIG_FEATURE_IFCONFIG_HW is not set
+# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
+# CONFIG_IFUPDOWN is not set
+# CONFIG_FEATURE_IFUPDOWN_IP is not set
+# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
+# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
+# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
+# CONFIG_FEATURE_IFUPDOWN_IPX is not set
+# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
+# CONFIG_INETD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_ECHO is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DISCARD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_TIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_DAYTIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BILTIN_CHARGEN is not set
+# CONFIG_FEATURE_INETD_RPC is not set
+# CONFIG_IP is not set
+# CONFIG_FEATURE_IP_ADDRESS is not set
+# CONFIG_FEATURE_IP_LINK is not set
+# CONFIG_FEATURE_IP_ROUTE is not set
+# CONFIG_FEATURE_IP_TUNNEL is not set
+# CONFIG_IPCALC is not set
+# CONFIG_FEATURE_IPCALC_FANCY is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_IPTUNNEL is not set
+# CONFIG_NAMEIF is not set
+# CONFIG_NC is not set
+# CONFIG_NC_GAPING_SECURITY_HOLE is not set
+# CONFIG_NETSTAT is not set
+# CONFIG_NSLOOKUP is not set
+# CONFIG_PING is not set
+# CONFIG_FEATURE_FANCY_PING is not set
+# CONFIG_PING6 is not set
+# CONFIG_FEATURE_FANCY_PING6 is not set
+# CONFIG_ROUTE is not set
+# CONFIG_TELNET is not set
+# CONFIG_FEATURE_TELNET_TTYPE is not set
+# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set
+# CONFIG_TELNETD is not set
+# CONFIG_FEATURE_TELNETD_INETD is not set
+# CONFIG_TFTP is not set
+# CONFIG_FEATURE_TFTP_GET is not set
+# CONFIG_FEATURE_TFTP_PUT is not set
+# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
+# CONFIG_FEATURE_TFTP_DEBUG is not set
+# CONFIG_TRACEROUTE is not set
+# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
+# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
+# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
+# CONFIG_VCONFIG is not set
+# CONFIG_WGET is not set
+# CONFIG_FEATURE_WGET_STATUSBAR is not set
+# CONFIG_FEATURE_WGET_AUTHENTICATION is not set
+# CONFIG_FEATURE_WGET_IP6_LITERAL is not set
+
+#
+# udhcp Server/Client
+#
+# CONFIG_UDHCPD is not set
+# CONFIG_UDHCPC is not set
+# CONFIG_DUMPLEASES is not set
+# CONFIG_FEATURE_UDHCP_SYSLOG is not set
+# CONFIG_FEATURE_UDHCP_DEBUG is not set
+# CONFIG_ZCIP is not set
+
+#
+# Process Utilities
+#
+# CONFIG_FREE is not set
+# CONFIG_FUSER is not set
+# CONFIG_KILL is not set
+# CONFIG_KILLALL is not set
+# CONFIG_PIDOF is not set
+# CONFIG_FEATURE_PIDOF_SINGLE is not set
+# CONFIG_FEATURE_PIDOF_OMIT is not set
+# CONFIG_PS is not set
+# CONFIG_FEATURE_PS_WIDE is not set
+# CONFIG_RENICE is not set
+# CONFIG_BB_SYSCTL is not set
+# CONFIG_TOP is not set
+# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set
+# CONFIG_UPTIME is not set
+
+#
+# Shells
+#
+CONFIG_FEATURE_SH_IS_ASH=y
+# CONFIG_FEATURE_SH_IS_HUSH is not set
+# CONFIG_FEATURE_SH_IS_LASH is not set
+# CONFIG_FEATURE_SH_IS_MSH is not set
+# CONFIG_FEATURE_SH_IS_NONE is not set
+CONFIG_ASH=y
+
+#
+# Ash Shell Options
+#
+# CONFIG_ASH_JOB_CONTROL is not set
+# CONFIG_ASH_READ_NCHARS is not set
+# CONFIG_ASH_READ_TIMEOUT is not set
+CONFIG_ASH_ALIAS=y
+CONFIG_ASH_MATH_SUPPORT=y
+# CONFIG_ASH_MATH_SUPPORT_64 is not set
+CONFIG_ASH_GETOPTS=y
+CONFIG_ASH_CMDCMD=y
+# CONFIG_ASH_BUILTIN_ECHO is not set
+# CONFIG_ASH_MAIL is not set
+CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
+# CONFIG_ASH_RANDOM_SUPPORT is not set
+# CONFIG_ASH_EXPAND_PRMT is not set
+# CONFIG_HUSH is not set
+# CONFIG_LASH is not set
+# CONFIG_MSH is not set
+
+#
+# Bourne Shell Options
+#
+CONFIG_FEATURE_SH_EXTRA_QUIET=y
+CONFIG_FEATURE_SH_STANDALONE_SHELL=y
+CONFIG_FEATURE_COMMAND_EDITING=y
+# CONFIG_FEATURE_COMMAND_EDITING_VI is not set
+CONFIG_FEATURE_COMMAND_HISTORY=15
+# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
+CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
+# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
+# CONFIG_FEATURE_SH_FANCY_PROMPT is not set
+
+#
+# System Logging Utilities
+#
+# CONFIG_SYSLOGD is not set
+# CONFIG_FEATURE_ROTATE_LOGFILE is not set
+# CONFIG_FEATURE_REMOTE_LOG is not set
+# CONFIG_FEATURE_IPC_SYSLOG is not set
+CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
+# CONFIG_LOGREAD is not set
+# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
+# CONFIG_KLOGD is not set
+# CONFIG_LOGGER is not set
Index: buildrom-devel/packages/uclibc/uclibc.mk
===================================================================
--- buildrom-devel/packages/uclibc/uclibc.mk	(revision 56)
+++ buildrom-devel/packages/uclibc/uclibc.mk	(working copy)
@@ -1,7 +1,14 @@
+ifeq ($(CONFIG_PAYLOAD_LAB),y)
+ifndef UCLIBC_VER
+UCLIBC_VER=0.9.28
+$(warning No UCLIBC_VER specified, using default $(UCLIBC_VER))
+endif
+endif
+
 UCLIBC_URL=http://www.uclibc.org/downloads
-UCLIBC_SOURCE=uClibc-0.9.28.tar.bz2
+UCLIBC_SOURCE=uClibc-$(UCLIBC_VER).tar.bz2
 UCLIBC_DIR=$(BUILD_DIR)/uclibc
-UCLIBC_SRC_DIR=$(UCLIBC_DIR)/uClibc-0.9.28
+UCLIBC_SRC_DIR=$(UCLIBC_DIR)/uClibc-$(UCLIBC_VER)
 UCLIBC_STAMP_DIR=$(UCLIBC_DIR)/stamps
 UCLIBC_LOG_DIR=$(UCLIBC_DIR)/logs
 
@@ -15,6 +22,7 @@
 
 # Default, if its not set in the platform config
 UCLIBC_ARCH ?= $(TARGET_ARCH)
+UCLIBC_CONFIG ?= defconfig
 
 $(SOURCE_DIR)/$(UCLIBC_SOURCE):
 	@ mkdir -p $(SOURCE_DIR)
@@ -26,7 +34,7 @@
 	@ touch $@	
 
 $(UCLIBC_SRC_DIR)/.config: $(UCLIBC_STAMP_DIR)/.unpacked
-	@ cp $(PACKAGE_DIR)/uclibc/conf/defconfig $(UCLIBC_SRC_DIR)/.config
+	@ cat $(PACKAGE_DIR)/uclibc/conf/$(UCLIBC_CONFIG) | sed -e s:^KERNEL_HEADERS=.*:KERNEL_HEADERS=\"$(KERNEL_SRC_DIR)/include\": > $(UCLIBC_SRC_DIR)/.config
 
 $(UCLIBC_SRC_DIR)/lib/libc.a: $(UCLIBC_SRC_DIR)/.config
 	@ echo "Building uclibc..." 
Index: buildrom-devel/packages/linuxbios/linuxbios.inc
===================================================================
--- buildrom-devel/packages/linuxbios/linuxbios.inc	(revision 56)
+++ buildrom-devel/packages/linuxbios/linuxbios.inc	(working copy)
@@ -68,7 +68,7 @@
 	@ touch $@
 
 $(LINUXBIOS_STAMP_DIR)/.configured: $(LINUXBIOS_STAMP_DIR)/.patched
-	@ echo "Building target config file..."
+	@ echo "Building target..."
 	@( cd $(LINUXBIOS_TARGET_DIR); \
 	./buildtarget $(LINUXBIOS_CONFIG_NAME) > $(LINUXBIOS_CONFIG_LOG) 2>&1)
 	@ touch $@
Index: buildrom-devel/packages/linuxbios/generic-linuxbios.mk
===================================================================
--- buildrom-devel/packages/linuxbios/generic-linuxbios.mk	(revision 56)
+++ buildrom-devel/packages/linuxbios/generic-linuxbios.mk	(working copy)
@@ -7,20 +7,11 @@
 endif
 
 LINUXBIOS_BASE_DIR=svn
-LINUXBIOS_URL=svn://openbios.org/repos/trunk/LinuxBIOSv2
+LINUXBIOS_URL=svn://linuxbios.org/repos/trunk/LinuxBIOSv2
 LINUXBIOS_TARBALL=linuxbios-svn-$(LINUXBIOS_TAG).tar.gz
 LINUXBIOS_PAYLOAD_TARGET=$(LINUXBIOS_BUILD_DIR)/payload.elf
 TARGET_ROM = $(LINUXBIOS_VENDOR)-$(LINUXBIOS_BOARD).rom
 
-# Make sure we have the tools we need to accomplish this
-HAVE_IASL:=$(call find-tool,iasl)
-
-ifeq ($(HAVE_IASL),n)
-$(error To build LinuxBIOS, you need to install the 'iasl' tool)
-endif
-
-LINUXBIOS_PATCHES += $(PACKAGE_DIR)/linuxbios/patches/s-c-buildrom-payload.patch
-
 include $(PACKAGE_DIR)/linuxbios/linuxbios.inc
 
 $(SOURCE_DIR)/$(LINUXBIOS_TARBALL): 
Index: buildrom-devel/packages/linuxbios/serengeti_cheetah.mk
===================================================================
--- buildrom-devel/packages/linuxbios/serengeti_cheetah.mk	(revision 0)
+++ buildrom-devel/packages/linuxbios/serengeti_cheetah.mk	(revision 0)
@@ -0,0 +1,44 @@
+# This is the Generic LinuxBIOS target
+
+ifeq ($(CONFIG_PLATFORM),y)
+ifeq ($(LINUXBIOS_TAG),)
+$(error You need to specify a version to pull in your platform config)
+endif
+endif
+
+LINUXBIOS_PATCHES =
+
+# Make sure we have the tools we need to accomplish this
+HAVE_IASL:=$(call find-tool,iasl)
+
+ifeq ($(HAVE_IASL),n)
+$(error To build LinuxBIOS, you need to install the 'iasl' tool)
+endif
+
+ifeq ($(CONFIG_PAYLOAD_LAB),y)
+	LINUXBIOS_PATCHES += $(PACKAGE_DIR)/linuxbios/patches/serengeti_cheetah-lab.patch
+else
+	LINUXBIOS_PATCHES += $(PACKAGE_DIR)/linuxbios/patches/serengeti_cheetah-payload.patch
+endif
+
+LINUXBIOS_BASE_DIR=svn
+LINUXBIOS_URL=svn://linuxbios.org/repos/trunk/LinuxBIOSv2
+LINUXBIOS_TARBALL=linuxbios-svn-$(LINUXBIOS_TAG).tar.gz
+LINUXBIOS_PAYLOAD_TARGET=$(LINUXBIOS_BUILD_DIR)/payload.elf
+TARGET_ROM = $(LINUXBIOS_VENDOR)-$(LINUXBIOS_BOARD).rom
+
+include $(PACKAGE_DIR)/linuxbios/linuxbios.inc
+
+$(SOURCE_DIR)/$(LINUXBIOS_TARBALL):
+	@ echo "Fetching the LinuxBIOS code..."
+	@ mkdir -p $(SOURCE_DIR)/linuxbios
+	@ $(BIN_DIR)/fetchsvn.sh $(LINUXBIOS_URL) $(SOURCE_DIR)/linuxbios \
+	$(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \
+	> $(LINUXBIOS_FETCH_LOG) 2>&1
+
+$(OUTPUT_DIR)/$(TARGET_ROM): $(LINUXBIOS_OUTPUT)
+	@ cp $< $@
+
+linuxbios: $(OUTPUT_DIR)/$(TARGET_ROM)
+linuxbios-clean: generic-linuxbios-clean
+linuxbios-distclean: generic-linuxbios-distclean
