RAID por software en Debian 7 con mdadm

hard disk Para el que no lo sepa, un RAID en informática no es una carrera de aventuras sino un disco duro lógico creado a partir de la union de dos o más discos duros físicos con objeto (por lo general aunque no siempre) de proporcionar tolerancia a fallos. Las siglas vienen de Redundant Array of Inexpensive Disks y hace referencia a que, en su día, constituían una alternativa para proporcionar un almacenamiento seguro usando discos baratos en lugar de unos mucho más caros (por lo general SCSI). Ahí está la wikipedia para quién quiera aprender un poquito más 😉

El método más seguro de usar esta tecnología es mediante hardware dedicado. Eso que quede claro. Pero cuando no queremos o no podemos gastarnos el dinero que esto requiere tenemos la alternativa de implementarlo mediante software. En Linux tenemos para ello mdadm, una herramienta en línea de comando muy sencilla de usar si entendemos los conceptos básicos de lo que estamos haciendo.

La instalación en una Debian es así de sencilla:

apt-get install mdadm

El script de configuración posterior a la instalación sólo nos planteará dos cuestiones. Leelas atentamente (como siempre… 😉 ). En la primera se nos pregunta si el sistema de ficheros raíz de nuestro Linux estará en un RAID con objeto de iniciarlo antes de la secuencia de arranque. En este ejemplo le diremos que no puesto que sólo usaremos RAID para los discos de datos, así que responderemos con none como se nos indica en el mensaje siguiente:

Instalación de mdadm en Debian Linux
En la segunda pregunta se nos interroga acerca de si queremos que los discos RAID que vamos a crear se inicialicen de forma automática durante cada inicio de la máquina o si preferimos hacerlo nosotros manualmente. Contestaremos que queremos que lo haga de forma automática.

Instalación de mdadm en Debian Linux
Una vez instalado mdadm ya podemos crear nuestro RAID. En el ejemplo que vamos a ver crearemos un RAID5 con tres discos de 500GB. El comando lsblk es muy cómodo para ver que asignación de nombres le ha hecho nuestro sistema a estos dispositivos:

Comprobando la asignación de nombres de dispositivos a nuestros discos duros con lsblk
El comando básico para crear un RAID es este:

mdadm --create dispositivo-md --level=x --raid-devices=z dispositivos-sd

O en formato abreviado:

mdadm --create dispositivo-md -l x -n z dispositivos-sd

Donde x es el nivel de RAID (admite los básicos 0, 1, 4, 5, 6, 10 y alguno más) y z el número de discos que formarán el array. El dispositivo-md será el nombre de dispositivo que recibirá el nuevo disco lógico (y que debería de estar en el directorio /dev y, por convención, llamarse md seguido de un número, por ejemplo /dev/md0) y los dispositivos-sd serían los discos físicos que forman el array separados por espacios (por ejemplo /dev/sdb /dev/sdc). Podemos añadir también la opción --verbose para obtener información más detallada del proceso de creación y los posibles fallos. Veamos un par de ejemplos:

Para crear un RAID0 con los tres discos indicados:

mdadm --create --verbose /dev/md0 --level=0 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc

Para crear un mirror (RAID1) con los discos indicados:

mdadm --create /dev/md0 -l 1 -n 2 /dev/sdb /dev/sdc

La creación admite, aparte de estas, otras opciones avanzadas que puedes consultar en el manual que se ha instalado con él (man mdadm). Y vamos ya a seguir con nuestro ejemplo. Para crear el RAID5 que necesitamos ejecutamos lo siguiente:

mdadm --create --verbose /dev/md0 --level=5 -n 3 /dev/sdb /dev/sdc /dev/sdd

Si todo ha salido bien se nos mostrarán algunos mensajes informativos y el comando finalizará indicando que el disco md0 ha sido inicializado y arrancado. Podemos comprobar el estado de nuevo con lsblk o con more /proc/mdstat
Comprobando el estado de un RAID5 recién creado con mdadm

Para poder utilizar nuestro disco debemos aún formatearlo y montarlo en nuestro sistema de ficheros. Vamos a formatearlo como ext4 y a montarlo en un directorio que se llame datos dentro del subdirectorio /mnt:

mke2fs -t ext4 /dev/md0
mkdir /mnt/datos
mount /dev/md0 /mnt/datos

Si usamos ahora, por ejemplo, el comando df (df -k /mnt/datos) para ver el espacio de la partición y el porcentaje de uso veremos que, efectivamente, disponemos de cerca de 1TB correspondiente al tamaño del RAID5 con tres discos de 500GB que hemos montado.

Nos falta aún algo más. Durante la instalación le hemos dicho a mdadm que inicie de forma automática todos los arrays, pero eso no significa que los monte en el sistema de ficheros. Si queremos que lo haga automáticamente en cada arranque y en el mismo directorio donde lo acabamos de hacer de forma manual, tendremos que añadir una línea como la siguiente al fichero /etc/fstab:

/dev/md0  /mnt/datos  ext4  defaults  0  1

Vamos a echarle ahora un vistazo a diversos comandos de gestión y monitorización. Si queremos detener el volumen usamos el argumento --stop. No olvides desmontarlo antes para evitar que haya pérdida de datos:

umount /dev/md0
mdadm --stop /dev/md0

Luego, para volver a arrancarlo de forma manual:

mdadm --assemble /dev/md0 /dev/sdb /dev/sdc /dev/sdd

Y si habíamos incluido la línea que indicamos antes en el fichero fstab para volver a montar el disco en nuestro sistema de ficheros basta con hacer esto:

mount /dev/m0 /mnt/datos

Para ver información de todos los arrays que tenemos en funcionamiento en la máquina usamos el argumento --detail:

mdadm --detail --verbose --scan

Información de los RAID en una máquina con mdadm

Sólo tenemos uno, claro. Para ver información en detalle del mismo:

mdadm --detail --verbose /dev/md0

Información en detalle de un RAID con mdadm

O también podemos usar el argumento --examine para ver información y el estado de cualquier a de los discos que forman nuestro array:
Información en detalle de uno de los discos de un RAID con mdadm

Vamos a simular ahora la rotura de uno de los discos. Para ello apagamos la máquina bruscamente y desconectamos uno de los tres discos del RAID. Podemos hacer fácilmente esta prueba tanto en una máquina real (¡que no esté en producción!) como en una virtual. Tras arrancar de nuevo nuestro RAID habrá perdido la tolerancia a fallos. No obstante, si hemos creado o copiado datos en el directorio /mnt/datos veremos que estos siguen siendo perfectamente accesibles.

OJO: Si el RAID no estaba aún totalmente inicializado (hemos usado discos muy grandes y no ha pasado suficiente tiempo desde su creación o desde la última vez que se recuperó de un fallo) el volumen no arrancará correctamente. Es por tanto muy importante no comenzar a usarlo hasta que no se ha inicializado completamente y extremar las precauciones después del fallo de algún disco hasta que volvemos a recuperar la tolerancia a fallos. Si miramos el pantallazo de aquí arriba en el que aparece la salida de ejecutar more /proc/mdstat vemos que allí aparece una barra de progreso donde se indica el estado de creación o reconstrucción del RAID. Mientras que esa barra no llegue al 100% y desaparezca mejor que no tengas ningún problema 😉

Para recuperar la tolerancia a fallos debemos de añadir un disco nuevo. Lo hacemos y una vez arrancada de nuevo la máquina ejecutamos lo siguiente para añadir el disco /dev/sdc a nuestro RAID en sustitución del que hemos simulado que se ha roto:

mdadm /dev/md0 --add /dev/sdc

El RAID se reconstruirá sólo de forma automática pero dependiendo del tamaño y del volumen de datos podrá tardar más o menos tiempo. Observa de vez en cuando la salida de more /proc/mdstat para estar al tanto.

OJO: Después de perder un disco los nombres de los dispositivos pueden haber ??bailado?. Es muy importante que comprobemos antes (con lsblk, por ejemplo) cuales son los que siguen formando parte del array y cual el nuevo que queremos añadir.

Si lo que queremos es añadir al RAID un nuevo disco para que sea usado como hot spare basta con sumarlo a un RAID ya creado y funcional con el mismo comando que usamos antes para añadir un disco a un RAID estropeado:

mdadm /dev/md0 --add /dev/sde

Si lo que queremos es añadir el disco para agrandar el tamaño del RAID y no para que sea usado como hot spare tendríamos que usar los siguientes comandos:

mdadm /dev/md0 --add /dev/sde
mdadm --grow /dev/md0 ??raid-devices=4

En el fichero /proc/mdstat podemos ver el proceso como siempre:
Haciendo crecer nuestro RAID añadiendo un nuevo disco

Lo que no nos va a resolvernos mdadm es hacer que la partición que habíamos creado en el disco y sobre la que estábamos trabajando crezca. Eso es tarea nuestra:

umount /dev/md0
e2fsck -f /dev/md0
resize2fs /dev/md0
mount /dev/md0 /mnt/datos

Y el resultado:
Extendiendo la partición de un RAID al que hemos añadido un nuevo disco

NOTA: Como se puede observar, durante este último proceso de crecimiento del RAID hemos trabajado con cuatro discos (tres originalmente) de 1GB cada uno en lugar de los de 500GB que hemos usado en el resto del tutorial. Quería que se apreciara el cambio de tamaño del volumen y la resincronización de discos tan grandes habría supuesto tener que esperar muchas horas para poder visualizar el proceso completo.

Si lo que queremos es eliminar uno de los discos del RAID (para reemplazarlo por otro, por ejemplo) tenemos antes que marcarlo como fail. Luego lo eliminamos:

mdadm /dev/md0 --fail /dev/sdd
mdadm /dev/md0 --remove /dev/sdd

Y si quisiéramos eliminar el RAID usamos este comando:

mdadm --remove /dev/md0

mdadm tiene también un argumento llamado --monitor que le permite generar alertas cuando ocurre alguna incidencia en el RAID. Por defecto en una Debian el monitor se arranca como un daemon que graba las incidencias en el fichero de logs de la máquina (/var/log/syslog) de esta forma:

mdadm --monitor --pid-file /run/mdadm/monitor.pid --daemonise --scan --syslog

Si, además, quisiéramos que nos enviara dichas incidencias a nuestra cuenta de correo deberíamos de añadir la opción --mail:

mdadm --monitor --pid-file /run/mdadm/monitor.pid --daemonise --scan --syslog --mail josemaria@uponday.net

Raspberry Pi. Enlaces y referencias.

hardware La Raspberry Pi se ha convertido en un par de años en el mini ordenador económico más deseado de todos los tiempos. Tiene el tamaño de una tarjeta de crédito, se han vendido cerca de un millón de unidades y supera ya en popularidad a Arduino, un proyecto mucho más maduro y bastante más versátil que la Raspberry:

Google Trends - Interes en Raspberry Pi y Arduino en el último año

¿El secreto? Una plataforma hardware suficiente, un precio muy, muy ajustado, mucha documentación (empezando por un quick start para todos los públicos) y un “afortunado” error de enfoque en la orientación del producto por parte de sus creadores. Y es que aunque en su declaración de principios afirmen que el dispositivo fue diseñado teniendo en mente que fuese uno más de esos ordenadores baratos educativos para niños (de los cuales ninguno ha triunfado), lo cierto y verdad es que el éxito de ventas de la Raspberry radica en que se ha convertido en el chisme favorito de “frikis” y “techies” y son pocos los proyectos orientados a la educación que se le conocen.
Esquema de las Raspberry PI modelos A y B

Existen dos modelos de Raspberry. Ambos son del mismo tamaño y se diferencian sólo en la cantidad de RAM (256 vs 512 MB), en el número de puertos USB (1 o 2) y en que una de ellas dispone de una conexión ethernet 10/100 Base T. El modelo más básico es el llamado A y su precio ronda al cambio los 20? mientras que el otro, el modelo B, sale por aproximadamente 30?. Un chollo, si, pero espera un momento… Para empezar a hacer cosas con ellas te hará falta alguna cosilla más. De forma imprescindible necesitarás un alimentador de 5V y 1A o 1.2A con salida micro USB (valdría casi cualquiera de los que usan los móviles actuales) y una tarjeta SD de al menos 2Gigas y clase 4. Posiblemente, además, necesitarás un cable HDMI para ver la salida en un monitor o televisor, un adaptador wifi USB y algún dispositivo de entrada (ratón y teclado) USB. Si vas a conectarle de forma simultanea más de dos dispositivos USB (o más de uno si te has decidido por el modelo A) necesitarás también un hub USB. Alrededor de 80? o 100? en total si queremos el lote completo y, por supuesto, contando con que ya tenemos monitor o televisor donde verla.

¿Decidido? Bien, pues vamos a comprarla. Para ello tienes dos opciones: hacerlo en el extranjero (EE.UU. o UK) o aquí en España. Los precios fuera son bastante más baratos incluso añadiendo gastos de envío pero te arriesgas a pagar los aranceles de aduana que pueden incluso igualar el precio de tu compra (yo he hecho tres pedidos y en uno de ellos me ha tocado). Los plazos de entrega varían entre una y cuatro semanas. Los partners con los que trabaja el fabricante son estos:

Además, puedes encontrar revendedores que te darán siempre precios más altos pero, tal vez, plazos de entrega más bajos y una mayor colección de accesorios:

O distribución directa en España:

Hablando de accesorios, existen decenas de ellos. Desde los básicos y casi imprescindibles que ya hemos mencionado hasta cajas de todo tipo, tarjetas de expansión de diferentes tipos, leds, sensores especializados, un bridge para Arduino, GPS, una cámara (aún no disponible pero que debería de salir a la venta por unos 25$ durante este año) y muchás más opciones realmente interesantes. ¡Y cada día aparecen cosas nuevas!

ACTUALIZACI?N: ?chale un vistazo a Embedded Pi, una interesante tarjeta con triple funcionalidad de Element14.
ACTUALIZACI?N (y II): En Adafruit, referencia del hardware libre, también hay un apartado dedicado a las Raspberry.

Y ¿Qué le pongo? Pues un Linux, claro. Pero también podemos elegir cual. En el apartado de downloads tenemos los más habituales de los que merece la pena destacar Raspbian y Arch Linux ARM como los más versátiles. Pero hay más. Tenemos, por ejemplo, Raspbmc si estás pensando en montar un centro multimedia o micro Elastix si quieres una centralita VoIP.

¿Información, dices? La propia página principal del proyecto es un blog donde encontrarás información sobre novedades y algunos de los proyectos más interesantes que la usan como base. Además mantienen un foro. Raspberry Pi Spy es otro blog interesante pero con planteamiento más comercial. Existe otro foro en Stack Exchange y el IET tiene una página de recursos. The MagPi es una revista mensual especializada de descarga gratuita. Piaddict es otro magazine que acaba de lanzar su primer número. En castellano, Linux Magazine España tiene planeado sacar un monográfico sobre Raspberry y Arduino que ha financiado a través de la plataforma de Crowfunding Lánzanos y tenemos un blog llamado Raspberry para torpes con un planteamiento excesivamente comercial pero con algún enlace interesante. Si prefieres un libro también hay variedad. Puedes, por ejemplo, echarle un vistazo a lo que tiene Amazon en catálogo.

Si lo tuyo es twitter, tal vez te interese seguir las cuentas de la fundación @Raspberry_Pi, @TeamRaspi, @RPF_Dev_Updates (los desarrolladores oficiales del firmware), @PiAddict_ (la cuenta de uno de los magazines que hemos mencionado antes), @ModMyPi (¡Si!¡La fiebre del Modding también llega a las Raspberry!), @ThePiHut (uno de los revendedores que hemos listado), @RPiSpy (la cuenta de uno de los blogs que hemos recomendado) y @TheMagP1 y @MagPiTeam, las cuentas asociadas al Magazine gratuito The MagPi.

En facebook existe una página oficial y en Google+ también además de varias comunidades de entre las que destacan Raspberry Pi Forever y Raspberry Pi Fans.

Asus UL30A con Fedora 13, Ubuntu 10.4 y Backtrack 4

portátiles El sábado pasado me compré un portatil nuevo. Después de dos años con mi netbook (Acer Aspire One 110), sintiéndolo totalmente amortizado y teniendo claras las cosas que he echado de menos en este tiempo, me apetecía comprar uno nuevo con la vista puesta en la entrada al nuevo curso después de las vacaciones. Ha sido una compra muy impulsiva, todo hay que decirlo. Llevaba un par de meses dándole vueltas al tema pero me decidí por un modelo concreto en apenas un par de horas. Quería, por supuesto, que no me diera problemas con Linux, que tuviera mejor resolución de pantalla, la mayor autonomía de batería posible, un procesador que me permitiera trabajar con máquinas virtuales, tan ligero como todos estos extras me permitieran y lo más económico posible. Un ultraligero, en definitiva.

Los posibles candidatos han sido tres: el Dell Vostro V13, el Acer Aspire TimeLine 3810 y el Asus UL30A. Después de leer el título aquí arriba a nadie se le escapará ya que este último ha sido el elegido, pero engañaría también si no dijese que el hecho de que lo tenían en stock en la FNAC y que quería disponer de él ese mismo día influyó bastante en la decisión final.

Aún no llevo una semana con él pero por el momento estoy encantado. Mi pequeña báscula electrónica me dice que pesa 100 grs. más de lo que cuenta el fabricante (1,8 kilos) pero la autonomía supera las 10 ronda las 8 horas permanentemente conectado a Internet vía wifi, a pleno rendimiento (ya sabéis como son los primeros días de un portatil: instalaciones, continuos rearranques, etc.) y sin ninguna optimización por software. La batería es de 8 celdas, pero está claro que los nuevos Procesadores Intel Core 2 Duo SU de bajo consumo hacen bien su trabajo. El teclado y el touchpad son muy cómodos y de tacto agradable, apenas se calienta y es silencioso como un ninja muerto. El cargador es pequeño y ligero y viene acompañado de una unidad grabadora de CD y DVD externa alimentada a través del puerto USB. Lo único manifiestamente mejorable es la pantalla que aunque presenta una nitidez y resolución realmente buenas tiene demasiados reflejos para trabajar con comodidad al aire libre sin estar reorientándola continuamente.

En cuanto a software, le he instalado un triple arranque con Fedora 13 (versión KDE), Ubuntu 10.4 (con Gnome) y Backtrack 4 final. Disponer de un disco duro en condiciones es otra de las cosas que echaba de menos para poder hacer estas cosas. Todas ellas han funcionado perfectamente con una instalación por defecto y sin tocar absolutamente nada. La instalación de Fedora la he hecho desde una memoria USB. La de Ubuntu y Backtrack usando el CD externo. Aunque en la pantalla inicial no aparece información de ello la tecla F2 nos da entrada a la configuración de la BIOS y la de Escape nos permite seleccionar un arranque alternativo. Por el momento, la única molestia apreciable es que el control de brillo de la pantalla no funciona de forma totalmente correcta con ninguno de los tres, ni mediante las teclas de función ni mediante software. No he probado aún la salida por HDMI, el lector de tarjetas ni el micrófono integrado.

ACTUALIZACI?N: Se me olvidó comentar que la placa base soporta Express Gate, una utilidad para arrancar una distribución mínima de Linux basada en Splashtop con una tecla rápida y proporcionando de forma casi instantanea de conexión a wifi, un navegador web, skype, un programa de mensajería, un navegador de fotos y archivos y alguna cosilla más.

Ampliando la memoria del AspireOne

portátiles Mi Acer AspireOne ya tiene 1 Gbyte más de memoria RAM. Abrirlo para hacerlo es un verdadero coñazo. ¿Por qué no habrán dejado el slot de ampliación abierto con una pequeña solapa en su parte inferior como en casi todos los portátiles actuales? Y, lo que es más grave ¿Por qué los 512 Mbytes que trae de serie van soldados en placa base en lugar de ser sustituibles por otro módulo?

Bueno, aparte de estas cosas que, para mi, son graves deficiencias de diseño, sigo muy contento con este pequeño aparatejo y, para el que necesite unos megas más de RAM y no acabe de decidirse a abrirlo. aquí os dejo un vídeo que he encontrado en Youtube (del AspireOne con disco duro convencional, que tiene ligeras diferencias con el que usa una compact flash) donde te muestran todo el proceso de abrir la carcasa y, más abajo, unas fotos del mío durante la “intervención” a corazón abierto.

DSCF1249DSCF1251
DSCF1253DSCF1254

Lo más complicado es levantar el teclado. Hay que hacerlo con sumo cuidado para no desprender ninguna tecla y el “truco” de usar una tarjeta de crédito que muestran en el vídeo es bueno aunque a mi me da mucho mejor resultado empezar por el lateral izquierdo y luego “forzar” las pequeñas presillas de la parte superior. Luego también hay que poner mucha precaución a la hora de conectar y desconectar los pequeños conectores y “buses” que usan el teclado, el touchpad, la pantalla, etc.

Acer AspireOne

portátiles He sido débil y no he podido esperarme a mi cumpleaños como tenía pensado… La gota que ha colmado el vaso ha sido leer esto en Libertonia y enterarme de que jcdenton tenía ya el suyo, así que ayer fui al Carrefour de Las Rozas (donde, por darle una nota de color a lo Nihónica, me tropecé literalmente con Belén Esteban acompañada de su inseparable “Andreita”) y me lo traje a casa más contento que unas castañuelas.

Mi primera impresión colma con creces las expectativas que tenía: el chisme es rápido (arranca en apenas 10 segundos), muy cómodo de usar, robusto (al menos en apariencia) y la calidad de sus componentes parece buena. Es bastante más ligero que un dietario común, ocupa el mismo tamaño que uno de estos y viene acompañado de una funda de simil-piel bastante práctica para llevarlo en la mano y protegerlo de arañazos. La distribución de Linux que trae instalada es Linpus y el entorno gráfico xfce con una aplicación de arranque bastante intuitiva para el usuario no experto que coloca a golpe de ratón todo lo que puede necesitar para sacarle partido al netbook.

Mi Acer AspireOne

Ahora a jugar con él. Pero creo que lo primero que va a tocar es instalarle una Debian. No estoy yo por la labor de volver a pelearme con los rpm, la verdad…

Mi etiqueta en del.icio.us para, a partir de ahora, ir guardando todos los enlaces interesantes que encuentre sobre él es esta. Ya de entrada y aparte del anterior dónde se indica como instalarle una Debian, tenéis este para quien prefiera una Ubuntu, este otro para ampliarle la memoria con el slot de expansión que tiene bajo el teclado (¡mucho cuidado si no tienes costumbre de trastear con el hardware de un portátil!), o este otro para sustituirle la compact flash interna de 8 gigas por otra con mejores tiempos de acceso (idem que el anterior).

ACTUALIZACI?N: La mejor y más completa fuente de información que he encontrado sobre este chisme y sus posibilidades está en este foro.

Instalando OpenWrt en la Fonera (y II)

fonBueno. Vamos a terminar con esto que dejamos a medias hace un par de días que no me gusta dejar las cosas incompletas. Haciendo un breve repaso de la situación, si lo que quieres es una fonera pero más controladita no sigas leyendo y quédate donde lo dejamos en el anterior texto. Si prefieres jugar con un router inalámbrico más serio acompáñame en los siguientes párrafos.

Empezamos por los preliminares. Vamos a necesitar un servidor tftp, una especie de FTP sencillote que suele usarse como sistema de actualización en dispositivos con pocos recursos como este. En Linux puedes usar fácilmente el tftpd y en Debian o distribuciones derivadas (Ubuntu, Kubuntu, etc.) es tan fácil como instalar los paquetes apropiados (sudo apt-get install tftp tftpd xinetd) y crear un fichero de configuración llamado tftp dentro del directorio /etc/xinet.d con el siguiente contenido:

service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no
}

Ahora debemos de crear el directorio que hemos indicado como raíz de nuestro servidor tftp (sudo mkdir /tftpboot), y cambiar sus permisos y propietario (sudo chmod -R 777 /tftpboot; sudo chown -R nobody /tftpboot). Dentro de ese directorio dejaremos los dos ficheros que nos harán falta para sustituir el firmware de la fonera que son openwrt-atheros-2.6-vmlinux.lzma y openwrt-atheros-2.6-root.squashfs. Muy importante: hay que dejarlos “a pelo” en el mismo directorio ya que el tftp no reconocerá ninguna estructura jerárquica. Por último en cuanto a este paso, reiniciamos el servicio xinetd que es el que da soporte a nuestro tftp (sudo /etc/init.d/xinetd restart) y volvemos con la fonera.

Lo primero que necesitamos es instalar Redboot. El procedimiento a seguir, en dos pasos y con un reinicio de por medio, puede verse en los dos siguientes pantallazos de mi terminal:

instalando redboot en la fonera
instalando redboot en la fonera

Para facilitar los “corta y pega” los comandos son estos:

cd /tmp
wget http://fonera.info/camicia/openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma
mtd -e vmlinux.bin.l7 write openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma vmlinux.bin.l7
reboot

Después del reinicio nos conectamos de nuevo y ejecutamos la segunda parte:

cd /tmp
wget http://fonera.info/camicia/out.hex
mtd -e “RedBoot config” write out.hex “RedBoot config”
reboot

Después de esto nuestra fonera arrancará con Redboot y con la dirección IP 192.168.1.254. El acceso a Redboot solamente puede hacerse durante los primeros segundos una vez que el sistema arranque con lo cual es importante que estemos atentos (aunque, si nos despistamos, no pasa nada: apagamos la fonera y volvemos a intentarlo). El acceso a Redboot ha de hacerse por telnet y a través del puerto 9000.

El proceso completo, desde la conexión a Redboot hasta el reset final puede verse en el siguiente pantallazo:

instalando openwrt en la fonera

Igualmente, los comandos y unas aclaraciones a los mismos:

ip_address -l 192.168.1.254 -h 192.168.1.5
load -r -b %{FREEMEMLO} openwrt-atheros-2.6-vmlinux.lzma
fis init
fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7
fis free
load -r -b %{FREEMEMLO} openwrt-atheros-2.6-root.squashfs
fis create -l 0x6f0000 rootfs
reset

En la primera línea es en la que definimos la conexión con el servidor tftp. La primera IP que aparece es la de nuestra fonera y la segunda la de la máquina que aloja al servidor. El otro comando al que hay que prestar atención es el que aparece en la línea 7. Es el momento en que decimos la dirección de memoria donde debe de ubicar la raíz del sistema de ficheros. La dirección hexadecimal que ahí aparece no es arbitraria: es el resultado de restar las dos direcciones que nos devuelve como resultado el comando de la línea 5 (fis free). En mi caso y (en casi todos los ejemplos que he visto en Internet) estos valores son 0xA80F0000 y 0xA87E0000 y por tanto el resultado es el 0x6f0000 que aparece en el comando de la línea 7. Poned atención por si acaso y, si lo necesitáis, ajustad el cálculo vosotros mismos.

Una última advertencia: algunos de los comandos anteriores se demoran bastante (más de 15 minutos en algunos casos). No os impacientéis y no rompáis el proceso ni apaguéis la alimentación de la fonera en el transcurso de estas esperas.

El primer arranque de OpenWrt se hace con el wifi deshabilitado y asignando la dirección 192.168.1.1 a la ethernet de la fonera. Esto posiblemente entrará en conflicto con nuestro router si tenemos una instalación corriente, así que este primer arranque conviene hacerlo con la fonera conectada directamente por cable con nuestro ordenador el cual habremos configurado manualmente con una IP adecuada. La primera conexión deberemos de hacerla por telnet y una vez que asignemos una contraseña al usuario root (con el comando passwd) el acceso por telnet se deshabilitará y las conexiones subsiguientes podremos hacerlas ya por ssh como está mandado:

nuestro primer acceso a openwrt en la fonera

Y listo. Nuestro nuevo router ya está disponible. Ahora toca configurarlo y para eso hay muy buenos recursos en la red. Yo sólo os voy a ayudar a dar los primeros pasos para que los menos habituados a estas lides no se frustren nada más empezar ¿de acuerdo?

Lo primero que necesitamos es reconfigurar el interface ethernet. Para ello editamos con vi el fichero /etc/config/network y allí modificamos la opción correspondiente a la dirección IP y completamos la configuración al menos indicando el router y el dns que queremos que use. El resultado final de este fichero debe de quedar más o menos así:

# Copyright (C) 2006 OpenWrt.org

config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0

config interface lan
option ifname eth0
option type bridge
option proto static
option ipaddr 192.168.1.4
option netmask 255.255.255.0
option gateway 192.168.1.1
option dns 192.168.1.1

Salvamos los cambios y reiniciamos la red (/etc/init.d/network restart). Después de esto perderemos la conexión de la sesión de ssh (le hemos cambiado la dirección IP al dispositivo, recordad) pero ya podremos integrarlo directamente a nuestra red y en la próxima conexión que hagamos tendrá acceso a Internet, lo cual nos resulta imprescindible para el siguiente paso: instalarle una interfaz web para su gestión.

OpenWrt usa un sistema de gestión de paquetes denominado ipkg que en líneas generales resulta muy similar a nuestro familiar apt-get pero que es mucho más ligero y, por tanto muy adecuado para este tipo de dispositivos. Para actualizar los paquetes del sistema, por ejemplo, ejecutamos ipkg update y a continuación ipkg upgrade. Os suena mucho ¿verdad?

root@OpenWrt:~# ipkg update
Downloading http://downloads.openwrt.org/kamikaze/7.09/atheros-2.6/packages/Packages
Updated list of available packages in /usr/lib/ipkg/lists/release
Downloading http://downloads.openwrt.org/kamikaze/packages/mips/Packages
Updated list of available packages in /usr/lib/ipkg/lists/packages
Done.
root@OpenWrt:~# ipkg upgrade
Nothing to be done
Done.
root@OpenWrt:~#

Para instalar X-Wrt, que es la interfaz web de gestión que usa OpenWrt, necesitamos editar el archivo /etc/ipkg.conf y añadirle la siguiente línea:

src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/7.09/atheros-2.6/packages

A continuación volvemos a actualizar la base de datos de paquetes (ipkg update) e instalamos el paquete webif (ipkg install webif):

instalando x-wrt en la fonera

Ahora, si ya estamos un poco aburridos de la línea de comandos, podemos continuar a través de esta interfaz web escribiendo en nuestro navegador la dirección que le hemos asignado al dispositivo y usando como usuario de acceso root y la contraseña que le hayamos puesto al mismo. Echadle un vistazo y ya veréis que diferencia en cuanto a posibilidades con respecto a lo que teníamos originalmente…

acceso a la fonera con x-wrt

Sólo os acompaño en una cosa más y ya os dejo solos. Hasta ahora tenemos un router wifi… pero sin wifi ya que este sigue desactivado. Para arreglar esto entramos en Network, seleccionamos Wireless, marcamos la opción de Radio en ON, modificamos, si así lo queremos, el ESSID que trae por defecto, salvamos los cambios y, que no se nos olvide, los aplicamos hasta que la opción de “review changes” esté vacía (esto puede precisar más de una aplicación de cambios). En unos segundos nuestros dispositivos wifi detectarán la nueva señal que, por el momento, está totalmente abierta y sin cifrado alguno.

acceso wifi a openwrt

Para activar el cifrado, en la misma página donde estamos hay un selector marcado como Encription Type que tiene seleccionada la opción de Disabled. Elegimos, por ejemplo, WPA2 (PSK), cumplimentamos la clave que usará el cifrado en el casillero WPA PSK que nos aparece tras haber hecho la elección y se nos solicita que elijamos entre dos paquetes diferentes para su instalación: uno que sólo sirve para PSK y PSK2 llamado HostAPD-Mini y otro que incluye también la opción de autenticación mediante un servidor RADIUS (HostAPD). Elegimos el que creamos conveniente (yo he escogido el segundo porque la autenticación mediante RADIUS es una de las cosas con las que me apetece jugar) pulsando sobre el botón adecuado y listo.

cifrando el acceso wifi en openwrt

No os asustéis por el final del proceso que concluye mostrando en el navegador el fichero .sh que ha ejecutado en el dispositivo. Pulsar la flecha atrás de vuestro navegador y volveréis a la página de configuración de la interfaz inalámbrica del OpenWrt. Si ahora pulsamos F5 veremos que tenemos cambios por revisar. Los aplicamos y con esto nuestra conexión inalámbrica ya estará lista para ser usada de forma segura.

Y ahora ya si que os dejo que sigáis jugando solos 😉

Toda la documentación que he utilizado y algunos extras adicionales están en el tag fonera de mi del.icio.us. Hay cosas realmente interesantes. Echadles un vistazo si queréis aprender un poquito más o explorar otras posibilidades.

Instalando OpenWrt en la Fonera (y I)

fon Tenía pendiente “flashear” un par de foneras para liberarlas y cargarles OpenWRT desde hace casi seis meses pero hasta ayer no encontré tiempo para hacerlo. Lo bueno es que al final la cosa salió bien. Lo malo que tardé más de la cuenta pero estaba tan enfrascado en ello que, cuando me quise dar cuenta, era la 1.30 de la madrugada, así que me quede sin ir al cine a ver la última que le gustó a Tormento (son tan escasas sus críticas positivas que no hay más remedio que atenderlas) que era lo que en realidad tenía pensado para ayer tarde… Os dejo aquí la chuleta para que a vosotros no os pase lo mismo que a mí y podáis disfrutar de una vida social un poco más sana que la mía. Como esto ha salido bastante largo lo voy a cortar en dos pedazos, pero no preocuparos que os voy a cobrar lo mismo 😉

Lo primero que hay que hacer para meterle mano a una fonera, y eso ya lo sabemos todos, es habilitar el acceso a la misma por ssh. Ya conté por aquí hace más de un año como hacerlo por hardware a través del puerto serie interno. Ahora se trataba de hacerlo por software por aquello de experimentar, ya sabéis. El método más usual de hacerlo consiste en “engañar” a la fonera con un DNS trucado de forma que al reiniciarla, momento en el que se trata de conectar con FON buscando actualizaciones de software, en realidad lo que se descarga es un parche que nos permite acceder temporalmente a ella por ssh a través del puerto wifi. Desgraciadamente parece que este hack sólo funciona con la versión 0.7.1.r2 o inferiores y mis foneras venían ya con la versión 0.7.2.r2 (¡y se actualizaron a la 0.7.2.r3 la primera vez que las dejé que llamaran a casa solitas!), así que parecía claro que lo primero que había que hacer es instalarles una versión de firmware inferior. Vamos a ello.

conectando a la fonera con knetworkmanager Sin conectar la fonera a Internet (para que no actualice su firmware) la encendemos y esperamos a que inicialice. Cuando lo haga podremos conectarnos a ella a través de la señal privada que difunde (MyPlace) usando como clave WPA su número de serie. La fonera arranca con la dirección IP 192.168.10.1 asignada a su interfaz inalámbrica, así que una vez autenticados a través del wifi escribimos esta IP en la barra de direcciones de nuestro navegador y accedemos a la pequeña web de administración del dispositivo con el usuario root y la contraseña admin.

Ahora nos vamos a la sección advanced del menú lateral y reconfiguramos el interface de red (Internet Connection) proporcionándole una IP estática dentro del rango de nuestra red y, muy importante, la IP 88.198.165.155 como servidor DNS. Una vez hecho esto pulsamos el botón de submit, apagamos la fonera, le conectamos el cable de ethernet y la volvemos a encender.

modificando la configuración de red

Una vez que ha rearrancado y que volvemos a tener acceso web a ella, la reseteamos pulsando el botón que tiene en su parte inferior durante al menos 30 segundos para forzar una actualización automática del firmware. El arranque tardará esta vez bastante más tiempo pero cuando este finalice tendremos ya instalada la versión 0.7.1.r2. Pero, cuidado, la configuración de conexión a Internet también se ha reiniciado y vuelve a apuntar al servidor de DNS de FON con lo cual hay que permanecer atentos y en el mismo momento en que tengamos acceso a ella (señal de que ha rearrancado correctamente) hay que desconectarle el cable de red para abortar cualquier nuevo intento de actualización por parte de FON. Ahora volvemos a modificar la conexión de red (la misma que antes), pulsamos submit, apagamos la fonera, le volvemos a conectar el cable de red y la encendemos otra vez. Después de que vuelva a encender (tardará de nuevo un poco más de lo normal aunque no tanto como en la anterior ocasión) dejamos transcurrir unos minutos (tened paciencia: está aplicando los cambios y se trata de un dispositivo lentito) y ya tendremos acceso a ella a través de ssh y del interfaz inalámbrico. Usuario y contraseña siguen siendo root y admin, respectivamente:

entrando por ssh a la fonera

Los siguientes pasos ya se han comentado en muchas ocasiones: hay que habilitar el ssh de forma permanente y deshabilitar las actualizaciones automáticas por parte de FON. Para lo primero tenemos que editar el fichero /etc/firewall.user y descomentar las líneas 22 y 23 dejándolas así:

### Open port to WAN
## — This allows port 22 to be answered by (dropbear on) the router
iptables -t nat -A prerouting_rule -i $WAN -p tcp –dport 22 -j ACCEPT
iptables -A input_rule -i $WAN -p tcp –dport 22 -j ACCEPT

Luego creamos un enlace para que el demonio de Dropbear (el pequeño servidor ssh que usa la fonera) arranque de foma automática en el inicio del dispositivo:

ln -s /etc/init.d/dropbear /etc/init.d/S50dropbear

Para lo segundo basta con editar el fichero /bin/thinclient y comentar la última línea (la 56) que es donde se ejecutan las actualizaciones. La línea debe de quedar así:

# . /tmp/.thinclient.sh

Reiniciamos (reboot) y tras el rearranque ya podremos acceder a ella también a través del interface ethernet y no tendremos que preocuparnos de que una actualización de software no deseada nos vuelva a dejar sin el control de nuestro aparatito.

Hasta aquí, y si modificamos de nuevo los datos de la conexión a Internet volviendo a decirle que use el servidor DNS de FON (213.134.45.129) seguimos teniendo una fonera plenamente operativa y funcional con la salvedad de que ahora el control de lo que se instala en la misma es sólo nuestro y que podemos acceder a ella a través de ssh. En la segunda parte contaré como, a partir de aquí, instalar el firmware de OpenWrt.

HP Compaq 6720s: un portatil barato para usar con Linux

portátiles Si estás buscando un portátil barato (por debajo de los 500,00 ?) para trabajar con GNU/Linux, échale un vistazo a este modelo de HP. Con una Kubuntu 8.04 y sin necesidad de hacer absolutamente nada más que la instalación base, reconoce perfectamente todo el hardware, wi-fi y lector de tarjetas incluidos. La gráfica soporta Compiz sin necesidad de hacer nada más que instalarlo, las funciones de ahorro de energía van perféctamente y las teclas rápidas para ajuste de sonido, brillo, hibernación, etc. también. En cuanto a especificaciones técnicas no está nada mal para su precio: Procesador Core 2 Duo a 1,6 GHz., 2048 Mbytes de RAM y 160 Gbytes de disco duro.

Compaq 6720s

Sólo una consideración a tener en cuenta: la política de HP en cuanto a la referencia de sus modelos es un verdadero caos y te encontrarás por ahí diferentes modelos todos ellos llamados 6720s con características diferentes. El que yo he probado es el de referencia KE056ET y el sitio donde lo he visto más barato (480,24?) es en Precios 10. Si lo encuentras mejor de precio en otro sitio avísame para que ponga aquí el enlace.

Dos nuevos ultraportátiles de bajo precio

icono para portátiles ultraligerosDurante este mes saldrán a la calle dos nuevos portátiles de bajo coste: el Airis Kira N1170 (Visto en Barrapunto) y el HP 2133 Mini-Note PC (visto en Error500). Ambos tendrán que competir contra el Asus EeePC y el Everex Cloudbook.

Airis Kira N1170HP 2133 Mini-Note PC

Tanto el HP como el Airis podrán adquirirse con Windows Vista o GNU/Linux preinstalados. En el caso de elegir Linux el Airis usará Fedora como distribución base y el HP vendrá con Suse. Los precios rondaran entre los 320 y 480 ? del HP según modelo y al precio del cambio actual y los 300 o 400 ? del Kira (con 50? menos en las versiones con Linux, según Barrapunto, aunque no he podido verificarlo en la página oficial del producto).

La ventaja adicional de poder tocarlo y verlo antes de comprarlo y sin tener que viajar a los EE.UU. hará especialmente atractivo el modelo de Airis que viene de serie con wi-fi (por supuesto), webcam integrada, entre 512 y 1024 MBytes de RAM y dos opciones en cuanto a almacenamiento masivo: disco duro sólido de 2 o 4 Gbytes o un disco convencional de 40 GB. Bonito ¿verdad?

No tires el dinero: no uses Windows Vista

icono de windowsLa gente de exo.blog le ha puesto cifras a lo que se ve de forma casi evidente a poco que hayas jugado con el nuevo sistema operativo de Microsoft: actualizar a Vista en un entorno empresarial es devaluar el hardware incluso en máquinas con requerimientos más que suficientes. Durante los últimos días han hecho pruebas muy significativas pero para mi la más reveladora es esta que compara el funcionamiento de Office 2003 en un Dell XPS (Pentium Core 2 Duo a 2 GHz y 2GBytes de RAM DDR2).

Test de rendimiento vista-xp

A mayor valor del eje vertical peor rendimiento, que no se equivoque nadie…

Visto en el blog de markbd.