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 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 jorge_griv...@hotmail.com
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:size   erasesize  name
 mtd0: 0080 0001 ALL
 mtd1: 0003 0001 Bootloader
 mtd2: 

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