Pagina 1 di 2
Raspberry Pi e Slackware: compilare pacchetti
Inviato: mer 5 mar 2014, 17:54
da rik70
Salve di nuovo a tutti.
Ho preso a inizio anno un raspberry pi model B e mi sto divertendo a metterci su le mani.
La mia attenzione è rivolta sopratutto a XBMC - incredibile cosa può fare il "piccoletto" - e dopo aver provato le varie distribuzioni dedicate, mi è venuta la pazza idea di mettere su la slackware e utilizzarla come piattaforma per provare a creare una "build custom" di XBMC, sulla falsariga della Openelec di rbej (la migliore a mio avviso, molto reattiva grazie ai backport della futura Gotham - che promette molto bene - e qualche patch presa da XBian).
All'inizio ho pensato di lavorare su archlinux, ma poi mi son detto: perché non slackware?
Veniamo alla domanda: come si fa compilare i pacchetti su hardware così poco dotato? Immagino che ci vorranno giorni. Ho letto qualcosa su distcc e cross compiling in parallelo e ho 2 pentium4 che potrebbero fare al caso. Ma sinceramente c'ho capito poco o nulla.
Qualcuno di voi ha esperienze al riguardo? Qualche buon link su come configurare il tutto su slack?
Grazie in anticipo come sempre.
Ciao
[edit]
Uhm... forse ho sbagliato sezione. Nel caso spostate e scusatemi.
Re: Raspberry Pi e Slackware: compilare pacchetti
Inviato: mer 5 mar 2014, 18:19
da ilmich
rik70 ha scritto:Ho preso a inizio anno un raspberry pi model B e mi sto divertendo a metterci su le mani.
non ti parlo della mia esperienza diretta, perchè se lo avessero fatto quando ho iniziato io, ci sarei rimasto male

comunque ti anticipo che non esiste un driver con accellerazione hardware per il server x attivamente mantenuto.. quindi se hai intenzione di usarla come desktop tieni conto di questa cosa (xbmc viene di solito usato col framebuffer che invece è accellerato dal kernel)
per i pacchetti io ho utilizzato
questi che sostanzialmente ti creano una toolchain su architettura x86 per compilare per arm.
è da un po' che non lo faccio (per la raspberry ho preferito le distribuzioni ad-hoc a slackware aime') ma ricordo che sul sito ufficiale era tutto spiegato in modo relativamente semplice
comunque se hai dei dubbi provo a scavare un po' indietro nel tempo :P
ciau
Re: Raspberry Pi e Slackware: compilare pacchetti
Inviato: mer 5 mar 2014, 18:21
da Blallo
Pat consiglia di usare distcc, che fortuna vuole sia già presente in Slackware.
(E che personalmente trovo una soluzione comodissima)
http://arm.slackware.com/FAQs/
Per settarlo (link vecchio ma dovrebbe andare bene, è molto semplice):
http://linuxgazette.net/107/simpson.html
Offtopic: Magari avremo qualche miglioria nei (pessimi) driver video Broadcom per la Raspberry Pi.
http://www.raspberrypi.org/archives/6299
Re: Raspberry Pi e Slackware: compilare pacchetti
Inviato: mer 5 mar 2014, 18:57
da rik70
K grazie.
In sostanza mi serve una toolchain su ogni macchina da utilizzare per la compilazione, e poi devo compilare il tutto da una slackware arm installata sul raspberry utilizzando distcc: giusto?
Il collo di bottiglia sarà la sdcard... presumo.
Uhm ... ho già capito che mi sto impiccando con le mie mani

Re: Raspberry Pi e Slackware: compilare pacchetti
Inviato: mer 5 mar 2014, 19:22
da slux
Con 2 pentium 4 anche in parallelo, non credo che sia il massimo in termini di velocità.
Il raspberry secondo me non lo devi proprio usare per compilare.Devi fare tutto sui pc X86.Scaricati toolchain e librerie corrette e compila direttamente da lì.
Al termine riporti il pacchetto sul pi. La tecnica è più o meno la stessa che si usa per compilare il kernel arm di android su pc desktop alla fin fine.
Re: Raspberry Pi e Slackware: compilare pacchetti
Inviato: mer 5 mar 2014, 19:39
da rik70
slux ha scritto:Con 2 pentium 4 anche in parallelo, non credo che sia il massimo in termini di velocità.
E un turion dual core mobile? Si lo so, ad hardware son messo molto male, ma in convento per ora passa solo questo
Per il resto, se ho capito bene dalle FAQ, dicono che "crosscompilare" richiede parecchie modifiche agli script e ai sorgenti.
Q. Are the Slackware ARM packages cross compiled?
A. Not directly. The packages are all built natively on a running Slackware ARM OS, but use distcc to a bunch of x86/x86_64 machines that runs a basic "cross" toolchain that match the versions of the toolchain et al present in slackwarearm-current. The cross toolchain can be found here. It's usually been tested and builds on slackware-current but is unsupported.
Q. How can I cross compile software for use on Slackware ARM?
A.[...]
The reason that Slackware ARM packages are built natively is because many packages aren't suitable for cross compilation without making many manual adjustments to Makefiles and configure scripts. Also, if your package is linking against system libraries, it can be tricky to get this working properly in a cross compiler environment. In my experience, it's far easier to get a fast ARM machine (an OpenRD Client with an internal SATA or external eSATA drive) and use distcc. The amount of time you spend waiting for the build to finish is far off set by the amount of time hacking build systems to work properly in a "cross" environment.
Ma ripeto: faccio abbastanza fatica a comprendere, se non che il raspberry non può certo dirsi una macchina arm veloce.
Re: Raspberry Pi e Slackware: compilare pacchetti
Inviato: mer 5 mar 2014, 19:40
da ponce
per farti una toolchain compatibile con slackwarearm ci sono gli script di Stuart
http://www.slackware.org.uk/slackwarear ... in/x-build
http://www.slackware.org.uk/slackwarear ... toolchain/
poi, come spiegato nella documentazione associata, devi usare il risultato insieme a distcc e lanciare la compilazione sul raspberry usando i sorgenti di slackwarearm (che sono diversi da quelli di slackware).
Re: Raspberry Pi e Slackware: compilare pacchetti
Inviato: mer 5 mar 2014, 19:47
da rik70
Grazie mille. Mi converrà forse collegare un disco esterno. Ha idea se slackwarearm può fare il boot da disco usb - magari utilizzando UUID per la root?
Re: Raspberry Pi e Slackware: compilare pacchetti
Inviato: mer 5 mar 2014, 19:55
da ponce
no col raspberry non si puo' fare, pero' puoi fare il boot dalla SD e usare un disco esterno come TMP per compilare (puoi anche fare un link).
solo che il disco esterno deve essere alimentato da un hub usb o se collegato direttamente al raspberry quest'ultimo deve essere alimentato via usb direttamente dalla corrente (raramente la usb della tv o di un portatile sono abbastanza), senno' puo' darsi che la tensione elettrica non sia sufficiente a farlo funzionare.
Re: Raspberry Pi e Slackware: compilare pacchetti
Inviato: mer 5 mar 2014, 20:23
da rik70
ponce ha scritto:no col raspberry non si puo' fare, pero' puoi fare il boot dalla SD e usare un disco esterno come TMP per compilare (puoi anche fare un link).
Ottima idea quella della TMP, non c'avevo pensato grazie. Per l'alimentazione nessun problema, ho già l'occorrente - 1 alimentatore da 5V~1.0A + un hub usb autoalimentato.
Ok, vi farò sapere, non so quanto ci metterò, qualche mese forse... valuto l'acquisto di un altro rpi così se faccio danni non piango - eh eh, mi sta entusiasmando questa cosa - poi se riesco nell'intento metto il tutto da qualche parte a vostra disposizione.
A risentirci presto e grazie per il momento

Re: Raspberry Pi e Slackware: compilare pacchetti
Inviato: ven 7 mar 2014, 11:57
da rik70
Ok ragazzi, iniziano i test - per ora su archlarm per comodità, poi possiamo a slackware.
Una domanda:
il problema con xbmc è che dovendo lanciare ./bootstrap prima del configure, questa fase preparatoria impiega un botto di tempo. Viene invocato java e son dolori sul raspberry. Penso ci vorranno parecchie ore prima di arrivare alla complazione vera e propria.
C'è un modo per scaricare questo lavoro sui pc client via distcc? Immagino che la risposta sia no, ma ci provo ugalmente ^^
Grazie ancora.
Re: Raspberry Pi e Slackware: compilare pacchetti
Inviato: mer 12 mar 2014, 19:23
da tgmx
Ciao Ragazzi,
scusate se mi inserisco nella discussione ma ho dei dubbi relativamente alla compilazione su Raspberry (con slackware arm installata).
Devo compilare le Qt 5 per la Raspi,
Normalmente (su altre schede tipo BeagleBoard, BeagleBone e la stessa Raspi con ubunut) procedo scaricando il toolchain (tipo gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux) e avviando la cross-compilazione delle Qt (dopo opportune parametrizzazioni).
Il primo problema che incontro e' che il toolchain che ho citato sopra e' compilato per Hard Float (gnueabihf) mentre da come ho capito Slackware arm e' Soft Float.
Sembra impossibile trovare un toolchain (gcc 4.8 ) per arm soft float.
A me servirebbe procedere in questo modo perche' poi potrei usare come sempre QtCreator per sviluppare, compilare e "buttare" l'applicazione sulla Raspi.
Avete esperienza al riguardo?
Re: Raspberry Pi e Slackware: compilare pacchetti
Inviato: gio 13 mar 2014, 7:50
da ponce
Re: Raspberry Pi e Slackware: compilare pacchetti
Inviato: gio 13 mar 2014, 11:59
da rik70
Quindi se slackarm è compilata soft float non supporta l'accelerazione hw?
Perdonate l'ignoranza.
Re: Raspberry Pi e Slackware: compilare pacchetti
Inviato: gio 13 mar 2014, 15:27
da tgmx
Nelle FAQ ufficiali c'e' il seguente punto:
Q. How can I cross compile software for use on Slackware ARM?
A. If you wish, you can cross compile software using a suitable cross compiler that outputs ARM binaries. There are a number of cross compilers available in binary form....
Il problema e' che non sono riuscito a trovare nessun "cross compilers" per slackware arm. Tutti quelli che si trovano sono per HF .
Mi sfugge qualcosa?