Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: lukas016 05. 11. 2013, 22:48:38

Název: Podpora pro MIPS do GCC
Přispěvatel: lukas016 05. 11. 2013, 22:48:38
Dobry den,

neviete prosim ako mozem do gcc nainstalovat podporu pre mips procesory lebo v repozitaroch neviem nic najst a na internete som nasiel len nejake platene alebo odlahcene verzie (nie priamo pre gcc). Potreboval by som nieco obecne lebo neviem presny typ procesora.

Za odpoved vopred dakujem.
Název: Re:GCC CROSS -> MIPS
Přispěvatel: DK 05. 11. 2013, 22:56:09
http://gcc.gnu.org/onlinedocs/gcc/MIPS-Options.html
Název: Re:GCC CROSS -> MIPS
Přispěvatel: student 05. 11. 2013, 23:10:15
Skus buildscript
http://d3s.mff.cuni.cz/teaching/operating_systems/download/toolchain.mips.sh (http://d3s.mff.cuni.cz/teaching/operating_systems/download/toolchain.mips.sh)

Zbuildi sa to do CROSS_PREFIX; aktualna zlozka bude pracovna, takze musis byt mimo CROSS_PREFIXu.
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: lukas016 05. 11. 2013, 23:26:27
Napokon sa mi podarilo nainstalovat mips-linux-gnu-gcc ale bohuzial na cielovom zariadeni nemozem dany program spustit zrejme kvoli nastaveniu sh.https://www.google.sk/#q=ubuntu+install+libgmp3c2

Ale dik za script skusim sa na to pozriet.
Název: Re:GCC CROSS -> MIPS
Přispěvatel: lukas016 05. 11. 2013, 23:28:43
http://gcc.gnu.org/onlinedocs/gcc/MIPS-Options.html

Tie prepinace som skusal bohuzial mi napisalo ze je to neplatny prepinac zrejme mi chybaju nejake kniznice.
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: Lol Phirae 06. 11. 2013, 08:30:53
lebo neviem presny typ procesora.

To je v případě MIPSu dost fatální problém...

https://www.gentoo.org/doc/en/handbook/handbook-mips.xml?part=1&chap=2
https://www.gentoo.org/doc/en/handbook/handbook-mips.xml?part=1&chap=5
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: lukas016 06. 11. 2013, 10:20:36
Viem si ho zistit len ked som pisal dotaz tak som to bohuzial nevedel. Ale momentalne ma skor trapy to ze nemozem spustit binarny subor lebo sh mi hlasy ze sa nenasiel.
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: lukas016 06. 11. 2013, 17:06:13
Este mi niekto nevie povedat ze ak som zvolil zly typ cpu je mozne ze sh mi pri spusteni zahlasi ze subor sa nenasiel?
lebo som zvyknuty ze v tskom pripade dostanem chybovu hlasku zle ELF...

Za odpoved vopred dakujem.
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: Lol Phirae 06. 11. 2013, 17:14:53
Este mi niekto nevie povedat ze ak som zvolil zly typ cpu je mozne ze sh mi pri spusteni zahlasi ze subor sa nenasiel?

Obavam se, ze popis problemu zustal nepochopen. Co, kde, kdy to hlasi?
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: lukas016 06. 11. 2013, 17:46:55
Ak chcem spusit program na cielovom zariadeni napr ./program
Tak dostanem chybove hlasenie od sh, ze subor sa nenasiel. Pritom tam fyzicky je a dokazem ho cez cat vypisat.

Mam dojem ze na cielovom zariadeni nie je ciste sh ale asi ash. Snad to pomoze.
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: pa3k 06. 11. 2013, 18:06:50
skuste na cielovej masine (s tym mips procakom) najskor:

ldd ./program

ak vypise zoznam kniznic a ako sa mapuju tak cielove cpu by mohlo byt ok, a v zozname bude pri niektorych knizniciach uvedne not found
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: pa3k 06. 11. 2013, 18:18:33
Ak nahodou je to nejake embedded zariadenie a mate tam minimalny system a nemate ldd, tak to iste spravi aj toto:

LD_TRACE_LOADED_OBJECTS=1 ./program
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: lukas016 06. 11. 2013, 18:31:41
ldd som uz skusal ale nie je tam nainstalovane, bohuzial ani nastavenie globalnej premenej nepomohlo.

Zariadenie na ktorom to skusam je NanoStation M5 od ubnt. Viem ze maju toolchain pre ich sdk ale to mam taky dojem ze vytvara cely firmware ale ja potrebujem len jednoduchy program tam dat.
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: pa3k 06. 11. 2013, 18:59:09
Skuste to s tou premenou napr. na shell

LD_TRACE_LOADED_OBJECTS=1 /bin.sh

ak to tam vypise zoznam kniznic tak mate problem s tym, ze nemate spravny prekladac.

Ved pozite sdk a skompilujte si cez neho svoj program.

Název: Re:Podpora pro MIPS do GCC
Přispěvatel: lukas016 06. 11. 2013, 21:01:26
Tak problem bude s prekladacom. SDK je kus problem nainstalovat lebo je len na 32bit.
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: ynezz 06. 11. 2013, 23:56:40
Kdybych vedel o jake zarizeni se jedna, mohla by byt odpoved presnejsi, jinak bych asi doporucil http://wiki.openwrt.org/doc/devel/crosscompile (je to lepsi si to sestavit sam a pak pridavat pripadne knihovny/zavislosti) a pripadne hotove toolchains (jsou tam i cele SDK) jako napr. http://downloads.openwrt.org/attitude_adjustment/12.09/ramips/rt305x/OpenWrt-Toolchain-ramips-for-mipsel_r2-gcc-4.6-linaro_uClibc-0.9.33.2.tar.bz2
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: lukas016 07. 11. 2013, 11:50:52
Pisal som vyssie NanoStation M5 od www.ubnt.com, alebo ine ich zariadenia. Skusal som ich sdk skompilovat bez uprav ale vyhodilo mi to chybu, ze sa nenasla zlozka a nemal som uz chut skusat SDK pre ine zariadenie alebo zistovat odkial stiahnem chybajuci priecinok. Pokial viem malo by to bezat na upravenom openwrt. Co sa tyka ich sdk tak to vytvara pomocou make ale cely firmware co sa mi zda byt kus zbytocne ked chcem momentalne vytvorit len jednoduchu aplikaciu aby som si vyskusal kompilaciu.
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: ynezz 07. 11. 2013, 22:43:59
Zbytecne je umrit. Tou praci navic ziskas vsechny zavislosti pro tu binarku a pokud neco na cilovem zarizeni chybi(nejake knihovny), tak to tam budes mit moznost dohrat. Ale co ti budu radit, sam urcite vis co je nejlepsi :) Chci ti jenom usetrit cas, stejne te to nemine. Ale i cesta je cil...

Jinak M5 je myslim vice verzi, ale pokud mas tu novejsi, tak to je asi ar71xx (to si jeste zkontroluj pres /proc/cpunifo) http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/OpenWrt-Toolchain-ar71xx-for-mips_r2-gcc-4.6-linaro_uClibc-0.9.33.2.tar.bz2
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: lukas016 08. 11. 2013, 00:02:22
Tak ja mometalne potrebujem len zakladne veci, ktore by sa dali spravit aj cez shell ale radsej by som to riesil v ramci jednej aplikacie a znizil HW naroky. A robit cely firmware velmi nechcem z dovodu, ze ak by to fungovalo tak ako chcem tak by bolo potrebne nahravat upraveny firmware do kazdeho zariadenia a tych je niekolko tisic.

+ rad sa naucim nieco nove.
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: Lol Phirae 08. 11. 2013, 10:19:38
A robit cely firmware velmi nechcem z dovodu, ze ak by to fungovalo tak ako chcem tak by bolo potrebne nahravat upraveny firmware do kazdeho zariadenia a tych je niekolko tisic.

To je samozrejme uplny nesmysl. Zato by to fungovalo, neb by to bylo zkompilovano proti knihovnam, ktere firmware skutecne obsahuje. Ne proti tem, jejichz zdrojaky si nainstalujes na svuj pocitac a ktere zrejme budou asi o nekolik let novejsi.
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: ynezz 08. 11. 2013, 14:10:56
A robit cely firmware velmi nechcem z dovodu, ze ak by to fungovalo tak ako chcem tak by bolo potrebne nahravat upraveny firmware do kazdeho zariadenia a tych je niekolko tisic.

Ok, delej jak myslis. Ja jsem nikde nic o vlastnim firmware nepsal. Psal jsem, ze si mas zkompilovat zakladni OpenWrt pro tu danou platformu(ar71xx) a SVN revizi OpenWrt. Tim ziskas kompletni toolchain a staging adresar (include, libs pro target), se kterym budes teoreticky schopny zkompilovat neco co ti na tom kramu od Ubnt pobezi. Nikde neni napsane, ze to musis prehravat cele. Tim ze pouzijes OpenWrt build system, usetris spousty casu a nervu. Lehce pak pridas dalsi zavislosti (chybi libpcap? libsqlite3? neni problem, pridas do konfigurace a znovu zkompilujes).

Ja mam treba nekolik takovych souboru, ktere pouzivam pro ruzne zarizeni, ktere si pomoci prikazu 'source' nahraju do aktualniho prostredi:

Kód: [Vybrat]
export OWRT_ROOT=/opt/devel/openwrt/cm2
export STAGING_DIR=$OWRT_ROOT/staging_dir/target-mips_r2_uClibc-0.9.33
export TOOLCHAIN=$OWRT_ROOT/staging_dir/toolchain-mips_r2_gcc-4.6-linaro_uClibc-0.9.33
export PATH=$TOOLCHAIN/bin:$PATH
export ARCH=mips
export CROSS_COMPILE=mips-openwrt-linux-uclibc-

export CC=${CROSS_COMPILE}gcc
export CXX=${CROSS_COMPILE}g++
export LD=${CROSS_COMPILE}gcc
export STRIP=${CROSS_COMPILE}strip
export AR=${CROSS_COMPILE}ar
export RANLIB=${CROSS_COMPILE}ranlib

a pak mam treba v Makefile (pokud na zarizeni chybi libpcap):

Kód: [Vybrat]
cp $(STAGING_DIR)/usr/lib/libpcap.so.1.1 root@mips-cm2:/usr/lib

A stejne pokud tady mluvis o 1k+ zarizenich, tak te vetsinou vlastni firmware nemine, protoze to budes chtit nejak spravovat, monitorovat, upgradovat...
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: mhi_ 08. 11. 2013, 18:45:54
Na experimenty doporucuji buildroot. Je to system, ktery stahne vse potrebne a podle zadanych pozadavku sestavi komplet root filesystem (umi snad i kernel-nevim).

Sestavit binutils+gcc pro mips je trivialni ukol; stejne tak buildnout kernel Linuxu. O neco mene trivialni je sestavit nejake libc a userland binarky typu busybox (vetsina z nich ma totiz mnoho potizi, kdy nefunguji s nejakym gcc nebo na nejakem procesoru, apod.). Na posledni ukol je dobry prave ten buildroot.
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: lukas016 08. 11. 2013, 18:52:39
Buildroot som skusal ale ked sa to instalovalo viac ako 30 minut tak som to radsej zrusil. A ake zariadenie je vhodne pouzivat lebo mam skusenosti este s mikrotikom ale to ich API a zle chovanie ssh je naozaj hrozne.
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: mhi_ 08. 11. 2013, 21:35:09
"buildroot" se kompiloval na mem Atomu (eee pc 1000h) celou noc, takze tomu dejte sanci. Absolvoval jsem to 2x, jednou pro PowerPC, jednou pro MIPS, kvuli tomuto: http://forum.root.cz/index.php?topic=7178.0
Název: Re:Podpora pro MIPS do GCC
Přispěvatel: Lol Phirae 09. 11. 2013, 16:06:50
ked sa to instalovalo viac ako 30 minut tak som to radsej zrusil.

;D ;D ;D

Cece... s timhle pristupem se fakt daleko nedostanes. Te neco honi, nebo proc to nenechas bezet at to bude hotovy?