--- linux-2.6.32/Makefile
+++ linux-2.6.32/Makefile
@@ -551,6 +551,25 @@
 # Defaults vmlinux but it is usually overridden in the arch makefile
 all: vmlinux
 
+DD		= dd
+
+vmlinux.bin: vmlinux
+	$(CROSS_COMPILE)objcopy -S -O binary $(TOPDIR)/vmlinux vmlinux.bin
+
+vmlinux.lzma: vmlinux.bin
+	$$FREETZ_BASE_DIR/tools/lzma e -lc1 -lp2 -pb2 \
+		vmlinux.bin vmlinux.lzma
+
+vmlinux.eva: vmlinux.lzma
+	loadaddr=$$($(AWK) '/[AT] _text/ { print "0x"$$1; }' < System.map); \
+	entry=$$($(AWK) '/T kernel_entry/ { print "0x"$$1; }' < System.map); \
+	echo loadaddr=$$loadaddr entry=$$entry; \
+	$$FREETZ_BASE_DIR/tools/lzma2eva $$loadaddr $$entry \
+		vmlinux.lzma vmlinux.eva
+
+vmlinux.eva_pad: vmlinux.eva
+	$(DD) if=vmlinux.eva of=vmlinux.eva_pad bs=256 conv=sync
+
 ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
 KBUILD_CFLAGS	+= -Os
 else
@@ -1246,7 +1265,7 @@
 
 # Directories & files removed with 'make clean'
 CLEAN_DIRS  += $(MODVERDIR)
-CLEAN_FILES +=	vmlinux System.map \
+CLEAN_FILES +=	vmlinux vmlinux.bin vmlinux.lzma vmlinux.eva vmlinux.eva_pad System.map \
                 .tmp_kallsyms* .tmp_version .tmp_vmlinux* .tmp_System.map
 
 # Directories & files removed with 'make mrproper'
--- linux-2.6.32/arch/mips/Makefile
+++ linux-2.6.32/arch/mips/Makefile
@@ -814,9 +814,6 @@
 
 all:	$(all-y)
 
-vmlinux.bin: $(vmlinux-32)
-	+@$(call makeboot,$@)
-
 vmlinux.ecoff: $(vmlinux-32)
 	+@$(call makeboot,$@)
 
