Update: Esta entrada fue reconstruida completamente, debido a un par de problemas en la instalación de ciertos paquetes con los apuntes anteriores.
Lo pasos descritos a continuación corresponden a un resumen personal del documento publicado por "How-To Geek", el cual puede ser consultado en el siguiente
link
* Para instalar el comando opkg, es necesario que el router soporte almacenamiento externo (hardware) y que dicho almacenamiento este con formado de archivos "jffs".
* El router utilizado, el cual funcionó perfecto (ahora si), fue el
Linksys E2100l (el cual posee una tarjeta Atheros), con la versión de
DD-WRT v24-sp2 (12/20/11) std.
Los pasos son los siguientes:
1.- Se debe configurar el router para que monte automáticamente la unidad USB en "/jffs".
Esto se puede configurar en:
Service -> USB -> Disk Mount Point -> /jffs
2.- Nos conectamos al router mediante telnet o ssh y ejecutamos lo siguiente:
# Creamos un directorio temporal.
mkdir /tmp/1
cd /tmp/1
# Instalamos opkg (buscar versión más nueva).
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk
ipkg install opkg_618-2_ar71xx.ipk
# Descargamos las librerías de opkg.
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz
# Copiamos las librerías (los mensajes de omisión son válidos).
tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz
cp -Pp /tmp/1/lib/* /jffs/usr/lib/
# Ocupamos las nuevas librerías.
export LD_LIBRARY_PATH=/jffs/usr/lib:$LD_LIBRARY_PATH
# Le damos permisos de escritura/lectura al "/etc".
mkdir -p /jffs/geek/etc
cp -a /etc/* /jffs/geek/etc/
mount -o bind /jffs/geek/etc/ /etc/
# Hacemos algo parecido con "/opt".
mkdir -p /jffs/opt
mount -o bind /jffs/opt/ /opt/
# Eliminamos el "opkg.conf".
rm /jffs/etc/opkg.conf
# Recreamos el "opkg.conf" en "/etc".
cat > /etc/opkg.conf << EOF
src/gz snapshots http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
dest root /opt
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
EOF
# Probamos el opkg.
opkg update
opkg list
3.- Descargamos y extraemos el script de inicio:
http://www.howtogeek.com/wp-content/uploads/2011/12/geek-init1.1.zip
4.- Lo movemos dentro del router a la ruta:
/jffs/geek/etc/geek-init.sh
5.- Le damos permisos de ejecución.
chmod +x /jffs/geek/etc/geek-init.sh
6.- Dentro del WebGUI -> Administration -> Commands, agregamos la siguiente linea al "Startup":
/jffs/geek/etc/geek-init.sh web-gui
Reboot & Enjoy
Fuente:
http://www.howtogeek.com/98408/how-to-install-additional-software-on-your-router-dd-wrt/
Bonus:
Agregar la siguiente linea al script "geek-init.sh":
export PS1='\[\033[01;31m\]\u@\h \[\033[01;34m\]\W \$ \[\033[00m\]' >>/tmp/root/.profile