Alpha/FAQ/it

Queste FAQ vogliono rispondere ad alcune delle domande più frequenti riguardo a Gentoo e Linux in generale.

Introduzione
Questo documento contiene risposte ad alcune delle domande più frequenti riguardo a Gentoo/Alpha e Linux/Alpha. È indicato sia per utenti esperti che novizi.

Cos'è Alpha?
Il progetto Alpha è responsabile del mantenimento della distribuzione Gentoo su piattaforme Alpha. Ciò comprende prima di tutto l'amministrazione delle Keyword dei pacchetti, il porting del software e fare nuovi rilasci. Il progetto Alpha mira a fornire un ambiente utilizzabile sia per desktop che per server.

Ma l'architettura Alpha non è morta?
Da un certo punto di vista, sì. HP ha interrotto la possibilità di fare ordini per nuovi sistemi Alpha il 27 Aprile 2007 e gli aggiornamenti il 25 Aprile 2008.

Posso farci girare applicazioni a 32 bit?
No, tutti i sistemi Alpha usano un kernel a 64 bit ed uno userland "puri". Non è nemmeno possibile forzare gcc per ottenere codice a 32 bit utilizzando la flag del compilatore.

Alpha è big endian o little endian?
I sistemi Alpha sono little endian. Un grande sistema Cray con Alpha fu big endian, ma Linux non lo supporterà mai.

Posso far girare applicazioni Linux/x86 su Alpha?
No, non senza un emulatore come qemu. In passato DEC/Compaq/HP mantenevano un programma chiamato  che permetteva alle applicazioni Linux/x86 di girare su sistemi Linux/Alpha. Comunque, il programma è proprietario e non più mantenuto. Non ci sono binari  disponibili che siano compatibili con le ABI di gcc-3.

Perché installare Gentoo su Alpha?
A dire il vero, è possibile trovare sistemi a 64 bit più veloci, come amd64. Comunque, questo non significa che i sistemi Alpha siano inutili. Di seguito sono elencate alcune buone ragioni per installare Linux su questo tipo di hardware:


 * È possibile trasformare un vecchio computer in qualcosa di utile. I vecchi sistemi Alpha sono ottimi server e/o router. Non sono male nemmeno le loro prestazioni come desktop.
 * Si impara qualcosa di inconsueto riguardo all'hardware.
 * È fico. Quante persone possono dire di avere Linux che gira su Alpha?

Dove posso comprare dell'hardware Alpha?
L'hardware Alpha solitamente non è disponibile nel negozio vicino casa. eBay di solito è una buona opzione, sempre ammesso che le spedizioni non costino troppo. Ci sono diversi rivenditori di usato rintracciabili via Google, anche se molti di loro ricaricano troppo sul prezzo.

Ho aperto il case di un AlphaServer ed ora non si accende, che faccio?
Assicuratevi che il pannello superiore sia montato ed in posizione corretta. Il centro del case ha un piccolo pezzo di metallo a faccia in giù. Quando il pannello superiore è rimesso in sede in modo appropriato, il pezzo di metallo premerà su un interruttore. Se l'interruttore non è tenuto giù, il sistema si rifiuterà di partire.

L'utilizzo di flag di compilazione specifiche per Alpha è raccomandato?
Come per tutte le ottimizzazioni di compilazione, non si deve abusarne. Utilizzando queste flag con cura esse garantiranno un sistema stabile e veloce; un uso troppo aggressivo può portare invece a seri problemi. Quando si è in dubbio, è meglio lasciar perdere. Se si ha bisogno di maggiori chiarimenti, consultare la pagina man di.

Come faccio l'ottimizzazione per uno specifico set di istruzioni e modello di scheduling?
È possibile ottimizzare per uno specifico set di istruzioni e modello di scheduling con, dove XXX è il tipo di CPU. Tipi di CPU validi sono,  ,  ,  ,  ,   and. Se non si utilizza la flag, allora   utilizzerà in maniera predefinita il tipo di CPU della macchina sulla quale è stato compilato. è equivalente alla flag  su x86.

Come specifico un modello di scheduling senza modificare il set di istruzioni?
È possibile specificare un modello di scheduling senza modificare il set di istruzioni con, dove XXX è il modello di CPU. Modelli di CPU validi sono,  ,  ,  ,  ,   ed. La flag  è automaticamente inclusa da , quindi non è necessario specificarla se viene settato. è l'equivalente della flag  su x86.

Come abilito i numeri in virgola mobile "con assistenza software"?
È possibile abilitare i numeri in virgola mobile con assistenza software utilizzando. Ciò abiliterà l'assistenza software per supportare correttamente numeri de-normalizzati e valori IEEE eccezionali come "non-numeri" e più/meno infinito.

Questo dovrebbe essere inserito nelle  globali, a meno che non si sappia veramente cosa si sta facendo.

Come specifico la latenza di memoria per il mio sistema?
È possibile specificare la latenza di memoria con, dove XXX è il numero di cicli di clock. Ciò imposta il tempo di latenza che lo scheduler dovrebbe assumere per riferirsi alla memoria. Il compilatore  ha alcuni valori "tipici" predefiniti, anch'essi accettati da. Questi valori sono  per Dcache,   per Scache,   per Bcache, e   per la memoria principale.

Questa flag probabilmente non dovrebbe essere presente nelle  globali, dato che il valore da scegliere dipende molto dal tipo di accesso alla memoria richiesto dall'applicazione che si sta compilando.

Come specifico che i dati statici dovrebbero essere posti nell'area small data?
È possibile specificare che i dati statici debbano essere posti nell'area small data con. Ciò farà si che  tragga vantaggio da alcune caratteristiche dell'architettura Alpha salvando i dati utilizzati più spesso in sezioni specifiche chiamate "sezioni di small memory". Queste sezioni sono limitate a 64KiB, il che significa che accedere a qualunque cosa vi sia stata salvata richiederà una sola istruzione.

avrà la precedenza su, quindi si dovrebbe utilizzare la flag   se non si desidera che   venga ignorata.

Questa flag non dovrebbe essere utilizzata nelle  globali, dato che alcuni oggetti richiedono più di 64KiB per essere memorizzati e questo causa errori di tipo ld gp_overflow.

Come specifico che il codice oggetto dovrebbe essere posto nell'area small text?
È possibile specificare che il codice oggetto venga posto nell'area small text con. Ciò farà in modo che  presuma che l'intero programma (o libreria) debba poter essere contenuta in 4MB, e che quindi sia raggiungibile con istruzioni di diramazione (branch instruction). Ciò riduce il numero di istruzioni richieste per una chiamata ad una funzione da 4 a 1.

Questa flag non dovrebbe essere utilizzata nelle  globali, dato che alcuni programmi (o librerie) sono più grandi di 4MB, e ciò causa un errore ld.

Cosa si deve fare se una di queste flag di compilazione causa un errore durante la compilazione, il collegamento o l'esecuzione?
Come CFLAGS si usino queste  cautamente, in quanto potrebbero rompere il sistema. Se si incontrano problemi, si provi ad utilizzare  meno aggressive prima di segnalare un bug.

Cos'è SRM?
SRM è basato sulle specifiche del Sottosistema Console di Alpha, che forniscono un ambiente operativo per i sistemi operativi OpenVMS, Tru64 Unix e Linux. Consultare l'SRM Howto per ulteriori informazioni riguardanti SRM.

Cos'è ARC?
ARC è basato sulle specifiche Advanced RISC Computing (ARC), che forniscono un ambiente operativo per Windows NT.

Come si capisce se il firmware di Alpha è ARC o SRM?
Quando il sistemasi accende, si vedrà una schermata con uno sfondo blu e del testo bianco se viene usato SRM. Se viene usato ARC, si vedrà invece un sistema di avvio basato sulla grafica.

Quale bootloader è meglio usare?
Se il sistema Alpha in uso supporta SRM, allora si dovrebbe usare. Se il sistema supporta sia SRM sia ARC (ARC, AlphaBios, ARCSBIOS), allora si dovrebbe seguire la guida al firmware SRM per migrare a SRM ed usare. Se il sistema può usare solo ARC (Ruffian, xl, ecc.) allora è necessario scegliere.

aboot può far partire kernel da partizioni EXT4, XFS, ReiserFS o JFS?
No,  supporta solo l'avvio di kernel da partizioni   ed. Si possono comunque usare altri filesystem per la partizione di root, l'importante è creare una partizione in   o.

È stato pianificato il supporto a. Infatti, ci sono delle patch che girano che aggiungono il supporto a ReiserFS, XFS, e ext4.

Com'è il supporto a Java su Alpha?
Compaq/HP offrivano pacchetti binari, chiamati  e. Essi hanno però terminato tutto il supporto, e i pacchetti sono stati rimossi da Gentoo l'11 ottobre 2006. Da allora, Java non è più supportato.

Ci sarà mai supporto a Java?
È possibile usare  su Alpha, ma non c'è alcuna intenzione di supportarlo, a causa degli alti costi di manutenzione causati dal dover testare centinaia di pacchetti aggiuntivi.

Com'è il supporto a .NET su Alpha?
Nessuno dei due sforzi open source principali, mono o DotGNU, supportano l'architettura  Alpha.

Cosa è necessario per il supporto a .NET?
Portare .NET su Alpha non è un lavoro semplice. Richiede la scrittura di tutte le macro di generazione del codice in linguaggio assembly necessarie per il compilatore JIT (Just in time) e la scrittura delle funzioni specifiche per l'architettura (allocatori dei registri, ecc.).

Quali sorgenti kernel si devono usare?
Si raccomanda di utilizzare  ma anche   sono supportate da Alpha. Si dovrebbe consultare la Guida al Kernel Gentoo per determinare qual è quello giusto per i propri bisogni.

Il sistema è rotto con il kernel-2.6, è possibile costruire un sistema basato sulla versione 2.4?
Alpha ha terminato il supporto al kernel ed al profilo 2.4 da gennaio 2008. Tecnicamente si può costruire un Sistema Gentoo 2.4 (il kernel è nell'albero) ma si devono mascherare tutti i pacchetti esclusivi della versione 2.6 e non c'è alcun supporto da parte degli sviluppatori.

Alpha prenderà in considerazione tutti i rapporti bug circa sistemi non funzionanti basati su kernel 2.6 e tenterà di aiutare il più possibile.

Le sorgenti hardened sono supportate?
La risposta breve è no. Erano supportate qualche tempo da, ma l'hardware e il manutentore sono andati perduti, quindi ora non sono supportate. Se si è interessati e si vuole continuare il lavoro iniziale, lo si faccia sapere.

Il kernel 2.6 supporta Alpha SMP?
Ci sono state alcune occasioni nel passato in cui non funzionava. Tuttavia, le versioni del kernel moderne funzionano bene.

Come segnalo un bug?
Se si trova un bug o si vuole mandare delle patch, allora si deve compilare un rapporto bug. Basta poco per farlo, e ogni aiuto è veramente apprezzato. Per favore, si segua la Guida al Rapporto dei Bug di Gentoo.

Com'è possibile aiutare il progetto Alpha?
Gli utenti possono aiutare:


 * Compilando dei bug chiari e concisi
 * Testando il software che non ha ancora la parola chiave
 * Rispondendo alle domande su mailing list, forum e canale IRC
 * Mandando patch
 * Diventando un AT

Esiste un progetto di test per architettura Alpha?
Sì, consultare la pagina progetto di test per architettura Alpha per maggiori dettagli.

Perché Xorg blocca Alpha?
Ciò è solitamente causato da un'impostazione -mcpu sbagliata. Per esempio, l'AlphaServer 800 ha bisogno di essere compilato con la flag  per xorg e glibc. Se ciò non viene fatti, si può incorrere in risultati indesiderati.

Perché non esiste un forum per Gentoo/Alpha?
Sul forum Gentoo ci sono molte categorie divise per architettura, come Gentoo su PPC e Gentoo su Sparc. Non esiste una categoria per Alpha semplicemente perché non c'è abbastanza attività per giustificarne una. Tutti i port relativi ad Alpha dovrebbero essere pubblicati nella categoria Gentoo su Architetture Alternative.

Dov'è possibile ottenere più aiuto o informazioni riguardo Alpha?
Se ci sono ancora domande senza risposta, è possibile consultare altre risorse come il Manuale Alpha o la nostra homepage del progetto. È anche possibile chiedere a noi su irc.freenode.net in, nel forum Gentoo su Architetture Alternative, o sulla mailing list.

Dove posso ottenere più aiuto o informazioni riguardo Alpha su Linux?
AlphaLinux.org è il fulcro di tutte le cose riguardo Alpha/Linux.