Probleem met Cross-compiler voor Mipsel

Pagina: 1
Acties:

  • Atlas
  • Registratie: Mei 2002
  • Niet online

Atlas

Ik flits niet meer terug!

Topicstarter
Hoi :w

Allereerst: Ik ben misschien wel de grootste n00b hier wat linux betreft, so be gentle :+

Ik probeer in het kader van Routerhacking - Deel 2 mijn kennis op het gebied van linux enigszins uit te breiden. Op het moment heb ik na een hele hoop geklooi een image werkende met SSH deamon. Ik kan de router dus inmiddels via SSH bereiken. Dit was een optie in de make menuconfig van de tutorial die ik heb gevolgd, dus erg veel linux kennis kwam er nog niet bij kijken.
(tutorial staat hier: http://www.student.tue.nl/Q/t.f.a.wilms/adm5120/)

Mijn volgende stap was om te kijken of ik een http server draaiende kon krijgen op die router. Mijn oog viel op thttpd, omdat dat erg klein en makkelijk zou zijn. Het grote probleem is nu, ik krijg dit ding niet voor Mipsel gecompiled. Ik gebruik mipsel-linux-gcc crosscompiler.
Als ik './configure --build=mipsel-linux-gcc doe krijg (en alle mogelijke varianten), dan krijg ik als output van de compiler:
"Checking build system type... Invalid configuration 'linux-mipsel-': machine 'linux-mipsel' not recognized
Daar zit ik al vast...


Nu ben ik wat verder rond gaan kijken en nu zie ik wel een ipkg-package met de een voor mipsel gecompileerd thttpd, maar ik krijg daar het ipkg zowel op de router als op debian niet aan de gang. http://midge.vlad.org.ua/ipkg/thttpd_2.25b_mipsel.ipk

Heeft iemand enig idee wat ik het met cross-compilen verkeerd doe, en wat ik met het ipkg verkeerd doe? Ik ben hier nu al twee weken mee aan het stoeien en ik snap er nog steeds vrij weinig van. :(

Join the dark side, we have cookies :)
You need only two tools. WD-40 and duct tape. If it doesn't move and it should, use WD-40. If it moves and shouldn't, use the tape.


  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

Atlas schreef op woensdag 01 november 2006 @ 15:20:
Ik gebruik mipsel-linux-gcc crosscompiler.
Als ik './configure --build=mipsel-linux-gcc doe krijg (en alle mogelijke varianten), dan krijg ik als output van de compiler:
build is het hostsysteem van de compiler. target is hetgeen waar je het op moet draaien.
Je krijgt dan zoiets als :

code:
1
./configure --target=mipsel-linux

  • Atlas
  • Registratie: Mei 2002
  • Niet online

Atlas

Ik flits niet meer terug!

Topicstarter
Werkt helaas ook niet.
Ik blijf de melding vinden van "Checking wheter GCC is a crosscompiler.... no".
Het lijkt me toch dat daar een 'yes' moet staan :?

Join the dark side, we have cookies :)
You need only two tools. WD-40 and duct tape. If it doesn't move and it should, use WD-40. If it moves and shouldn't, use the tape.


  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Je zult moeten zorgen dat gcc je cross-compiler aanroept en niet je "gewone" gcc.
Het makkelijkste is het path naar je cross-compiler gcc in je PATH variabele te gooien, en dan voorin zodat die het eerst gevonden wordt.

Met "which gcc" kun je zien welke die gebruikt.


Oh, en wat is het probleem met de ipk file ? Als het goed is is dit een ge(gnu)zipped tar bestand, met daarin weer 2 tar.gz bestanden, waarvan "data.tar.gz" de binaries bevat.

edit:

typo in "which"

[ Voor 3% gewijzigd door u_nix_we_all op 01-11-2006 18:54 ]

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


  • Atlas
  • Registratie: Mei 2002
  • Niet online

Atlas

Ik flits niet meer terug!

Topicstarter
Ah van dat ipk is de gouden tip :D. Thnx :)
Ik heb nu die IPK file uitgepakt, de file die erin staat naar mijn router gegooid. Ge-chmod naar 755 (dat lijkt me het meest logische?), en als ik hem dan met ./thttpd wil runnen krijg ik een mooie segmentation fault terug.
Google roep dat het programma geheugen probeerd te alloceren waar hij geen permissie voor heeft, maar aangezien ik dat niet kan veranderen? Iemand enig idee? :)

Edit: Ook als ik bijvoorbeeld mini_httpd van die site probeer en uitvoer met ./mini_httpd krijg ik een segmentation error :(

[ Voor 12% gewijzigd door Atlas op 02-11-2006 00:10 ]

Join the dark side, we have cookies :)
You need only two tools. WD-40 and duct tape. If it doesn't move and it should, use WD-40. If it moves and shouldn't, use the tape.


  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

code:
1
2
3
4
5
6
7
8
#include <stdio.h>

int main(int argc, char **argv)
{
    printf("hello world\n");

    return 0;
}


opslaan in een bestand, en daarna mipsel-linux-gcc -o naam naam.c

Krijg je dan errors ? een exe ?
Pagina: 1