c'era una iso di qilinux per ppc ?
Credo non sia mai nata!
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 e glibc 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
i risultati di una crosscompilazione sono identici a una compilazione sull'architettura stessa ?
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 stripped
Silvan

