jueves, 15 de marzo de 2012

Arreglar ipkg en DD-WRT

Estos son los pasos que utilizo para dejar funcionando el ipkg en un DD-WRT.

Después de ejecutar todos los pasos y instalar aplicaciones, siempre me sale el mensaje de "permission denied" cuando quiero ejecutar cualquiera de las aplicaciones instaladas. El tema es que no tengo idea como se soluciona eso, es por esto que no utilizo ipkg y si opkg :D

Si alguien se quiere animar a solucionar ese problema, puede seguir mis pasos para que, por lo menos, le funciones el ipkg y luego ver como solucionar el otro drama.

Inicialmente me guié del sitio:
http://busfire.com/installing-software-in-dd-wrt

1.- Lo primero que hay que hacer es configurar el router para que monte automáticamente la unidad USB en "/opt".

Esto se puede configurar en:

  1. Service -> USB -> Disk Mount Point -> /opt

2.- Ejecutar los siguientes comandos para copiar ciertos archivos a la unidad USB (para lograr permisos de escritura):

  1. cp -a /usr/ /opt/
  2. cp -a /bin/ /opt/
  3. cp -a /etc/ /opt/

3.- Crear el directorio por defecto de ipkg haciendo lo siguiente:

  1. mkdir -p /opt/jffs/tmp/ipkg

4.- Montar los directorio que fueron copiados al USB sobre los directorios originales, así se ganan los permisos de escritura (ya que se escribiría dentro de la unidad USB):

  1. mount /opt/jffs /jffs
  2. mount /opt/usr /usr
  3. mount /opt/bin /bin
  4. mount /opt/etc /etc

5.- El script de actualización de ipkg usa de forma equivocada la opción "-passive-ftp" del wget. Esto se corrije ejecutando:

  1. cp /bin/ipkg /bin/ipkg.orig
  2. cat /bin/ipkg.orig |sed -e "s/--passive-ftp //" > /bin/ipkg

6.- Con estos cambios ya se puede ejecutar el ipkg:

  1. ipkg update
  2. ipkg list

Si todo sale bien, es porque todo salió bien jajaja :P

7.- Finalmente quedaría agregar al booteo del router los comandos para re-montar los directorios de la unidad USB:

  1. Administration -> Commands

Escribir lo siguiente:

  1. mount /opt/jffs /jffs
  2. mount /opt/usr /usr
  3. mount /opt/bin /bin
  4. mount /opt/etc /etc

Y guardar con el botón: "Save Startup"

DATO:

El archivo de configuración "/etc/ipkg.conf" debe decir lo siguiente:

  1. src whiterussian http://downloads.openwrt.org/whiterussian/packages
  2. src non-free http://downloads.openwrt.org/whiterussian/packages/non-free
  3. src backports http://downloads.openwrt.org/backports/rc5
  4. dest root /jffs
  5. dest smbfs /tmp/smbshare
  6. dest ram /tmp

No hay comentarios: