RE: [GLO] Crosscompiler MIPS embeded devices chaintools buildroot‏ [plain-text]

2015-05-07 Por tema Jorge Fco Rivera
Muchas Gracias Joel, definitivamente la pagina y comentarios que me pasaste 
fueron extraordinariamente de mucha ayuda!

afortunadamente ya pude ejecutar el clasico Hello World, en la camara ! jaaj

# ./helloworld 
Hello, world!

aúnque no fue basado al 100% en las aplicaciones del link que me pasaste leer 
la pagina completa definitivamente me ayudo a entender que show.

les platico basicamente que hice para no dejar el hilo sin solución.

baje el buildroot (buildroot-2015.02.tar.gz) del sitio: buildroot.uclibc.org

la ventaja de este buildroot es que ya viene con el uClibc internamente, sin 
embargo se lo activas mediante make menuconfig

una vez dentro, lo unico que seleccione fué la arquitectura de la siguiente 
manera:

CPU MIPS (little endian)
ELF
Mips32 (NO Mips32r2 !)

compile "make"

y una vez que termino, lo siguiente:

root@GeekLaptop:/usr/local/src/IPCSW/buildroot.uclibc.org/buildroot/output/host/usr/src#
 
/usr/local/src/IPCSW/buildroot.uclibc.org/buildroot/output/host/usr/bin/mipsel-buildroot-linux-uclibc-gcc
 helloworld.c -o helloworld

quedando la cabeceras de la siguiente manera:

root@GeekLaptop:/usr/local/src/IPCSW/buildroot.uclibc.org/buildroot/output/host/usr/src#
 readelf -a helloworld
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           MIPS R3000
  Version:                           0x1
  Entry point address:               0x400540
  Start of program headers:          52 (bytes into file)
  Start of section headers:          2748 (bytes into file)
  Flags:                             0x50001007, noreorder, pic, cpic, o32, 
mips32
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         8
  Size of section headers:           40 (bytes)
  Number of section headers:         28
  Section header string table index: 25


resultado:


ftp> cd /usr/local/src/IPCSW/buildroot.uclibc.org/buildroot/output/host/usr/src
250 CWD command successful

ftp> ls
200 PORT command successful
150 Opening ASCII mode data connection for file list
-rwxr-xr-x   1 root     root         5889 May  7 15:42 helloworld
-rw-r--r--   1 root     root           67 May  7 15:42 helloworld.c
226 Transfer complete

ftp> mget helloworld
local: helloworld remote: helloworld
200 PORT command successful
150 Opening BINARY mode data connection for helloworld (5889 bytes)
#
226 Transfer complete
5889 bytes received in 0 secs (736 Kbytes/sec)

ftp> bye
221 Goodbye.

# ./helloworld 
Hello, world!

Saludos a todos, y de antemano un millon de gracias!!

Saludos,
Jorge

> Date: Wed, 6 May 2015 10:19:46 -0700
> From: j...@versamedium.com
> To: glo@glo.org.mx
> Subject: Re: [GLO] Crosscompiler MIPS embeded devices chaintools buildroot‏ 
> [plain-text]
>
> Ese procesador MIPS r3000 (MIPS 24K V4.12, playstation) no tiene MMU,
> necesitas cross compilar para uClinux
> en internet varias personas reportan el mismo problema, no estoy seguro
> de que existe una soluci'on. pero
> quiz'a la siguiente liga te sirva:
>
> https://sites.google.com/site/linuxonpspproject/
>
> recibe un cordial saludo,
>
> Joel Rodriguez
>
>
> On 05/05/2015 09:29 PM, Jorge Fco Rivera wrote:
>> MIPS 24K V4.12
>
  

Re: [GLO] Crosscompiler MIPS embeded devices chaintools buildroot‏ [plain-text]

2015-05-06 Por tema Joel Rodriguez
Ese procesador MIPS r3000 (MIPS 24K V4.12, playstation) no tiene MMU, 
necesitas cross compilar para uClinux
en internet varias personas reportan el mismo problema, no estoy seguro 
de que existe una soluci'on. pero

quiz'a la siguiente liga te sirva:

https://sites.google.com/site/linuxonpspproject/

recibe un cordial saludo,

Joel Rodriguez


On 05/05/2015 09:29 PM, Jorge Fco Rivera wrote:

MIPS 24K V4.12




Re: [GLO] Crosscompiler MIPS embeded devices chaintools buildroot‏ [plain-text]

2015-05-06 Por tema Jesus Velazquez
No sera que te falte copiar/instalar alguna libreria?

Saludos a todos
El may 5, 2015 11:29 p.m., "Jorge Fco Rivera" 
escribió:

> [antes que nada sorry por el SPAM, lo reenvio porque note que mi correo
> anterior perdio todo el formato y se pierde el sentido de los cat, sorry]
>
> Que pasa banda del GLO??
>
> Antes que nada mas me gustaria enviarles un cordial saludo a todos, casi
> no participo en la lista pero leo todos los mensajes desde que me inscribi
> por ahí del 2003
>
> Hace unos dias compre una camara ip y note que venia con un linux
> embebido, especificamente utiliza busybox, pero me parece que esta un poco
> limitada en funciones pero mas por el software que el hardware, me parece
> que lo unico que necesita es agregar algunas funciones al software.
>
> ya gane acceso como root, y pude dumpear todos los sectores de memoria,
> solo que me gustaria preguntar si hay alguién en la lista que me pueda dar
> un norte para lograr correr/compilar algunas funciones en mi pc y
> transferir el binario al device.
>
> estos son los datos del CPU:
>
> # cat /proc/cpuinfo
> system type : Ralink SoC
> processor   : 0
> cpu model   : MIPS 24K V4.12
> BogoMIPS: 239.10
> wait instruction: yes
> microsecond timers  : yes
> tlb_entries : 32
> extra interrupt vector  : yes
> hardware watchpoint : yes
> ASEs implemented: mips16 dsp
> VCED exceptions : not available
> VCEI exceptions : not available
>
>
> estos son los headers que pude obtener de uno de los binarios extraidos
> del firmware con binwalk
>
> jfrivera@GeekServer:~/IPCSW/_85.2.64.33.bin.extracted/system/system/bin$
> readelf -a encoder
> ELF Header:
>   Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
>   Class: ELF32
>   Data:  2's complement, little endian
>   Version:   1 (current)
>   OS/ABI:UNIX - System V
>   ABI Version:   0
>   Type:  EXEC (Executable file)
>   Machine:   MIPS R3000
>   Version:   0x1
>   Entry point address:   0x417000
>   Start of program headers:  52 (bytes into file)
>   Start of section headers:  1155184 (bytes into file)
>   Flags: 0x10001007, noreorder, pic, cpic,
> o32, mips2
>   Size of this header:   52 (bytes)
>   Size of program headers:   32 (bytes)
>   Number of program headers: 6
>   Size of section headers:   40 (bytes)
>   Number of section headers: 27
>   Section header string table index: 26
>
>
> ya probe con toolchains y buildroot pero me pasa lo siguiente:
>
> con toolchains logre compilar un binario que utilice /lib/ld-uClibc.so.0 y
> solo las pocas librerias existentes en el device, y el readelf header es
> muy similar, Class ELF32, MAchine MIPS R3000 y Flags,
>
> jfrivera@GeekServer:/usr/local/src/toolchain_mips24ke_nfp_be/sample$
> readelf -a helloworld
> ELF Header:
>   Magic:   7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
>   Class: ELF32
>   Data:  2's complement, big endian
>   Version:   1 (current)
>   OS/ABI:UNIX - System V
>   ABI Version:   0
>   Type:  EXEC (Executable file)
>   Machine:   MIPS R3000
>   Version:   0x1
>   Entry point address:   0x400540
>   Start of program headers:  52 (bytes into file)
>   Start of section headers:  5792 (bytes into file)
>   Flags: 0x70001007, noreorder, pic, cpic,
> o32, mips32r2
>
> sin embargo al copiarlo y ejecutarlo en el device me sale lo siguiente:
>
> # ./helloworld
> ./helloworld: line 1: syntax error: "(" unexpected
>
> --
>
> con el buildroot, al compilarlo no me da la opción de compilar para MIPS
> 24K ni mips16  como se observa en el /proc/cpuinfo, pero descargue una
> imagen para qemu y compile un binario con flags para 24k, y tras compilar
> el binario y copiarlo al device me sale exactamente el mismo error anterior
> "systax error ( unexpected"
>
> no se si haya alguién por aquí con un poquito te experiencia que me pueda
> dar un buen consejo, basicamente lo que me gustaria agregarle a la camara
> es :
>
> ntpclient / ntpdate
> cron
> ftpd (para bajar los videos, ya que no te deja sacar los videos a menos
> que quites la SDCard)
> talves sshd/scp (ya que actualmente solo usa telnet)
> talves cambiar el encoder local por alguno como cvlc (para agregar la
> fecha/hora al video)
>
>
> otra duda que tengo es que ya loque dumpear todos los bloques del ROM de
> la camara, pero no se como puedo abrirlos, según yo son jffs2, pero ni así
> me deja montarlos:
>
> # cat mtd
> dev: