- This topic has 11 risposte, 4 partecipanti, and was last updated 17 years, 6 months fa by
lafuntein.
-
AutoreArticoli
-
-
12 Settembre, 2007 alle 20:04 #17532
-
13 Settembre, 2007 alle 07:54 #22675
Silvan
Keymaster::Sì, personalmente vorrei aggiungere il supporto per almeno due nuove architetture: x86_64 e PowerPC (G4). Per la prima mi manca solo il tempo per iniziare, per la seconda non ho a disposizione l’hardware (ad es. un i-book o powerbook) ma conosco molte persone che vorrebbero vederci girare openmamba e quindi credo che ne varrebbe la pena. Inoltre il porting su PowerPC era già stato fatto ai tempi di QiLinux.
Naturalmente per il porting verso queste ed altre architetture si accettano volontari!
ciao
Silvan
-
13 Settembre, 2007 alle 08:23 #22676
sacarde
Participant -
13 Settembre, 2007 alle 13:49 #22678
fabiog
Participant::Suppongo sia necessario installare almeno una versione minima di openmamba e poi ricompilare tutti i pacchetti per la nuova architettura partendo dai sorgenti già predisposti per x86.
In alternativa credi sia possibile ricompilare i pacchetti partendo anche da un’altra distro ma credo in modo più ‘manuale’.
Queste sono solo mie ipotesi ovviamente, Silvan potrà chiarirti sicuramente meglio il tutto!!
-
14 Settembre, 2007 alle 05:27 #22679
-
14 Settembre, 2007 alle 15:00 #22680
-
14 Settembre, 2007 alle 22:22 #22682
-
17 Settembre, 2007 alle 18:15 #22686
Silvan
Keymaster::Scusate se rispondo solo ora ma sono stato un pò impegnato.
Per fare il porting preferirei un metodo “autoctono” seguendo questi passi:
1) cross-compilazione dei pacchetti base che costituiscono il progetto
bootcd
(qui sono elencati in automatico:http://www.openmamba.org/distribution/media/bootcd.html
)2) modifica di
makedist
per la realizzazione di un target media cross-piattaforma e quindi con supporto di un meccanismo di boot da cd per le altre architetture (ad es. PowerPC New World)3) realizzazione di un live cd contenente un set di pacchetti minimo per l’installazione di un sistema base sulla macchina verso cui si fa il porting
4) cicli di compilazione nativa/test/invio al repository dei pacchetti della distribuzione, direi partendo da quelli che costituiscono il progetto livecd
Poiché il porting è già stato fatto una volta la maggior parte degli SRPM è già stata testata per questo scopo. I pacchetti
binutils
eglibc
esistono già per PowerPC perché ho continuato a mantenerli, il kernel penso sia un pò da rivedere ma questo dovrebbe essere facile.Per creare un ambiente di cross-compilazione per PowerPC occorre installare:
cross-ppc-environment, cross-ppc-binutils, cross-ppc-glibc e cross-ppc-gcc, viene creato un ambiente sotto
/usr/ppc-openmamba-linux-gnu/
in cui è possibile installare gli RPM che costituiscono le dipendenze man mano che sono cross-compilati.Se qualcuno è interessato a fare una parte o tutto questo lavoro posso dare istruzioni più dettagliate. E’ richiesta solo una macchina i586, inoltre con qemu dovrebbe essere possibile fare i test in emulazione.
Silvan
-
17 Settembre, 2007 alle 19:44 #22687
-
17 Settembre, 2007 alle 23:47 #22688
Silvan
Keymaster::Teoricamente direi di sì, se l’ambiente di cross-compilazione è simile quello che sarà il sistema target. Ci sono problemi quando i meccanismi di compilazione o installazione richiedono l’esecuzione di codice binario per la piattaforma target, ma i build basati sugli autotools sanno fare le giuste distinzioni tra macchina host, di build e target.
Alcuni pacchetti richiedono la compilazione in due fasi (cross-compilazione con un set limitato di opzioni e compilazione nativa).
In ogni caso i pacchetti cross-compilati dopo il porting saranno ricompilati nativamente su una macchina dedicata al mantenimento dell’architettura secondo i normali processi di aggiornamento della distribuzione.
Con il comando:
rpmbuild -ba bash.spec --define "_host ppc-openmamba-linux-gnu" --define "_build i586-openmamba-linux-gnu" --target ppc
ho cross-compilato bash (a parte un piccolo errore finale che non ho capito), infatti:
[silvan@tao SPECS]$ file /var/tmp/bash-3.2p17-root/bin/bash
/var/tmp/bash-3.2p17-root/bin/bash: ELF 32-bit
MSB executable, PowerPC or cisco 4500, version 1
(SYSV), for GNU/Linux 2.6.16, dynamically linked (uses shared libs),
not strippedSilvan
-
18 Settembre, 2007 alle 20:27 #22689
-
25 Settembre, 2007 alle 18:27 #22690
-
-
AutoreArticoli
- Devi aver eseguito l’accesso per poter rispondere a questa discussione.