Index: boot/arch/arm32/loader/Makefile
===================================================================
--- boot/arch/arm32/loader/Makefile	(revision 136edca07dac4855f2401e71778a4078795a3216)
+++ boot/arch/arm32/loader/Makefile	(revision d68253a4d9f9ef895ded8023f373eff11acfc672)
@@ -33,5 +33,4 @@
 #
 
-BFD = elf32-littlearm
 BFD_NAME = elf32-littlearm
 BFD_ARCH = arm
@@ -112,6 +111,6 @@
 	-rm -f _components.h _components.c _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) image.boot Makefile.depend
 
-_components.h _components.c _link.ld $(COMPONENT_OBJECTS): $(COMPONENTS)
-	../../../tools/pack.py $(OBJCOPY) $(BFD_NAME) $(BFD) $(BFD_ARCH) 4096 $(COMPONENTS)
+_components.h _components.c _link.ld $(COMPONENT_OBJECTS): $(COMPONENTS) _link.ld.in
+	../../../tools/pack.py $(OBJCOPY) $(BFD_NAME) $(BFD_ARCH) 4096 "unsigned int" $(COMPONENTS)
 
 %.o: %.S
Index: boot/arch/arm32/loader/_link.ld.in
===================================================================
--- boot/arch/arm32/loader/_link.ld.in	(revision 136edca07dac4855f2401e71778a4078795a3216)
+++ boot/arch/arm32/loader/_link.ld.in	(revision d68253a4d9f9ef895ded8023f373eff11acfc672)
@@ -1,2 +1,6 @@
+OUTPUT_FORMAT("elf32-littlearm")
+ENTRY(start)
+
+SECTIONS {
 	.boot 0x0: AT (0) {
 		*(BOOTSTRAP);
@@ -16,2 +20,5 @@
 		. = 0x4000;
 		*(PT);			/* page table placed at 0x4000 */
+[[COMPONENTS]]
+	}
+}
