Index: boot/arch/mips32/loader/Makefile
===================================================================
--- boot/arch/mips32/loader/Makefile	(revision 96e0748d7558e9aeb4c97ff5d520f773c406eeac)
+++ boot/arch/mips32/loader/Makefile	(revision 89b1b64f71aaaf3d8f3db35a293d36cb6056e718)
@@ -73,4 +73,5 @@
 	_components.c \
 	../../../generic/printf.c \
+	../../../generic/string.c \
 	asm.S \
 	boot.S
Index: boot/arch/mips32/loader/main.c
===================================================================
--- boot/arch/mips32/loader/main.c	(revision 96e0748d7558e9aeb4c97ff5d520f773c406eeac)
+++ boot/arch/mips32/loader/main.c	(revision 89b1b64f71aaaf3d8f3db35a293d36cb6056e718)
@@ -31,4 +31,5 @@
 #include <align.h>
 #include <macros.h>
+#include <string.h>
 #include "msim.h"
 #include "asm.h"
@@ -85,4 +86,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/mips32/loader/main.h
===================================================================
--- boot/arch/mips32/loader/main.h	(revision 96e0748d7558e9aeb4c97ff5d520f773c406eeac)
+++ boot/arch/mips32/loader/main.h	(revision 89b1b64f71aaaf3d8f3db35a293d36cb6056e718)
@@ -39,7 +39,15 @@
 #ifndef __ASM__
 
+/** 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;
 
