Instalar Debian en el NSLU2 (DebianSlug)

Hacía tiempo que quería poner esto, hasta hoy no he tenido tiempo (y algo de ganas) así que aquí lo dejo para que no se me olvide. Para la instalación partiremos de un NSLU2 con el último firmware original y un pendrive de 1GB conectado al puerto Disk2 y CON UNA IP ESTATICA.

1) Bajar el firmware DebianSlug 3.10 Beta de aquí.
2) Flashear el NSLU2 con el firmware descargado (no importa el método: Web, Upgrade Utility,…).
3) Una vez flasheado el firmware, esperar a que el NSLU2 arranque (para ver cuando arranca ping -t ip_del_slug)
4) Cuando el NSLU2 arranque ya podemos inicar sesión mediante SSH con el usuario root y la contraseña opeNSLUg.

Ahora empieza lo bueno:

1) Particionar el pendrive (si no lo hemos hecho ya):

(para eliminar particiones usar la opción d de fdsik)

fdisk /dev/sda 
n  #(añadir nueva partición) 
p  #(primaria) 
1  #(primera partición) 
1  #(sector de comienzo) 
+896M  #(sector de fianl o tamaño de la partición. 
Esto añadirá una partición de 896MB que se montará como /) 
n 
p 
2  #(segunda partición) 
1 
+128M  #(la partición swap será de 128MB) 
t  #(cambiar el tipo de partición) 
2  #(segunda partición) 
82 #(cambiar el tipo a 82 - swap) 
w  #(escribitr la tabla de particiones) 
q  #(salir)

En este momento será necesario reiniciar el NSLU2.

2) Ahora se preparará el sistema de ficheros y la swap:

mkfs.ext3 /dev/sda1 
mkswap /dev/sda2 
sync; sync; sync 
swapon /dev/sda2

Con esto las particiones ya están listas para continuar.

3) Montar el sistema de ficheros:

mkdir /mnt/debinst 
mount /dev/sda1 /mnt/debinst 
mkdir /mnt/debinst/work 
cd /mnt/debinst/work

4) Comprobar la conexión a la red con route. En caso de que se haya perdido la puerta de enlace ponerla con route add default gw xx.xx.xx.xx

5) Añadir los servidores DNS al fichero /etc/resolv.conf de la siguiente manera:

nameserver xx.xx.xx.xx

6) Descargar el .udeb del debootstrap:

wget ftp://ftp.nl.debian.org/debian/pool/main/d/debootstrap
/debootstrap-udeb_0.3.3_arm.udeb

7) Extraer el debrootstrap:

ar -x debootstrap-udeb_0.3.3_arm.udeb 
tar xzvf data.tar.gz

8) Ejecutar el debrootstrap con la arquitectura y distribución deseadas:

export DEBOOTSTRAP_DIR=`pwd`/usr/lib/debootstrap 
./usr/sbin/debootstrap --arch arm sid /mnt/debinst http://ftp.debian.org/

Si al ejecutar esto solo se muestran unas pocas líneas, en lugar de mostrarse un montón de descargas (este proceso es bastante largo) ejecutar lo siguiente:

./usr/sbin/debootstrap --arch arm sid /mnt/debinst http://ftp.nl.debian.org/debian/
9) Copiar algunos ficheros de configuración importantes:

cd .. 
cp /etc/resolv.conf etc/resolv.conf 
cp /etc/hostname etc/hostname

10) Copiar los módulos del Kernel:

cp -a /lib/modules/* lib/modules

11) Montar el sistema de ficheros proc:

mount -t proc proc /mnt/debinst/proc

12) Hacer chroot al nuevo entorno Debian:

cd / 
chroot /mnt/debinst

13) Preparar un fstab correcto. Para ello podemos usar nano, haciendo nano /etc/fstab y poniendo lo siguiente:

proc            /proc           proc    defaults        0  0 
/dev/sda1       /               ext3    defaults        1  1 
/dev/sda2       swap            swap    defaults        0  0

Esto puede variar si se han creado más particiones.

14) Editar el inittab ejecutando nano /etc/inittab y desabilitar las tty (del 1 al 6) poniendo una # delante. A continuación se inserará la siguiente línea:

S0:2345:respawn:/sbin/getty 115200 ttyS0

15) Configurar la red. Editar el fichero /etc/network/interfaces para dejarlo de la siguiente manera:

# /etc/network/interfaces 
# configuration file for ifup(8), ifdown(8) 
# 
# The loopback interface 
auto lo 
iface lo inet loopback 
# 
# The NSLU2 built-in ethernet 
auto eth0 
iface eth0 inet static 
        pre-up modprobe -f ixp400 
        pre-up modprobe -f ixp400_eth 
        address 192.168.1.77 
        netmask 255.255.255.0 
        gateway 192.168.1.254

Por supuesto, sustituye los valores quí mostrados por los acordes a tu red.

16) Poner un repositorio para apt. Editar el archivo /etc/apt/sources.list y poner:

deb http://ftp.de.debian.org/debian unstable main non-free contrib



17) Actualizar la distribución e instalar algunos paquetes:

apt-get update 
apt-get -y dist-upgrade 
apt-get -y install anacron popularity-contest nslu2-utils

18) Crear el fichero shadow (si no esta creado ya) y preparar la contraseña para acceder por SSH:

touch /etc/shadow 
pwconv 
passwd

19) Instalar SSH. Es muy importante, ya que de lo contrario no se prodría iniciar sesión en el NSLU2:

apt-get -y install openssh-server

20) Salir del entorno Debian al que hemos hecho chroot presionando Control+D.

21) Desmontar los sistemas de ficheros:

umount /mnt/debinst/proc 
killall syslogd anacron 
umount /mnt/debinst

22) Hacer que el NSLU2 arranque del pendrive con Debian:

turnup disk /dev/sda1 -t ext3

23) Reiniciar y esperar a que arranque desde el pendrive.

24) Instalar los locales:

apt-get install locales 
dpkg-reconfigure locales

25) Ya está! El NSLU2 ya tiene Debian instalado y funcionando perfectamente. A disfrutar!! 🙂

18 thoughts on “Instalar Debian en el NSLU2 (DebianSlug)

  1. Se haria igual, pero no te lo recomiendo, porque si por cualquier cosa pierdes el enlace con el slug no podrias recuperarlo, tendrias que flashearlo otra vez. si quieres hacerlo, en el apartado de configurar la red pones esto:

    auto eth0
    iface eth0 inet dhcp
    pre-up modprobe -f ixp400
    pre-up modprobe -f ixp400_eth

  2. veamos, llego hasta aqui:

    12) Hacer chroot al nuevo entorno Debian:

    cd /
    chroot /mnt/debinst

    y ahi me da error de bin/bash y me dice que no surch or device y esta montado y demas . que puedo hacer?

  3. Hola sergio:

    Ese error que te da es debido a qque el paso 8 no se ha completado correctamente. Prueba a ejecutarlo de nuevo, es un paso que tarda mucho, se bajan muchos paquetes de Debian, así que si no ves nombres de paquetes y tarda mucho es que no se ha completado bien…

  4. Mi problema es que una vez flasheado con debian-slug 3.10 no puedo acceder al aparato via ssh ya que el aparato no recive direccion ip..
    Por otra parte e pensado que el problema es que no llega a instalarse el servidor openssh y por esa razon no puedo conectarme a el.. la verdad es que al aparato le e dado tiempo.. no se si el suficiente pero le e dado..

    no se supone que una vez que esten las luzes verdes ya se a acabado el proceso?

    otro problema que se me plantea es que una vez flasheado el aparato no se que direccion ip puede cojer… :S

    need hel`p!

  5. El instalador de Debian es algo experimental, así que ete recomiendo que para realizar la instalación le asignes una IP estática y después si quieres cambies a DHCP. Sobre lo de arrancar, el NSLU2 termina de arrancar no cuando se encienden las luces, sino cuando emite un pitido. Lo de openssh, al instalador si que trae ssh, pero al hacer el bootstrap es importante instalarlo, de lo contrario se perdería el acceso al slug. Un saludo!!

  6. Si el disco que se utiliza es muy grande (de 120 GB o superior), el sistema tarda mucho tiempo en arrancar. Para ello, después del paso 19 hay que teclear la siguiente orden:

    /sbin/tune2fs -c 0 -i 0 /dev/sda1

    Con esto conseguimos que no realice el chequeo al arrancar el sistema y lo haga de forma normal.

  7. …»Para la instalación partiremos de un NSLU2 con el último firmware original»…

    y, en caso de tener unslung instalado ya, hay q volver al original primero o se puede partir desde ahi?

  8. Sorry por no contestar antes, pero ahi va:

    1) Juan Manel, trata de buscar otro mirror o comprueba que el slug se conecta a internet correctamente (ejecuta el comando route)

    2) Agustin, gracias por el aporte!

    3) Carlos, no es necesario, lo puedes hacer desde el unslung.

  9. . No me deja bajarme el «firmware DebianSlug 3.10 Beta» del enlace que has puesto. ¿De dónde me lo puedo descargar? o ¿Alguno me lo podría pasar?

    Muchas Gracias.

  10. Puedo acceder con el Putty por SSH pero cuando pongo el usuario root la contraseña que dicen en el tutorial no rula. ¿Ha cambiado?

  11. A mí me pasa exactamente lo mismo, la contraseña no funciona y he mirado el tutorial de SlugOS y pone el mismo, qué raro.

  12. Me contesto a mí mismo. Había cogido el firmware del debian-installer y hay que coger el que corresponde al OpenSlug. Ya he instalado y funciona perfectamente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *