Domande frequenti su Catalyst (FAQ)
1.
Indice
Introduzione
Questa è una lista non esaustiva di Domande Frequenti su Catalyst.
Domande frequenti
2.
Domande frequenti
Come creare un tarball stage2 e stage3 per un tipo di CPU non generico,
come pentium4 o g4?
Per prima cosa assicurarsi che l'hardware che si sta usando sia capace di
compilare quel tipo di stage. Se si vuole compilare uno stage per
pentium4, si avrà bisogno di un sistema Pentium 4 o AMD64/Opteron. Non
sarà possibile farlo su un sistema Athlon XP, in quanto questa CPU non supporta
le istruzioni SSE2, le quali sono abilitate per gli stage pentium4.
Similmente, se si vuole creare uno stage per g4, bisognerà farlo su un
sistema PowerPC G4 o G5.
Dopo essersi assicurati che l'hardware è adatto, seguire semplicemente i passi
precedenti, prestando attenzione nell'impostare, per la creazione dello stage2,
la variabile subarch con una valida architettura non generica (es.
pentium4.) Di conseguenza lo stage2 verrà compilato per la
sottoarchitettura specificata. Successivamente si userà lo stage2 come stage
"seme" di partenza per creare lo stage3. Ovviamente si dovrà impostare la
variabile subarch nelle specifiche dello stage3 con lo stesso valore
usato nelle specifiche dello stage2.
Voglio creare un gruppo di stage per diverse sottoarchitetture. Come
posso farlo?
Per prima cosa si deve compilare uno stage1 generico. Successivamente si deve
usare questo stage1 per creare lo stage2 e lo stage3 specializzato per le varie
sottoarchitetture. Non occorre ricompilare lo stage1, in quanto tutti gli stage2
e stage3 specializzati possono usare lo stesso stage1 di base.
Posso creare uno stage1 per una CPU di tipo non generico?
Questa è un'idea molto pericolosa, in quanto come utente ci si aspetta che lo
stage1 funzioni su ogni tipo di sottoarchitettura. In questo modo è possibile
usare lo stage1 su ogni sistema senza problemi. Bisogna assicurarsi di non
"inquinare" lo stage1 con codice specifico per CPU non generiche. Usare sempre
uno stage2 o stage3 "generico" per compilare un nuovo stage1.
Pensavo che catalyst riuscisse a creare gli stage "da zero". Se catalyst
crea gli stage da zero, perché allora necessita di uno "stage di
partenza"?
Bella domanda. Ovviamente uno stage2 o uno stage3 dipendono dallo stage
precedente per la loro creazione, e ciò è chiaramente esemplificato dal loro
nome (es. uno "stage2" implica che prima c'era uno "stage1".). Tuttavia catalyst
necessita di uno stage di partenza per compilare uno stage1, e vale la pena
capire il perché di questo requisito fondamentale. Quando si crea uno stage1,
catalyst usa il seme stage3 per impostare un ambiente in chroot. Dentro ad esso
verrà compilato il nuovo stage1 tramite l'impostazione della variabile
ROOT a /tmp/stage1root. Questa operazione dice a
Portage che i nuovi pacchetti andranno installati non nel filesystem corrente,
ma nel filesystem presente in /tmp/stage1root.
/tmp/stage1root viene poi compresso in un archivio tar e diventa lo
stage1 di destinazione. Ciò significa che quando catalyst crea uno stage1, lo
stage1 stesso non eredita nessun binario o libreria dallo stage di partenza. Lo
stage "seme" usato in qualche modo ha un impatto sullo stage1 di
destinazione, in quanto gli header di Linux nel seme sono usati per compilare
le glibc dello stage1, e i compilatori nel seme sono usati per compilare tutti i
programmi nello stage1. Lo stage seme viene usato per isolare il processo di
creazione dello stage1 dal sistema locale, inoltre, per esempio, permette di
creare stage1 x86 su sistemi amd64.
Esiste una guida ufficiale per Catalyst?
Attualmente non ci sono guide ufficiali. Se si è interessati a scriverne uno,
si è pregati di aprire un nuovo bug allegando la guida. La mancanza di una guida
ufficiale non significa che Catalyst sia completamente non documentato. Quando
viene effettuato l'emerge di Catalyst verranno installati degli esempi ben
documentati di file delle specifiche per i vari stage in
/usr/share/doc/catalyst-$version/examples.
Se si hanno ulteriori quesiti da porre dopo aver letto gli esempi ci si può
iscrivere liberamente alla mailing list gentoo-catalyst.
Dove bisogna mettere le flag USE per pacchetto, e le impostazioni di
mascheramento?
Catalyst supporta i file di configurazione in /etc/portage. Basta aggiungere la
seguente voce nel file delle specifiche, e assicurarsi di usare la stessa
impostazione di portage_confdir per lo stage seme:
portage_confdir: /path/to/custom/etc/portage
Ho veramente bisogno di creare il mio stage1 personalizzato o posso
usarne uno tra quelli presenti nei mirror Gentoo?
È buona norma creare sempre il proprio stage personalizzato se non si sta
usando lo stesso snapshot usato per creare l'ultimo rilascio. Lo stato
dell'albero di portage dipende pesantemente da sé stesso. Se si ha uno stage1 di
3 mesi fa, è molto probabile incorrere in problemi con pacchetti bloccanti o
altri cambiamenti nell'albero che causeranno problemi nella creazione dello
stage o di compatibilità.
Come posso tenere aggiornati i miei pacchetti contenuti nei
GRP/stage/LiveCD?
Catalyst usa Portage per tutto il processo di creazione, per cui tutto quello
che si deve fare è rigenerare lo snapshot di Portage e ricompilare i
GRP/stage/LiveCD. Portage seguirà tutte le normali regole per decidere quali
pacchetti aggiornare.
Catalyst usa delle sintassi particolari per le flag USE?
No, la sintassi per le flag USE di Catalyst è la stessa di Portage.
Catalyst supporta la crosscompilazione?
No, al momento non supporta questa funzionalità.
|