Index: boot/arch/ppc32/loader/main.c
===================================================================
--- boot/arch/ppc32/loader/main.c	(revision ddb0df58c37d07e66431a6471044949a96ecaf7d)
+++ boot/arch/ppc32/loader/main.c	(revision 8ec30d9ea232d021d4ef7066c4cb17bb215e18fa)
@@ -117,13 +117,9 @@
 	}
 	
-	if (!ofw_screen(&bootinfo.screen)) {
-		printf("Error: unable to get screen properties, halting.\n");
-		halt();
-	}
+	if (!ofw_screen(&bootinfo.screen))
+		printf("Warning: unable to get screen properties.\n");
 	
-	if (!ofw_keyboard(&bootinfo.keyboard)) {
-		printf("Error: unable to get keyboard properties, halting.\n");
-		halt();
-	}
+	if (!ofw_keyboard(&bootinfo.keyboard))
+		printf("Warning: unable to get keyboard properties.\n");
 	
 	printf("\nDevice statistics\n");
Index: boot/arch/ppc32/loader/ofwarch.c
===================================================================
--- boot/arch/ppc32/loader/ofwarch.c	(revision ddb0df58c37d07e66431a6471044949a96ecaf7d)
+++ boot/arch/ppc32/loader/ofwarch.c	(revision 8ec30d9ea232d021d4ef7066c4cb17bb215e18fa)
@@ -40,5 +40,11 @@
 void write(const char *str, const int len)
 {
-	ofw_write(str, len);
+	int i;
+	
+	for (i = 0; i < len; i++) {
+		if (str[i] == '\n')
+			ofw_write("\r", 1);
+		ofw_write(&str[i], 1);
+	}
 }
 
