[OpenBIOS] [commit] r857 - trunk/openbios-devel/packages

repository service svn at openbios.org
Sun Aug 22 23:29:29 CEST 2010


Author: mcayland
Date: Sun Aug 22 23:29:25 2010
New Revision: 857
URL: http://tracker.coreboot.org/trac/openbios/changeset/857

Log:
The Solaris 9 Fcode boot block relies on the assumption that Sun's OpenBOOT would always interpose /packages/ufs-file-system if 
it existed when opening a disk device. Emulate this behaviour in order to fix Solaris 9 boot. With thanks to Tarl for pointing 
me in the right direction.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at siriusit.co.uk>

Modified:
   trunk/openbios-devel/packages/sun-parts.c

Modified: trunk/openbios-devel/packages/sun-parts.c
==============================================================================
--- trunk/openbios-devel/packages/sun-parts.c	Sun Aug 22 23:23:19 2010	(r856)
+++ trunk/openbios-devel/packages/sun-parts.c	Sun Aug 22 23:29:25 2010	(r857)
@@ -220,6 +220,20 @@
 		}
 	} else {
 		DPRINTF("sun-parts: no filesystem found; bypassing misc-files interpose\n");
+
+		/* Solaris Fcode boot blocks assume that the disk-label package will always
+		   automatically interpose the "ufs-file-system" package if it exists! We
+		   need to mimic this behaviour in order for the boot to work. */
+		push_str("ufs-file-system");
+		feval("find-package");
+		ph = POP_ph();
+
+		if (ph) {
+			ph = POP_ph();
+			push_str(argstr);
+			PUSH_ph(ph);
+			fword("interpose");
+		}
 	}
 
 	free( str );



More information about the OpenBIOS mailing list