Creative Commons License
Excepto donde se indique otra cosa, todo el contenido de este lugar está bajo una licencia de Creative Commons.
Taquiones > debian > Debian sobre NSLU2

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:

  1. Descargarlo de aquí, y verificar que la suma de comprobación MD5 sea igual a 88c1d50b6ab220afa5f3be53fd2119cd.
  2. Poner el NSLU2 en modo actualización usando el botón de reset (ver más abajo).
  3. 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
    
  4. 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:~#
    
  5. Y es muy recomendable efectuar la siguiente lista de cosas:

    1. Cambiar la contraseña del superusuario.
    2. 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.
    3. Añadir cuentas de usuarios normales.
    4. Regenerar la clave SSH ya que la clave privada está publicada en la red.
    5. Modificar las fuentes de paquetes, para elegir un espejo cercano, y actualizar el sistema.
    6. Cambiar la zona horaria (tzconfig).
  6. 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.

  1. Apagamos el NSLU2
  2. 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).
  3. 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