diff -ur buildrom_org/bin/checkrom.sh buildrom2/bin/checkrom.sh
--- buildrom_org/bin/checkrom.sh	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/bin/checkrom.sh	2006-10-30 11:23:11.000000000 -0600
@@ -7,7 +7,7 @@
 if [ $delta -lt 0 ]; then 
 	echo "ERROR! ERROR! ERROR!"
 	echo "The ELF image $1 is too big!"
-	exit -1
+	#exit -1
 fi
 
 exit 0
diff -ur buildrom_org/bin/fetchsvn.sh buildrom2/bin/fetchsvn.sh
--- buildrom_org/bin/fetchsvn.sh	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/bin/fetchsvn.sh	2006-10-30 11:23:11.000000000 -0600
@@ -4,28 +4,32 @@
 URL=$1
 DIR=$2
 REV=$3
-TARBALL=$4
+
+BASE=`dirname $DIR`
 
 # Simple case - the repository doesn't exist
 
-if [ ! -d $DIR/svn/.svn ]; then
-	echo "Fetching $URL..."	
-	svn co -r $REV $URL $DIR/svn
-	if [ $? -ne 0 ]; then
-		echo "Couldn't fetch the code from $URL"
+if [ ! -d $DIR/.svn ]; then
+	echo "Checking out LinuxBIOS $REV"
+	(cd $BASE; \
+	svn co -r $REV $URL || {
+		echo "Couldn't get the repository."
 		exit 1
-	fi	
-else
-	CURREV=`svn info $DIR/svn | grep "Last Changed Rev" | awk '{ print $4 }'`
-
-	if [ $CURREV -ne $REV ]; then
-		(cd $DIR/svn; \
-		echo "Updating from $CURREV to $REV"
-		svn update -r $REV || {
-			echo "Couldn't update the repository."
-			exit 1
-		})
-	fi
+	})
+
+	exit 0
+fi
+
+CURREV=`svn info $DIR | grep "Last Changed Rev" | awk '{ print $4 }'`
+
+if [ $CURREV -ne $REV ]; then
+	(cd $DIR; \
+	echo "Updating LinuxBIOS from $CURREV to $REV"
+	svn update -r $REV || {
+		echo "Couldn't update the repository."
+		exit 1
+	})
+
+        exit 0
 fi
 
-tar -C $DIR -zcf $TARBALL svn 
diff -ur buildrom_org/Config.mk buildrom2/Config.mk
--- buildrom_org/Config.mk	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/Config.mk	2006-10-30 11:23:11.000000000 -0600
@@ -1,58 +1,29 @@
 # This is the configuration for the build system
 
-# This is the version string printed during boot.
+# this is the version string printed during boot.
 ROM_VERSION=rev_a_20060926-1
 
-# The following components are used to create the firmware signature in
-# the ROM.  see README.signature for information about how this is 
-# constructed.
-
-# The firmware model is a 6 byte string that identifies the model
-# This should stay static for the entire CL1 run.
-FIRMWARE_MODEL=CL1
-
-# The firmware revision is a 7 byte string that identifies the current
-# version.  The first three bytes of this will be repeated at the end of
-# the string, but that will be pulled out automatically
-FIRMWARE_REVISION = Q2A11
-
 # Uncomment this to see the output from the package builds
 #VERBOSE=y
 
 # You probably won't need to change these, unless you are playing with
 # LinuxBIOS
 LINUXBIOS_CONFIG=Config.SPI.lb
+LINUXBIOS_VER=2432
 LINUXBIOS_ENABLE_LZMA=y
 
-# This is the default - to pull from the laptop.org tree
-
-LINUXBIOS_FETCH=git
-LINUXBIOS_GIT_URL=git://dev.laptop.org/projects/linuxbios
-LINUXBIOS_GIT_TAG=8ed1192c1ba0e9bd90780c14b2d6e1ac663a8278
-
-# This will pull from the pristine LB tree
-# This is not the default - don't enable it unless told otherwise
-
-#LINUXBIOS_FETCH=svn
-#LINUXBIOS_SVN_URL=svn://openbios.org/repos/trunk/LinuxBIOSv2
-#LINUXBIOS_SVN_TAG=2376
-
-# This is the version number for the embedded controller code pulled 
-# in the LinuxBIOS build
-EC_VER=20
-
 # Please don't uncomment this unless somebody tells you to
 # LINUXBIOS_CAS25=y
 
 # Specify the commandline to use with mkelfimage
-COMMAND_LINE=console=ttyS0,115200 mem=119m rdinit=/linuxrc
+COMMAND_LINE=console=ttyS0,115200 console=tty0 rdinit=/linuxrc
 
 # Uncomment the packages you want from the following list
 # Say 'y' here to build Marcelo's kexec-boot-loader
-INITRD_KBL=y
+INITRD_KBL=n
 
 # Say 'y' here to use it as a cheap substitute for kexec-tools
-KBL_KEXEC_ONLY=y
+KBL_KEXEC_ONLY=n
 
 # Say 'y' here to build busybox
 INITRD_BUSYBOX=y
@@ -61,10 +32,10 @@
 #INITRD_WIRELESS=n
 
 # Say 'y' here to build the bootmenu
-INITRD_BOOTMENU=y
+INITRD_BOOTMENU=n
 
 # Say 'y' here to build the olpcflash utility
-INITRD_OLPCFLASH=y
+INITRD_OLPCFLASH=n
 
 # Uncomment this to enable the FS2 debugger by disabling several fixes in
 # LinuxBIOS
Binary files buildrom_org/.git/index and buildrom2/.git/index differ
diff -ur buildrom_org/.git/refs/heads/master buildrom2/.git/refs/heads/master
--- buildrom_org/.git/refs/heads/master	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/.git/refs/heads/master	2006-10-30 11:23:11.000000000 -0600
@@ -1 +1 @@
-376d4ad05c5d08a119c2735fd26d45f22b0e44fd
+a386d79e9f4e9acb39318cfde26f1dc4a2b695ca
diff -ur buildrom_org/.git/refs/heads/origin buildrom2/.git/refs/heads/origin
--- buildrom_org/.git/refs/heads/origin	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/.git/refs/heads/origin	2006-10-30 11:23:11.000000000 -0600
@@ -1 +1 @@
-376d4ad05c5d08a119c2735fd26d45f22b0e44fd
+a386d79e9f4e9acb39318cfde26f1dc4a2b695ca
diff -ur buildrom_org/Makefile buildrom2/Makefile
--- buildrom_org/Makefile	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/Makefile	2006-10-30 11:23:11.000000000 -0600
@@ -70,7 +70,8 @@
 	@ rm -f $@
 	@ $(STAGING_DIR)/sbin/mkelfImage --command-line="$(COMMAND_LINE)" \
 	--ramdisk=$(OUTPUT_DIR)/initrd.uncompressed \
-	$(OUTPUT_DIR)/vmlinux $@
+	$(OUTPUT_DIR)/bzImage $@
+	#$(OUTPUT_DIR)/vmlinux $@
 	@ chmod 0644 $@
 
 $(OUTPUT_DIR)/olpc-payload.elf: $(OUTPUT_DIR)/initrd
diff -ur buildrom_org/packages/bin/README buildrom2/packages/bin/README
--- buildrom_org/packages/bin/README	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/bin/README	2006-10-30 11:23:11.000000000 -0600
@@ -1,4 +1,9 @@
 This directory contains the binary bits that make up various parts of the 
 ROM:
 
-olpc_vsa.64k.bin - VSA code for the ROM.  Stored from 32k to 64k in the ROM.
+ec.bin - code to control the embedded controller.  Forms the first 64k of the
+final ROM image.
+
+olpc_vsa.64k.bin - VSA code for the ROM.  Is contained in the next 32k of the
+final ROM
+
diff -ur buildrom_org/packages/busybox/busybox.mk buildrom2/packages/busybox/busybox.mk
--- buildrom_org/packages/busybox/busybox.mk	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/busybox/busybox.mk	2006-10-30 11:23:11.000000000 -0600
@@ -5,7 +5,6 @@
 BUSYBOX_STAMP_DIR=$(BUSYBOX_DIR)/stamps
 BUSYBOX_LOG_DIR=$(BUSYBOX_DIR)/logs
 BUSYBOX_PATCHES=$(PACKAGE_DIR)/busybox/testfix.patch $(PACKAGE_DIR)/busybox/regex.patch
-BUSYBOX_PATCHES += $(PACKAGE_DIR)/busybox/ipaddress.patch
 
 ifeq ($(VERBOSE),y)
 BUSYBOX_BUILD_LOG=/dev/stdout
diff -ur buildrom_org/packages/busybox/conf/defconfig buildrom2/packages/busybox/conf/defconfig
--- buildrom_org/packages/busybox/conf/defconfig	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/busybox/conf/defconfig	2006-10-30 11:23:11.000000000 -0600
@@ -229,8 +229,8 @@
 #
 # CONFIG_MKTEMP is not set
 # CONFIG_PIPE_PROGRESS is not set
-CONFIG_READLINK=y
-CONFIG_FEATURE_READLINK_FOLLOW=y
+# 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
diff -ur buildrom_org/packages/kernel/conf/defconfig buildrom2/packages/kernel/conf/defconfig
--- buildrom_org/packages/kernel/conf/defconfig	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/kernel/conf/defconfig	2006-10-30 11:27:38.000000000 -0600
@@ -1,20 +1,25 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.19-rc2
-# Thu Oct 26 15:18:22 2006
+# Linux kernel version: 2.6.18.1
+# Mon Oct 16 10:04:40 2006
 #
-CONFIG_X86_32=y
-CONFIG_GENERIC_TIME=y
+CONFIG_X86_64=y
+CONFIG_64BIT=y
+CONFIG_X86=y
 CONFIG_LOCKDEP_SUPPORT=y
 CONFIG_STACKTRACE_SUPPORT=y
 CONFIG_SEMAPHORE_SLEEPERS=y
-CONFIG_X86=y
 CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_X86_CMPXCHG=y
+CONFIG_EARLY_PRINTK=y
 CONFIG_GENERIC_ISA_DMA=y
 CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_HWEIGHT=y
 CONFIG_ARCH_MAY_HAVE_PC_FDC=y
 CONFIG_DMI=y
+CONFIG_AUDIT_ARCH=y
 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
 
 #
@@ -32,14 +37,13 @@
 # CONFIG_SWAP is not set
 # CONFIG_SYSVIPC is not set
 # CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_UTS_NS is not set
 # CONFIG_IKCONFIG is not set
 # CONFIG_RELAY is not set
 CONFIG_INITRAMFS_SOURCE=""
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
 CONFIG_EMBEDDED=y
 CONFIG_UID16=y
-# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_SYSCTL is not set
 # CONFIG_KALLSYMS is not set
 # CONFIG_HOTPLUG is not set
 CONFIG_PRINTK=y
@@ -55,7 +59,7 @@
 # CONFIG_CONSOLE_TRANSLATIONS is not set
 # CONFIG_XATTR is not set
 # CONFIG_FILE_LOCKING is not set
-# CONFIG_PCI_QUIRKS is not set
+CONFIG_PCI_QUIRKS=y
 # CONFIG_CRC32_TABLES is not set
 CONFIG_PROCESSOR_SELECT=y
 # CONFIG_CPU_SUP_INTEL is not set
@@ -80,7 +84,6 @@
 #
 # Block layer
 #
-CONFIG_BLOCK=y
 # CONFIG_LBD is not set
 # CONFIG_BLK_DEV_IO_TRACE is not set
 # CONFIG_LSF is not set
@@ -101,108 +104,59 @@
 #
 # Processor type and features
 #
-# CONFIG_SMP is not set
 CONFIG_X86_PC=y
-# CONFIG_X86_ELAN is not set
-# CONFIG_X86_VOYAGER is not set
-# CONFIG_X86_NUMAQ is not set
-# CONFIG_X86_SUMMIT is not set
-# CONFIG_X86_BIGSMP is not set
-# CONFIG_X86_VISWS is not set
-# CONFIG_X86_GENERICARCH is not set
-# CONFIG_X86_ES7000 is not set
-# CONFIG_M386 is not set
-# CONFIG_M486 is not set
-# CONFIG_M586 is not set
-# CONFIG_M586TSC is not set
-# CONFIG_M586MMX is not set
-# CONFIG_M686 is not set
-# CONFIG_MPENTIUMII is not set
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
-# CONFIG_MPENTIUM4 is not set
-# CONFIG_MK6 is not set
-# CONFIG_MK7 is not set
-# CONFIG_MK8 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MWINCHIPC6 is not set
-# CONFIG_MWINCHIP2 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MGEODEGX1 is not set
-CONFIG_MGEODE_LX=y
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_X86_GENERIC is not set
-CONFIG_X86_CMPXCHG=y
-CONFIG_X86_XADD=y
-CONFIG_X86_L1_CACHE_SHIFT=5
-CONFIG_RWSEM_XCHGADD_ALGORITHM=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_BSWAP=y
-CONFIG_X86_POPAD_OK=y
-CONFIG_X86_CMPXCHG64=y
-CONFIG_X86_USE_PPRO_CHECKSUM=y
-CONFIG_X86_USE_3DNOW=y
+# CONFIG_X86_VSMP is not set
+CONFIG_MK8=y
+# CONFIG_MPSC is not set
+# CONFIG_GENERIC_CPU is not set
+CONFIG_X86_L1_CACHE_BYTES=64
+CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_INTERNODE_CACHE_BYTES=64
 CONFIG_X86_TSC=y
-# CONFIG_HPET_TIMER is not set
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-# CONFIG_X86_UP_APIC is not set
-# CONFIG_X86_MCE is not set
-# CONFIG_VM86 is not set
-# CONFIG_TOSHIBA is not set
-# CONFIG_I8K is not set
-# CONFIG_X86_REBOOTFIXUPS is not set
+CONFIG_X86_GOOD_APIC=y
 # CONFIG_MICROCODE is not set
 # CONFIG_X86_MSR is not set
 # CONFIG_X86_CPUID is not set
-
-#
-# Firmware Drivers
-#
-# CONFIG_EDD is not set
-# CONFIG_DELL_RBU is not set
-# CONFIG_DCDBAS is not set
-CONFIG_NOHIGHMEM=y
-# CONFIG_HIGHMEM4G is not set
-# CONFIG_HIGHMEM64G is not set
-CONFIG_VMSPLIT_3G=y
-# CONFIG_VMSPLIT_3G_OPT is not set
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_1G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_LOCAL_APIC=y
+# CONFIG_MTRR is not set
+# CONFIG_SMP is not set
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
 CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_ARCH_FLATMEM_ENABLE=y
 CONFIG_SELECT_MEMORY_MODEL=y
 CONFIG_FLATMEM_MANUAL=y
 # CONFIG_DISCONTIGMEM_MANUAL is not set
 # CONFIG_SPARSEMEM_MANUAL is not set
 CONFIG_FLATMEM=y
 CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_SPARSEMEM_STATIC=y
+# CONFIG_SPARSEMEM_STATIC is not set
 CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_RESOURCES_64BIT is not set
-# CONFIG_MATH_EMULATION is not set
-# CONFIG_MTRR is not set
-# CONFIG_REGPARM is not set
+CONFIG_RESOURCES_64BIT=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_HPET_TIMER=y
+CONFIG_IOMMU=y
+CONFIG_CALGARY_IOMMU=y
+CONFIG_SWIOTLB=y
+# CONFIG_X86_MCE is not set
+CONFIG_KEXEC=y
+CONFIG_CRASH_DUMP=y
+CONFIG_PHYSICAL_START=0x100000
 # CONFIG_SECCOMP is not set
-CONFIG_VGA_NOPROBE=y
 CONFIG_HZ_100=y
 # CONFIG_HZ_250 is not set
 # CONFIG_HZ_1000 is not set
 CONFIG_HZ=100
-CONFIG_KEXEC=y
-CONFIG_PHYSICAL_START=0x100000
-# CONFIG_COMPAT_VDSO is not set
+# CONFIG_REORDER is not set
+CONFIG_K8_NB=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_ISA_DMA_API=y
 
 #
-# Power management options (ACPI, APM)
+# Power management options
 #
 # CONFIG_PM is not set
 
@@ -217,21 +171,12 @@
 # CONFIG_CPU_FREQ is not set
 
 #
-# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
+# Bus options (PCI etc.)
 #
 CONFIG_PCI=y
-# CONFIG_PCI_GOBIOS is not set
-# CONFIG_PCI_GOMMCONFIG is not set
-CONFIG_PCI_GODIRECT=y
-# CONFIG_PCI_GOANY is not set
 CONFIG_PCI_DIRECT=y
 # CONFIG_PCIEPORTBUS is not set
-# CONFIG_PCI_MULTITHREAD_PROBE is not set
-CONFIG_ISA_DMA_API=y
-# CONFIG_ISA is not set
-# CONFIG_MCA is not set
-# CONFIG_SCx200 is not set
-CONFIG_OLPC=y
+CONFIG_PCI_MSI=y
 
 #
 # PCCARD (PCMCIA/CardBus) support
@@ -242,11 +187,13 @@
 #
 
 #
-# Executable file formats
+# Executable file formats / Emulations
 #
 CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_AOUT is not set
 # CONFIG_BINFMT_MISC is not set
+CONFIG_IA32_EMULATION=y
+CONFIG_IA32_AOUT=y
+CONFIG_COMPAT=y
 
 #
 # Networking
@@ -285,7 +232,6 @@
 # CONFIG_NFTL is not set
 # CONFIG_INFTL is not set
 # CONFIG_RFD_FTL is not set
-# CONFIG_SSFDC is not set
 
 #
 # RAM/ROM/Flash chip drivers
@@ -338,8 +284,6 @@
 # CONFIG_MTD_NAND_ECC_SMC is not set
 CONFIG_MTD_NAND_IDS=y
 # CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_CAFE=y
-CONFIG_MTD_NAND_CS553X=y
 
 #
 # OneNAND Flash Device Drivers
@@ -372,13 +316,6 @@
 # CONFIG_CDROM_PKTCDVD is not set
 
 #
-# Misc devices
-#
-# CONFIG_IBM_ASM is not set
-# CONFIG_SGI_IOC4 is not set
-# CONFIG_TIFM_CORE is not set
-
-#
 # ATA/ATAPI/MFM/RLL support
 #
 # CONFIG_IDE is not set
@@ -388,7 +325,6 @@
 #
 # CONFIG_RAID_ATTRS is not set
 CONFIG_SCSI=y
-# CONFIG_SCSI_NETLINK is not set
 # CONFIG_SCSI_PROC_FS is not set
 
 #
@@ -409,12 +345,11 @@
 # CONFIG_SCSI_LOGGING is not set
 
 #
-# SCSI Transports
+# SCSI Transport Attributes
 #
 # CONFIG_SCSI_SPI_ATTRS is not set
 # CONFIG_SCSI_FC_ATTRS is not set
 # CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
 
 #
 # SCSI low-level drivers
@@ -426,13 +361,10 @@
 # CONFIG_SCSI_AIC7XXX is not set
 # CONFIG_SCSI_AIC7XXX_OLD is not set
 # CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC94XX is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_ARCMSR is not set
 # CONFIG_MEGARAID_NEWGEN is not set
 # CONFIG_MEGARAID_LEGACY is not set
 # CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_SATA is not set
 # CONFIG_SCSI_HPTIOP is not set
 # CONFIG_SCSI_BUSLOGIC is not set
 # CONFIG_SCSI_DMX3191D is not set
@@ -442,23 +374,16 @@
 # CONFIG_SCSI_IPS is not set
 # CONFIG_SCSI_INITIO is not set
 # CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_STEX is not set
 # CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
 # CONFIG_SCSI_QLOGIC_1280 is not set
 # CONFIG_SCSI_QLA_FC is not set
-# CONFIG_SCSI_QLA_ISCSI is not set
 # CONFIG_SCSI_LPFC is not set
 # CONFIG_SCSI_DC395x is not set
 # CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_NSP32 is not set
 # CONFIG_SCSI_DEBUG is not set
 
 #
-# Serial ATA (prod) and Parallel ATA (experimental) drivers
-#
-# CONFIG_ATA is not set
-
-#
 # Multi-device support (RAID and LVM)
 #
 # CONFIG_MD is not set
@@ -494,7 +419,6 @@
 # Input device support
 #
 CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS is not set
 
 #
 # Userland interfaces
@@ -514,7 +438,6 @@
 # CONFIG_KEYBOARD_LKKBD is not set
 # CONFIG_KEYBOARD_XTKBD is not set
 # CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
 # CONFIG_INPUT_MOUSE is not set
 # CONFIG_INPUT_JOYSTICK is not set
 # CONFIG_INPUT_TOUCHSCREEN is not set
@@ -576,18 +499,19 @@
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
 #
 # CONFIG_FTAPE is not set
-# CONFIG_AGP is not set
+CONFIG_AGP=y
+CONFIG_AGP_AMD64=y
+# CONFIG_AGP_INTEL is not set
+# CONFIG_AGP_SIS is not set
+# CONFIG_AGP_VIA is not set
 # CONFIG_DRM is not set
 # CONFIG_MWAVE is not set
 # CONFIG_PC8736x_GPIO is not set
-# CONFIG_NSC_GPIO is not set
-# CONFIG_CS5535_GPIO is not set
 # CONFIG_RAW_DRIVER is not set
 # CONFIG_HANGCHECK_TIMER is not set
 
@@ -611,7 +535,6 @@
 #
 # Dallas's 1-wire bus
 #
-# CONFIG_W1 is not set
 
 #
 # Hardware Monitoring support
@@ -620,9 +543,15 @@
 # CONFIG_HWMON_VID is not set
 
 #
+# Misc devices
+#
+# CONFIG_IBM_ASM is not set
+
+#
 # Multimedia devices
 #
 # CONFIG_VIDEO_DEV is not set
+CONFIG_VIDEO_V4L2=y
 
 #
 # Digital Video Broadcasting Devices
@@ -648,31 +577,34 @@
 # CONFIG_FB_ASILIANT is not set
 # CONFIG_FB_IMSTT is not set
 # CONFIG_FB_VGA16 is not set
+# CONFIG_FB_VESA is not set
 # CONFIG_FB_HGA is not set
 # CONFIG_FB_S1D13XXX is not set
 # CONFIG_FB_NVIDIA is not set
 # CONFIG_FB_RIVA is not set
-# CONFIG_FB_I810 is not set
+# CONFIG_FB_INTEL is not set
 # CONFIG_FB_MATROX is not set
 # CONFIG_FB_RADEON is not set
 # CONFIG_FB_ATY128 is not set
 # CONFIG_FB_ATY is not set
 # CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
 # CONFIG_FB_NEOMAGIC is not set
 # CONFIG_FB_KYRO is not set
 # CONFIG_FB_3DFX is not set
 # CONFIG_FB_VOODOO1 is not set
-# CONFIG_FB_CYBLA is not set
 # CONFIG_FB_TRIDENT is not set
 CONFIG_FB_GEODE=y
 CONFIG_FB_GEODE_GX=y
-# CONFIG_FB_GEODE_GX_DCON is not set
 # CONFIG_FB_GEODE_GX1 is not set
 # CONFIG_FB_VIRTUAL is not set
 
 #
 # Console display driver support
 #
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+# CONFIG_VIDEO_SELECT is not set
 CONFIG_DUMMY_CONSOLE=y
 CONFIG_FRAMEBUFFER_CONSOLE=y
 # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
@@ -719,10 +651,7 @@
 #
 # USB Host Controller Drivers
 #
-CONFIG_USB_EHCI_HCD=y
-# CONFIG_USB_EHCI_SPLIT_ISO is not set
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+# CONFIG_USB_EHCI_HCD is not set
 # CONFIG_USB_ISP116X_HCD is not set
 CONFIG_USB_OHCI_HCD=y
 # CONFIG_USB_OHCI_BIG_ENDIAN is not set
@@ -753,7 +682,6 @@
 # CONFIG_USB_STORAGE_SDDR55 is not set
 # CONFIG_USB_STORAGE_JUMPSHOT is not set
 # CONFIG_USB_STORAGE_ALAUDA is not set
-# CONFIG_USB_STORAGE_KARMA is not set
 # CONFIG_USB_LIBUSUAL is not set
 
 #
@@ -802,7 +730,6 @@
 #
 # CONFIG_USB_EMI62 is not set
 # CONFIG_USB_EMI26 is not set
-# CONFIG_USB_ADUTUX is not set
 # CONFIG_USB_AUERSWALD is not set
 # CONFIG_USB_RIO500 is not set
 # CONFIG_USB_LEGOTOWER is not set
@@ -810,13 +737,11 @@
 # CONFIG_USB_LED is not set
 # CONFIG_USB_CYPRESS_CY7C63 is not set
 # CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
 # CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_FTDI_ELAN is not set
 # CONFIG_USB_APPLEDISPLAY is not set
-# CONFIG_USB_SISUSBVGA is not set
 # CONFIG_USB_LD is not set
-# CONFIG_USB_TRANCEVIBRATOR is not set
 # CONFIG_USB_TEST is not set
 
 #
@@ -875,17 +800,22 @@
 #
 
 #
+# Firmware Drivers
+#
+# CONFIG_EDD is not set
+# CONFIG_DELL_RBU is not set
+# CONFIG_DCDBAS is not set
+
+#
 # File systems
 #
 CONFIG_EXT2_FS=y
 # CONFIG_EXT2_FS_XIP is not set
 # CONFIG_EXT3_FS is not set
-# CONFIG_EXT4DEV_FS is not set
 # CONFIG_REISERFS_FS is not set
 # CONFIG_JFS_FS is not set
 # CONFIG_FS_POSIX_ACL is not set
 # CONFIG_XFS_FS is not set
-# CONFIG_GFS2_FS is not set
 # CONFIG_MINIX_FS is not set
 # CONFIG_ROMFS_FS is not set
 # CONFIG_INOTIFY is not set
@@ -913,7 +843,7 @@
 #
 CONFIG_PROC_FS=y
 # CONFIG_PROC_KCORE is not set
-# CONFIG_PROC_SYSCTL is not set
+# CONFIG_PROC_VMCORE is not set
 CONFIG_SYSFS=y
 # CONFIG_TMPFS is not set
 # CONFIG_HUGETLBFS is not set
@@ -969,16 +899,12 @@
 #
 CONFIG_TRACE_IRQFLAGS_SUPPORT=y
 # CONFIG_PRINTK_TIME is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
 # CONFIG_MAGIC_SYSRQ is not set
 # CONFIG_UNUSED_SYMBOLS is not set
 # CONFIG_DEBUG_KERNEL is not set
 CONFIG_LOG_BUF_SHIFT=14
 # CONFIG_DEBUG_FS is not set
 # CONFIG_UNWIND_INFO is not set
-# CONFIG_HEADERS_CHECK is not set
-CONFIG_EARLY_PRINTK=y
-# CONFIG_DOUBLEFAULT is not set
 
 #
 # Security options
@@ -992,6 +918,10 @@
 # CONFIG_CRYPTO is not set
 
 #
+# Hardware crypto devices
+#
+
+#
 # Library routines
 #
 # CONFIG_CRC_CCITT is not set
@@ -1000,7 +930,3 @@
 # CONFIG_LIBCRC32C is not set
 CONFIG_ZLIB_INFLATE=y
 CONFIG_ZLIB_DEFLATE=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_X86_BIOS_REBOOT=y
-CONFIG_KTIME_SCALAR=y
diff -ur buildrom_org/packages/kernel/ext3.patch buildrom2/packages/kernel/ext3.patch
--- buildrom_org/packages/kernel/ext3.patch	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/kernel/ext3.patch	2006-10-30 11:23:11.000000000 -0600
@@ -1,8 +1,8 @@
-Index: git/fs/ext2/super.c
-===================================================================
---- git.orig/fs/ext2/super.c	2006-10-24 13:39:06.000000000 -0600
-+++ git/fs/ext2/super.c	2006-10-24 13:39:08.000000000 -0600
-@@ -748,10 +748,15 @@
+diff --git a/fs/ext2/super.c b/fs/ext2/super.c
+index f2702cd..d425c9e 100644
+--- a/fs/ext2/super.c
++++ b/fs/ext2/super.c
+@@ -698,10 +698,15 @@ static int ext2_fill_super(struct super_
  	 */
  	features = EXT2_HAS_INCOMPAT_FEATURE(sb, ~EXT2_FEATURE_INCOMPAT_SUPP);
  	if (features) {
@@ -22,3 +22,6 @@
  	}
  	if (!(sb->s_flags & MS_RDONLY) &&
  	    (features = EXT2_HAS_RO_COMPAT_FEATURE(sb, ~EXT2_FEATURE_RO_COMPAT_SUPP))){
+
+
+
diff -ur buildrom_org/packages/kernel/kernel.mk buildrom2/packages/kernel/kernel.mk
--- buildrom_org/packages/kernel/kernel.mk	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/kernel/kernel.mk	2006-10-30 11:23:11.000000000 -0600
@@ -1,12 +1,8 @@
-KERNEL_VERSION=2.6.18-rc4-olpc1
-
-KERNEL_URL=git://dev.laptop.org/olpc-2.6
-KERNEL_TAG=1d386c71d46aed41683be5644f397c4fbfbc4d3f
-
-KERNEL_SOURCE=linux-olpc-2.6-$(KERNEL_TAG).tar.gz
-
+KERNEL_VERSION=2.6.18.1
+KERNEL_URL=http://www.kernel.org/pub/linux/kernel/v2.6/
+KERNEL_SOURCE=linux-$(KERNEL_VERSION).tar.bz2
 KERNEL_DIR=$(BUILD_DIR)/kernel
-KERNEL_SRC_DIR=$(KERNEL_DIR)/git
+KERNEL_SRC_DIR=$(KERNEL_DIR)/linux-$(KERNEL_VERSION)
 KERNEL_STAMP_DIR=$(KERNEL_DIR)/stamps
 KERNEL_LOG_DIR=$(KERNEL_DIR)/logs
 
@@ -18,25 +14,20 @@
 KERNEL_PATCHES += $(shell ls $(TINY_DIR)/*.patch)
 
 ifeq ($(VERBOSE),y)
-KERNEL_FETCH_LOG=/dev/stdout
 KERNEL_BUILD_LOG=/dev/stdout
 KERNEL_INSTALL_LOG=/dev/stdout
 else
-KERNEL_FETCH_LOG=$(KERNEL_LOG_DIR)/fetch.log
 KERNEL_BUILD_LOG=$(KERNEL_LOG_DIR)/build.log
 KERNEL_INSTALL_LOG=$(KERNEL_LOG_DIR)/install.log
 endif
 
 $(SOURCE_DIR)/$(KERNEL_SOURCE):
-	@ echo "Fetching the kernel source..."
-	@ mkdir -p $(SOURCE_DIR)/kernel
-	@ $(BIN_DIR)/fetchgit.sh $(KERNEL_URL) $(SOURCE_DIR)/kernel \
-	$(KERNEL_TAG) $(SOURCE_DIR)/$(KERNEL_SOURCE) \
-	> $(KERNEL_FETCH_LOG) 2>&1
+	@ mkdir -p $(SOURCE_DIR)
+	@ wget -P $(SOURCE_DIR) $(KERNEL_URL)/$(KERNEL_SOURCE)
 
 $(KERNEL_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(KERNEL_SOURCE)
 	@ echo "Unpacking kernel..."
-	@ tar -C $(KERNEL_DIR) -zxf $(SOURCE_DIR)/$(KERNEL_SOURCE)
+	@ tar -C $(KERNEL_DIR) -jxf $(SOURCE_DIR)/$(KERNEL_SOURCE)
 	@ touch $@	
 
 $(KERNEL_STAMP_DIR)/.patched: $(KERNEL_STAMP_DIR)/.unpacked
@@ -47,23 +38,23 @@
 $(KERNEL_SRC_DIR)/.config: $(KERNEL_STAMP_DIR)/.patched
 	@ cat $(PACKAGE_DIR)/kernel/conf/defconfig | 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_SRC_DIR)/arch/x86_64/boot/bzImage: $(KERNEL_SRC_DIR)/.config
 	@ echo "Building kernel..."
-	@ $(MAKE) -C $(KERNEL_SRC_DIR) ARCH=i386 \
+	@ $(MAKE) -C $(KERNEL_SRC_DIR) \
 	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_SRC_DIR)/arch/x86_64/boot/bzImage
 	@ install -d $(OUTPUT_DIR)
 	@ install -m 0644 $< $@ 
 
-$(OUTPUT_DIR)/vmlinux: $(KERNEL_SRC_DIR)/arch/i386/boot/bzImage
+$(OUTPUT_DIR)/vmlinux: $(KERNEL_SRC_DIR)/arch/x86_64/boot/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) \
 	INSTALL_HDR_PATH=$(STAGING_DIR)/ headers_install > $(KERNEL_INSTALL_LOG) 2>&1)
 	@ touch $@
 
@@ -81,8 +72,7 @@
 
 kernel-bom:
 	@ echo "Package: kernel"
-	@ echo "Source: $(KERNEL_URL)"
-	@ echo "Tag: $(KERNEL_TAG)"
+	@ echo "Source: $(KERNEL_URL)/$(KERNEL_SOURCE)"
 	@ echo -n "Patches: (local) "
 	@ for file in $(KERNEL_PATCHES); do \
 		echo -n "`basename $$file` "; \
diff -ur buildrom_org/packages/kernel/tiny/01-tiny-no-aio.patch buildrom2/packages/kernel/tiny/01-tiny-no-aio.patch
--- buildrom_org/packages/kernel/tiny/01-tiny-no-aio.patch	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/kernel/tiny/01-tiny-no-aio.patch	2006-10-30 11:23:11.000000000 -0600
@@ -11,11 +11,11 @@
  kernel/sysctl.c |    2 ++
  4 files changed, 68 insertions(+), 0 deletions(-)
 
-Index: git/fs/aio.c
+Index: linux-2.6.18-rc4-olpc1/fs/aio.c
 ===================================================================
---- git.orig/fs/aio.c	2006-10-24 13:39:06.000000000 -0600
-+++ git/fs/aio.c	2006-10-24 13:39:13.000000000 -0600
-@@ -35,6 +35,8 @@
+--- linux-2.6.18-rc4-olpc1.orig/fs/aio.c	2006-08-08 11:13:24.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/fs/aio.c	2006-09-13 16:18:14.000000000 -0600
+@@ -34,6 +34,8 @@
  #include <asm/uaccess.h>
  #include <asm/mmu_context.h>
  
@@ -24,7 +24,7 @@
  #if DEBUG > 1
  #define dprintk		printk
  #else
-@@ -1789,3 +1791,54 @@
+@@ -1719,3 +1721,54 @@
  EXPORT_SYMBOL(aio_complete);
  EXPORT_SYMBOL(aio_put_req);
  EXPORT_SYMBOL(wait_on_sync_kiocb);
@@ -79,11 +79,11 @@
 +EXPORT_SYMBOL(wait_on_sync_kiocb);
 +
 +#endif
-Index: git/init/Kconfig
+Index: linux-2.6.18-rc4-olpc1/init/Kconfig
 ===================================================================
---- git.orig/init/Kconfig	2006-10-24 13:39:06.000000000 -0600
-+++ git/init/Kconfig	2006-10-24 13:39:13.000000000 -0600
-@@ -438,6 +438,14 @@
+--- linux-2.6.18-rc4-olpc1.orig/init/Kconfig	2006-08-08 11:13:24.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/init/Kconfig	2006-09-13 16:21:11.000000000 -0600
+@@ -412,6 +412,14 @@
  	  option allows the disabling of the VM event counters.
  	  /proc/vmstat will only show page counts.
  
@@ -97,12 +97,12 @@
 +
  endmenu		# General setup
  
- config RT_MUTEXES
-Index: git/kernel/sys_ni.c
+ config TINY_SHMEM
+Index: linux-2.6.18-rc4-olpc1/kernel/sys_ni.c
 ===================================================================
---- git.orig/kernel/sys_ni.c	2006-10-24 13:39:06.000000000 -0600
-+++ git/kernel/sys_ni.c	2006-10-24 13:39:13.000000000 -0600
-@@ -112,6 +112,11 @@
+--- linux-2.6.18-rc4-olpc1.orig/kernel/sys_ni.c	2006-08-08 11:13:24.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/kernel/sys_ni.c	2006-09-13 16:20:55.000000000 -0600
+@@ -111,6 +111,11 @@
  cond_syscall(sys_vm86);
  cond_syscall(compat_sys_ipc);
  cond_syscall(compat_sys_sysctl);
@@ -114,11 +114,11 @@
  
  /* arch-specific weak syscall entries */
  cond_syscall(sys_pciconfig_read);
-Index: git/kernel/sysctl.c
+Index: linux-2.6.18-rc4-olpc1/kernel/sysctl.c
 ===================================================================
---- git.orig/kernel/sysctl.c	2006-10-24 13:39:06.000000000 -0600
-+++ git/kernel/sysctl.c	2006-10-24 13:39:13.000000000 -0600
-@@ -1127,6 +1127,7 @@
+--- linux-2.6.18-rc4-olpc1.orig/kernel/sysctl.c	2006-08-08 11:13:24.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/kernel/sysctl.c	2006-09-13 16:19:02.000000000 -0600
+@@ -1049,6 +1049,7 @@
  		.mode		= 0644,
  		.proc_handler	= &proc_dointvec,
  	},
@@ -126,7 +126,7 @@
  	{
  		.ctl_name	= FS_AIO_NR,
  		.procname	= "aio-nr",
-@@ -1143,6 +1144,7 @@
+@@ -1065,6 +1066,7 @@
  		.mode		= 0644,
  		.proc_handler	= &proc_doulongvec_minmax,
  	},
diff -ur buildrom_org/packages/kernel/tiny/02-tiny-no-translations.patch buildrom2/packages/kernel/tiny/02-tiny-no-translations.patch
--- buildrom_org/packages/kernel/tiny/02-tiny-no-translations.patch	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/kernel/tiny/02-tiny-no-translations.patch	2006-10-30 11:23:11.000000000 -0600
@@ -10,10 +10,10 @@
  init/Kconfig              |    7 ++++
  3 files changed, 82 insertions(+), 0 deletions(-)
 
-Index: git/drivers/char/consolemap.c
+Index: linux-2.6.18-rc4-olpc1/drivers/char/consolemap.c
 ===================================================================
---- git.orig/drivers/char/consolemap.c	2006-10-23 07:35:33.000000000 -0600
-+++ git/drivers/char/consolemap.c	2006-10-24 13:35:03.000000000 -0600
+--- linux-2.6.18-rc4-olpc1.orig/drivers/char/consolemap.c	2006-09-13 16:21:00.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/drivers/char/consolemap.c	2006-09-13 16:21:28.000000000 -0600
 @@ -22,6 +22,8 @@
  #include <linux/consolemap.h>
  #include <linux/vt_kern.h>
@@ -96,14 +96,14 @@
 +void __init console_map_init(void) { }
 +
 +#endif
-Index: git/drivers/char/vt.c
+Index: linux-2.6.18-rc4-olpc1/drivers/char/vt.c
 ===================================================================
---- git.orig/drivers/char/vt.c	2006-10-23 07:35:33.000000000 -0600
-+++ git/drivers/char/vt.c	2006-10-24 13:35:42.000000000 -0600
-@@ -2058,7 +2058,11 @@
- 		      tc = c;
+--- linux-2.6.18-rc4-olpc1.orig/drivers/char/vt.c	2006-09-13 16:21:00.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/drivers/char/vt.c	2006-09-13 16:21:28.000000000 -0600
+@@ -2040,7 +2040,11 @@
+ 		      vc->vc_utf_count = 0;
  		    }
- 		} else {	/* no utf or alternate charset mode */
+ 		} else {	/* no utf */
 +#ifdef CONFIG_CONSOLE_TRANSLATIONS
  		  tc = vc->vc_translate[vc->vc_toggle_meta ? (c | 0x80) : c];
 +#else
@@ -112,11 +112,11 @@
  		}
  
                  /* If the original code was a control character we
-Index: git/init/Kconfig
+Index: linux-2.6.18-rc4-olpc1/init/Kconfig
 ===================================================================
---- git.orig/init/Kconfig	2006-10-24 13:33:23.000000000 -0600
-+++ git/init/Kconfig	2006-10-24 13:35:03.000000000 -0600
-@@ -446,6 +446,13 @@
+--- linux-2.6.18-rc4-olpc1.orig/init/Kconfig	2006-09-13 16:21:11.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/init/Kconfig	2006-09-13 16:22:27.000000000 -0600
+@@ -420,6 +420,13 @@
   	  performance threaded applications. Disabling this option saves about
   	  5k.
  
@@ -129,4 +129,4 @@
 +
  endmenu		# General setup
  
- config RT_MUTEXES
+ config TINY_SHMEM
diff -ur buildrom_org/packages/kernel/tiny/03-tiny-no-xattr.patch buildrom2/packages/kernel/tiny/03-tiny-no-xattr.patch
--- buildrom_org/packages/kernel/tiny/03-tiny-no-xattr.patch	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/kernel/tiny/03-tiny-no-xattr.patch	2006-10-30 11:23:11.000000000 -0600
@@ -11,11 +11,11 @@
  kernel/sys_ni.c |   12 ++++++++++++
  4 files changed, 21 insertions(+), 1 deletions(-)
 
-Index: git/fs/Kconfig
+Index: linux-2.6.18-rc4-olpc1/fs/Kconfig
 ===================================================================
---- git.orig/fs/Kconfig	2006-10-23 07:35:33.000000000 -0600
-+++ git/fs/Kconfig	2006-10-24 13:36:04.000000000 -0600
-@@ -21,6 +21,7 @@
+--- linux-2.6.18-rc4-olpc1.orig/fs/Kconfig	2006-09-13 16:20:55.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/fs/Kconfig	2006-09-13 16:22:47.000000000 -0600
+@@ -19,6 +19,7 @@
  config EXT2_FS_XATTR
  	bool "Ext2 extended attributes"
  	depends on EXT2_FS
@@ -23,20 +23,17 @@
  	help
  	  Extended attributes are name:value pairs associated with inodes by
  	  the kernel or by users (see the attr(5) manual page, or visit
-Index: git/fs/Makefile
+Index: linux-2.6.18-rc4-olpc1/fs/Makefile
 ===================================================================
---- git.orig/fs/Makefile	2006-10-23 07:35:33.000000000 -0600
-+++ git/fs/Makefile	2006-10-24 13:36:33.000000000 -0600
-@@ -9,7 +9,7 @@
- 		char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
+--- linux-2.6.18-rc4-olpc1.orig/fs/Makefile	2006-09-13 16:20:55.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/fs/Makefile	2006-09-13 16:22:47.000000000 -0600
+@@ -9,11 +9,12 @@
+ 		block_dev.o char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
  		ioctl.o readdir.o select.o fifo.o locks.o dcache.o inode.o \
  		attr.o bad_inode.o file.o filesystems.o namespace.o aio.o \
--		seq_file.o xattr.o libfs.o fs-writeback.o \
-+		seq_file.o libfs.o fs-writeback.o \
- 		pnode.o drop_caches.o splice.o sync.o utimes.o
- 
- ifeq ($(CONFIG_BLOCK),y)
-@@ -20,6 +20,7 @@
+-		seq_file.o xattr.o libfs.o fs-writeback.o mpage.o direct-io.o \
++		seq_file.o libfs.o fs-writeback.o mpage.o direct-io.o \
+ 		ioprio.o pnode.o drop_caches.o splice.o sync.o
  
  obj-$(CONFIG_INOTIFY)		+= inotify.o
  obj-$(CONFIG_INOTIFY_USER)	+= inotify_user.o
@@ -44,11 +41,11 @@
  obj-$(CONFIG_EPOLL)		+= eventpoll.o
  obj-$(CONFIG_COMPAT)		+= compat.o compat_ioctl.o
  
-Index: git/init/Kconfig
+Index: linux-2.6.18-rc4-olpc1/init/Kconfig
 ===================================================================
---- git.orig/init/Kconfig	2006-10-24 13:35:03.000000000 -0600
-+++ git/init/Kconfig	2006-10-24 13:36:04.000000000 -0600
-@@ -453,6 +453,12 @@
+--- linux-2.6.18-rc4-olpc1.orig/init/Kconfig	2006-09-13 16:22:27.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/init/Kconfig	2006-09-13 16:23:01.000000000 -0600
+@@ -427,6 +427,12 @@
   	  This enables support for font mapping and Unicode translation
            on virtual consoles.
  
@@ -60,12 +57,12 @@
 +
  endmenu		# General setup
  
- config RT_MUTEXES
-Index: git/kernel/sys_ni.c
+ config TINY_SHMEM
+Index: linux-2.6.18-rc4-olpc1/kernel/sys_ni.c
 ===================================================================
---- git.orig/kernel/sys_ni.c	2006-10-24 13:33:23.000000000 -0600
-+++ git/kernel/sys_ni.c	2006-10-24 13:36:04.000000000 -0600
-@@ -117,6 +117,18 @@
+--- linux-2.6.18-rc4-olpc1.orig/kernel/sys_ni.c	2006-09-13 16:20:55.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/kernel/sys_ni.c	2006-09-13 16:22:47.000000000 -0600
+@@ -116,6 +116,18 @@
  cond_syscall(sys_io_submit);
  cond_syscall(sys_io_cancel);
  cond_syscall(sys_io_getevents);
diff -ur buildrom_org/packages/kernel/tiny/04-tiny-pci-quirks.patch buildrom2/packages/kernel/tiny/04-tiny-pci-quirks.patch
--- buildrom_org/packages/kernel/tiny/04-tiny-pci-quirks.patch	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/kernel/tiny/04-tiny-pci-quirks.patch	2006-10-30 11:23:11.000000000 -0600
@@ -9,10 +9,10 @@
  init/Kconfig         |    8 ++++++++
  2 files changed, 25 insertions(+), 10 deletions(-)
 
-Index: git/drivers/pci/quirks.c
+Index: linux-2.6.18-rc4-olpc1/drivers/pci/quirks.c
 ===================================================================
---- git.orig/drivers/pci/quirks.c	2006-10-23 07:35:33.000000000 -0600
-+++ git/drivers/pci/quirks.c	2006-10-24 13:36:48.000000000 -0600
+--- linux-2.6.18-rc4-olpc1.orig/drivers/pci/quirks.c	2006-09-13 16:20:51.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/drivers/pci/quirks.c	2006-09-13 16:23:07.000000000 -0600
 @@ -34,6 +34,10 @@
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_MELLANOX,PCI_DEVICE_ID_MELLANOX_TAVOR,quirk_mellanox_tavor);
  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_MELLANOX,PCI_DEVICE_ID_MELLANOX_TAVOR_BRIDGE,quirk_mellanox_tavor);
@@ -55,7 +55,7 @@
  /*
   *	Chipsets where PCI->PCI transfers vanish or hang
   */
-@@ -1858,3 +1859,9 @@
+@@ -1636,3 +1637,9 @@
  #ifdef CONFIG_HOTPLUG
  EXPORT_SYMBOL(pci_fixup_device);
  #endif
@@ -65,11 +65,11 @@
 +{
 +}
 +#endif /* CONFIG_PCI_QUIRKS */
-Index: git/init/Kconfig
+Index: linux-2.6.18-rc4-olpc1/init/Kconfig
 ===================================================================
---- git.orig/init/Kconfig	2006-10-24 13:36:04.000000000 -0600
-+++ git/init/Kconfig	2006-10-24 13:36:48.000000000 -0600
-@@ -459,6 +459,14 @@
+--- linux-2.6.18-rc4-olpc1.orig/init/Kconfig	2006-09-13 16:23:01.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/init/Kconfig	2006-09-13 16:23:15.000000000 -0600
+@@ -433,6 +433,14 @@
   	help
   	  This enables the filesystem extended attribute syscalls.
  
@@ -83,4 +83,4 @@
 +
  endmenu		# General setup
  
- config RT_MUTEXES
+ config TINY_SHMEM
diff -ur buildrom_org/packages/kernel/tiny/06-tiny-buffer-inlines.patch buildrom2/packages/kernel/tiny/06-tiny-buffer-inlines.patch
--- buildrom_org/packages/kernel/tiny/06-tiny-buffer-inlines.patch	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/kernel/tiny/06-tiny-buffer-inlines.patch	2006-10-30 11:23:11.000000000 -0600
@@ -5,11 +5,11 @@
  tiny-mpm/fs/buffer.c |    2 +-
  1 files changed, 1 insertion(+), 1 deletion(-)
 
-Index: git/fs/buffer.c
+Index: linux-2.6.18-rc4-olpc1/fs/buffer.c
 ===================================================================
---- git.orig/fs/buffer.c	2006-10-23 07:35:33.000000000 -0600
-+++ git/fs/buffer.c	2006-10-24 13:36:53.000000000 -0600
-@@ -569,7 +569,7 @@
+--- linux-2.6.18-rc4-olpc1.orig/fs/buffer.c	2006-08-08 11:13:24.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/fs/buffer.c	2006-09-14 09:21:59.000000000 -0600
+@@ -705,7 +705,7 @@
  /*
   * The buffer's backing address_space's private_lock must be held
   */
@@ -17,4 +17,4 @@
 +static void __remove_assoc_queue(struct buffer_head *bh)
  {
  	list_del_init(&bh->b_assoc_buffers);
- 	WARN_ON(!bh->b_assoc_map);
+ }
diff -ur buildrom_org/packages/kernel/tiny/12-tiny-tiny-crc.patch buildrom2/packages/kernel/tiny/12-tiny-tiny-crc.patch
--- buildrom_org/packages/kernel/tiny/12-tiny-tiny-crc.patch	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/kernel/tiny/12-tiny-tiny-crc.patch	2006-10-30 11:23:11.000000000 -0600
@@ -1,20 +1,9 @@
-
-Unroll crc32 calculation on small systems
-
-
- tiny-mpm/init/Kconfig    |   12 ++++++++++++
- tiny-mpm/lib/Makefile    |    2 ++
- tiny-mpm/lib/crc32.c     |    2 ++
- tiny-mpm/lib/crc32defs.h |    9 ++++++++-
- 4 files changed, 24 insertions(+), 1 deletion(-)
-
-Index: git/init/Kconfig
-===================================================================
---- git.orig/init/Kconfig	2006-10-24 13:41:52.000000000 -0600
-+++ git/init/Kconfig	2006-10-24 13:44:02.000000000 -0600
-@@ -467,12 +467,25 @@
-  	  Disable this only if you know your target machine is unaffected
-  	  by PCI quirks.
+diff -ur linux-2.6.18.1/init/Kconfig linux-2.6.18.1.patched/init/Kconfig
+--- linux-2.6.18.1/init/Kconfig	2006-10-16 09:41:57.000000000 -0500
++++ linux-2.6.18.1.patched/init/Kconfig	2006-10-16 09:24:53.000000000 -0500
+@@ -507,12 +507,26 @@
+        help
+          This enables extended support for UMC processors
  
 +config CRC32_TABLES
 +	depends CRC32
@@ -22,8 +11,9 @@
 +	bool "Calculate CRC32 with tables" if EMBEDDED
 +	help
 +	  This option enables use of tables for CRC calculation. Disabling
-+          reduces kernel size by about 2K. This may actually result in
-+          faster code on machines with limited memory bandwidth.
++	  reduces kernel size by about 2K. This may actually result in
++	  faster code on machines with limited memory bandwidth.
++
 +
  endmenu		# General setup
  
@@ -38,24 +28,9 @@
  config TINY_SHMEM
  	default !SHMEM
  	bool
-Index: git/lib/Makefile
-===================================================================
---- git.orig/lib/Makefile	2006-10-23 07:35:33.000000000 -0600
-+++ git/lib/Makefile	2006-10-24 13:43:43.000000000 -0600
-@@ -58,7 +58,9 @@
- hostprogs-y	:= gen_crc32table
- clean-files	:= crc32table.h
- 
-+ifeq ($(CONFIG_CRC32_TABLES),y)
- $(obj)/crc32.o: $(obj)/crc32table.h
-+endif
- 
- quiet_cmd_crc32 = GEN     $@
-       cmd_crc32 = $< > $@
-Index: git/lib/crc32.c
-===================================================================
---- git.orig/lib/crc32.c	2006-10-23 07:35:33.000000000 -0600
-+++ git/lib/crc32.c	2006-10-24 13:43:43.000000000 -0600
+diff -ur linux-2.6.18.1/lib/crc32.c linux-2.6.18.1.patched/lib/crc32.c
+--- linux-2.6.18.1/lib/crc32.c	2006-10-13 22:34:03.000000000 -0500
++++ linux-2.6.18.1.patched/lib/crc32.c	2006-10-16 09:26:46.000000000 -0500
 @@ -36,7 +36,9 @@
  #define tole(x) (x)
  #define tobe(x) (x)
@@ -66,24 +41,31 @@
  
  MODULE_AUTHOR("Matt Domsch <Matt_Domsch@dell.com>");
  MODULE_DESCRIPTION("Ethernet CRC32 calculations");
-Index: git/lib/crc32defs.h
-===================================================================
---- git.orig/lib/crc32defs.h	2006-10-23 07:35:33.000000000 -0600
-+++ git/lib/crc32defs.h	2006-10-24 13:43:43.000000000 -0600
-@@ -7,8 +7,15 @@
- #define CRCPOLY_BE 0x04c11db7
+diff -ur linux-2.6.18.1/lib/crc32defs.h linux-2.6.18.1.patched/lib/crc32defs.h
+--- linux-2.6.18.1/lib/crc32defs.h	2006-10-13 22:34:03.000000000 -0500
++++ linux-2.6.18.1.patched/lib/crc32defs.h	2006-10-16 09:28:26.000000000 -0500
+@@ -8,6 +8,11 @@
  
  /* How many bits at a time to use.  Requires a table of 4<<CRC_xx_BITS bytes. */
-+
-+#ifdef CONFIG_CRC32_CALC /* config symbols not visible to gen_crc32table */
+ /* For less performance-sensitive, use 4 */
++#ifdef CONFIG_CRC32_CALC /*config symbols not visible to gen_crc32table */
 +#define CRC_LE_BITS 1
 +#define CRC_BE_BITS 1
 +#endif
 +
- /* For less performance-sensitive, use 4 */
--#ifndef CRC_LE_BITS 
-+
-+#ifndef CRC_LE_BITS
+ #ifndef CRC_LE_BITS 
  # define CRC_LE_BITS 8
  #endif
- #ifndef CRC_BE_BITS
+diff -ur linux-2.6.18.1/lib/Makefile linux-2.6.18.1.patched/lib/Makefile
+--- linux-2.6.18.1/lib/Makefile	2006-10-13 22:34:03.000000000 -0500
++++ linux-2.6.18.1.patched/lib/Makefile	2006-10-16 09:25:35.000000000 -0500
+@@ -56,7 +56,9 @@
+ hostprogs-y	:= gen_crc32table
+ clean-files	:= crc32table.h
+ 
++ifeq ($(CONFIG_CRC32_TABLES),y)
+ $(obj)/crc32.o: $(obj)/crc32table.h
++endif
+ 
+ quiet_cmd_crc32 = GEN     $@
+       cmd_crc32 = $< > $@
diff -ur buildrom_org/packages/kernel/tiny/14-tiny-remove-vm86.patch buildrom2/packages/kernel/tiny/14-tiny-remove-vm86.patch
--- buildrom_org/packages/kernel/tiny/14-tiny-remove-vm86.patch	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/kernel/tiny/14-tiny-remove-vm86.patch	2006-10-30 11:23:11.000000000 -0600
@@ -12,11 +12,11 @@
  tiny-mpm/kernel/sys.c                |    2 ++
  8 files changed, 38 insertions(+), 5 deletions(-)
 
-Index: git/arch/i386/kernel/entry.S
+Index: linux-2.6.18-rc4-olpc1/arch/i386/kernel/entry.S
 ===================================================================
---- git.orig/arch/i386/kernel/entry.S	2006-10-23 07:35:33.000000000 -0600
-+++ git/arch/i386/kernel/entry.S	2006-10-24 13:44:08.000000000 -0600
-@@ -458,15 +458,21 @@
+--- linux-2.6.18-rc4-olpc1.orig/arch/i386/kernel/entry.S	2006-08-08 11:13:24.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/arch/i386/kernel/entry.S	2006-09-14 09:36:40.000000000 -0600
+@@ -443,15 +443,21 @@
  
  work_notifysig:				# deal with pending signals and
  					# notify-resume requests
@@ -39,7 +39,7 @@
  work_notifysig_v86:
  #ifdef CONFIG_VM86
  	pushl %ecx			# save ti_flags for do_notify_resume
-@@ -482,6 +488,8 @@
+@@ -467,6 +473,8 @@
  
  	# perform syscall exit tracing
  	ALIGN
@@ -48,11 +48,11 @@
  syscall_trace_entry:
  	movl $-ENOSYS,EAX(%esp)
  	movl %esp, %eax
-Index: git/arch/i386/kernel/process.c
+Index: linux-2.6.18-rc4-olpc1/arch/i386/kernel/process.c
 ===================================================================
---- git.orig/arch/i386/kernel/process.c	2006-10-23 07:35:33.000000000 -0600
-+++ git/arch/i386/kernel/process.c	2006-10-24 13:44:08.000000000 -0600
-@@ -402,7 +402,9 @@
+--- linux-2.6.18-rc4-olpc1.orig/arch/i386/kernel/process.c	2006-09-14 09:34:44.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/arch/i386/kernel/process.c	2006-09-14 09:36:15.000000000 -0600
+@@ -398,7 +398,9 @@
  void release_thread(struct task_struct *dead_task)
  {
  	BUG_ON(dead_task->mm);
@@ -62,11 +62,11 @@
  }
  
  /*
-Index: git/arch/i386/kernel/traps.c
+Index: linux-2.6.18-rc4-olpc1/arch/i386/kernel/traps.c
 ===================================================================
---- git.orig/arch/i386/kernel/traps.c	2006-10-23 07:35:33.000000000 -0600
-+++ git/arch/i386/kernel/traps.c	2006-10-24 13:44:08.000000000 -0600
-@@ -547,8 +547,10 @@
+--- linux-2.6.18-rc4-olpc1.orig/arch/i386/kernel/traps.c	2006-08-08 11:13:24.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/arch/i386/kernel/traps.c	2006-09-14 09:36:20.000000000 -0600
+@@ -475,8 +475,10 @@
  	tsk->thread.trap_no = trapnr;
  
  	if (regs->eflags & VM_MASK) {
@@ -77,7 +77,7 @@
  		goto trap_signal;
  	}
  
-@@ -569,11 +571,13 @@
+@@ -497,11 +499,13 @@
  		return;
  	}
  
@@ -91,7 +91,7 @@
  }
  
  #define DO_ERROR(trapnr, signr, str, name) \
-@@ -628,6 +632,7 @@
+@@ -556,6 +560,7 @@
  #endif
  DO_VM86_ERROR( 4, SIGSEGV, "overflow", overflow)
  DO_VM86_ERROR( 5, SIGSEGV, "bounds", bounds)
@@ -99,7 +99,7 @@
  DO_ERROR_INFO( 6, SIGILL,  "invalid opcode", invalid_op, ILL_ILLOPN, regs->eip)
  DO_ERROR( 9, SIGFPE,  "coprocessor segment overrun", coprocessor_segment_overrun)
  DO_ERROR(10, SIGSEGV, "invalid TSS", invalid_TSS)
-@@ -673,8 +678,10 @@
+@@ -601,8 +606,10 @@
  	current->thread.error_code = error_code;
  	current->thread.trap_no = 13;
  
@@ -110,7 +110,7 @@
  
  	if (!user_mode(regs))
  		goto gp_in_kernel;
-@@ -684,10 +691,12 @@
+@@ -612,10 +619,12 @@
  	force_sig(SIGSEGV, current);
  	return;
  
@@ -123,7 +123,7 @@
  
  gp_in_kernel:
  	if (!fixup_exception(regs)) {
-@@ -893,8 +902,10 @@
+@@ -832,8 +841,10 @@
  			goto clear_dr7;
  	}
  
@@ -134,7 +134,7 @@
  
  	/* Save debug status register where ptrace can see it */
  	tsk->thread.debugreg[6] = condition;
-@@ -923,9 +934,11 @@
+@@ -862,9 +873,11 @@
  	set_debugreg(0, 7);
  	return;
  
@@ -146,7 +146,7 @@
  
  clear_TF_reenable:
  	set_tsk_thread_flag(tsk, TIF_SINGLESTEP);
-@@ -1063,11 +1076,13 @@
+@@ -1002,11 +1015,13 @@
  		 * Handle strange cache flush from user space exception
  		 * in all other cases.  This is undocumented behaviour.
  		 */
diff -ur buildrom_org/packages/kernel/tiny/15-tiny-fslock.patch buildrom2/packages/kernel/tiny/15-tiny-fslock.patch
--- buildrom_org/packages/kernel/tiny/15-tiny-fslock.patch	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/kernel/tiny/15-tiny-fslock.patch	2006-10-30 11:23:11.000000000 -0600
@@ -10,11 +10,11 @@
  tiny-mpm/kernel/sys.c        |    1 +
  6 files changed, 55 insertions(+), 2 deletions(-)
 
-Index: git/init/Kconfig
+Index: linux-2.6.18-rc4-olpc1/init/Kconfig
 ===================================================================
---- git.orig/init/Kconfig	2006-10-24 13:44:02.000000000 -0600
-+++ git/init/Kconfig	2006-10-24 13:44:14.000000000 -0600
-@@ -459,6 +459,12 @@
+--- linux-2.6.18-rc4-olpc1.orig/init/Kconfig	2006-09-14 09:35:14.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/init/Kconfig	2006-09-14 09:39:41.000000000 -0600
+@@ -433,6 +433,12 @@
   	help
   	  This enables the filesystem extended attribute syscalls.
  
@@ -27,11 +27,11 @@
  config PCI_QUIRKS
   	default y
   	bool "Enable PCI quirk workarounds" if EMBEDDED
-Index: git/fs/proc/proc_misc.c
+Index: linux-2.6.18-rc4-olpc1/fs/proc/proc_misc.c
 ===================================================================
---- git.orig/fs/proc/proc_misc.c	2006-10-23 07:35:33.000000000 -0600
-+++ git/fs/proc/proc_misc.c	2006-10-24 13:44:14.000000000 -0600
-@@ -618,6 +618,7 @@
+--- linux-2.6.18-rc4-olpc1.orig/fs/proc/proc_misc.c	2006-08-08 11:13:24.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/fs/proc/proc_misc.c	2006-09-14 09:38:36.000000000 -0600
+@@ -603,6 +603,7 @@
  	return proc_calc_metrics(page, start, off, count, eof, len);
  }
  
@@ -39,7 +39,7 @@
  static int locks_read_proc(char *page, char **start, off_t off,
  				 int count, int *eof, void *data)
  {
-@@ -627,6 +628,7 @@
+@@ -612,6 +613,7 @@
  		*eof = 1;
  	return len;
  }
@@ -47,7 +47,7 @@
  
  static int execdomains_read_proc(char *page, char **start, off_t off,
  				 int count, int *eof, void *data)
-@@ -686,7 +688,9 @@
+@@ -671,7 +673,9 @@
  #endif
  		{"filesystems",	filesystems_read_proc},
  		{"cmdline",	cmdline_read_proc},
@@ -57,11 +57,11 @@
  		{"execdomains",	execdomains_read_proc},
  		{NULL,}
  	};
-Index: git/include/linux/fs.h
+Index: linux-2.6.18-rc4-olpc1/include/linux/fs.h
 ===================================================================
---- git.orig/include/linux/fs.h	2006-10-23 07:35:33.000000000 -0600
-+++ git/include/linux/fs.h	2006-10-24 13:44:14.000000000 -0600
-@@ -835,6 +835,9 @@
+--- linux-2.6.18-rc4-olpc1.orig/include/linux/fs.h	2006-08-08 11:13:24.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/include/linux/fs.h	2006-09-14 09:38:36.000000000 -0600
+@@ -787,6 +787,9 @@
  
  #include <linux/fcntl.h>
  
@@ -71,7 +71,7 @@
  extern int fcntl_getlk(struct file *, struct flock __user *);
  extern int fcntl_setlk(unsigned int, struct file *, unsigned int,
  			struct flock __user *);
-@@ -845,7 +848,6 @@
+@@ -797,7 +800,6 @@
  			struct flock64 __user *);
  #endif
  
@@ -79,7 +79,7 @@
  extern int fcntl_setlease(unsigned int fd, struct file *filp, long arg);
  extern int fcntl_getlease(struct file *filp);
  
-@@ -871,6 +873,32 @@
+@@ -823,6 +825,32 @@
  extern int lock_may_read(struct inode *, loff_t start, unsigned long count);
  extern int lock_may_write(struct inode *, loff_t start, unsigned long count);
  
@@ -112,7 +112,7 @@
  struct fasync_struct {
  	int	magic;
  	int	fa_fd;
-@@ -1446,6 +1474,7 @@
+@@ -1375,6 +1403,7 @@
  #define FLOCK_VERIFY_READ  1
  #define FLOCK_VERIFY_WRITE 2
  
@@ -120,7 +120,7 @@
  extern int locks_mandatory_locked(struct inode *);
  extern int locks_mandatory_area(int, struct inode *, struct file *, loff_t, size_t);
  
-@@ -1486,6 +1515,18 @@
+@@ -1415,6 +1444,18 @@
  	return 0;
  }
  
@@ -139,11 +139,11 @@
  /* fs/open.c */
  
  extern int do_truncate(struct dentry *, loff_t start, unsigned int time_attrs,
-Index: git/kernel/sys_ni.c
+Index: linux-2.6.18-rc4-olpc1/kernel/sys_ni.c
 ===================================================================
---- git.orig/kernel/sys_ni.c	2006-10-24 13:41:52.000000000 -0600
-+++ git/kernel/sys_ni.c	2006-10-24 13:44:14.000000000 -0600
-@@ -129,6 +129,7 @@
+--- linux-2.6.18-rc4-olpc1.orig/kernel/sys_ni.c	2006-09-14 09:35:14.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/kernel/sys_ni.c	2006-09-14 09:38:36.000000000 -0600
+@@ -128,6 +128,7 @@
  cond_syscall(sys_removexattr);
  cond_syscall(sys_lremovexattr);
  cond_syscall(sys_fremovexattr);
@@ -151,20 +151,19 @@
  
  /* arch-specific weak syscall entries */
  cond_syscall(sys_pciconfig_read);
-Index: git/fs/Makefile
+Index: linux-2.6.18-rc4-olpc1/fs/Makefile
 ===================================================================
---- git.orig/fs/Makefile	2006-10-24 13:41:52.000000000 -0600
-+++ git/fs/Makefile	2006-10-24 13:44:32.000000000 -0600
-@@ -7,7 +7,7 @@
+--- linux-2.6.18-rc4-olpc1.orig/fs/Makefile	2006-09-13 17:34:26.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/fs/Makefile	2006-09-14 09:39:14.000000000 -0600
+@@ -7,13 +7,14 @@
  
- obj-y :=	open.o read_write.o file_table.o super.o \
- 		char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
+ obj-y :=	open.o read_write.o file_table.o buffer.o  bio.o super.o \
+ 		block_dev.o char_dev.o stat.o exec.o pipe.o namei.o fcntl.o \
 -		ioctl.o readdir.o select.o fifo.o locks.o dcache.o inode.o \
 +		ioctl.o readdir.o select.o fifo.o dcache.o inode.o \
  		attr.o bad_inode.o file.o filesystems.o namespace.o aio.o \
- 		seq_file.o libfs.o fs-writeback.o \
- 		pnode.o drop_caches.o splice.o sync.o utimes.o
-@@ -20,6 +20,7 @@
+ 		seq_file.o libfs.o fs-writeback.o mpage.o direct-io.o \
+ 		ioprio.o pnode.o drop_caches.o splice.o sync.o
  
  obj-$(CONFIG_INOTIFY)		+= inotify.o
  obj-$(CONFIG_INOTIFY_USER)	+= inotify_user.o
@@ -172,11 +171,11 @@
  obj-$(CONFIG_XATTR)		+= xattr.o
  obj-$(CONFIG_EPOLL)		+= eventpoll.o
  obj-$(CONFIG_COMPAT)		+= compat.o compat_ioctl.o
-Index: git/kernel/sysctl.c
+Index: linux-2.6.18-rc4-olpc1/kernel/sysctl.c
 ===================================================================
---- git.orig/kernel/sysctl.c	2006-10-24 13:41:52.000000000 -0600
-+++ git/kernel/sysctl.c	2006-10-24 13:44:14.000000000 -0600
-@@ -1100,6 +1100,7 @@
+--- linux-2.6.18-rc4-olpc1.orig/kernel/sysctl.c	2006-09-13 17:34:26.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/kernel/sysctl.c	2006-09-14 09:38:36.000000000 -0600
+@@ -1022,6 +1022,7 @@
  		.extra1		= &minolduid,
  		.extra2		= &maxolduid,
  	},
@@ -184,7 +183,7 @@
  	{
  		.ctl_name	= FS_LEASES,
  		.procname	= "leases-enable",
-@@ -1108,6 +1109,7 @@
+@@ -1030,6 +1031,7 @@
  		.mode		= 0644,
  		.proc_handler	= &proc_dointvec,
  	},
@@ -192,7 +191,7 @@
  #ifdef CONFIG_DNOTIFY
  	{
  		.ctl_name	= FS_DIR_NOTIFY,
-@@ -1119,6 +1121,8 @@
+@@ -1041,6 +1043,8 @@
  	},
  #endif
  #ifdef CONFIG_MMU
@@ -201,7 +200,7 @@
  	{
  		.ctl_name	= FS_LEASE_TIME,
  		.procname	= "lease-break-time",
-@@ -1127,6 +1131,7 @@
+@@ -1049,6 +1053,7 @@
  		.mode		= 0644,
  		.proc_handler	= &proc_dointvec,
  	},
@@ -209,11 +208,11 @@
  #ifdef CONFIG_AIO
  	{
  		.ctl_name	= FS_AIO_NR,
-Index: git/fs/Kconfig
+Index: linux-2.6.18-rc4-olpc1/fs/Kconfig
 ===================================================================
---- git.orig/fs/Kconfig	2006-10-24 13:41:52.000000000 -0600
-+++ git/fs/Kconfig	2006-10-24 13:44:14.000000000 -0600
-@@ -1565,7 +1565,7 @@
+--- linux-2.6.18-rc4-olpc1.orig/fs/Kconfig	2006-09-13 17:34:26.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/fs/Kconfig	2006-09-14 09:38:36.000000000 -0600
+@@ -1402,7 +1402,7 @@
  
  config NFS_FS
  	tristate "NFS file system support"
diff -ur buildrom_org/packages/kernel/tiny/20-tiny-cpu-support.patch buildrom2/packages/kernel/tiny/20-tiny-cpu-support.patch
--- buildrom_org/packages/kernel/tiny/20-tiny-cpu-support.patch	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/kernel/tiny/20-tiny-cpu-support.patch	2006-10-30 11:23:11.000000000 -0600
@@ -8,10 +8,10 @@
  tiny-mpm/init/Kconfig                  |   62 +++++++++++++++++++++++++++++++++
  4 files changed, 99 insertions(+), 9 deletions(-)
 
-Index: git/arch/i386/kernel/cpu/Makefile
+Index: linux-2.6.18-rc4-olpc1/arch/i386/kernel/cpu/Makefile
 ===================================================================
---- git.orig/arch/i386/kernel/cpu/Makefile	2006-10-23 07:35:33.000000000 -0600
-+++ git/arch/i386/kernel/cpu/Makefile	2006-10-24 13:44:37.000000000 -0600
+--- linux-2.6.18-rc4-olpc1.orig/arch/i386/kernel/cpu/Makefile	2006-09-14 09:50:07.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/arch/i386/kernel/cpu/Makefile	2006-09-14 09:52:10.000000000 -0600
 @@ -4,14 +4,14 @@
  
  obj-y	:=	common.o proc.o
@@ -35,10 +35,10 @@
  
  obj-$(CONFIG_X86_MCE)	+=	mcheck/
  
-Index: git/arch/i386/kernel/cpu/common.c
+Index: linux-2.6.18-rc4-olpc1/arch/i386/kernel/cpu/common.c
 ===================================================================
---- git.orig/arch/i386/kernel/cpu/common.c	2006-10-23 07:35:33.000000000 -0600
-+++ git/arch/i386/kernel/cpu/common.c	2006-10-24 13:44:37.000000000 -0600
+--- linux-2.6.18-rc4-olpc1.orig/arch/i386/kernel/cpu/common.c	2006-09-14 09:50:07.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/arch/i386/kernel/cpu/common.c	2006-09-14 09:52:10.000000000 -0600
 @@ -13,6 +13,7 @@
  #include <asm/mmu_context.h>
  #include <asm/mtrr.h>
@@ -47,7 +47,7 @@
  #ifdef CONFIG_X86_LOCAL_APIC
  #include <asm/mpspec.h>
  #include <asm/apic.h>
-@@ -325,7 +326,9 @@
+@@ -316,7 +317,9 @@
  		}
  	}
  
@@ -57,7 +57,7 @@
  
  #ifdef CONFIG_X86_HT
  	c->phys_proc_id = (cpuid_ebx(1) >> 24) & 0xff;
-@@ -572,15 +575,33 @@
+@@ -563,15 +566,33 @@
  
  void __init early_cpu_init(void)
  {
@@ -91,10 +91,10 @@
  	early_cpu_detect();
  
  #ifdef CONFIG_DEBUG_PAGEALLOC
-Index: git/arch/i386/mm/init.c
+Index: linux-2.6.18-rc4-olpc1/arch/i386/mm/init.c
 ===================================================================
---- git.orig/arch/i386/mm/init.c	2006-10-23 07:35:33.000000000 -0600
-+++ git/arch/i386/mm/init.c	2006-10-24 13:44:37.000000000 -0600
+--- linux-2.6.18-rc4-olpc1.orig/arch/i386/mm/init.c	2006-09-14 09:50:07.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/arch/i386/mm/init.c	2006-09-14 09:52:10.000000000 -0600
 @@ -185,12 +185,14 @@
  	}
  }
@@ -123,8 +123,8 @@
  		ClearPageReserved(page);
  		free_new_highpage(page);
  	} else
-@@ -572,7 +578,11 @@
- 	BUG_ON(!mem_map);
+@@ -578,7 +584,11 @@
+ 		BUG();
  #endif
  	
 +#ifdef CONFIG_CPU_SUP_INTEL
@@ -135,11 +135,11 @@
  
  #ifdef CONFIG_HIGHMEM
  	/* check that fixmap and pkmap do not overlap */
-Index: git/init/Kconfig
+Index: linux-2.6.18-rc4-olpc1/init/Kconfig
 ===================================================================
---- git.orig/init/Kconfig	2006-10-24 13:44:14.000000000 -0600
-+++ git/init/Kconfig	2006-10-24 13:44:37.000000000 -0600
-@@ -482,6 +482,69 @@
+--- linux-2.6.18-rc4-olpc1.orig/init/Kconfig	2006-09-14 09:52:10.000000000 -0600
++++ linux-2.6.18-rc4-olpc1/init/Kconfig	2006-09-14 10:06:29.000000000 -0600
+@@ -456,6 +456,69 @@
            reduces kernel size by about 2K. This may actually result in
            faster code on machines with limited memory bandwidth.
  
@@ -208,4 +208,4 @@
 +
  endmenu		# General setup
  
- config RT_MUTEXES
+ config CRC32_CALC
diff -ur buildrom_org/packages/kexec-tools/kexec-tools.mk buildrom2/packages/kexec-tools/kexec-tools.mk
--- buildrom_org/packages/kexec-tools/kexec-tools.mk	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/kexec-tools/kexec-tools.mk	2006-10-30 11:23:11.000000000 -0600
@@ -4,7 +4,7 @@
 KEXEC_SRC_DIR=$(KEXEC_DIR)/kexec-tools-1.101
 KEXEC_STAMP_DIR=$(KEXEC_DIR)/stamps
 
-$(KEXEC_SOURCE):
+$(SOURCE_DIR)/$(KEXEC_SOURCE):
 	mkdir -p $(SOURCE_DIR)
 	wget -P $(SOURCE_DIR) $(KEXEC_URL)/$(KEXEC_SOURCE)
 
@@ -17,14 +17,12 @@
 	--prefix=$(STAGING_DIR)\
 	--with-zlib=$(STAGING_DIR))
 
-$(KEXEC_SRC_DIR)/kexec-tools: $(KEXEC_STAMP_DIR)/.configured
+$(KEXEC_SRC_DIR)/objdir/build/lib/kexec-tools: $(KEXEC_STAMP_DIR)/.configured
 	$(MAKE) -C $(KEXEC_SRC_DIR) \
-	CFLAGS=$(CFLAGS) \
-	LDFLAGS="$(LDFLAGS) -L$(STAGING_DIR)/lib --rpath-link,$(STAGING_DIR)/lib "
+	CFLAGS="-static"
 
-$(INITRD_DIR)/sbin/kexec-tools: $(KEXEC_SRC_DIR)/kexec-tools
-	install -d $(INITRD)/sbin
-	install -m 0744 $(KEXEC_SRC_DIR)/kexec-tools $(INITRD)/sbin
+$(INITRD_DIR)/sbin/kexec-tools: $(KEXEC_SRC_DIR)/objdir/build/lib/kexec-tools
+	$(MAKE) -C $(KEXEC_SRC_DIR) install
 
 $(KEXEC_STAMP_DIR):
 	mkdir -p $@
diff -ur buildrom_org/packages/linuxbios/linuxbios.mk buildrom2/packages/linuxbios/linuxbios.mk
--- buildrom_org/packages/linuxbios/linuxbios.mk	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/linuxbios/linuxbios.mk	2006-10-30 11:23:11.000000000 -0600
@@ -1,64 +1,41 @@
 # LinuxBIOS build script
 
 ifeq ($(LINUXBIOS_VENDOR),)
-LINUXBIOS_VENDOR=olpc
+LINUXBIOS_VENDOR=tyan
 endif
 ifeq ($(LINUXBIOS_BOARD),)
-LINUXBIOS_BOARD=rev_a
+LINUXBIOS_BOARD=kernel2892
 endif
 ifeq ($(LINUXBIOS_CONFIG),)
-LINUXBIOS_CONFIG=Config.SPI.lb
+LINUXBIOS_CONFIG=Config.lb
 endif
 ifeq ($(LINUXBIOS_TDIR),)
-LINUXBIOS_TDIR=rev_a_1M
+LINUXBIOS_TDIR=s2892
 endif
-ifeq ($(LINUXBIOS_FETCH),)
-LINUXBIOS_FETCH=git
+ifeq ($(LINUXBIOS_VER),)
+LINUXBIOS_VER=2376
 endif
 
-LINUXBIOS_PATCHES =
+LINUXBIOS_PATCHES =  
 
 ifeq ($(LINUXBIOS_ENABLE_LZMA),y)
-LINUXBIOS_PATCHES += $(PACKAGE_DIR)/linuxbios/lzma-config.patch
+#LINUXBIOS_PATCHES += $(PACKAGE_DIR)/linuxbios/lzma-config.patch
 endif
 
 ifeq ($(LINUXBIOS_CAS25),y)
-LINUXBIOS_PATCHES += $(PACKAGE_DIR)/linuxbios/CL2.5.patch
+#LINUXBIOS_PATCHES += $(PACKAGE_DIR)/linuxbios/CL2.5.patch
 endif
 
-EC_FIRMWARE_URL=http://dev.laptop.org/pub/ec
-EC_FIRMWARE_REV=ec_v$(EC_VER).img
-
+LINUXBIOS_SOURCE_DIR=LinuxBIOSv2
+LINUXBIOS_SVN=svn://openbios.org/repos/trunk/LinuxBIOSv2
 LINUXBIOS_DIR=$(BUILD_DIR)/linuxbios
-
+LINUXBIOS_SRC_DIR=$(LINUXBIOS_DIR)/$(LINUXBIOS_SOURCE_DIR)
 LINUXBIOS_TARGET_DIR=$(LINUXBIOS_SRC_DIR)/targets/
 LINUXBIOS_TARGET_NAME=$(LINUXBIOS_VENDOR)/$(LINUXBIOS_BOARD)
 LINUXBIOS_CONFIG_NAME=$(LINUXBIOS_TARGET_NAME)/$(LINUXBIOS_CONFIG)
 LINUXBIOS_BUILD_DIR=$(LINUXBIOS_TARGET_DIR)/$(LINUXBIOS_TARGET_NAME)/$(LINUXBIOS_TDIR)
 
-# Choose the right variables to use based on our fetch method
-
-ifeq ($(LINUXBIOS_FETCH),git)
-LINUXBIOS_FETCHSH=$(BIN_DIR)/fetchgit.sh
-LINUXBIOS_SRC_DIR=$(LINUXBIOS_DIR)/git
-LINUXBIOS_TAG=$(LINUXBIOS_GIT_TAG)
-LINUXBIOS_URL=$(LINUXBIOS_GIT_URL)
-else
-LINUXBIOS_FETCHSH=$(BIN_DIR)/fetchsvn.sh
-LINUXBIOS_SRC_DIR=$(LINUXBIOS_DIR)/svn
-LINUXBIOS_TAG=$(LINUXBIOS_SVN_TAG)
-LINUXBIOS_URL=$(LINUXBIOS_SVN_URL)
-endif
-
-ifeq ($(LINUXBIOS_TAG),)
-$(error LINUXBIOS_TAG was not defined.  Check your Config.mk)
-endif
-
-ifeq ($(LINUXBIOS_URL),)
-$(error LINUXBIOS_URL was not defined.  Check your Config.mk)
-endif
-
-LINUXBIOS_TARBALL=linuxbios-$(LINUXBIOS_FETCH)-$(LINUXBIOS_TAG).tar.gz
+LINUXBIOS_TARBALL=linuxbios-svn-$(LINUXBIOS_VER).tar.gz
 
 LINUXBIOS_STAMP_DIR=$(LINUXBIOS_DIR)/stamps
 LINUXBIOS_LOG_DIR=$(LINUXBIOS_DIR)/logs
@@ -68,28 +45,30 @@
 LINUXBIOS_CONFIG_LOG=/dev/stdout
 LINUXBIOS_BUILD_LOG=/dev/stdout
 LINUXBIOS_INSTALL_LOG=/dev/stdout
+NRV2B_BUILD_LOG=/dev/stdout
 else
 LINUXBIOS_FETCH_LOG=$(LINUXBIOS_LOG_DIR)/fetch.log
 LINUXBIOS_BUILD_LOG=$(LINUXBIOS_LOG_DIR)/build.log
 LINUXBIOS_CONFIG_LOG=$(LINUXBIOS_LOG_DIR)/config.log
 LINUXBIOS_INSTALL_LOG=$(LINUXBIOS_LOG_DIR)/install.log
+NRV2B_BUILD_LOG=$(LINUXBIOS_LOG_DIR)/nrv2b.build.log
 endif
 
-# Build the manufacturer string from the firmware model and revision
-
-FIRMWARE_REV2 = $(shell echo $(FIRMWARE_REVISION) | awk '{print substr($$1,0,3)}')
-MANUFACTURER_STRING = `printf "%-6s%-7s%-3s" $(FIRMWARE_MODEL) $(FIRMWARE_REVISION) $(FIRMWARE_REV2)`
+$(LINUXBIOS_STAMP_DIR)/.pull_svn_$(LINUXBIOS_VER): 
+	 echo "Checking Linuxbios repository..."
+	$(BIN_DIR)/fetchsvn.sh $(LINUXBIOS_SVN) $(SOURCE_DIR)/$(LINUXBIOS_SOURCE_DIR) \
+	$(LINUXBIOS_VER) > $(LINUXBIOS_FETCH_LOG) 2>&1
+	 touch $@
 
 # fix me sooner or later!
 /tmp/olpcpayload.elf: $(PAYLOAD_TARGET)
 	@ cp $< $@
 
-$(SOURCE_DIR)/$(LINUXBIOS_TARBALL): 
-	@ echo "Fetching the LinuxBIOS code..."
-	@ mkdir -p $(SOURCE_DIR)/linuxbios
-	@ $(LINUXBIOS_FETCHSH) $(LINUXBIOS_URL) $(SOURCE_DIR)/linuxbios \
-	$(LINUXBIOS_TAG) $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \
-	> $(LINUXBIOS_FETCH_LOG) 2>&1
+$(SOURCE_DIR)/$(LINUXBIOS_TARBALL): $(LINUXBIOS_STAMP_DIR)/.pull_svn_$(LINUXBIOS_VER)
+	@ echo "Creating the LinuxBIOS tarball..."
+	@ rm -f $(LINUXBIOS_TARBALL)
+	@ tar -C $(SOURCE_DIR) -zcf $(SOURCE_DIR)/$(LINUXBIOS_TARBALL) \
+	$(LINUXBIOS_SOURCE_DIR)
 
 $(LINUXBIOS_STAMP_DIR)/.unpacked: $(SOURCE_DIR)/$(LINUXBIOS_TARBALL)
 	@ echo "Unpacking LinuxBIOS..."
@@ -107,46 +86,43 @@
 	./buildtarget $(LINUXBIOS_CONFIG_NAME) > $(LINUXBIOS_CONFIG_LOG) 2>&1)
 	@ touch $@
 
-$(LINUXBIOS_STAMP_DIR)/.pull_ecf_$(EC_FIRMWARE_REV):
-	@ echo "Fetching the EC bits..."
-	@ wget -N -P $(LINUXBIOS_BUILD_DIR) $(EC_FIRMWARE_URL)/$(EC_FIRMWARE_REV) 
-	@ wget -N -P $(LINUXBIOS_BUILD_DIR) $(EC_FIRMWARE_URL)/SHA1SUMS 
-	@ if [ "`sha1sum $(LINUXBIOS_BUILD_DIR)/$(EC_FIRMWARE_REV) |cut -d' ' -f1`" != "`grep $(EC_FIRMWARE_REV) $(LINUXBIOS_BUILD_DIR)/SHA1SUMS | cut -d' ' -f1`" ]; then echo "ERROR! EC firmware hash does not match"; exit 1; fi
-	@ echo "EC Bits fetched and verified"
-	@ touch $@
-
 $(LINUXBIOS_BUILD_DIR)/linuxbios.rom:  $(LINUXBIOS_STAMP_DIR)/.configured /tmp/olpcpayload.elf
 	@ echo "Building linuxbios..."
 	@ make -C $(LINUXBIOS_BUILD_DIR) > $(LINUXBIOS_BUILD_LOG) 2>&1
 
+$(OUTPUT_DIR)/linuxbios.rom:  $(LINUXBIOS_BUILD_DIR)/linuxbios.rom
+	@ echo "Making the ROM..."
+	@ cat $(PACKAGE_DIR)/bin/ec.bin $(PACKAGE_DIR)/bin/olpc_vsa.64k.bin \
+	$(LINUXBIOS_BUILD_DIR)/linuxbios.rom > $@
+	@ md5sum $@ | cut -d ' ' -f 1 > $(OUTPUT_DIR)/linuxbios.rom.md5
 
-$(LINUXBIOS_BUILD_DIR)/linuxbios.rom.nosig: $(LINUXBIOS_BUILD_DIR)/linuxbios.rom $(LINUXBIOS_STAMP_DIR)/.pull_ecf_$(EC_FIRMWARE_REV)
-	@ echo "Building the ROM..."
-	@ cat $(LINUXBIOS_BUILD_DIR)/$(EC_FIRMWARE_REV) $(PACKAGE_DIR)/bin/olpc_vsa.64k.bin $(LINUXBIOS_BUILD_DIR)/linuxbios.rom > $@
+$(LINUXBIOS_SRC_DIR)/util/nrv2b/nrv2b: $(LINUXBIOS_STAMP_DIR)/.patched
+	@ echo "Building nrv2b..."
+	@ make -C $(LINUXBIOS_SRC_DIR)/util/nrv2b CFLAGS="$(HOST_CFLAGS)" \
+	LDFLAGS=$(HOST_LDFLAGS) > $(NRV2B_BUILD_LOG) 2>&1
+
+$(STAGING_DIR)/bin/nrv2b: $(LINUXBIOS_SRC_DIR)/util/nrv2b/nrv2b
+	@ install -d $(STAGING_DIR)/bin
+	@ install -m 0755 $< $@
 
-$(OUTPUT_DIR)/linuxbios.rom: $(LINUXBIOS_BUILD_DIR)/linuxbios.rom.nosig
-	@ $(BIN_DIR)/setsig.sh $< "$(MANUFACTURER_STRING)" $@ 
-	@ md5sum $@ | cut -d ' ' -f 1 > $(OUTPUT_DIR)/linuxbios.rom.md5
-	
 $(LINUXBIOS_STAMP_DIR) $(LINUXBIOS_LOG_DIR):
 	@ mkdir -p $@
 
 linuxbios: $(LINUXBIOS_STAMP_DIR) $(LINUXBIOS_LOG_DIR) $(OUTPUT_DIR)/linuxbios.rom
 
+nrv2b: $(LINUXBIOS_STAMP_DIR) $(LINUXBIOS_LOG_DIR) $(STAGING_DIR)/bin/nrv2b
+
 linuxbios-clean:
 	@ echo "Cleaning linuxbios..."
 	@ $(MAKE) -C $(LINUXBIOS_BUILD_DIR) clean > /dev/null 2>&1
-	@ rm -f $(LINUXBIOS_STAMP_DIR)/.pull_ecf_$(EC_FIRMWARE_REV)
-	@ rm -f $(LINUXBIOS_BUILD_DIR)/$(EC_FIRMWARE_REV) \
-	$(LINUXBIOS_BUILD_DIR)/SHA1SUMS
 
 linuxbios-distclean:
 	@ rm -rf $(LINUXBIOS_DIR)/*
 
 linuxbios-bom:
 	@ echo "Package: linuxbios"
-	@ echo "Source:  $(LINUXBIOS_URL)"
-	@ echo "Revison: $(LINUXBIOS_TAG)"
-	@ echo "Tarball: `basename $(LINUXBIOS_TARBALL)"
+	@ echo "Source:  $(LINUXBIOS_SVN)"
+	@ echo "Revison: $(LINUXBIOS_VER)"
+	@ echo "Tarball: linuxbios-svn-$(LINUXBIOS_VER).tar.gz"
 	@ echo ""
 
diff -ur buildrom_org/packages/mkelfimage/mkelfimage.mk buildrom2/packages/mkelfimage/mkelfimage.mk
--- buildrom_org/packages/mkelfimage/mkelfimage.mk	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/mkelfimage/mkelfimage.mk	2006-10-30 11:23:11.000000000 -0600
@@ -31,7 +31,7 @@
 
 $(MKELFIMAGE_SRC_DIR)/objdir/sbin/mkelfImage: $(MKELFIMAGE_STAMP_DIR)/.configured
 	@ echo "Building mkelfImage..."
-	@ $(MAKE) -C $(MKELFIMAGE_SRC_DIR) all > $(MKELFIMAGE_BUILD_LOG) 2>&1
+	@ $(MAKE) -C $(MKELFIMAGE_SRC_DIR) > $(MKELFIMAGE_BUILD_LOG) 2>&1
 
 $(STAGING_DIR)/sbin/mkelfImage: $(MKELFIMAGE_SRC_DIR)/objdir/sbin/mkelfImage
 	@ install -d $(STAGING_DIR)/sbin
@@ -43,7 +43,7 @@
 mkelfimage: $(MKELFIMAGE_STAMP_DIR) $(MKELFIMAGE_LOG_DIR) $(STAGING_DIR)/sbin/mkelfImage
 
 mkelfimage-clean:
-	@ $(MAKE) -C $(MKELFIMAGE_SRC_DIR) clean > /dev/null 2>&1
+	@ $(MAKE) -C $(MKELFIMAGE_SRC_DIR) clean #> /dev/null 2>&1
 
 mkelfimage-distclean:
 	@ rm -rf $(MKELFIMAGE_DIR)/*
diff -ur buildrom_org/packages/olpcflash/olpcflash.c buildrom2/packages/olpcflash/olpcflash.c
--- buildrom_org/packages/olpcflash/olpcflash.c	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/olpcflash/olpcflash.c	2006-10-30 11:23:11.000000000 -0600
@@ -47,8 +47,8 @@
 #define printf_super_debug(x...) { if(verbose > 1) printf(x); }
 
 #define VER_MAJOR   0
-#define VER_MINOR   3
-#define VER_RELEASE 0
+#define VER_MINOR   2
+#define VER_RELEASE 3
 
 #define LINUXBIOS_START		0x10000
 #define PAGE_SIZE			256
@@ -75,16 +75,14 @@
 	WRITEDISABLE,
 	READSTATUS,	
 	WRITEENABLE,
-	HIGHSPEEDREAD 	= 0xb,
-	SECTORERASESST 	= 0x20, 
+	HIGHSPEEDREAD = 0xb,
+	SECTORERASESST = 0x20, 
 	ENABLEWRITESTATUSSST = 0x50,
-	BLOCKERASESST 	= 0x52,  /* 32k block */
-	CHIPERASESST 	= 0x60,
-	READJDECID 	= 0x9f,
-	AUTOINCPROGSST  = 0xad,
-	CHIPERASEPCM 	= 0xc7, /* also nexflash */
-	SECTORERASEPCM 	= 0xd7,
-	BLOCKERASEPCM 	= 0xd8, /* also nexflash, and spansion, SST (64k) */
+	BLOCKERASESST = 0x52,
+	CHIPERASESST = 0x60,
+	CHIPERASEPCM = 0xc7, /* also nexflash */
+	SECTORERASEPCM = 0xd7,
+	BLOCKERASEPCM = 0xd8, /* also nexflash, and spansion */
 };
 
 enum {
@@ -98,24 +96,6 @@
 	WIP = 1 << 0
 };
 
-enum {
-	SPANSION	= 0x01,
-	SST 		= 0xbf,
-	WINBOND 	= 0xef
-};
-
-struct flashchip {
-	int manufacture_id;
-	int model_type;
-	int model_id;
-
-	int total_size;
-	int page_size;
-
-	int (*write_page) (unsigned char *buf, unsigned long addr, unsigned long size);
-
-};
-
 char *chip_to_probe = NULL;
 
 int exclude_start_page, exclude_end_page;
@@ -131,7 +111,6 @@
 // count to a billion. Time it. If it's < 1 sec, count to 10B, etc.
 unsigned long micro = 1;
 
-
 void myusec_delay(int time)
 {
 	volatile unsigned long i;
@@ -165,8 +144,8 @@
 }
 
 
-void setecindex(unsigned short index)
-{
+void
+setecindex(unsigned short index){
 	unsigned char hi = index>>8;
 	unsigned char lo = index;
 
@@ -178,8 +157,8 @@
 		iobase, hi, iobase+1, lo);
 }
 
-unsigned char getecdata(void)
-{
+unsigned char 
+getecdata(void){
 	unsigned char data;
 
 	if (noop) return 0;
@@ -189,8 +168,8 @@
 	return data;
 }
 
-void putecdata(unsigned char data)
-{
+void
+putecdata(unsigned char data){
 
 	if (noop) return;
 
@@ -198,14 +177,14 @@
 	printf_super_debug("%s: wrote 0x%x to 0x%x\n", __FUNCTION__, data, iobase+2);
 }
 
-unsigned char readecdata(unsigned short index)
-{
+unsigned char 
+readecdata(unsigned short index){
 	setecindex(index);
 	return getecdata();
 }
 
-void writeecdata(unsigned short index, unsigned char data)
-{
+void
+writeecdata(unsigned short index, unsigned char data){
 	setecindex(index);
 	putecdata(data);
 }
@@ -220,32 +199,31 @@
 	writeecdata(SPIA2, data);
 }
 
-unsigned char rdata(void)
-{
+unsigned char 
+rdata(){
 	unsigned char data;
 	data = readecdata(SPIDAT);
 	return data;
 }
 
-void wdata(unsigned char data)
-{
+void
+wdata(unsigned char data){
 	writeecdata(SPIDAT, data);
 }
 
-unsigned char cmd(void)
-{
+unsigned char
+cmd(void){
 	return readecdata(SPICMD);
 }
 
-void docmd(unsigned char cmd)
-{
-	printf_super_debug("docmd: cmd 0x%x\n", cmd);
+void
+docmd(unsigned char cmd){
 	writeecdata(SPICMD, cmd);
 	printf_super_debug("docmd: cmd 0x%x\n", cmd);
 }
 
-void wait_cmd_sent(void)
-{
+void
+wait_cmd_sent(void){
 	int trycount = 0;
 	myusec_delay(10);
 
@@ -298,7 +276,8 @@
  * writes data to the part.  The write enable
  * latch resets after write commands complete.
  */
-void send_write_enable(void) {
+void
+send_write_enable(void) {
 	start_SPI_firmware_mode_access();
 	short_delay();
 	docmd(WRITEENABLE);
@@ -306,7 +285,8 @@
 	end_SPI_firmware_mode_access();
 }
 
-void send_addr(unsigned long addr)
+void 
+send_addr(unsigned long addr)
 {
 	unsigned char data;
 
@@ -322,21 +302,22 @@
 	docmd(data);
 }
 
-void enable_flash_cmd(void)
+void 
+enable_flash_cmd(void)
 {
 	writeecdata(SPICFG, SPICMDWE|readecdata(SPICFG));
 }
 
-void enable_flash_write_protect(void)
-{
+void 
+enable_flash_write_protect(void){
 	unsigned char val;
 	val = readecdata(GPIO5);
 	val &= ~0x80;
 	writeecdata(GPIO5,val);
 }
 
-void disable_flash_write_protect(void)
-{
+void 
+disable_flash_write_protect(void){
 	unsigned char val;
 	val = readecdata(GPIO5);
 	val |= 0x80;
@@ -352,10 +333,10 @@
  * activity.
 
  * Plus Ray Tseng said so.
- * 
+
+ * It appears to work in read mode without this though.
  */
-void put_kbc_in_reset(void)
-{
+void put_kbc_in_reset(void){
 	unsigned char val;
 	unsigned long timeout = 500000;
 
@@ -370,8 +351,7 @@
 	writeecdata(0xff14,val);
 }
 
-void restore_kbc_run_mode(void)
-{
+void restore_kbc_run_mode(void){
 	unsigned char val;
 
 	val = readecdata(0xff14);
@@ -417,7 +397,7 @@
 
 	return 0;
 }	
-
+ 
 int erase_sector(unsigned long addr)
 {
 	send_write_enable();
@@ -468,9 +448,8 @@
 	return 0;
 }
 
-
-unsigned char read_flash_byte(unsigned long addr) 
-{
+unsigned char 
+read_flash_byte(unsigned long addr) {
 	unsigned char data;
 
 	setaddr(addr);
@@ -481,8 +460,8 @@
 	return data;
 }
 
-int read_flash(unsigned char *buf, unsigned long start, unsigned long size)
-{
+int
+read_flash(unsigned char *buf, unsigned long start, unsigned long size){
 	unsigned long i;
 
 	printf("Reading %ld bytes from %lx\r\n",size,start);
@@ -494,34 +473,8 @@
 	return 0;
 }
 
-int read_jdec_id(struct flashchip *flash)
-{
-	unsigned char data;
-
-	start_SPI_firmware_mode_access();
-	short_delay();
-
-	docmd(READJDECID);
-	wait_cmd_sent();
-	docmd(DUMMY);
-	wait_cmd_sent();
-	data = rdata();
-	flash->manufacture_id = data;
-	docmd(DUMMY);
-	wait_cmd_sent();
-	data = rdata();
-	flash->model_type = data;
-	docmd(DUMMY);
-	wait_cmd_sent();
-	data = rdata();
-	flash->model_id = data;
-
-	end_SPI_firmware_mode_access();
-	
-	return 0;
-}
-
-int write_flash_byte(unsigned long addr, unsigned char data) {
+int
+write_flash_byte(unsigned long addr, unsigned char data) {
 
 	send_write_enable();
 	short_delay();
@@ -553,8 +506,7 @@
 	return 0;
 }
 
-int write_flash_page(unsigned char *buf, unsigned long addr, unsigned long size)
-{
+int write_flash_page(unsigned char *buf, unsigned long addr, unsigned long size) {
 	
 	send_write_enable();
 	short_delay();
@@ -667,17 +619,14 @@
 {
 	printf("%s Ver: %d.%d.%d\n",name,VER_MAJOR,VER_MINOR,VER_RELEASE);
 	printf("usage: %s [-rwv] [-V] [file]\n", name);
-	printf("   -r | --read      read flash and save into file\n"
-	       "   -w | --write     write file into flash\n"
-	       "   -v | --verify    verify flash against file\n"
-	       "   -E | --erase     erase LinuxBIOS area (0x10000-0xfffff)\n"
-	       "   -V | --verbose   more verbose output\n"
-               "   -n | --noop Noop mode. Do the motions but no io\n"
-               "   -h | --help This message\n"
-	       "        --no-verify skip the autoverify on write\n"
-	       "   -P | --nobrick: Partial mode. Writes start @ 64Kib\n"	       
-	       "   -I | --id        print out part JDEC ID values\n"
-	       "   -f | --force-id <id>  Force a specific ID\n"
+	printf("   -r | --read:   read flash and save into file\n"
+	       "   -w | --write:  write file into flash\n"
+	       "   -v | --verify: verify flash against file\n"
+	       "   -E | --erase: Erase LinuxBIOS area (0x10000-0xfffff)\n"
+	       "   -V | --verbose: more verbose output\n"
+           "   -n | --noop: Noop mode. Do the motions but no io\n"
+           "   -h | --help: This message\n"
+	       "        --no-verify: Skip the autoverify on write\n"
 	       "\n\n");
 	exit(1);
 }
@@ -693,39 +642,31 @@
 	    write_it = 0, 
 	    erase_it = 0, 
 	    verify_it = 0,
-	    show_id =0;
-	int auto_verify = 1;
-	int force_id = 0;
-	int brick_mode = 1;
+	    auto_verify = 1;
+	int brick_mode = 0;
 	int ret = 0;
 	int i=0;
-	int forced_id=0;
 	unsigned char buf[ROM_SIZE];
 	unsigned char* buf_start=NULL;
 
-	struct flashchip flash;
-
 	static struct option long_options[]= {
 		{ "read",		0, 0, 'r' },
 		{ "write",		0, 0, 'w' },
 		{ "erase",		0, 0, 'E' },
-		{ "verify", 		0, 0, 'v' },
+		{ "verify", 	0, 0, 'v' },
 		{ "iobase",		1, 0, 'i' },
-		{ "verbose",		0, 0, 'V' },
+		{ "verbose",	0, 0, 'V' },
 		{ "help", 		0, 0, 'h' },
 		{ "brick",		0, 0, 'B' },
-		{ "nobrick",		0, 0, 'P' },
 		{ "noop",		0, 0, 'n' },
 		{ "no-verify",		0, 0, 'a' },
-		{ "id",			0, 0, 'I' },
-		{ "force-id",		1, 0, 'f' },
 		{ 0, 0, 0, 0 }
 	};
 	
 	char *filename = NULL;
 
 	setbuf(stdout, NULL);
-	while ((opt = getopt_long(argc, argv, "rwvVEnIhPi:f:", long_options,
+	while ((opt = getopt_long(argc, argv, "rwvVEnc:s:i:h", long_options,
 					&option_index)) != EOF) {
 		switch (opt) {
 		case 'r':
@@ -747,36 +688,19 @@
 			errno = 0;
 			iobase = (unsigned short) strtol(optarg,0,0);
 			if (errno || (iobase == 0)) {
-				printf("Invalid IO base\n");
+				printf("Invlid IO base\n");
 				exit(1);
 			}
 			break;
 		case 'B':
 			brick_mode = 1;
 			break;
-		case 'P':
-			brick_mode = 0;
-			break;
 		case 'n':
 			noop = 1;
 			break;
 		case 'a':
 			auto_verify = 0;
 			break;
-		case 'I':
-			show_id = 1;
-			break;
-
-		case 'f': 
-			force_id = 1;
-			errno = 0;
-			forced_id = (int) strtol(optarg,0,0);
-			if (errno || (forced_id  == 0)) {
-				printf("Invalid Mfg ID\n");
-				exit(1);
-			}
-			break;
-
 		case 'h':
 		default:
 			usage(argv[0]);
@@ -811,9 +735,8 @@
 	if (optind < argc)
 		filename = argv[optind++];
 
-	if (!erase_it && !write_it && !read_it && !verify_it && !show_id) {
+	if (!erase_it && !write_it && !read_it && !verify_it) {
 		printf("No command specified so no operations performed\n");
-		printf("Use -h for details\n");
 		exit(2);
 	}
 
@@ -822,44 +745,6 @@
 	printf("ok\n");
 
 	enable_flash_cmd();
-	/* 
-	 * This is required prior to _all_ commands. Otherwise the kbc can steal your data
-	 */
-	put_kbc_in_reset();
-
-	read_jdec_id(&flash);
-
-	if (show_id) {
-		printf("Manufacture ID = 0x%x\n",flash.manufacture_id);
-		printf("Model Type     = 0x%x\n",flash.model_type);
-		printf("Model ID       = 0x%x\n",flash.model_id);
-	}
-
-	if (force_id) {
-		flash.manufacture_id = forced_id;
-	}
-
-	switch (flash.manufacture_id) {
-
-		case SST:
-//			flash.write_page = write_flash_page_sst;
-			printf("SST part found\n");
-		break;
-
-		case WINBOND:
-			flash.write_page = write_flash_page;
-			printf("Windbond part found\n");
-		break;
-		case SPANSION:
-			flash.write_page = write_flash_page;
-			printf("Spansion part found\n");
-		break;
-
-		default:
-			printf("Unable to determine flash type\n");
-			printf("use the -f option to force\n");
-			exit(1);
-	}
 
 	size = ROM_SIZE;
 	start_addr = 0;
@@ -876,11 +761,6 @@
 		size -= EC_CODE_SIZE;
 		start_addr = LINUXBIOS_START;
 		buf_start+= EC_CODE_SIZE;
-
-		printf("Partial modei. Skipping first 64Kib\n");
-	}
-	else {
-		printf("Brick mode. Will operate on the first 64Kib\n");
 	}
 
 	if (erase_it) {
@@ -930,8 +810,6 @@
 		ret |= verify_flash(buf_start,start_addr,size);
 	}
 
-	printf("IMPORTANT! The kbc has been left in reset. You keyboard and mouse WILL NOT WORK until you POWER CYCLE.\n");
-	printf("A warm reboot is NOT good enough.\n");
 	return ret;
 }
 
diff -ur buildrom_org/packages/uclibc/conf/defconfig buildrom2/packages/uclibc/conf/defconfig
--- buildrom_org/packages/uclibc/conf/defconfig	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/packages/uclibc/conf/defconfig	2006-10-30 11:40:54.000000000 -0600
@@ -8,7 +8,7 @@
 # TARGET_e1 is not set
 # TARGET_frv is not set
 # TARGET_h8300 is not set
-TARGET_i386=y
+# TARGET_i386 is not set
 # TARGET_i960 is not set
 # TARGET_m68k is not set
 # TARGET_microblaze is not set
@@ -20,31 +20,14 @@
 # TARGET_sh64 is not set
 # TARGET_sparc is not set
 # TARGET_v850 is not set
-# TARGET_x86_64 is not set
+TARGET_x86_64=y
 
 #
 # Target Architecture Features and Options
 #
 HAVE_ELF=y
 ARCH_SUPPORTS_LITTLE_ENDIAN=y
-TARGET_ARCH="i386"
-# CONFIG_GENERIC_386 is not set
-# CONFIG_386 is not set
-# CONFIG_486 is not set
-# CONFIG_586 is not set
-CONFIG_586MMX=y
-# CONFIG_686 is not set
-# CONFIG_PENTIUMII is not set
-# CONFIG_PENTIUMIII is not set
-# CONFIG_PENTIUM4 is not set
-# CONFIG_K6 is not set
-# CONFIG_K7 is not set
-# CONFIG_ELAN is not set
-# CONFIG_CRUSOE is not set
-# CONFIG_WINCHIPC6 is not set
-# CONFIG_WINCHIP2 is not set
-# CONFIG_CYRIXIII is not set
-# CONFIG_NEHEMIAH is not set
+TARGET_ARCH="x86_64"
 ARCH_LITTLE_ENDIAN=y
 # ARCH_BIG_ENDIAN is not set
 # ARCH_HAS_NO_MMU is not set
@@ -52,7 +35,7 @@
 UCLIBC_HAS_FLOATS=y
 HAS_FPU=y
 # DO_C99_MATH is not set
-KERNEL_SOURCE="/usr/src/linux"
+KERNEL_SOURCE="~/xd1000/olpc/buildrom/work/kernel/linux-2.6.18.1/"
 C_SYMBOL_PREFIX=""
 HAVE_DOT_CONFIG=y
 
@@ -72,8 +55,7 @@
 # LDSO_RUNPATH is not set
 # DL_FINI_CRT_COMPAT is not set
 # UCLIBC_CTOR_DTOR is not set
-# HAS_NO_THREADS is not set
-# UCLIBC_HAS_THREADS is not set
+HAS_NO_THREADS=y
 UCLIBC_HAS_LFS=y
 # UCLIBC_STATIC_LDCONFIG is not set
 # MALLOC is not set
diff -ur buildrom_org/skeleton/bin/boot.functions buildrom2/skeleton/bin/boot.functions
--- buildrom_org/skeleton/bin/boot.functions	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/skeleton/bin/boot.functions	2006-10-30 11:23:11.000000000 -0600
@@ -1,50 +1,16 @@
-# This file is sourced by boot-usb and boot-nand
+# This file is sourced by boot-hdd
 # This provides the common boot functions
 
-# Note - these are being kept for compatablity purposes
-# The best solution is to use olpc-boot.sh
-
-CMDLINE="root=/dev/sda1 console=ttyS0,115200 console=tty0 rootdelay=10 rw"
-KERNEL="/bzImage"
-INITRD=""
-VT="1"
-
-# Any of the above can be over-ridden by /boot.conf
-
-if [ -f /boot.conf ]; then
-	. /boot.conf
-fi
-
 message() {
-	echo $1 > /dev/tty$VT
+	echo S: $1 > /dev/ttyS0
 	echo $1
 }
 
 doboot() {
 	DIR=$1
-
-	# Switch to the mounted directory to make life easier for the script
 	cd $DIR 
 
-	if [ -x ./boot/olpc-boot.sh ]; then
-		. ./boot/olpc-boot.sh
-		message "Unable to execute the olpc-boot.sh script"
-		return
-	fi
-
-	if [ -x ./olpc-boot.sh ]; then
-		. ./olpc-boot.sh
-		message "Unable to execute the olpc-boot.sh script"
-		return
-	fi
-
-	# For backwards compatablity - try to find the kernel
-
-	if [ ! -f $DIR$KERNEL ]; then
-		message "ERROR: $DIR$KERNEL doesn't exist."
-		return
-	fi
-
-	/sbin/kbl-kexec $DIR$KERNEL "$CMDLINE" $INITRD
-	message "ERROR: can't run kbl-kexec $DIR$KERNEL $CMDLINE $INITRD"
+	. ./olpc-boot.sh
+	message "Unable to execute the olpc-boot.sh script"
+	return
 }
diff -ur buildrom_org/skeleton/device.txt buildrom2/skeleton/device.txt
--- buildrom_org/skeleton/device.txt	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/skeleton/device.txt	2006-10-30 11:23:11.000000000 -0600
@@ -1,10 +1,15 @@
-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
+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
-mem    c       640     0       0       1       1
-fb0    c       640     0       0       29      0
+ttyS0	c	640	0	0	4	64
+console	c	640	0	0	5	1
+hda	b	660	0	0	3	0
+hda1	b	660	0	0	3	1
+hda2	b	660	0	0	3	2
+sda	b	660	0	0	8	0
+sda1	b	660	0	0	8	1
+sda2	b	660	0	0	8	2
+mem	c	640	0	0	1	1
+fb0	c	640	0	0	29	0
diff -ur buildrom_org/skeleton/linuxrc buildrom2/skeleton/linuxrc
--- buildrom_org/skeleton/linuxrc	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/skeleton/linuxrc	2006-10-30 11:23:11.000000000 -0600
@@ -1,62 +1,28 @@
 #!/bin/sh
 
-# We need boot functions for message()
+/sbin/makedevs /dev < device.txt > /output.makedevs.txt 2>&1
+
 . /bin/boot.functions
 
 boot_default() {
-	sh /bin/boot-nand
-	sh /bin/boot-usb
+	sh /bin/boot-hdd
 }
 
-# Make the null device by hand, since we use it in the makedevs step.
-
-mknod /dev/null c 1 3
-
 mkdir /proc
 mount -t proc proc /proc
 
 # For debug purposes
 mount -t usbfs usbfs /proc/bus/usb
 
-# Makedevs returns seemingly nasty error messages, even though the
-# files are still created (we're missing something in the minimal kernel 
-# that causes chown to return ENOSYS).
-# End result - we ignore the error messages
-
-/sbin/makedevs /dev < device.txt > /dev/null 2>&1
-
 # Show the version 
-cat /buildrom-version
 cat /buildrom-version > /dev/tty$VT
 
-# FIXME - bad!
-
-message "Starting bootmenu."
+message "Trying to boot from hdd."
 cd /bin
-./bootmenu
+./boot-hdd
 RET=$?
 cd /
 
-# Bootmenu now returns 0 if the timeout happened (meaning, 
-# we want to boot the default - which in this case is nand
-# then USB key.  $RET > 0 means to select the menu item
-
-# NOTE:  Should 3 be boot_default, or boot-usb only?
-
-if [ $RET -eq 0 ]; then
-	message "NOTICE: Booting default"
-	boot_default
-elif [ $RET -eq 1 ]; then
-	message "ERROR: Wired mode isn't supported right now."
-elif [ $RET -eq 2 ]; then
-	message "ERROR: Wireless mode isn't supported right now."
-elif [ $RET -eq 3 ]; then
-	sh /bin/boot-usb
-elif [ $RET -eq -1 ]; then
-	message "ERROR: The bootmenu was not successful."
-fi
-
 message "NOTICE: Starting the shell..."
-
 openvt $VT /bin/ash
 exec /bin/ash
diff -ur buildrom_org/Vars.mk buildrom2/Vars.mk
--- buildrom_org/Vars.mk	2006-10-30 11:30:07.000000000 -0600
+++ buildrom2/Vars.mk	2006-10-30 11:23:11.000000000 -0600
@@ -26,7 +26,7 @@
 GCCDIR:=$(shell $(CC) --print-search-dirs | grep install | awk '{print $$2}')
 LIBGCC:=$(shell $(CC) $(LIBGCC_CFLAGS) -print-libgcc-file-name)
 
-CFLAGS=-nostdinc -fpic -m32 -Os -march=i586 -isystem $(STAGING_DIR)/include \
+CFLAGS=-nostdinc -fpic -m64 -Os -march=x86-64 -isystem $(STAGING_DIR)/include \
 -isystem $(GCCDIR)/include
 
 STRIP=strip
