Index: boot/arch/arm32/loader/Makefile
===================================================================
--- boot/arch/arm32/loader/Makefile	(revision 34016225c52e32d3da6c34b6fd605a201ba79d96)
+++ boot/arch/arm32/loader/Makefile	(revision 136edca07dac4855f2401e71778a4078795a3216)
@@ -28,13 +28,16 @@
 
 include ../../../../version
-include ../../../../Makefile.config
+include ../../../Makefile.config
 
 ## Toolchain configuration
 #
 
+BFD = elf32-littlearm
+BFD_NAME = elf32-littlearm
+BFD_ARCH = arm
 TARGET = arm-linux-gnu
 TOOLCHAIN_DIR = /usr/local/arm/bin
 
-ifeq ($(COMPILER),native)
+ifeq ($(COMPILER),gcc_native)
 	CC = gcc
 	AS = as
@@ -42,5 +45,7 @@
 	OBJCOPY = objcopy
 	OBJDUMP = objdump
-else
+endif
+
+ifeq ($(COMPILER),gcc_cross)
 	CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc
 	AS = $(TOOLCHAIN_DIR)/$(TARGET)-as
@@ -69,18 +74,15 @@
 	asm.S \
 	mm.c \
+	print/gxemul.c \
+	_components.c \
 	../../../generic/printf.c \
 	../../../genarch/division.c
-
-ifeq ($(MACHINE), gxemul_testarm)
-	SOURCES += print/gxemul.c
-endif
-
 
 COMPONENTS = \
 	$(KERNELDIR)/kernel.bin \
 	$(USPACEDIR)/srv/ns/ns \
+	$(USPACEDIR)/srv/fb/fb \
 	$(USPACEDIR)/srv/kbd/kbd \
 	$(USPACEDIR)/srv/console/console \
-	$(USPACEDIR)/srv/fb/fb \
 	$(USPACEDIR)/srv/vfs/vfs \
 	$(USPACEDIR)/srv/fs/tmpfs/tmpfs \
@@ -88,7 +90,7 @@
 	$(USPACEDIR)/srv/devmap/devmap \
 	$(USPACEDIR)/app/init/init \
+	$(USPACEDIR)/app/tetris/tetris \
 	$(USPACEDIR)/app/tester/tester \
-	$(USPACEDIR)/app/klog/klog \
-	$(USPACEDIR)/app/tetris/tetris
+	$(USPACEDIR)/app/klog/klog
 
 OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
@@ -101,6 +103,6 @@
 -include Makefile.depend
 
-image.boot: depend _components.h _link.ld $(OBJECTS) $(COMPONENT_OBJECTS)
-	$(LD) -no-check-sections -N -T _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) -o $@ 
+image.boot: depend _components.h _link.ld $(COMPONENT_OBJECTS) $(OBJECTS)
+	$(LD) -no-check-sections -N -T _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) -o $@
 
 depend:
@@ -108,8 +110,8 @@
 
 clean:
-	-rm -f _components.h _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) image.boot Makefile.depend 
+	-rm -f _components.h _components.c _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) image.boot Makefile.depend
 
-_components.h _link.ld $(COMPONENT_OBJECTS): $(COMPONENTS)
-	./pack $(IMAGE) $(OBJCOPY) $(COMPONENTS)
+_components.h _components.c _link.ld $(COMPONENT_OBJECTS): $(COMPONENTS)
+	../../../tools/pack.py $(OBJCOPY) $(BFD_NAME) $(BFD) $(BFD_ARCH) 4096 $(COMPONENTS)
 
 %.o: %.S
