<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>The Linux Ultra-DMA Mini-Howto: Interfacce PCI UDMA non a bordo</TITLE> <LINK HREF="Ultra-DMA-HOWTO-6.html" REL=next> <LINK HREF="Ultra-DMA-HOWTO-4.html" REL=previous> <LINK HREF="Ultra-DMA-HOWTO.html#toc5" REL=contents> </HEAD> <BODY> <A HREF="Ultra-DMA-HOWTO-6.html">Avanti</A> <A HREF="Ultra-DMA-HOWTO-4.html">Indietro</A> <A HREF="Ultra-DMA-HOWTO.html#toc5">Indice</A> <HR> <H2><A NAME="pci"></A> <A NAME="s5">5. Interfacce PCI UDMA non a bordo</A></H2> <P> <P>Ci sono delle interfacce UDMA su schede PCI che possono essere usate per aggiungere il supporto per l'UDMA a un computer esistente senza sostituire la scheda madre o per aggiungere il supporto per altri quattro dischi a una macchina che ha tutte le interfacce a bordo occupate. Possono essere trovate anche preinstallate in alcuni computer, specialmente sulle macchine Gateway 2000 e Dell. <P>Molte di esse non erano supportate dai vecchi kernel stabili (2.0.x), ma dovrebbero funzionare con un kernel 2.2.x - le distribuzioni Red Hat 6.0 e SuSE 6.1 sono basate sui kernel 2.2.x, come lo sono le più recenti versioni di molte altre distribuzioni. Tuttavia alcune delle schede più recenti (per esempio la Promise Ultra66) potrebbero non funzionare anche con gli attuali kernel 2.2.x, se voi ne avete una e non potete prendere una distribuzione tra le più recenti allora dovete applicare una patch al kernel, oppure aggiornarlo ad una versione più recente. Se avete bisogno di installare Linux su un disco rigido collegato ad una di queste interfacce, dovrete ricorrere ad alcuni strani stratagemmi. <P> <P> <H2><A NAME="promise"></A> <A NAME="ss5.1">5.1 Promise Ultra33</A> </H2> <P> <P>Questa è una scheda PCI che ha su di essa due canali UDMA e supporta un totale di quattro dischi. Potete vedere descrizioni particolareggiate e prezzi su <A HREF="http://www.promise.com">http://www.promise.com</A>. <P>Questa scheda è montata a bordo nei più recenti sistemi pentium II modello Gateway 2000. <P>I kernel 2.0.35 e successivi e tutti i kernel 2.2.x supportano l'Ultra33, quindi non dovreste avere problemi installando una distribuzione basata su questi kernel. Tuttavia i kernel stabili più vecchi (2.0.34 e precedenti) non lo supportano, e poiché molte distribuzioni più vecchie di Linux includono questi vecchi kernel, potreste incontrare piccole difficoltà nell'installare Linux se non volete o non potete usare una versione più recente (per esempio se avete reso standard una particolare distribuzione all'interno della vostra organizzazione). <P><B>Installare Linux con l'Ultra33</B> <P>Sebbene vi sia una patch per l'interfaccia Ultra33, non è molto semplice applicare una patch e ricompilare il vostro kernel se non avete mai installato Linux prima d'ora! Così qui c'è un rimedio che vi permette di installarlo. Grazie a Gady Oxman per le seguenti informazioni date su come impostare l'interfaccia: <P>Ecco un trucchetto che vi consentirà di effettuare l'installazione. <P> <BLOCKQUOTE><CODE> <PRE> Se possiamo avere accesso alla console con il disco di installazione, possiamo anche usare "cat /proc/pci" per visualizzare le impostazioni dell'interfaccia Promise: RAID bus interface: Promise Technology Unknown device (rev 1). Vendor id=105a. Device id=4d33. Medium devsel. IRQ 12. Master Capable. Latency=32. I/O at 0xe000. (a) I/O at 0xd804. (b) I/O at 0xd400. (c) I/O at 0xd004. (d) I/O at 0xc800. (e) e passare "ide2=a,b+2 ide3=c,d+2" come parametri al kernel dalla riga di comando. </PRE> </CODE></BLOCKQUOTE> <P>Notate che i numeri non sono gli stessi a seconda di quello che volete avere. Proprio come esempio, i parametri da usare per il set di numeri riportato sopra possono essere: "<CODE>ide2=0xe000,0xd806 ide3=0xd400,0xd006</CODE>". Se voi state usando solo il primo canale sull'Ultra33 (per esempio se avete un solo disco, o due che sono uno master e l'altro slave sullo stesso canale), allora non avrete bisogno di specificare <CODE>ide3</CODE>. <P><B>Red Hat 5.1:</B> Fate il boot con il dischetto di avvio e premete invio al prompt quando vi viene suggerito. Verrà caricato il kernel, poi vi domanderà la lingua, il tipo di tastiera e il metodo di installazione. Forse vi verrà chiesto da quale supporto effettuare l'installazione; non ha importanza ora cosa vi chiede finché potete arrivare al passo successivo. In seguito dovreste vedere una schermata intitolata "Select Installation Path"; premete ALT+F2 per ottenere un prompt dei comandi. <P>Avviate "<CODE>cat /proc/pci</CODE>", scrivete i numeri come indicato sopra, e riavviate dal dischetto di avvio. Ora, digitate "<CODE>linux ide2=</CODE> <EM>(questo quando date i numeri come mostrato sopra)</EM><CODE> ide3=</CODE><EM>(altri numeri)</EM> ". <P>Dovreste ora essere in grado di installarlo sul vostro disco rigido senza difficoltà, tuttavia non sarà probabilmente possibile installare LILO; in alternativa preparate un floppy d'avvio e avviatelo con gli stessi parametri fino a quando potrete mettere una patch a LILO e al kernel. <P><B>Red Hat 5.0</B> e <B>Slackware 3.4:</B> Queste sono simili, ma con il trucco che il programma d'installazione ignora <CODE>/dev/hde-h</CODE> (i dischi sulla <CODE>ide2</CODE> e sulla <CODE>ide3</CODE>). <P>Allo scopo di installarlo su o da uno di questi dischi è necessario non tenere conto di uno o di entrambi i canali delle interfacce a bordo. Tuttavia controllate di non aver tenuto conto di un dispositivo di cui avete bisogno per installare; per esempio se state installando da un lettore CD-ROM su <CODE>/dev/hdd</CODE> (<CODE>ide1</CODE> - interfaccia a bordo) su un disco rigido su <CODE>/dev/hde</CODE> (<CODE>ide2</CODE> - l'Ultra33), dovrete escludere la non necessaria <CODE>ide0</CODE> a favore della <CODE>ide2</CODE> e lasciare intatta la <CODE>ide1</CODE>. Supponendo i numeri sopra potreste voler avviare con "<CODE>ide0=0xe000,0xd806</CODE>". Red Hat 5.0 vi darà un prompt della shell se usate la possibilità del disco di ripristino, e la Slackware include una shell nel regolare processo di installazione. Tuttavia Red Hat 5.0 è difficile da riavviare dopo l'installazione; se avete problemi, potete provare scaricando un disco di avvio per la Slackware da <A HREF="ftp://ftp.cdrom.com/pub/linux/slackware-3.5/bootdsks.144/">ftp://ftp.cdrom.com/pub/linux/slackware-3.5/bootdsks.144/</A> e usarlo per fare il boot. <P>Con altre distribuzioni, dovrete un po' improvvisare ma il processo dovrebbe essere lo stesso indicato sopra. <P><B><EM>IMPORTANTE:</EM></B> Senza la patch (discussa nella sezione <@@ref>genericUDMA-Generic</A>), il kernel <B>necessita di</B> questi parametri di boot per accedere al vostro disco rigido! Inoltre è molto importante che quando configurate LILO,sia sul disco rigido sia sul floppy d'avvio, date <B>esattamente gli stessi parametri</B> che avete dato mentre stavate installando. Altrimenti il vostro sistema non si avvierà! Sarebbe possibile darli a LILO quando avviate (cioè, premere Shift, digitare in "<CODE>linux ide2=</CODE><EM>.....</EM>" ogni volta che avviate), ma solo se avete conservato i numeri! Si raccomanda di applicare la patch al kernel il più presto possibile così non avrete più da preoccuparvi; una volta che state avviando con il kernel "rattoppato" potrete sbarazzarvi dei parametri di boot. Inoltre, per quel che mi consta non c'è modo di far passare i parametri di boot a un normale floppy di avvio (fatto con "<CODE>make zdisk</CODE>"), <B>dovete</B> usare LILO o un altro loader (come LOADLIN) che vi permetta di passare i parametri di boot. <P>Tuttavia, i kernel "non rattoppati" ed i programmi di installazione attualmente incontrano spesso delle difficoltà usando la ide2 e la ide3, anche se i dischi vengono correttamente rilevati. Così se non potete prendere Linux per installarlo usando le tecniche descritte sopra, provate a specificare ide0 o ide1, anziché ide2 o ide3 (grazie a Martin Gaitan per questa tecnica). <P>Questo essenzialmente sostituisce l'interfaccia a bordo con la Promise Ultra33 per quel che riguarda il kernel e potete seguire le istruzioni della prossima sezione come se vi foste fisicamente spostati li. <P>Notate che, se per l'installazione state usando un lettore CD-ROM IDE connesso alla vostra interfaccia a bordo, vi dovrete assicurare di non interferire con l'interfaccia collegata al CD altrimenti l'installazione non potrebbe andare a buon fine! <P>Se il CD è hda o hdb, usate ide1 per il vostro disco rigido e se esso è hdc o hdd allora usate ide0. <P> <P><B>Installare Linux con l'Ultra33</B> <P>Se non riuscite a far funzionare il rimedio software potete provare un approccio molto più brutale! Di seguito riporto un metodo alternativo di cui è virtualmente garantito il funzionamento, ma richiede che voi apriate il vostro computer e che vi diate da fare in esso. <B>NB:</B> se non avete familiarità con i processi di connessione dei dischi IDE, <B>leggete i manuali</B> che vi sono stati dati con il computer, con il vostro disco rigido e/o con la vostra Promise Ultra33 prima di provare a fare questo! Se scollegate qualcosa e non sapete più come rimetterlo a posto, sono spiacente ma potreste aver finito! Quanto detto è tutto realmente proprio semplice. Molte schede madri oggi hanno un'interfaccia EIDE incorporata. Disconnettete il vostro disco rigido dalla Ultra33 e connettetelo all'interfaccia a bordo. Se avete altri dispositivi IDE quali CD Rom, unità a nastro o disco Zip, sulla vostra interfaccia a bordo, è più semplice se aggiungete il disco rigido su un canale non usato (il secondario invece che il primario) o temporaneamente spostate un dispositivo di cui non avete bisogno immediatamente (come uno Zip o un'unità a nastro). Installate Linux. Scaricate e applicate la patch per la Promise Udma. (Vedere la prossima sezione). <P> <P>Ora siete pronti per riportare indietro il disco sulla Promise... quasi. Per essere sicuri, fate un'immagine di boot del kernel su un floppy. (<CODE>cd /usr/src/linux ; make zdisk</CODE>), che sarà in grado di riavviare il vostro sistema. Eventualmente, per essere <EM>veramente</EM> sicuri, fatene due e per ora mettetene via uno. Okay, ora è il tempo di pensare un poco... se avete solo un disco rigido e esso sta funzionando sulla Promise Ultra33, allora è più probabile che esso sia <CODE>/dev/hde</CODE> (<CODE>a</CODE> e <CODE>b</CODE> sono per le interfacce a bordo primarie, <CODE>c</CODE> e <CODE>d</CODE> per le interfacce a bordo secondarie). Se state mettendo su essa un altro disco allora lo slave del primo canale sarà <CODE>/dev/hdf</CODE>, il master del secondo canale sarà <CODE>/dev/hdg</CODE>, e lo slave del secondo sarà <CODE>/dev/hdh</CODE>. <P>Modificate <CODE>/etc/fstab</CODE>, e cambiate tutte le partizioni dei dischi rigidi che state spostando dai "dischi" a bordo (<CODE>/dev/hda</CODE>, <CODE>hdb</CODE>, etc) alle loro posizioni sulla Promise (<CODE>/dev/hde</CODE>, <CODE>hdf</CODE>, etc). Se avete da disporre un qualsiasi dispositivo (come un CD Rom o un disco Zip) che volete lasciare sull'interfaccia a bordo, allora cambiateli pure alla loro nuova posizione. Per esempio, se il vostro CD Rom originariamente era master sul canale primario, (<CODE>/dev/hda</CODE>), ma mettete li il vostro disco rigido e avete soppiantato il CD come slave (<CODE>/dev/hdb</CODE>) o sul canale secondario (<CODE>/dev/hdc</CODE>), e ora volete rimetterlo indietro dov'era, allora cambiatelo in <CODE>/dev/hda</CODE>. Se state utilizzando LILO, riconfiguratelo per usare la nuova posizione del disco (la configurazione di LILO esula dallo scopo di questo, documento, se non sapete come fare leggete il <A HREF="http://www.linuxdoc.org/HOWTO/mini/LILO.html">LILO mini-HOWTO</A>), altrimenti probabilmente non sarà in grado di avviarsi a meno che non usiate il floppy di avvio che avete fatto, che vorrete anche configurare per fare il boot dalla nuova partizione. <P>Tutto ciò viene fatto usando il comando <CODE>rdev</CODE>. Inserite il floppy nel drive e digitate "<CODE>rdev /dev/fd0 /dev/hde1</CODE>". Naturalmente si assume che la vostra partizione di root sia la prima sul primo disco UDMA. Se non è così (per esempio la mia è <CODE>/dev/hde7</CODE>), allora usate l'appropriato numero di partizione. Riavviate. Il vostro sistema ora dovrebbe funzionare bene. <P><B>Applicare le patch per l'Ultra33</B> <P>I kernel 2.0.35 e successivi supportano la Promise Ultra33 in maniera nativa, scaricate un aggiornamento dalla vostra distribuzione Linux o da <A HREF="http://www.kernel.org">http://www.kernel.org</A>. Per le istruzioni su come compilare il kernel, leggete il <A HREF="http://www.linuxdoc.org/HOWTO/Kernel-HOWTO.html">Kernel HOWTO</A>. <P> <P><B>Usare 2 schede Ultra33 in una macchina</B> <P>Attualmente queste non funzionano bene, non fatelo subito, a meno che non vi stiate gingillando con il kernel per cercare di fare qualcosa per farle funzionare. <P> <H2><A NAME="promise66"></A> <A NAME="ss5.2">5.2 Promise Ultra66</A> </H2> <P> <P>Questa è essenzialmente uguale alla Ultra33 con il supporto per il nuovo UDMA mode 4 con velocità di trasferimento di 66 Mb/sec. Sfortunatamente essa non è ancora supportata dai kernel 2.2.x. C'è una patch per i kernel 2.0.x e 2.2.x disponibile su <A HREF="http://www.kernel.org/pub/linux/kernel/people/hedrick">http://www.kernel.org/pub/linux/kernel/people/hedrick</A>, e il supporto è incluso nella serie di kernel 2.3.x in via di sviluppo, almeno dal 2.3.3. Tuttavia per arrivare ad applicare patch o aggiornare il kernel dovrete tirare gli stessi sporchi trucchi usati per l'Ultra33 nella sezione sopra, oppure usare un disco con un immagine di boot <A HREF="http://www.promise.com/latest/latedrivers.htm#linuxu66">fornito dalla Promise</A><P> <P> <H2><A NAME="artop"></A> <A NAME="ss5.3">5.3 Artop ATP850UF</A> </H2> <P>Questa scheda è supportata dall'Udma generic. L'installazione di Linux su un sistema con una di esse come interfaccia per il disco su cui effettuare l'installazione può essere simile al metodo usato per la Promise Ultra33. <P> <H2><A NAME="ss5.4">5.4 Aggiungere file di dispositivo</A> </H2> <P>Le interfacce IDE terziarie e quaternarie (ide2 e ide3) usano file di dispositivo della forma <CODE>/dev/hde*</CODE> sino a <CODE>/dev/hdh*</CODE>. Sui vecchi kernel questi dispositivi non erano creati automaticamente, così avevate bisogno di aggiungerli manualmente per far sì che funzionassero correttamente. Questo può essere facilmente fatto se avete installato una copia aggiornata dei sorgenti del kernel di Linux, semplicemente avviate <CODE>/usr/src/linux/scripts/MAKEDEV.ide</CODE> che creerà tutti i file di dispositivo importanti. <P> <HR> <A HREF="Ultra-DMA-HOWTO-6.html">Avanti</A> <A HREF="Ultra-DMA-HOWTO-4.html">Indietro</A> <A HREF="Ultra-DMA-HOWTO.html#toc5">Indice</A> </BODY> </HTML>