Index: HelenOS.config
===================================================================
--- HelenOS.config	(revision 38969746d9dc0f1ac359900c2a1fea0087be378b)
+++ HelenOS.config	(revision 5711f6ec1d21528731c86ee97004855b2cdbb702)
@@ -615,2 +615,10 @@
 @ "efi" GRUB for UEFI
 ! [PLATFORM=ia32|PLATFORM=amd64] GRUB_ARCH (choice)
+
+% uImage OS type
+@ "2" NetBSD stage 2 boot loader
+! [PLATFORM=arm32&MACHINE=beagleboardxm] UIMAGE_OS (choice)
+
+% uImage OS type
+@ "5" Linux kernel
+! [PLATFORM=arm32&MACHINE!=beagleboardxm] UIMAGE_OS (choice)
Index: boot/Makefile.uboot
===================================================================
--- boot/Makefile.uboot	(revision 38969746d9dc0f1ac359900c2a1fea0087be378b)
+++ boot/Makefile.uboot	(revision 5711f6ec1d21528731c86ee97004855b2cdbb702)
@@ -40,5 +40,5 @@
 
 $(POST_OUTPUT): $(BIN_OUTPUT)
-	$(MKUIMAGE) -name "$(IMAGE_NAME)" -laddr $(LADDR) -saddr $(SADDR) $< $@
+	$(MKUIMAGE) -name "$(IMAGE_NAME)" -laddr $(LADDR) -saddr $(SADDR) -ostype $(UIMAGE_OS) $< $@
 
 clean:
Index: tools/mkuimage.py
===================================================================
--- tools/mkuimage.py	(revision 38969746d9dc0f1ac359900c2a1fea0087be378b)
+++ tools/mkuimage.py	(revision 5711f6ec1d21528731c86ee97004855b2cdbb702)
@@ -60,4 +60,5 @@
 	load_addr = 0
 	start_addr = 0
+	os_type = 5 #Linux is the default
 
 	while len(args) >= 2 and args[0][0] == '-':
@@ -71,4 +72,6 @@
 		elif opt == 'saddr':
 			start_addr = (int)(optarg, 0)
+		elif opt == 'ostype':
+			os_type = (int)(optarg, 0)
 		else:
 			print(base_name + ": Unrecognized option.")
@@ -85,10 +88,10 @@
 
 	try:
-		mkuimage(inf_name, outf_name, image_name, load_addr, start_addr)
+		mkuimage(inf_name, outf_name, image_name, load_addr, start_addr, os_type)
 	except:
 		os.remove(outf_name)
 		raise
 
-def mkuimage(inf_name, outf_name, image_name, load_addr, start_addr):
+def mkuimage(inf_name, outf_name, image_name, load_addr, start_addr, os_type):
 	inf = open(inf_name, 'rb')
 	outf = open(outf_name, 'wb')
@@ -120,5 +123,5 @@
 	header.start_addr = start_addr	# Address of entry point
 	header.data_crc = data_crc
-	header.os = 2			# NetBSD
+	header.os = os_type
 	header.arch = 2			# ARM
 	header.img_type = 2		# Kernel
