ExtRoot En OpenWRT

OpenWrt

Continuando con el Blog anterior de OpenWRT, en esta ocasión se realizara una guía para realizar el proceso de ExtRoot. Los Únicos requisitos para llevar a la practica esta guía es haber realizado la instalación de OpenWRT en su Router y un dispositivo USB.

¿Que es ExtRoot?

ExtRoot en términos simples es cambiar el punto de almacenaje de datos del Router a un Dispositivo Externo en este caso un USB.

¿Cuando y Por que se debe hacer Extroot a un Router con OpenWRT? 

Un problema muy común a la hora de trabajar con OpenWRT es que para iniciarse en su uso o aprendizaje es que, se suele comprar un Router de precio medio-bajo porque “si se arruina” no pese mucho el coste que con lleva adquirir uno. Ese tipo de pensamiento después presenta un problema, cuando pasamos de la fase de instalación y configuración y se desea ahondar en sus funcionalidades, resulta que este Router no tiene el suficiente espacio para ahondar en la instalación de nuevas funcionalidades puesto que por norma general los Routers de bajo coste suelen contener 4mb de almacenamiento se los cuales entre 3,6 mb y 3,8 mb están ocupados por el sistema dejando disponible algunos cuantos kb disponibles para instalar mas funciones, pero resulta que el espacio no es suficiente para el trabajo que se desea realizar, la solución mas sencilla seria comprar otro router con mas almacenamiento interno, pero si no se dispone de dinero para comprar otro una solución es realizar el ExtRoot en el router.

¿Como escoger un Router para OpenWRT?

En la pagina oficial del proyecto, esta  lista detalla de la Tabla de Hardware todos los dispositivos compatibles con OpenWRT y sus especificaciones técnicas. Si ya se tiene un Router en el cual se desea trabajar puedes ver si es compatible.

¿Que más puedo hacer con OpenWRT?

OpenWRT tiene muchas herramientas y funciones que puedes instalar y usar, en la pagina del proyecto hay una lista de HOWTOs que puedes realizar.

Antes de empezar

En mi caso utilize un TP-Link MR3220v2 que por lo que pude averiguar su versión mas reciente (15.05 Chaos Clamer) hasta la fecha de creación de esta guía (05/02/2015) no es posible hacer que reconozca el USB para hacer Extroot, por ese motivo baje de la misma pagina del proyecto la versión 12.09 en la que si se puede realizar, subi un archivo para descargar la version 12.09 para los routers TP-Link MR3220 v1 y v2, TP-Link MR3420 v1 y v2 y para elTP-Link MR3020 v1 en este enlace. De todos modos en la Pagina Oficial del Proyecto también pueden encontrar las versiones Genéricas en este enlace.

Primeros pasos

Una vez instalado OpenWRT debes tener un dispositivo USB, no es necesario que tenga una gran capacidad, si se tiene un USB de 1Gb o incluso menos y aun funciona puedes utilizarlo para hacer ExtRoot. Una vez tienes a mano el dispositivo USB se debe formatear y particionar, con tener dos particiones es mas que suficiente una para SWAP y la otra para el almacenamiento root “/” en ext4.

En este caso yo disponía de un USB de 8 gb por ende realice la siguiente partición con Gparted:

Captura de pantalla de 2016-02-05 11:31:55

Ahora se debe ingresar a OpenWRT, para ello en una terminal se escribe el siguiente comando:

       sudo ssh 192.168.1.1

La dirección IP por defecto de openWRT (192.168.1.1), si la cambiaste introduce la IP que corresponde.

Captura de pantalla de 2016-02-05 12:14:00

Estando en la terminal conectado escribe los siguientes comandos:

       opkg update
       opkg install kmod-usb-storage block-mount kmod-fs-ext4

Para ver si reconoce el USB Formateado se escribe el comando:

Captura de pantalla de 2016-02-05 12:27:12

Si aparece sda, sda1 y sda2 quiere decir esta reconociendo el dispositivo USB, si no lo hace reinicie el router y vuelva a intentarlo

Luego creamos un punto de montado par el USB

       mkdir -p /mnt/usb

Montamos el USB

       mount /dev/sda1 /mnt/usb

Se copian los archivos necesarios a la nueva particion Root

      mkdir -p /tmp/cproot
      mount –bind / /tmp/cproot
      tar -C /tmp/cproot -cvf – . | tar -C /mnt/usb -xf –
      umount /tmp/cproot

 

Se Configura el archivo de la ruta /etc/config/fstab con la herramienta Vi 

      vi /etc/config/fstab

Una vez dentro de ese archivo se debe editar para que quede asi:

      config mount
             option target                       /
             option device                      /dev/sda1
             option fstype                      ext4
             option options                   rw,sync
             option enabled                  1
             option enabled_fsck         0

Nota: si alguno de los enunciados no parece no es necesario que los escribas, los que si estén hay que editarlos como se ve anteriormente.

Ahora se debe de reiniciar el Router con el comando

       reboot

Al hacer esto el Router se reiniciara y se cerrara la conexion solo hay que volver a ingresar. una vez que se vuelve a conectar escribir el comando.

       df -h 

El cual devolverá lo que se ve en la siguiente imagen:

06_13.6G

Si /dev/sda1 esta montado en root ( / ), entonces lo hiciste correctamente y como se ve en la imagen tienes mucho espacio para instalar y probar todo lo que quieras.

Si por algun error llegaran a equivocarse y necesitan hacer un Reset al Router para que borre todas las configuraciones hechas deben escribir el siguiente comando:

mtd -r erase rootfs_data

Esto los hará empezar desde cero, como si hubieran terminado de instalar OpenWRT por Primera vez.

Deja un comentario

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