diff --git a/rules.mk b/rules.mk
index 0ce75f55c0c5dea4be0bd8c572b99aa645658724..1419f2f6a0ac0eee24544385c9f873e9ddfac4c0 100644
--- a/rules.mk
+++ b/rules.mk
@@ -84,7 +84,8 @@ TARGET_CONFIGURE_OPTS:= \
   RANLIB=$(TARGET_CROSS)ranlib \
   STRIP=$(TARGET_CROSS)strip \
   OBJCOPY=$(TARGET_CROSS)objcopy \
-	OBJDUMP=$(TARGET_CROSS)objdump
+	OBJDUMP=$(TARGET_CROSS)objdump \
+	SIZE=$(TARGET_CROSS)size
 
 # strip an entire directory
 RSTRIP:= \
diff --git a/target/linux/at91-2.6/base-files/default/etc/inittab b/target/linux/at91-2.6/base-files/default/etc/inittab
index c1b9cd7eb93790d35f745d573b7b95a4260b69c5..a627ce5ffab16b82e2ca3878b98a918ded8ce8e5 100644
--- a/target/linux/at91-2.6/base-files/default/etc/inittab
+++ b/target/linux/at91-2.6/base-files/default/etc/inittab
@@ -1,4 +1,5 @@
-::sysinit:/etc/init.d/rcS
+::sysinit:/etc/init.d/rcS S boot
+::shutdown:/etc/init.d/rcS K stop
 tts/0::askfirst:/bin/ash --login
 ttyS0::askfirst:/bin/ash --login
 
diff --git a/target/linux/at91-2.6/image/Config.in b/target/linux/at91-2.6/image/Config.in
index 4335faac5a2915e837b714ad90fc4077afd94091..086f10d83eab1195be82a73396dfd674ae2a7fee 100644
--- a/target/linux/at91-2.6/image/Config.in
+++ b/target/linux/at91-2.6/image/Config.in
@@ -3,6 +3,11 @@ config AT91_ROMBOOT
 	depends LINUX_2_6_AT91
 	default y
 
+config AT91_DFBOOT
+	bool "Build dataflashboot loader"
+	depends LINUX_2_6_AT91
+	default y
+
 config AT91_UBOOT
 	bool "Build u-boot loader"
 	depends LINUX_2_6_AT91
diff --git a/target/linux/at91-2.6/image/Makefile b/target/linux/at91-2.6/image/Makefile
index 73a281b8085cd5c32377854c1822289314dbc4d1..b498059a57cdc2a4b2d5911c372cd8090e656a0b 100644
--- a/target/linux/at91-2.6/image/Makefile
+++ b/target/linux/at91-2.6/image/Makefile
@@ -9,13 +9,14 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
 define Build/Clean
-	$(MAKE) -C romboot clean
+#	$(MAKE) -C romboot clean
+	$(MAKE) -C dfboot clean
 	$(MAKE) -C u-boot clean
 endef
 
 define Build/Compile
-	$(MAKE) -C romboot compile
-#	$(MAKE) -C u-boot configure
+#	$(MAKE) -C romboot compile
+	$(MAKE) -C dfboot compile
 	$(MAKE) -C u-boot compile
 	$(KDIR)/u-boot-1.1.4/tools/ubparams
 	cp params $(KDIR)
@@ -23,8 +24,8 @@ endef
 
 define Image/Prepare
   cp $(LINUX_DIR)/arch/arm/boot/uImage $(KDIR)/uImage
-	cp $(KDIR)/romboot/romboot.bin $(KDIR)/romboot.bin
-	cp $(KDIR)/romboot/rbptest.bin $(KDIR)/rbptest.bin
+	cp $(KDIR)/dfboot/dfboot.bin $(KDIR)/dfboot.bin
+	cp $(KDIR)/dfboot/dfbptest.bin $(KDIR)/dfbptest.bin
 	cp $(KDIR)/u-boot-1.1.4/u-boot.bin $(KDIR)/u-boot.bin
 	dd if=$(KDIR)/u-boot.bin of=$(KDIR)/u-boot.block bs=100k count=1 conv=sync
 	cat $(KDIR)/u-boot.block $(KDIR)/params > $(KDIR)/u-boot.full
@@ -38,8 +39,8 @@ define Image/Build
 	dd if=$(KDIR)/uImage of=$(KDIR)/uImage.block bs=8448 conv=sync
 	dd if=$(KDIR)/root.squashfs of=$(KDIR)/root.block bs=8448 conv=sync
 	cat $(KDIR)/uImage.block $(KDIR)/root.block > $(KDIR)/knlroot.bin
-	$(STAGING_DIR)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL).trx -f $(KDIR)/romboot.bin -f$(KDIR)/u-boot.full -f$(KDIR)/knlroot.bin
-	cp $(KDIR)/rbptest.bin $(BIN_DIR)
+	$(STAGING_DIR)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL).trx -f $(KDIR)/dfboot.bin -f$(KDIR)/u-boot.full -f$(KDIR)/knlroot.bin
+	cp $(KDIR)/dfbptest.bin $(BIN_DIR)
 	$(call Image/Build/$(1),$(1))
 endef
 
diff --git a/tools/firmware-utils/src/trx.c b/tools/firmware-utils/src/trx.c
index f2ad99136706d6cc04fd32e5d582137af5eaac00..1ad3de54f63bcc756d33592f164c85c05a2f5089 100644
--- a/tools/firmware-utils/src/trx.c
+++ b/tools/firmware-utils/src/trx.c
@@ -231,7 +231,6 @@ int main(int argc, char **argv)
 
 	fclose(out);
 	
-	printf("Offsets:\n0x%08x\n0x%08x\n0x%08x\n", p->offsets[0], p->offsets[1], p->offsets[2]);
 	return EXIT_SUCCESS;
 }