linux - cross compile
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Sobota Prosinec 28 20:13:46 CET 2019
Tak dilci uspech - nejak jsem zjistil, ze staci zkompilovat mc, protoze
ty knihovny uz v cilovem systemu jsou... configure a kompilace OK ale
pul dne mne zabavilo vytvareni helpu - pouziva perl a ten se nastavil do
cesty siloveho systemu - nejak nechapu, proc sel vubec spustit ale
kazdopadne nefungoval jak ma a instalace koncila chybou, nebyly tam ani
dalsi soubory ve srovnani s kompilaci pro ubuntu na PC.
Pak mne napadlo nastavit export PERL=/usr/bin/perl a DX_PERL to same a
jelo to jak po masle. Dokonce funguje, jdu se na to napit ;-)
Dne 28.12.2019 v 16:46 Jaroslav Buchta napsal(a):
> Diky za informace, preklad na cilove platforme by asi teoreticky sel,
> ale prekladac tam ve vychozim stavu neni (STM32MP1). Nepochybuju ze by
> vzhledem k vykonu MPU trval dlouho. Ucim se na tomhle, protoze to STM
> poskytuje docela dost zdroju a informaci, jejich SDK asi resi tu cross
> kompilaci na PC dobre, ty utility ktere jsem zatim zkompiloval se dari
> spustit aspon tak, ze zobrazi verzi, tak snad je smer a nastaveni
> prekladu OK. Spousti se nejaky slozity script, ktery nastavi
> odpovidajici CC a spoustu dalsich parametru v systemu, asi vcetne cest
> ke knihovnam, hlavickam atd.
> Priklad vypisu prekladu, klicove bude asi to --sysroot? :
> arm-openstlinux_weston-linux-gnueabi-gcc -march=armv7ve -mthumb
> -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7
> --sysroot=/home/stm/STM32MPU_workspace/STM32MP15-Ecosystem-v1.1.0/Developer-Package/SDK/sysroots/cortexa7t2hf-neon-vfpv4-openstlinux_weston-linux-gnueabi
> -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I.. -I../lib
> -DDEPENDS_ON_LIBICONV=1 -DDEPENDS_ON_LIBINTL=1 -O2 -pipe -g
> -feliminate-unused-debug-types -c -o stripslash.o stripslash.c
>
> Jeste dotaz - jestli jsem to pochopil, tak make install mi vytvori
> strukturu adresaru na zadanem miste (.../usr/bin,include, lib, share)
> ktere nakopiruju na cilovy system do /usr? Musi se jeste nekde neco
> pridat? include je potreba asi jen v pripade, ze bych na cilovem
> systemu kompiloval? A share je k necemu krome dokumentace?
>
>
> Dne 28.12.2019 v 14:53 Miroslav Mraz napsal(a):
>> To je běh na dlouhou trať. V Linuxu existuje mnoho různých cestiček,
>> které nikam nevedou. Závislosti balíčků byly dost dobře udělány v
>> projektu Linux from scratch, ale jak je to nyní nevím.
>> http://www.linuxfromscratch.org/blfs/view/svn/general/mc.html
>> ukazuje úplně jiné, ale docela bych tomu věřil.
>> Ovšem další a ne nepodstatný problém je, že to kompilujete křížově a
>> systém tedy musí sahat na správné hlavičky a používat správné
>> knihovny. To se dá vyřešit izolováním target systému pomocí chroot,
>> ale je to docela složitý proces.
>> Jiná možnost je izolovat target systém pomocí emulace qemu. To je
>> poměrně prosté třeba -
>> https://hblok.net/blog/posts/2014/02/06/chroot-to-arm/ . Tohle jsem
>> zkoušel s obrazem systému pro malinu a fungovalo to, je to ale
>> ukrutně pomalé, protože se kompletně emuluje ARM na PC. U maliny jsem
>> nakonec skončil s tím, že připojím USB hard disk a překládám přímo na
>> té malině. Nejjednodušší a nejspolehlivější. Nicméně to qemu můžete
>> vyzkoušet, za to nic nedáte.
>>
>> Mrazík
>>
>> Dne 28. 12. 19 v 12:49 Jaroslav Buchta napsal(a):
>>> Tak treba tohle:
>>> libiconv jsem stahnul vezi 1.16 nejnovejsi, konfigurace, preklad OK
>>> gettext nejnovejsi 0.20.1 pri prekladu skonci chybou, nenajde
>>> hlavickovy soubor textstyles.h Nevim co s tim, zkusil jsem verzi
>>> 0.19.8.1 a ta jde s nejakymi warningy prelozit...
>>> Zkusim, uvidim, ale jak se pro takovem problemu bezne postupuje?
>>>
>>>
>>> Dne 28.12.2019 v 7:44 Jaroslav Buchta napsal(a):
>>>> Zdravim, z cvicnych duvodu bych si rad zkusil zkompilovat mc pro
>>>> ARM STM32MP1, nasel jsem ruzne stranky s postupy, libi se mi tato
>>>> http://dp.nonoo.hu/cross-compiling-mc/
>>>>
>>>> Jako prvni mi neni jasne, ze se nejak samozrejme predpoklada, ze
>>>> zkompiluiju nejake zdrojaky knihoven, treba ten libiconv na
>>>> zacatku, ale kde ho vezmu??? Samozrejme neni problem ho najit ale
>>>> obavam se, ze s odstupem casu dochazi v modulech k ruznym
>>>> modifikacim a kdyz ted vezmu aktualni zdrojaky, tak to bude
>>>> nekompatibilni s jinymi a dopadne to spatne jako obvykle. Existuje
>>>> nejaky dokument jak na to pro zacatecniky? Jak jsem nedavno zkousel
>>>> kompilovat ten gdbserver, tak jsem taky neuspel, stale do toho
>>>> nemohu nejak proniknout :(
>>>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list