Gentoo Logo

Gentoo Linux/Alpha: Domande frequenti (FAQ)

Indice:

1.  Riguardo a questo documento

Introduzione

Questo documento contiene risposte alle domande più comuni riguardanti Gentoo/Alpha e Alpha/Linux. È rivolto sia ai nuovi utenti sia a quelli esperti.

Il Progetto Gentoo/Alpha

L'architettura Alpha

Hardware

Flag di compilazione specifiche per Alpha

Avvio e bootloader Alpha

Software

Alpha Linux Kernel

Aiutare il progetto Gentoo/Alpha

Risoluzione dei Problemi

Altre risorse

2.  Il Progetto Gentoo/Alpha

Che cos'è Gentoo/Alpha?

Il progetto Gentoo/Alpha è responsabile di mantenere aggiornata la distribuzione Gentoo per la piattaforma Alpha. In primo luogo ciò implica apporre le keyword, effettuare il porting del software, e creare nuove release. Il progetto Gentoo/Alpha mira a fornire un ambiente utilizzabile sia per desktop che per server.

Qual è lo stato attuale del progetto Gentoo/Alpha?

E' possibile conoscere lo stato attuale del progetto Gentoo/Alpha nei nostri status report. Questi report mirano a tenere informato il pubblico su cosa si sta facendo. Nuovi status report su Gentoo/Alpha verranno postati circa ogni 6 mesi. Status report passati e presenti possono essere trovati nella Status Reports Project page.

3.  L'architettura Alpha

L'architettura Alpha non è morta?

Non del tutto! HP ha terminato l'accettazione di ordini per nuovi sistemi Alpha il 27 aprile 2007. Accetterà invece ordini e per aggiornamenti e opzioni Alpha fino al 25 Aprile 2008. Vedere la loro pagina di pianificazione per maggiori dettagli.

Posso eseguire applicazioni a 32 bit?

No, tutti i sistemi Alpha utilizzano un kernel puro a 64 bit ed un ambiente a 64 bit altrettanto puro. Non si può neanche forzare gcc ad emettere codice a 32 bit usando la flag di compilazione -m32.

Alpha è big endian o little endian?

Tutti i sistemi Alpha supportano sia little che big endian. Tuttavia, Linux usa solo little endian.

Posso far girare applicazioni Linux/x86 su Alpha?

No, non senza un emulatore completo di un sistema x86, come bochs. In passato DEC/Compaq/HP mantenevano un programma chiamato em86, che consentiva di far girare applicazioni Linux/x86 sui sistemi Linux/Alpha. Tuttavia, il programma è a sorgente chiuso e non è più mantenuto. Non esistono binari em86 che siano compatibili con l'ABI di gcc3.

Perchè installare Gentoo su Alpha?

Effettivamente, esistono sistemi a 64 bit più veloci, come amd64. Tuttavia, questo non significa che i sistemi Alpha siano inutili. Ecco alcune buone ragioni per cui si potrebbe installare Linux su questo tipo di hardware:

  • Si potrebbe trasformare un vecchio computer in qualcosa di utile. Gli Alpha più vecchi sono eccellenti sia come router che come server. Neanche le loro prestazioni come desktop sono poi tanto male.
  • Si avrà la possibilità di imparare riguardo ad un hardware inusuale.
  • E' bello. Quante persone possono dire di avere Linux che gira su un Alpha?

Dove posso acquistare hardware Alpha?

Generalmente l'hardware Alpha non è disponibile nei negozi di computer. Se si desidera un sistema Alpha nuovo, è necessario contattare l'HP. Se si desidera un Alpha usato (più economico), eBay di solito è una buona opzione, sempre che le spese di spedizione non siano troppo alte. Ci sono diversi altri rivenditori che possono essere trovati attraverso Google, ma la maggior parte di essi hanno prezzi troppo alti.

4.  Hardware

Ho aperto il case di un AlphaServer e ora non vuole accendersi, cosa fare?

Bisogna assicurarsi che il pannello superiore del case sia a posto e opportunamente collocato. La parte centrale della pannello superiore ha un piccolo pezzo di metallo orientato verso il basso. Quando il pannello superiore viene ricollocato nella propria sede in maniera opportuna, il piccolo pezzo di metallo preme un interruttore. Se l'interruttore in questione non risulta premuto il sistema rifiuterà di accendersi.

5.  Flag di compilazione specifiche per Alpha

L'uso di flag di compilazione specifiche per Alpha è raccomandato?

Come per tutte le ottimizzazioni, è bene non esagerare. Se si usano queste flag con attenzione si avrà un sistema stabile e veloce; utilizzandole con troppa aggressività  si potrebbe danneggiare seriamente il proprio sistema. Se si è in dubbio, è meglio lasciare perdere. Per maggiori informazioni, è opportuno consultare la pagina man di gcc.

Come ottimizzare per uno specifico set di istruzioni e per uno specifico modello di programmazione?

Si può ottimizzare per uno specifico set di istruzioni e per uno specifico modello di programmazione con -mcpu=XXX, dove XXX è il tipo di CPU. Tipi validi di cpu sono ev4, ev45, ev5, ev56, pca56, ev6 e ev67. Se non si utilizza il flag -mcpu=XXX, gcc userà in modo predefinito il tipo di cpu su cui è stato compilato. -mcpu= equivale alla flag -march= sui sistemi x86.

Nota: Gli utenti che usano AlphaServer 800 dovrebbero impostare ev5. Vi è un problema noto nell'impostare ev56, soprattutto con Xorg che causa un completo blocco del sistema.

Come specificare il modello di programmazione senza cambiare il set di istruzioni?

Si può specificare il modello di programmazione senza cambiare il set di istruzioni con -mtune=XXX, dove XXX è il tipo di CPU. Validi tipi di cpu sono ev4, ev45, ev5, ev56, pca56, ev6 e ev67. -mtune= è sottinteso da -mcpu=, quindi non serve specificare questo flag se si ha già impostato -mcpu=. -mtune= equivale al flag -mcpu= sui sistemi x86.

Come abilitare i numeri in virgola mobile assistiti dal software?

E' possibile abilitare i numeri in virgola mobile assistiti dal software con -mieee. Questo attiverà l'assistenza software per supportare correttamente numeri denormalizzati e valori IEEE eccezionali, come un "non numero" o un più/meno infinito.

Questa flag dovrebbe stare nelle CFLAGS globali, a meno che non si sia veramente sicuri ciò che si sta facendo.

Come specificare la latenza della memoria del mio sistema?

E' possibile specificare la latenza della memoria del sistema con -mmemory-latency=XXX, dove XXX è il numero dei cicli di clock. Questa flag imposta il periodo di latenza che lo scheduler dovrebbe assumere per le referenze di memoria. gcc ha alcuni valori "tipici" predefiniti, che sono accettati anche da -mmemory-latency=XXX. Questi valori sono L1 per Dcache, L2 per Scache, L3 per Bcache, e main per la memoria principale.

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

Come specificare che i dati statici dovrebbero essere posti nell'area small data?

E' possibile specificare che i dati statici dovrebbero essere posti nell'area small data con -msmall-data. Questo farà  si che gcc tragga vantaggio di alcune caratteristiche dell'architettura Alpha salvando i dati molto utilizzati in sezioni specifiche chiamate sezioni di small memory. Queste sezioni sono limitate a 64kb, il che significa che accedere a qualunque cosa vi sia stata salvata richiederà una sola istruzione.

-fPIC ha la precedenza su -msmall-data, quindi bisognerebbe utilizzare la flag -fpic se non si vuole che -msmall-data sia ignorato.

Questa flag probabilmente non dovrebbe essere usata nelle CFLAGS globali, dato che alcuni oggetti necessitano di più di 64kb per essere salvati, e questo causerebbe un errore ld gp_overflow.

Come specificare che il codice oggetto dovrebbe essere posto nell'area small text?

È possibile specificare che il codice oggetto dovrebbe essere posto nell'area small text con -msmall-text. Questo farà  si che gcc presupponga che l'intero programma (o libreria) entri in 4MB, e sia quindi raggiungibile con una branch instruction. Questo riduce il numero di istruzioni richieste per una chiamata di funzione da 4 a 1.

Questa flag probabilmente non dovrebbe essere usata nelle CFLAGS globali, dato che alcuni programmi (o librerie) sono più grandi di 4MB, e questo causerebbe un errore ld.

Cosa fare se una di queste flag di compilazione causa un errore di compilazione, di collegamento o di esecuzione?

Come già menzionato, è opportuno utilizzare queste CFLAGS con cautela. Esse possono danneggiare il sistema. Se si notano problemi, è bene provare ad usare CFLAGS meno aggressive prima di segnalare un bug.

6.  Avvio e bootloader Alpha

Che cos'è SRM?

SRM è basato su Alpha Console Subsystem, che fornisce un ambiente operativo per i sistemi operativi OpenVMS, Tru64 UNIX, e Linux. Vedi l' SRM Howto per maggiori informazioni su SRM.

Che cos'è ARC?

ARC è basato su Advanced RISC Computing (ARC), che fornisce un ambiente operativo per Windows NT.

Come sapere quale tipo di firmware ha la mia macchina Alpha: ARC o SRM?

Se si sta usando SRM, all'accensione del sistema si vedrà apparire una schermata con sfondo blu e testo bianco. Se si sta usando ARC invece, si vedra apparire un sistema di boot grafico.

Quale bootloader usare?

Se il sistema Alpha supporta SRM, bisognerebbe usare aboot. Se il sistema supporta sia SRM sia gli ARC (ARC, AlphaBIOS, ARCSBIOS), sarebbe opportuno seguire the SRM Firmware Howto per passare a SRM e usare aboot. Se il sistema utilizza solo gli ARC (Ruffian, nautilus, xl, etc.) bisogna scegliere milo.

Aboot è in grado di avviare kernel da partizioni xfs, reiserfs, o jfs?

No, aboot suppporta l'avvio di kernel solo da partizioni ext2 e ext3. Per la propria partizione di root si possono tranquillamente utilizzare altri file system, a patto di creare una partizione per /boot formattata con i file system ext2 o ext3.

E' pianificato il supporto per reiserfs e xfs. Infatti sono disponibili patch che aggiungono il supporto per questi due file system. Tuttavia l'uso di tali patch non è supportato.

7.  Software

Com'è il supporto Java su Gentoo/Alpha?

C'è una sola opzione per Java VM e Java SDK su Gentoo/Alpha. I pacchetti si chiamavano compaq-jre e compaq-jdk. Purtroppo Compaq/HP ha terminato qualsiasi tipo di supporto ed è stato rimosso da Gentoo l'11 Ottobre 2006.

Ci sarà  mai un supporto Java funzionante?

Lo speriamo veramente. Stiamo seguendo lo sviluppo di jdk da SableVM. Non è ancora pronto, ma speriamo che con il tempo si potrà avere un jdk completamente nuovo.

Come è supportato .NET in Gentoo/Alpha?

Nessuno dei due principali progetti opensource,mono e DotGNU, supporta l'architettura Alpha.

Cosa è necessario per il supporto a .NET?

Portare .NET su alpha non è un compito facile. Fare ciò implica riscrivere tutte le macro di generazione di codice assembly per il compilatore JIT (just in time) e scrivere funzioni specifiche per l'architettura (allocatore dei registri, ecc).

8.  Alpha Linux Kernel

Quali sorgenti del kernel dovrei usare?

La raccomandazione è quella di usare i gentoo-sources ma anche i vanilla-sources sono supportati da Gentoo/Alpha. Per capire quali tra questi soddisfano le proprie necessità è possibile leggere la Guida ai Kernel Gentoo Linux.

Il mio sistema non funziona con un kernel 2.6. Posso utilizzare la versione 2.4?

Il supporto di Gentoo/Alpha al kernel 2.4 è stato interrotto nel gennaio del 2008. Tecnicamente è possibile costruire un sistema Gentoo basato sul kernel 2.4, il kernel è ancora nell'albero, ma è necessario mascherare manualmente tutti i pacchetti relativi alla versione 2.6 e non si ha più a disposizione il supporto da parte degli sviluppatori.

Gentoo/Alpha sta cercando di rivedere tutti i bug report relativi ai sistemi con kernel 2.6 non funzionanti e sta cercando di offrire tutto il supporto che è nelle proprie possibilità.

Gli hardened-sources sono supportati?

La risposta breve è no. Questo supporto era inizialmente presente, ma l'hardware è stato abbandonato e i mantenitori hanno rinunciato e quindi gli hardened-sources non sono più supportati. Se si ha interesse nel continuare il lavoro già intrapreso per cortesia contattateci.

Il kernel 2.6 kernel supporta Alpha SMP?

In passato, alcune volte, tale supporto veniva meno. Tuttavia è noto che i kernel 2.6.15.1 e 2.6.16.19 lavorano bene. Se si hanno problemi con il supporto SMP e si vuole tale supporto, sarà necessario utilizzare una delle versioni di kernel precedentemente citate oppure usare un kernel 2.4. Se realmente si ha la necessità di utilizzare l'ultima versione del kernel 2.6 su una SMP box e non vi interessa che solo uno dei processori sia utilizzato allora è possibile configurare il kernel 2.6 senza il supporto per SMP.

9.  Aiutare il progetto Gentoo/Alpha

Come segnalare i bug?

Se si trova un bug o si vuole mandare delle patch, sarà necessario creare un bug report. Richiede solo un momento, e l'aiuto di ognuno sarà molto apprezzato. Per aprire un bug report seguire la Guida alla Segnalazione di Bug in Gentoo.

Come aiutare il progetto Gentoo/Alpha?

Gli utenti possono aiutarci:

Esiste un progetto Alpha Arch Tester?

Sì, consultare la pagina Gentoo Linux Alpha Arch Testers Project per ulteriori dettagli.

10.  Risoluzione dei Problemi

Come mai Xorg blocca Alpha?

Normalmente questo si verifica a causa dell'errata impostazione della flag -mcpu. Ad esempio AlphaServer 800 richiede la compilazione con la flag ev5 per xorg e glibc. Non fare ciò può portare a risultati indesiderati.

11.  Altre risorse

Perchè non c'è un forum dedicato a Gentoo su Alpha?

Sui Forum di Gentoo ci sono diverse categorie specifiche per architettura, come Gentoo su PPC e Gentoo su Sparc. Non c'è una categoria Gentoo su Alpha semplicemente perchè non c'è abbastanza attività riguardante Gentoo/Alpha da garantirne una. Tutti i post relativi ad Alpha dovrebbero andare nella categoria Gentoo su Architetture Alternative.

Dove posso ottenere maggiori informazioni su Gentoo/Alpha?

Se qualche domanda non ha trovato risposta qui, si può tentare con altre risorse, come il Manuale Gentoo Linux Alpha o l'homepage del nostro progetto. Si può anche chiedere nel canale #gentoo-alpha su irc.freenode.net, sul Gentoo on Alternative Architectures Forum, o sulla mailing list gentoo-alpha@lists.gentoo.org.

Dove posso ottenere maggiori informazioni o aiuto su Alpha/Linux?

AlphaLinux.org è il repository centrale per tutto ciò che riguarda Alpha/Linux.



Stampa

Aggiornato il 20 gennaio 2008

La versione originale di questo documento non è più mantenuta

Oggetto: Questa FAQ intende rispondere ad alcune delle domande più frequenti relative a Gentoo/Alpha e a Linux/Alpha in generale.

Thomas Cort
Autore

Brian Evans
Autore

Joshua Saddler
Redazione

Cristiano Chiucchiolo
Traduzione

Paolo Palana
Traduzione

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.