Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
30-09-2014, 17:51 (Martes)
Inicio Ayuda Reglas Buscar Ingresar Registrarse
Noticias:
Liberada version final de wifislax-4.9



+  Seguridad Wireless - Wifi
|-+  Equipos y materiales
| |-+  Puntos de acceso, routers, switchs y bridges
| | |-+  Openwrt (Moderadores: jar229, Noltari, Pteridium, Tki2000)
| | | |-+  [Desarrollo] OpenWRT para routers Astoria de ya.com (ARV4518/ARV7518)
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: 1 ... 43 44 45 46 47 [48] Ir Abajo Imprimir
Autor Tema: [Desarrollo] OpenWRT para routers Astoria de ya.com (ARV4518/ARV7518)  (Leído 187904 veces)
Tki2000
Moderador
*
Desconectado Desconectado

Mensajes: 482


Ver Perfil
« Respuesta #940 : 23-09-2014, 19:13 (Martes) »

No sé si lo he entendido muy bien, he utilizado UPX anteriormente, una vez el ejecutable esta empaquetado, se puede prescindir de la herramienta, ya que el programa se descomprime en tiempo de ejecución en la RAM.

Para "rapiñar" esos KB se tendría que incorporar UPX a la generación de la imagen para generar la imagen con los ejecutables ya comprimidos

no es a la imagen, sino a los ejecutables, estos tendrían un tamaño más reducido al ser incorporados a la imagen

dado que si intentamos comprimir un programa originalmente en la imagen en la flash, lo que haremos será comprimir una "copia" del fichero del sistema de archivos squashfs (que es de sólo lectura) al sistema de archivos jffs2, que es de lectura/escritura

no lo tengo muy claro, el ejecutable no esta únicamente en squahfs? dejando jffs2 para configuraciones? supongo que cuando se crea la imagen esta contiene dos sistemas de archivos (squashfs y jffs2), es así?


con lo que no sólo conseguiremos perder el espacio del squashfs (ya que al ser de sólo lectura, no podremos borrar el espacio que ocupaba el fichero), sino que además perderemos el espacio que ahora ocupe la copia del fichero en el sistema jffs2.


no entiendo muy bien porque debería haber una copia del ejecutable también en jffs2, su configuración pertinente tiene sentido, pero no me queda claro para por ejemplo el binario 'mldonkey'

t-pirat lo que dice es que es difícil generar una imagen de menos de 4MB. Esa imagen tiene sistema de archivos squashfs y lo que le comentas en el siguiente post es que comprima los ejecutables con UPX, cosa que no va a funcionar. No estamos hablando de aplicaciones que se incorporan al router tras el flasheo, sino la propia imagen del router.

Creo que primero deberías entender cómo funcionan los sistemas de archivos de openwrt.

La explicación no es exhaustiva pero espero que te dé una idea:

Cuando grabamos una imagen de openwrt en la flash del router, estamos grabando los archivos en el sistema squashfs, el cual es un sistema de archivos con compresión y que es de SOLO LECTURA. Es decir, no se puede modificar nada de lo que grabemos en la flash del router al quemar una imagen en él.
Entonces ¿cómo podemos modificar algún fichero que ya esté en squashfs? Aquí es donde entra en juego el sistema de ficheros jffs2, que es de lectura/escritura. Para modificar un fichero que esté en squashfs, openwrt lo graba en el sistema jffs2 y ahí es donde lo modifica, ocultando el original de la partición squashfs haciéndolo inaccesible. Sin embargo no lo podemos borrar de esa partición al ser de SOLO LECTURA. De esta forma acabamos con 2 ficheros, uno original en la partición squashfs y que es inaccesible, y otro en la partición jffs2 que es el fichero modificado y que es al que accedemos porque "tiene más prioridad".
Gracias a este funcionamiento podemos tener un modo "failsafe" que funciona siempre aunque modifiquemos los ficheros, dado que los originales en squashfs nunca serán modificados y simplemente no montando el sistema de ficheros jffs2 tendremos acceso a los "originales".
¿Por qué no funcionaría la compresión con UPX una vez grabada la imagen en el router? Pues por lo que he dicho anteriormente, porque no estaríamos comprimiendo los "originales" sino su copia en jffs2, con lo que perderíamos aún más memoria que la que intentamos recuperar.
La solución estaría en comprimir los ejecutables, antes de generar la imagen .bin al compilar openwrt, para que al grabar la imagen en la flash del router los ejecutables ya estuvieran comprimidos con UPX, pero esto sería bastante difícil ya que a la hora de generar la imagen tendríamos que distinguir entre ficheros ejecutables y no ejecutables y aplicar un UPX que corriera en la máquina en la que estamos compilando openwrt (generalmente un PC) pero que generara código ejecutable para el router (mips).
En línea
mekkon
**
Desconectado Desconectado

Mensajes: 9


Ver Perfil
« Respuesta #941 : 24-09-2014, 00:20 (Mircoles) »

Gracias, lo tengo bastante más claro ahora  Smiley


La solución estaría en comprimir los ejecutables, antes de generar la imagen .bin al compilar openwrt, para que al grabar la imagen en la flash del router los ejecutables ya estuvieran comprimidos con UPX, pero esto sería bastante difícil ya que a la hora de generar la imagen tendríamos que distinguir entre ficheros ejecutables y no ejecutables y aplicar un UPX que corriera en la máquina en la que estamos compilando openwrt (generalmente un PC) pero que generara código ejecutable para el router (mips).


el caso seria, antes de la creación de la imagen, pasar upx, y luego que el proceso continuara con la creación de esta, bueno, eso cuando compile openwrt me liaré con ello.

hay algo que me queda un poco de duda aún, es si squashfs ocupa justo las 4MB, ¿donde se reserva el espació para jffs2?
En línea
Tki2000
Moderador
*
Desconectado Desconectado

Mensajes: 482


Ver Perfil
« Respuesta #942 : 25-09-2014, 08:17 (Jueves) »


hay algo que me queda un poco de duda aún, es si squashfs ocupa justo las 4MB, ¿donde se reserva el espació para jffs2?


jffs2 se crea en la primera ejecución de openwrt tras ser flasheado, en el espacio que haya quedado libre. Si la imagen nos ocupa 3,5MB en una flash de 4MB, jffs2 ocupará las 0,5MB restantes. Por esa razón squashfs debe ocupar un poquito menos de las 4MB para dejarle algo de espacio a jffs2. Squashfs sólo ocupará el espacio justo de los ficheros, y ahí está lo difícil... en hacer que los ficheros de squashfs ocupen menos de esas 4MB y dejarle espacio a jffs2 (necesita un mínimo de bloques de flash para ser estable y funcionar). La mejor opción en estos casos es crear la imagen con el mínimo absoluto y, después de quemar la imagen en la flash, ir incorporando lo demás al router, ya que esto ya se irá guardando en la partición jffs2.
En mi opinión el ARV4518PW sólo debería de tener en la imagen lo justo para hacer extroot y el firmware para el ADSL. El resto se debería poner como paquetes una vez hecho extroot. Si apuramos demasiado incorporando luci podemos encontrarnos ya con los primeros problemas, que es lo que cuenta t-pirat
En línea
mekkon
**
Desconectado Desconectado

Mensajes: 9


Ver Perfil
« Respuesta #943 : 26-09-2014, 13:17 (Viernes) »

Gracias, bueno, poco a poco voy teniendo las cosas más claras, recomiendo la lectura de "Building Embedded Linux Systems", ahorra un montón de búsquedas.

he estado probando "unsquashfs -l [imagen.squahfs]" pero me sale "Can't find a SQUASHFS superblock on..."

bueno, el caso es si hay forma de saber el tamaño del kernel cuando ya esta la imagen creada en squahfs.

seria para definir las particiones MTD en uboot.

aún me faltan tener más cosillas claras, pero estoy en ello.

un saludo
En línea
mekkon
**
Desconectado Desconectado

Mensajes: 9


Ver Perfil
« Respuesta #944 : Ayer a las 11:12 »

Hola, en los sources de openwrt he descubierto que hay la posibilidad de generar una imagen compatible con brnboot, no esta habilitada para este router de hecho creo que sólo esta para uno, he hecho los cambios pertinentes y he generado 3, barrier breaker, trunk y Attitude adjustment (esta última con luci ya que había espacio de sobras).

cambiando la firma que venia por defecto por 'BRNDANUBE', la web que hay para recuperar el firmware en 192.168.2.1 de brnboot se las traga y las instala en el router, ya es un avance, peroooooo, en ninguna de las tres consigo acceder a openwrt por LAN.

en attitude adjustement, se encienden todos los leds a excepción de los de LAN (estos se activan al conectarlos por RJ45 al pc),  de todos ellos, POWER e INTERNET se quedan en naranja, quizás este informando de algún problema, no sé.

las otras dos imagenes, Barrier breaker y trunk, se encienden 4 LEDS en verde, power, Voip, Phone1 y Phone2, y LAN al conectar.

he intentado acceder con 192.168.1.1, 192.168.2.1, pero nada, sólo centellea el led de LAN, sin respuesta en ping ni nada.

cabe decir que cuando hacia el combo de uboot + una imagen squahsfs usando SP700EX me pasaba lo mismo.

estoy esperando que me llegue un usb a rs232 ya que no tengo ningún pc con puerto serie, serviría el puerto PS2 del teclado/ratón mientras sigo a la espera?

un saludo

« Última modificación: Ayer a las 11:50 por mekkon » En línea
pippolippi
**
Desconectado Desconectado

Mensajes: 27


Ver Perfil
« Respuesta #945 : Ayer a las 13:14 »

Los leds lan1..4 los controla directamente el switch (creo), si no recuerdo mal la secuencia, en barrier breaker se encienden los leds que dices, después se apagan TODOS durante un buen rato (lo que acojona un poco) y después el led de power alterna entre naranja y rojo, hasta que haya acabado de arrancar, entonces ya se encienden los led según la configuración que hayas puesto.
Es muy probable que, si bien te acepte la imagen y la grabe en la flash, a la hora de arrancar no la acepte como válida, pero eso solo lo sabrás cuando tengas conectado el puerto serie.
En línea
Tki2000
Moderador
*
Desconectado Desconectado

Mensajes: 482


Ver Perfil
« Respuesta #946 : Ayer a las 18:55 »

estoy esperando que me llegue un usb a rs232 ya que no tengo ningún pc con puerto serie, serviría el puerto PS2 del teclado/ratón mientras sigo a la espera?

Po va a ser que no...  Evil
Pero te recuerdo que las señales serie deben ser a nivel TTL (0V-5.0V). Las señales RS232 van a -12V/12V, con lo que freirías el router...
Mira que el adaptador sea USB/Serie UART TTL
En línea
pippolippi
**
Desconectado Desconectado

Mensajes: 27


Ver Perfil
« Respuesta #947 : Ayer a las 19:22 »

Yo por no saber leer ni escribir uso un adaptador de 3.3V (5 creo que son demasiados).
En línea
Páginas: 1 ... 43 44 45 46 47 [48] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines