Index: boot/arch/arm32/loader/Makefile
===================================================================
--- boot/arch/arm32/loader/Makefile	(revision ff685c93ca4666ba47a3b747bd9da4268cc5aa47)
+++ boot/arch/arm32/loader/Makefile	(revision 150385b9e997a42606e5cd52d68c7f1d91ee61d8)
@@ -68,4 +68,5 @@
 	_components.c \
 	../../../generic/printf.c \
+	../../../generic/string.c \
 	../../../genarch/division.c
 
Index: boot/arch/arm32/loader/main.c
===================================================================
--- boot/arch/arm32/loader/main.c	(revision ff685c93ca4666ba47a3b747bd9da4268cc5aa47)
+++ boot/arch/arm32/loader/main.c	(revision 150385b9e997a42606e5cd52d68c7f1d91ee61d8)
@@ -42,4 +42,5 @@
 #include <align.h>
 #include <macros.h>
+#include <string.h>
 
 #include "mm.h"
@@ -104,4 +105,6 @@
 			bootinfo.tasks[bootinfo.cnt].addr = ((void *) KERNEL_VIRTUAL_ADDRESS) + top;
 			bootinfo.tasks[bootinfo.cnt].size = components[i].size;
+			strncpy(bootinfo.tasks[bootinfo.cnt].name,
+			    components[i].name, BOOTINFO_TASK_NAME_BUFLEN);
 			bootinfo.cnt++;
 		}
Index: boot/arch/arm32/loader/main.h
===================================================================
--- boot/arch/arm32/loader/main.h	(revision ff685c93ca4666ba47a3b747bd9da4268cc5aa47)
+++ boot/arch/arm32/loader/main.h	(revision 150385b9e997a42606e5cd52d68c7f1d91ee61d8)
@@ -43,4 +43,7 @@
 #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. */
@@ -50,4 +53,6 @@
 	/** Size of the task's binary. */
 	unsigned int size;
+	/** Task name. */
+	char name[BOOTINFO_TASK_NAME_BUFLEN];
 } task_t;
 
Index: kernel/arch/arm32/include/arch.h
===================================================================
--- kernel/arch/arm32/include/arch.h	(revision ff685c93ca4666ba47a3b747bd9da4268cc5aa47)
+++ kernel/arch/arm32/include/arch.h	(revision 150385b9e997a42606e5cd52d68c7f1d91ee61d8)
@@ -40,4 +40,6 @@
 #define CPUMAP_MAX_RECORDS   32
 
+#define BOOTINFO_TASK_NAME_BUFLEN 32
+
 #include <typedefs.h>
 
@@ -45,4 +47,5 @@
 	uintptr_t addr;
 	uint32_t size;
+	char name[BOOTINFO_TASK_NAME_BUFLEN];
 } utask_t;
 
Index: kernel/arch/arm32/src/arm32.c
===================================================================
--- kernel/arch/arm32/src/arm32.c	(revision ff685c93ca4666ba47a3b747bd9da4268cc5aa47)
+++ kernel/arch/arm32/src/arm32.c	(revision 150385b9e997a42606e5cd52d68c7f1d91ee61d8)
@@ -49,4 +49,5 @@
 #include <userspace.h>
 #include <macros.h>
+#include <string.h>
 
 /** Performs arm32-specific initialization before main_bsp() is called. */
@@ -60,4 +61,6 @@
 		init.tasks[i].addr = bootinfo->tasks[i].addr;
 		init.tasks[i].size = bootinfo->tasks[i].size;
+		strncpy(init.tasks[i].name, bootinfo->tasks[i].name,
+			CONFIG_TASK_NAME_BUFLEN);
 	}
 }
