Index: boot/arch/ppc32/loader/Makefile
===================================================================
--- boot/arch/ppc32/loader/Makefile	(revision fa024ce932aff7f238e5cabadb9fdd510c75fca9)
+++ boot/arch/ppc32/loader/Makefile	(revision 4f22731f721b5d57bb8dbc8af89e4b598da201f2)
@@ -66,4 +66,5 @@
 	../../../genarch/ofw.c \
 	../../../generic/printf.c \
+	../../../generic/string.c \
 	asm.S \
 	boot.S
Index: boot/arch/ppc32/loader/main.c
===================================================================
--- boot/arch/ppc32/loader/main.c	(revision fa024ce932aff7f238e5cabadb9fdd510c75fca9)
+++ boot/arch/ppc32/loader/main.c	(revision 4f22731f721b5d57bb8dbc8af89e4b598da201f2)
@@ -34,4 +34,5 @@
 #include <align.h>
 #include <macros.h>
+#include <string.h>
 
 #define HEAP_GAP 1024000
@@ -167,4 +168,7 @@
 				bootinfo.taskmap.tasks[bootinfo.taskmap.count].addr = (void *) (pages << PAGE_WIDTH);
 				bootinfo.taskmap.tasks[bootinfo.taskmap.count].size = components[i].size;
+				strncpy(bootinfo.taskmap.tasks[bootinfo.taskmap.count].name,
+				    components[i].name, BOOTINFO_TASK_NAME_BUFLEN);
+
 				bootinfo.taskmap.count++;
 			}
Index: boot/arch/ppc32/loader/main.h
===================================================================
--- boot/arch/ppc32/loader/main.h	(revision fa024ce932aff7f238e5cabadb9fdd510c75fca9)
+++ boot/arch/ppc32/loader/main.h	(revision 4f22731f721b5d57bb8dbc8af89e4b598da201f2)
@@ -34,7 +34,15 @@
 #define TASKMAP_MAX_RECORDS 32
 
+/** Size of buffer for storing task name in task_t. */
+#define BOOTINFO_TASK_NAME_BUFLEN 32
+
+/** Struct holding information about single loaded task. */
 typedef struct {
+	/** Address where the task was placed. */
 	void *addr;
+	/** Size of the task's binary. */
 	unsigned int size;
+	/** Task name. */
+	char name[BOOTINFO_TASK_NAME_BUFLEN];
 } task_t;
 
