Solaris Express Community Edition (SXCE) es lo último de lo último del repositorio Nevada, edición quincenal. De ahí se obtienen las distribuciones basadas en lo que se ha querido (muy ambiguamente) denominar OpenSolaris, y a las cuales pertenece la distribución insignia de Sun, Indiana.
La conclusión principal de lo anterior es que NO es lo mismo instalar SXCE b108 (build 108) que OpenSolaris 0906 b108, pues esto último es lo que se convertirá en OpenSolaris 2009.06; mientras que SXCE tiene más código (alguno, cerrado; o no abierto aún) del que aparecerá en los repositorios públicos.
La elección depende de varios factores: si necesitamos alguna de la funcionalidad de SXCE (por ejemplo, tenemos una estación Sun Blade 1000 con una tarjeta gráfica XVR-600), esta será nuestra mejor opción; si, por el contrario, nos basta con lo que ofrece(rá) OpenSolaris 2009.06 (que, además, supuestamente estará más pulido), la elegiremos preferentemente.
Bien, armado de paciencia y de sendas imágenes de DVD, me dispuse a “modernizar” (el término que usa Sun en lugar del, para mí, más habitual “actualizar”) stela, una estación Sun Blade 1000 con procesador UltraSPARC III+ (y SXCE b103); y a instalar desde cero en coral, un portátil Compaq Evo N410c con procesador Pentium III, detalle que luego se revelará importante.
Con stela, el único problema fue el tiempo de instalación (realizada en modo gráfico): desde que se contesta a la última pregunta y comienza la instalación hasta que se concluye felizmente el proceso y podemos usar de nuevo nuestro ordenador pasaron TRES HORAS. Desde luego, actualizar siempre es más lento que instalar, pero como no sea por la velocidad del lector de DVD, no me explico la parsimonia. Eso sí: en el poco tiempo que le he dedicado, he visto solucionados algunos problemas menores que afectaban a SXCE b103. Suspender (o “hibernar”, en este caso) sigue siendo una cuestión de suerte, frente a la seguridad que ofrecía Solaris 10. Pero es un precio pequeño a pagar por el aumento de funcionalidad.
Animado por el éxito obtenido, me dispuse a hacer lo propio con coral. El primer intento fue en modo gráfico, y al arrancar el sistema X, se acabó todo. Lo dejé estar, pero no había avance. Lo intenté una vez más, con el mismo resultado. La tercera vez, convencido de que realmente había un problema, lo intenté en consola de modo texto, y ahí sí que la cosa progresó.
La instalación fue considerablemente más rápida, alrededor de una hora desde el comienzo absoluto hasta el final… ¿feliz? No, pues por motivos que se me escapaban en aquel momento, se dejaron de copiar no sé qué ficheros, circunstancia de la cual me advirtió el programa de instalación. Vuelta al comienzo.
La segunda vez que lo intenté en modo texto, llegó hasta el final (otra hora), pero cuando ya iba a arrancar del disco duro, me salieron unos errores bastante feos. Buscando por internet, y sobre todo, recordando que estábamos instalando en un ordenador con procesador Pentium III, encontré lo que podía ser la causa: un error que también afecta a Solaris 10U5 y que hace que la instalación o el arranque fallen. La solución: arrancar con el depurador, poner a 1 la variable cmi_no_init y proceder con la instalación. En efecto, esta vez llegó al final sin problemas (otra hora). Arranqué desde el disco duro y ¡albricias! todo estaba allí, y en modo gráfico. Más o menos.
coral es antiguo, pero está bastante bien soportado en Fedora 10. Con OpenSolaris me esperaba una funcionalidad comparable (prometo intentar hacerlo entre Fedora 11 y OpenSolaris 2009.06 cuando ambas lleguen; y coral será mi banco de pruebas), pero no fue así. Es decir, no he llegado a saberlo, porque a pesar de cambiar la variable de manera permanente en el fichero /etc/system, me encuentro con problemas que, paradójicamente, no hay en la versión para SPARC. La tarjeta de red inalámbrica parece darme errores extraños al tratar de configurarla a mano (un SysAdmin paranoico como yo no activa el DHCP si puede evitarlo), cosa que probablemente esté resuelta en OpenSolaris b108. Sin embargo, la razón por la que gnome-settings-daemon no quiere ejecutarse de manera estable y pierde los colores y algunos iconos debe de ser muy lógica y poderosa; pero, de nuevo, se me escapa.
Decidido a intentar probar OpenSolaris b108, me traje las imágenes de DVD (ocupa unos 800Mb, por lo que no entra en un CD normal) y la destinada a una memoria USB desde genunix. Allí también hay una imagen para SPARC, pero es el automated installer, que no sólo requiere un servidor, sino que necesita el OpenBoot versión 4.17.1 o superior. Y mi Blade 1000 se quedó en el 4.16.4 de 2005. Al margen de que, probablemente, la XVR-600 no esté soportada, o lo esté sin aceleración 3D. Y yo, sin stellarium, puedo vivir. Pero prefiero no prescindir de él.
Bien, independientemente de que coral pueda o no arrancar de USB (no parece haber una opción en el BIOS, pero hay quien afirma que es posible), traté de preparar la memoria USB para, aunque sea, probar el arranque en lilit (mi Aspire One, que uso para las guardias). Imposible.
Un script llamado usbcopy nos ayuda lo que puede, pero coral no me lo iba a poner fácil. Resulta que hay que preparar la memoria USB desde {Open,}Solaris, pues le da formato e instala la versión adecuada de grub. Bien, tengo a coral funcionando, pues le copio la imagen desde la propia memoria y luego lo instalo desde allí. Pues no. Por algún problema desconocido y que me hace sospechar de los puertos USB del ordenador, fue imposible copiar los más de 800Mb al disco. Eso sí, preparé el formato y después me dispuse a copiar la imagen desde stela. usbcopy falló, pero dd es una herramienta temible :) y no me defraudó. Finalmente, la parte de instalación de grub la fuí a hacer en coral, y de nuevo me hizo desistir. Probablemente, un poco más de insistencia lo consiga, pero por hoy ya estaba un poco cansado: usbcopy no daba con el dispositivo correcto, y es una mera cuestión de nombres.
Otro día, os lo aseguro, lo probaré con más calma. Pero de momento, para mí la conclusión es clara: para UltraSPARC, SXCE; para x86, OpenSolaris. Y a disfrutarlo ;)