Debian sobre NSLU2
La variante de Debian sobre esta máquina se llama Debian/NSLU2 y su finalidad es proporcionar soporte total para este tipo de dispositivos dentro del mundo Debian.
Desgraciadamente un error en el instalador de Debian hace imposible usarlo para instalarlo de forma automática. Debemos proceder de forma manual para ello.
Instalación manual de Debian Etch
Martin Michlmayr ha preparado un paquete tar para facilitar la tarea y ha añadido una firma digital para verificarlo. Se pueden descargar de
http://people.debian.org/~tbm/nslu2/etch/base.tar.bz2
http://people.debian.org/~tbm/nslu2/etch/base.tar.bz2.asc
y para comprobar su validez se usa lo siguiente en el directorio de descargas
$ gpg --verify base.tar.bz2.asc base.tar.bz2
Preparando el disco
Antes de instalar conviene preparar el disco, particionándolo adecuadamente. Hay que recordar que el disco que vamos a utilizar deberá estar siempre encendido y conectado en el mismo puerto (generalmente el uno), ya que parte del sistema operativo reside en él, y el cambio ó la sustitución por otro requiren más operaciones de las que uno podría llegar a imaginarse.
En la página se describe un esquema bastante apropiado que puede cambiarse
completamente, siempre y cuando se modifique el correspondiente archivo
etc/fstab
en el paquete tar de la instalación. En cualquier otro caso el
arranque no funcionará.
En mi caso el esquema es el siguiente:
Disk /dev/sdf: 500 GB, 500105249280 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdf1 * 1 608 4883728 83 Linux
/dev/sdf2 609 60801 483492240 f Extended LBA
/dev/sdf5 609 623 112455 82 Linux swap
/dev/sdf6 623 60801 483379785 83 Linux
Una vez particionado es necesario crear los sistemas de archivos
# mkfs.ext3 /dev/sdf1
# mkfs.ext3 /dev/sdf6
# mkswap /dev/sdf5
antes de copiar el contenido del archivo tar
, montamos la partición
arrancable y descomprimimos sobre ella
# mount /dev/sdf1 /mnt
# cd /mnt
# tar -xvjf ~/base.tar.bz2
Instalando un nuevo firmware
Ahora llega una parte más crítica que consiste en actualizar el firmware
con uno especialmente construído para ello y seguimos estos pasos:
- Descargarlo de
aquí, y
verificar que la suma de comprobación MD5 sea igual a
88c1d50b6ab220afa5f3be53fd2119cd
. - Poner el NSLU2 en modo actualización usando el botón de reset (ver más abajo).
Usando el programa upslug2 grabar el nuevo
firmware
en la máquina.root@cimitarra:/db/home/victor/downloads# upslug2 -i sda1-2.6.18.dfsg.1-13etch2 NSLU2 00:18:39:29:80:74 Product ID: 1 Protocol ID: 0 Firmware Version: R23V63 [0x2363] Upgrading LKG298074 00:18:39:29:80:74 . original flash contents * packet timed out ! being erased - erased u being upgraded U upgraded v being verified V verified Display: <status> <address completed>+<bytes transmitted but not completed> Status: * timeout occured + sequence error detected 7fffff+000000 ...VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV Rebooting... done
Conectar el disco duro ya preparado y esperar algunos minutos (como unos siete según he leído en varios foros), y ya podemos acceder vía SSH al nuevo y flamante servidor Debian.
La dirección IP la ha obtenido del servidor DHCP de la red, y la contraseña predeterminada es
root
.root@192.168.1.51's password: Last login: Sat Oct 27 16:36:24 2007 from cimitarra.taquiones.net Linux foobar 2.6.18-5-ixp4xx #1 Thu Aug 30 16:47:13 UTC 2007 armv5tel The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. foobar:~#
Y es muy recomendable efectuar la siguiente lista de cosas:
- Cambiar la contraseña del superusuario.
- Definir los parámetros de red a nuestras necesidades reales; en mi caso
he definido una dirección
IP
fija puesto que es un servidor fijo en mi infraestructura. - Añadir cuentas de usuarios normales.
- Regenerar la clave
SSH
ya que la clave privada está publicada en la red. - Modificar las fuentes de paquetes, para elegir un espejo cercano, y actualizar el sistema.
- Cambiar la zona horaria (
tzconfig
).
- Tras otro reinicio para verificar que funciona correctamente, podemos pasar a instalar y quitar todos los paquetes que necesitemos para cumplir su finalidad (servidor de archivos multiprotocolo en mi caso), teniendo siempre en cuenta que sus recursos, sobre todo en memoria RAM, son bastante limitados. Si alguien se atreve existe una manera de ampliar esta memoria; este artículo indica los pasos a seguir.
Estas son las cosas que he quitado ó desinstalado:
- [[!deb exim4]: sustituído por nullmailer.
- at: ya que me basta con cron para funcionar.
- Desactivado en
/etc/inittab
un servicio de entrada (getty) vía serie que sólo está ocupando memoria.
Esta es la relación de paquetes que he incluído:
- nfs-user-server porque pretendo que parte de él lo use con programas tipo duplicity, que actúan perfectamente con sistemas de archivos.
- NIS puesto que necesitaré acceso a usuarios y grupos compartidos.
- samba porque siempre tengo algún invitado al que servir ficheros y que no dispone de nada menos miserable que un Windows. :-)
- rsync puesto que quizás pueda usarlo como servicio directo; siempre me ha parecido una solución cómoda si no tienes inconveniente en derrochar memoria, y no te importan los permisos de los usuarios. Vamos, que es para situaciones muy puntuales, rápidas y sucias.
Modo actualización en el NSLU2
La información está tomada de la página del proyecto y no parece precisamente fácil conseguirlo; es necesaria cierta certeza manual y suficiente agudeza visual.
- Apagamos el NSLU2
- Usamos un alambre ó clip abierto para pulsar el botón de reset (situado en la trasera) y, sin soltarlo, apretamos una vez el botón de encendido (situado en la delantera).
- Vigilamos el led naranja
Ready/Status
, durante unos diez segundos aproximadamente, y deberá volverse de color rojo. En ese momento liberamos la presión sobre el botón de reset. Como señalan en la página, hay algunas excepciones respecto al color con algunos modelos.
Enlaces y referencias
- Cedric Groux cuenta su experiencia con Debian y NSLU2, con algunos detalles interesantes al emplearlo como servidor NFS.
- Peter Korsgaard también le dedica una página. - man ls y su excelente artículo en Libertonia. - Cómo liberar memoria eliminando el uso de un sistema de archivos initramfs.