Este documento detalla los puntos más destacables durante la instalación de Debian en una máquina SUN UltraSPARC.
Introducción
No voy a detallar cómo se hace toda la instalación, así que necesitarás tener los conocimientos suficientes para instalar Debian tu solo :D
¿Por qué Debian Sid? Porque es la que trae las últimas versiones de los paquetes, y como la máquina no hará ninguna tarea crítica, me puedo permitir
el lujo de actualizarla casi todos los dias. Empezaremos una instalación con
los CDs de Debian 3.0 (estable), pero luego actualizaremos a inestable.
La máquina en cuestión tiene un procesador UltraSPARC I a 170 MHz, 256 MB de RAM, 2x2 GB de disco SCSI, tarjeta de red y tarjeta de sonido integrada. Esta máquina tiene sus añitos, ni siquiera tiene bus PCI, pero se le puede sacar mucho partido.
En cualquier sitio de subastas por Internet, esta máquina cuesta entre 50 y 100 euros, y una más potente, como la Ultra 10, alrededor de 300 euros (siempre sin monitor).
El tema del monitor es un poco espinoso. Existen máquinas Ultra que llevan tarjetas PCI y otras que llevan SBUS. Además, pueden llevar conectores de video VGA o 13W3. Si lleva tarjeta PCI y conector VGA, podremos ponerle prácticamente cualquier monitor, pero si nuestra Ultra lleva conector 13W3, las cosas se complican si no disponemos de un monitor de Sun. Los únicos monitores que funcionan con el conector 13W3 son los llamados "MultiSync", que soportan sincronía RGB, y la que nos importa a nosotros: "Sync-On-Green". Los monitores MultiSync no son precisamente baratos, y además necesitamos uno que soporte 1024x768 como mínimo.
Pero todo tiene solución. Aqui en España venden unos aparatos que transforman la sincronía SOG a RGB, con lo que se puede conectar cualquier monitor de 17" sin problemas.
Iniciando la instalación.
Encedemos la máquina, metemos el CD de instalación de Debian, y volvemos a reiniciar. Si la máquina está configurada para arrancar desde CD, el proceso se iniciará de inmediato.
Existe la posibilidad que la máquina no arranque desde CD. Para solucionarlo
seguiremos estos pasos. Una vez que comprobamos que el sistema puede arrancar, entraremos en la "BIOS" del sistema. En las máquinas Sun, esta "BIOS" se llama "OpenBoot", y es accesible en cualquier momento, no solo durante el arranque. Para entrar en "OpenBoot" debemos pulsar la combinación de teclas "Stop-A", y tendremos un prompt donde podremos ejecutar una serie de comandos.
En este prompt ejecutaremos el comando
boot cdrom
La máquina reiniciará y arrancará desde CD. Veremos el proceso de instalación de Debian.
Consideraciones en la instalación
Particiones
En la instalación de Debian para SPARC no hay gestor gráfico de particiones
(cfdisk), sino que debemos usar el "fdisk". Podemos seguir el esquema de
particiones que queramos, lo único que hay que tener en cuenta es que la
última partición debe ocupar desde el primero cilindro hasta el último, y el
tipo debe ser "Whole Disk" (partición tipo 5). Mi esquema de particiones es este:
sparky:~# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda (Sun disk label): 19 heads, 80 sectors, 2733 cylinders
Units = cylinders of 1520 * 512 bytes
Device Flag Start End Blocks Id System
/dev/sda1 0 2425 1843000 83 Linux native
/dev/sda2 u 2425 2733 234080 82 Linux swap
/dev/sda3 0 2733 2077080 5 Whole disk
Paquetes
A mi me gusta hacer una instalación básica, sin usar las llamadas "tareas"
(tasks) ni el gestor "dselect". Además, tampoco suelo meter módulos en el
kernel, ya que luego instalo el último kernel disponible. Además, luego
podemos instalar uno de los kernels que vienen el CD, y ya llevan todos los
módulos necesarios, así que no habrá demasiado problema.
Actualización a inestable
Una vez instalada Debian estable, procedemos a instalar el último kernel que
venga en el CD. El paquete tendrá el esquema "kernel-image-version-arquitectura", por ejemplo "kernel-image-2.4.24-sparc64". Las máquinas UltraSPARC son de 64 bits, así que debemos instalar el paquete terminado en "sparc64".
Cuando el kernel esté instalado y funcionando, comprobaremos que la tarjeta
de red funciona y podemos actualizar a inestable mediante el APT. Es
imprescindible que instales el paquete llamado "sparc-utils", puesto que
luego nos hará falta.
Compilando un kernel nuevo
Cuando ya tenemos el sistema instalado, vamos a proceder a compilar el último kernel disponible de la serie 2.4 (la 2.6 todavía no la he probado ;), que ha fecha de hoy es el 2.4.25.
Paquetes que necesitamos: gcc, make, binutils, libncurses5-dev, ...
La compilación del kernel en UltraSPARC es un poco... "curiosa". El kernel
debe ser compilado con una versión de gcc que sea capaz de crear binarios de
64 bits (gcc 3.0 o superior), PERO la compilación debe tener lugar en un
entorno de 32 bits. Suena raro, pero es así :D
El entorno de 32 bits se consigue mediante el comando "sparc32", que es una
especie de "subshell" en modo 32 bits:
sparky:~# uname -a
Linux sparky 2.4.25-rc2 #2 Mon Feb 16 18:39:35 CET 2004 sparc64 GNU/Linux
sparky:~# sparc32 uname -a
Linux sparky 2.4.25-rc2 #2 Mon Feb 16 18:39:35 CET 2004 sparc GNU/Linux
Fijate en el primer comando. La arquitectura es "sparc64" (64 bits), mientras que en el segundo, que hemos ejecutado en un entorno de 32 bits, la arquitectura es simplemente "sparc".
Una vez tenemos el kernel descomprimido, ejecutamos:
# sparc32 make ARCH=sparc64 menuconfig
y tendremos el menú de configuración del kernel. Podremos seleccionar las
opciones que necesitemos. Yo las más características que he elegido para mi
máquina son:
Console Drivers -> Frame-buffer Support -> SBUS -> CGsix
Linux/SPARC audio subsystem -> CS4231 Lowlevel Driver
Network device support -> Sun LANCE support
ATENCION: NO actives la opción
Kernel Hacking -> Check for stack overflows
porque si no el kernel no compilará, te dará errores de simbolos "_mcount"
sin resolver.
Una vez terminado de configurar el kernel, lo compilamos con los siguientes
comandos:
# sparc32 make ARCH=sparc64 dep
# sparc32 make ARCH=sparc64 clean
# sparc32 make ARCH=sparc64 vmlinux
# sparc32 make ARCH=sparc64 modules
# sparc32 make ARCH=sparc64 modules_install
Fijate que aqui no hay "zImage", "bzImage", ni nada de eso. El kernel se
llama "vmlinux".
Cuando termine de compilar, copiamos el System.map y el vmlinux al directorio /boot, y configuramos el gestor de arranque SILO (en sparc no existe LILO).
sparky:/usr/src/linux# cat /etc/silo.conf
partition=1
root=/dev/sda1
timeout=100
default=ultimo
image=1/boot/vmlinuz-2.4.25-rc2
label=ultimo
read-only
sparky:/usr/src/linux# silo
/etc/silo.conf appears to be valid
Y ya está, con eso tenemos el kernel listo para arrancar.
El dia a dia
A partir de ahora, el uso del sistema es como cualquier otro con Debian, no
hay demasiadas diferencias :)
Hace realmente poco que tengo la Sun, así que todavía no le he podido sacar
todo el jugo, pero la cosa promete :)
Teneis la documentación completa de Debian para SPARC en:
http://www.debian.org/releases/stable/sparc/install.es.html
(c) 2003 Paco Brufal
|