Este aparato es un NAS de la marca Conceptronic para discos IDE 3.5″ PATA con interfaz wireless, que compré hace unos meses. El dispositivo ya tiene un Linux dentro. Aquí siguen las instrucciones necesarias y los pasos que he aprendido para acceder a el, y para poder instalarle una debian etch.


Para dejar ver ese Linux que lleva dentro, hay que seguir las instrucciones de esta fabulosa y reveladora web que básicamente dice que hay que descargar ch3wnas-telnet.rar y descomprimirlo en la compartida samba //mnt/HDD_a. Thank you very much Dennis.

El script fun_plug lo encuentro medio flojo, así que con un par de modificaciones, queda asi (me gusta más):

#!/bin/sh -x
exec >> /mnt/HD_a2/fun_plug.log 2>&1
dmesg
if [ ! -e /mnt/HD_a2/ash ]; then
ln -s /mnt/HD_a2/busybox /mnt/HD_a2/ash
fi
if [ ! `grep root /etc/shadow` ]; then
echo kontroll.`grep admin /etc/shadow` >> /etc/shadow
/mnt/HD_a2/sed -i -e 's/kontroll.admin/root/' /etc/shadow
fi
/mnt/HD_a2/sed -i -e 's/root:.*/root:x:0:0:Linux User,,,:\/:\/mnt\/HD_a2\/ash/' /etc/passwd
cd /dev && /mnt/HD_a2/busybox makedevs ptyp c 2 0 0 9
cd /dev && /mnt/HD_a2/busybox makedevs ttyp c 3 0 0 9
/mnt/HD_a2/busybox telnetd &

Una vez se tiene acceso telnet al aparato (usuario: root, contraseña: la de admin de la web), nos podemos entretener un rato viendo lo que tiene.

El desarrollo de fun_plug se ha continuado (ver esta dirección) pero ha derivado a soportar la arquitectura ARM del DNS323 y amigos (mientras que el CH3WNAS es un ppc PowerPC). Un equipo que si es ppc es el DSM-G600. Y buscando un poco más, nos encontramos con unas excelentes instrucciones para instalar debian enjaulado. Leyéndolas se observa que lo único que hace es hacer un debootstrap contra el directorio /mnt/HD_a2/debian. Por tanto, si tenemos a alguien que tenga un ordenador PowerPC (un mac de los de antes) y nos quiere hacer el favor de ejecutar estos seis comandos, y enviarnos el tar.gz resultante (que ocupa unos 49MB), nos evitaría seguir las instrucciones de la página que son un mero workaround para ejecutar estos mismos 6 comandos dentro del CH3WNAS. Estuve intentando hacerlo con qemu pero no me salió.

# debootstrap --arch powerpc etch debian http://ftp.es.debian.org/debian
# cp /etc/resolv.conf debian/etc/
# chroot debian apt-get update
# chroot debian apt-get install dropbear
# chroot debian passwd (y que ponga por ejemplo 1234 como contraseña de root)
# rm debian/var/cache/apt/archives/*deb
# tar czf debian.tgz debian

Aviso1: la parte del debootstrap tarda más de media hora en el CH3WNAS, debido a los 32MB de ram y los 133 MHz de CPU que tiene.
Aviso2: el artículo dice instalar sid, pero da errores debido al kernel tan viejo que hay en el CH3WNAS (un 2.4.21-pre4), por tanto mejor instalar etch que funciona sin problemas

Una vez nuestro amigo nos haya dado el debian.tgz, desde dentro del CH3WNAS via telnet, nos la descargamos con un wget y la descomprimimos en /mnt/HD_a2/debian/. Es necesario descomprimirla via telnet para que se hagan los permisos y los enlaces simbólicos correctamente, ya que haciéndolo desde samba no es así. También vale conectando el disco duro a un Linux y descomprimiéndolo normalmente.

Además, debemos poner el siguiente fun_plug en /mnt/HD_a2/fun_plug (recordar ponerle permisos de ejecución):


#!/bin/sh -x
exec >> /mnt/HD_a2/fun_plug.log 2>&1
dmesg
DEBIAN=/mnt/HD_a2/debian

# Tener los DNS del padre
cp /etc/resolv.conf $DEBIAN/etc/

# Estos devices estan mejor en debian y son necesarios para ssh
cp $DEBIAN/dev/random $DEBIAN/dev/[tp]typ[0-9] /dev/

# Montajes bind
mkdir -p $DEBIAN/mnt/root/ $DEBIAN/mnt/HD_a2/
mount --bind /proc/ $DEBIAN/proc/
mount --bind /dev/ $DEBIAN/dev/
mount --bind / $DEBIAN/mnt/root/
mount --bind /mnt/HD_a2/ $DEBIAN/mnt/HD_a2/

# Ejecutar telnet fuera y ssh dentro
/mnt/HD_a2/busybox telnetd &
/mnt/HD_a2/busybox chroot $DEBIAN /etc/init.d/dropbear start

Y tambien poner un busybox para ppc con capacidad de chroot, como el que está en: download.dsmg600.info.

Una vez listo esto, reiniciamos el CH3WNAS (via la interfaz web que es la única forma segura de reiniciarlo) y pasado un minuto, deberíamos tener un bonito acceso ssh root a la Debian. Si no lo tuvieramos, revisar el log via samba a ver que pasó.

Para ver si hay discos usb nuevos, mirar /proc/partitions y configurar el /etc/fstab. Para apagar el sistema, deberia ser suficiente invocar shutdown -h now desde el ssh.

Nota: El kernel por defecto del dispositivo no soporta los socket AF_UNIX… por tanto, rsync explota con el mensaje: “rsync: pipe: Address family not supported by protocol (97)”. Para mí esto es un problema.
Nota: El kernel por defecto del dispositivo no soporta el nfs-kernel-server (nfsd), y el nfs-user-server es bastante buggy (nada mas usarlo, aparece todo corrupto). Lo que si soporta (ya era hora que soportara algo) es nfs client (nfs si nfs4 no), por tanto, si queremos hacer backup de una maquina, debemos instalar un nfs-kernel-server en ella y exportar el directorio al nas.
Nota: Si se consiguiera el debootstrap usando un qemu-system-ppc -L . -m 128 -hda ch3wnas-debian-ppc.dd -cdrom .../debian-40r6-powerpc-netinst.iso -boot d no haría falta amigo.

Anuncios