1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924
|
The Linux Ultra-DMA Mini-Howto
Brion Vibber, brion@pobox.com
v2.1, 27 Maggio 1999
Questo documento concepito per spiegare come usare i dischi e le
interfacce Ultra-DMA alias Ultra-ATA alias Ultra33 e Ultra66 con
Linux. La versione pi recente di questo mini howto si pu prelevare,
in formato HTML, su http://pobox.com/~brion/linux/Ultra-DMA.html.
1. Introduzione
Questo documento concepito per spiegare come usare i dischi e le
interfacce Ultra-DMA alias Ultra-ATA alias Ultra33 e Ultra66 con
Linux. In molti casi il loro utilizzo non presenta difficolt, ma dei
piccoli accorgimenti possono aumentare le prestazioni. In altri casi,
avete bisogno di scavalcare ostacoli straordinari semplicemente per
accedere ai vostri dischi rigidi.
1.1. Liberatoria
L'informazione in questo documento al meglio della mia conoscenza,
corretta e dovrebbe funzionare. Tuttavia potrebbero esserci errori
tipografici, potrebbero esserci misteriosi errori di trasmissione,
potrebbero esserci strane incompatibilit nel vostro sistema che
ostacoleranno le tecniche descritte qui e non le faranno funzionare
correttamente. Perci, prima di gingillarvi con il vostro disco rigido
FATE UNA COPIA DI BACKUP DEI DATI CHE VOLETE CONSERVARE! Se non avete
ancora fatto dei backup regolarmente, iniziate subito a farli per il
vostro bene.
1.2. Crediti
Michel Aubry <mailto:giovanni@sudfr.com> - Patch per abilitare l'UDMA
per i chipset correlati ai VIA per i kernel <=2.0.33 & altre
informazioni, grand unified UDMA patch per 2.0.34+
Andrew Balsa <mailto:andrebalsa@altern.org> - Fornito molte
informazioni sull'UDMA in generale e sulla patch Udma-generic per
Intel TX, SiS, e VP1 sui kernel <=2.0.33; e anche sulla grand unified
UDMA patch per i kernel 2.0.34+
Maxime Baudin - Traduzione in francese
Bokonon - "Controller" vs. "interfaccia"
John G. <mailto:prefect@ipass.net> - Patch per il chipset VIA VP2 per
i kernel <=2.0.33 & informazioni
Martin Gaitan - Rimedio per l'installazione sulla ide0/ide1 della
Promise Ultra33
Andre M. Hedrick <mailto:hedrick@Astro.Dyer.Vanderbilt.Edu> - Grand
unified UDMA patch per i kernel 2.0.34+, Artop ATP850UF
Norman Jacobowitz - (Bugged me) per aggiungere informazioni sulla VP3
John Levon - Informazioni sulle schede madri TX Pro
Peter Monta - Informazioni sull'utilizzo di due schede per l'Ultra33
Masayoshi Nakano - Traduzione in giapponese
Gadi Oxman <mailto:gadio@netvision.net.il> - La patch per la Promise
Ultra33 per i kernel <=2.0.34 & scoperta dei "numeri segreti" per il
rimedio.
Andy Pearce - Proposte informazioni aggiuntive sui file di dispositivo
supplementari per hde-h
Andrei Pitis <mailto:pink@roedu.net> - Patch per LILO
Brion Vibber <mailto:brion@pobox.com> - Il documento stesso
1.3. Storia del documento
v2.1, 27 Maggio 1999: Corrette alcune lacune ed errori minori della
2.0 e aggiunto le informazioni sulla Promise Ultra66 e sui kernel
2.2/2.3.
v2.0, 7 Agosto 1998: Aggiornamenti pi importanti e quasi totale
ristrutturazione del documento per quanto riguarda le interfacce a
bordo (schede madri) e le interfacce non a bordo (schede aggiuntive);
la Grand Unified UDMA patch (una parte della Patch Jumbo) per il
kernel 2.0.35. Inseriti i crediti in ordine alfabetico a partire
dall'ultimo nome. Sostituito "controller" con "interfaccia" dove
sembrava tecnicamente pi corretto. Aggiunte informazioni su come
abilitare/disabilitare l'UDMA, la lista nera e altro!
v1.45, 6 Luglio 1998: Aggiornamenti minori - Patch per la Promise
Ultra33 per la Red Hat 5.1 e il kernel 2.0.34, patch per LILO per
avviare dalle interfacce PCI come la Promise Ultra33
v1.41, 3 Maggio 1998: Sistemati un paio di errori tipografici,
aggiunti i traduttori tra i crediti.
v1.4, 28 Aprile 1998: Patch UDMA-Generic, altre informazioni pi
generali. Aggiunta la sezione sui diritti di riproduzione.
v1.3, 5 Marzo 1998: Informazioni sui VIA VP3, migliori istruzioni su
come applicare la patch, suggerimento sulla pi recente patch per la
Promise.
v1.2, 27 Gennaio 1998: Informazioni aggiuntive sul rimedio per la
Promise.
v1.1, 21 Gennaio 1998: Nuove informazioni sui chipset VIA, installare
con la Promise Ultra33, e abilitare i modi di trasferimento Bus Master
& UDMA.
v1.0, 19 Gennaio 1998: Pi o meno completa, la prima versione fatta
in SGML.
1.4. Diritti di riproduzione
Questo documento pu essere liberamente copiato e distribuito a scopo
informativo. Non pu essere modificato, tranne che per essere
riformattato, senza il permesso dell'autore. Se volete tradurre questo
documento in un'altra lingua, potete farlo, tuttavia dovete contattare
prima l'autore, cosicch le versioni aggiornate di questo documento
possano essere inviate immediatamente sia al traduttore sia al Linux
Documentation Project.
2. Cos' l'Ultra-DMA e perch dovrei volerlo?
Segue una breve panoramica sui dischi basati sulle tecnologie IDE:
2.1. IDE, EIDE & ATAPI
Queste sono vecchie tecnologie per i dischi. Molti dischi rigidi e
interfacce per i dischi non SCSI che potete comprare oggi o che
probabilmente state usando sono EIDE, bench molti dei dischi pi
grandi ora disponibili siano UDMA.
2.2. Bus Master DMA
Il Bus Master DMA una tecnologia per aumentare la velocit di
trasferimento dei dati dei dischi rigidi che richiede il supporto
della scheda madre e del BIOS, e almeno qualche supporto dal disco.
Potete imparare di pi su
http://developer.intel.com/design/pcisets/busmastr/FAQs.htm.
2.3. Ultra-DMA alias Ultra-ATA alias Ultra33 alias...
L'Ultra-DMA ha molti nomi, ma qui lo chiameremo solo UDMA.
UDMA la tecnologia pi avanzata che fornisce un volume di traffico
fino a 33.3 MB/s nell'UDMA mode 2 e fino a 66.7 MB/s nell'UDMA mode 4,
da due a quattro volte maggiore rispetto l'EIDE, a un prezzo molto pi
basso di quello dello SCSI. Molti nuovi computer funzionano con grandi
dischi UDMA e con interfacce UDMA, ed possibile aggiungere una
scheda per l'interfaccia (come la Promise Ultra 33 o Ultra 66) ad un
sistema esistente per aumentare la velocit anche dei vecchi dischi
non UDMA. Potete apprendere maggiori dettagli sull'UDMA su
http://www.quantum.com/src/whitepapers/ultraata/. Notate che la
lunghezza del cavo deve essere tenuta pi corta per l'UDMA, rispetto
al DMA semplice, preferibilmente meno di 30 cm (12") di lunghezza
massima. 66 MB/s richiedono un cavo speciale che deve essere tenuto
anche pi corto.
2.4. Perch sempre "Ultra"
Prima di proseguire, lasciatemi chiarire un malinteso. Quello che 33 o
66 MB/s rappresentano il picco di velocit di trasferimento, e non
qualcosa che vedrete molto spesso. Per spiegarlo, riporto un estratto
dall'UDMA.txt, preso dall'UDMA-generic (la prima patch sull'UDMA
n.d.t.):
I picchi di velocit di trasferimento istantanei sono supposti
andare da 16.6MB/s (PIO mode 4) a 16.6MB/s (DMA mode 2) fino a 33MB/s
(UDMA). Nella sua patch al kernel 2.1.55, Kim-Hoe Pang attualmente
controlla il picco di velocit di trasferimento per l'UDMA con
un analizzatore logico: 60ns/parola, che trasferisce fino a 33MB/s.
Notate che il picco di velocit di trasferimento riguarda solo
il trasferimento dei dati dalla cache del disco EIDE (476kB per il
disco IBM da 6.4GB ), ed IMHO (In inglese "In My Humble
Opinion", "Secondo il mio modesto parere" n.d.t.) non
particolarmente rilevante per la maggioranza degli utenti
Linux. Il kernel di Linux tiene nella RAM una cache degli accessi al
disco pi grande possibile, quindi se un dato non
nella cache del kernel c' una piccola possibilit che
essa possa trovarsi nella cache (molto pi piccola) del disco
rigido.
Molto pi rilevante la velocit di trasferimento sostenuta, la
velocit alla quale i dati possono essere trasferiti dal disco alla
memoria principale dove possono essere usati. Un modo facile per
misurare la velocit di trasferimento sostenuta di usare hdparm, per
esempio "hdparm -Tt /dev/hda" per misurare la velocit del primo
dispositivo IDE.
Seguono alcuni dati raccolti dopo test esaurienti usando l'utility
hdparm (scritti anche da Mark Lord):
velocit di trasferimento sotto Linux del PIO mode 4: +/- 5.2MB/s
velocit di trasferimento sotto Linux del DMA mode 2: +/- 7.2MB/s
velocit di trasferimento sotto Linux dell'UDMA mode 2: +/- 9.8MB/s
Come potete vedere, l'UDMA quasi due volte pi veloce del normale
EIDE ed significativamente pi veloce del normale bus mastering DMA.
2.5. Come confrontare l'UDMA con lo SCSI?
Non ho molti numeri concreti da darvi, ma vi consenso generale sul
fatto che i migliori dispositivi SCSI possano dare prestazioni
migliori dell'UDMA. Tuttavia se guardate recentemente i cartellini dei
prezzi su alcuni dischi rigidi potete notare che i dischi UDMA tendono
ad essere molto meno costosi. Il rapporto prestazioni/prezzo favorisce
l'UDMA in molti casi.
3. Usare il vostro disco rigido UDMA con un'interfaccia EIDE
Questo facile da fare. Da quando tutti i dischi UDMA sono pienamente
compatibili all'indietro, appena collegate il vostro disco rigido
sulla vostra interfaccia EIDE come se fosse un qualsiasi vecchio disco
rigido, Linux non dovrebbe avere problemi a rilevarlo e ad
utilizzarlo.
4. Usare i vostri dischi rigidi con un'interfaccia UDMA
Bene, ci sono buone notizie e cattive notizie. La buona notizia che
l'interfaccia UDMA pu essere usata sia con i dischi rigidi UDMA e con
i vecchi dischi rigidi EIDE, e sar molto pi veloce di un'interfaccia
EIDE.
La cattiva notizia che la vecchia serie di kernel (2.0.x)
attualmente non supporta molto bene l'UDMA. Tuttavia i nuovi kernel
2.2.x supportano l'UDMA33 e ci sono numerose patch disponibili per i
kernel attualmente esistenti. Inoltre, alcune interfacce che sono
incluse in schede piuttosto che incorporate nella scheda madre
richiedono sia delle patch sia il ricorso ad alcune astuzie per essere
utilizzate sui kernel pi vecchi. Questo il motivo per cui esiste
questo documento. Per spiegare come procurarsi le patch e lavorare
d'astuzia.
5. Interfacce PCI UDMA non a bordo
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. Pu essere trovata anche preinstallata in alcuni computer,
specialmente sulle macchine Gateway 2000 e Dell.
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 la avete 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, in questo caso avrete bisogno
di ricorrere a strani stratagemmi.
5.1. Promise Ultra33
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 http://www.promise.com.
Questa scheda montata a bordo nei pi recenti sistemi pentium II
modello Gateway 2000 e pu o non pu esserci in modelli pi recenti.
I kernel 2.0.35 e successivi e tutti i kernel 2.2.x supportano
l'Ultra33 e non dovreste avere problemi installando una distribuzione
basata su questi kernel. Tuttavia i pi vecchi kernel stabili (2.0.34
e precedenti) non lo supportano, e poich molte distribuzioni pi
vecchie di Linux includono questi vecchi kernel si possono 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).
Installare Linux con l'Ultra33
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:
Ecco un trucchetto che vi consentir di effettuare l'installazione.
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.
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: "ide2=0xe000,0xd806
ide3=0xd400,0xd006". 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 ide3.
Red Hat 5.1: Fate il boot con il dischetto di avvio e premete invio al
prompt quando vi viene suggerito. Verr caricato il kernel, poi vi
domander una 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.
Avviate "cat /proc/pci", scrivete i numeri come sopra, e riavviate dal
dischetto di avvio. Ora, digitate "linux ide2= (questo quando date i
numeri come mostrato sopra) ide3=(altri numeri) ".
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.
Red Hat 5.0 e Slackware 3.4: Queste sono simili, ma con il trucco che
il programma d'installazione ignora /dev/hde-h (i dischi sulla ide2 e
sulla ide3).
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 /dev/hdd (ide1 - interfaccia a bordo) su un
disco rigido su /dev/hde (ide2 - l'Ultra33), dovrete non tener conto
della non necessaria ide0 con la ide2 e lasciare intatta la ide1.
Supponendo i numeri sopra potreste voler avviare con
"ide0=0xe000,0xd806". Red Hat 5.0 vi dar un prompt della shell se
usate la possibilit del disco di rescue, 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
ftp://ftp.cdrom.com/pub/linux/slackware-3.5/bootdsks.144/ e usarlo per
fare il boot.
Con altre distribuzioni, avrete un po' da improvvisare ma il processo
dovrebbe essere lo stesso come sopra.
IMPORTANTE: Senza la patch (discussa nella sezione ``UDMA-Generic''),
il kernel necessita di questi parametri di boot per accedere al vostro
disco rigido! Inoltre molto importante che quando configurate LILO
sia sul disco rigido che sul floppy d'avvio, diate esattamente gli
stessi parametri 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 "linux ide2=....."
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 ad un normale floppy di boot (fatto con "make
zdisk"), dovete usare LILO o un altro loader (come LOADLIN) che vi
permetta di passare i parametri di boot.
Tuttavia, i kernel "non rattoppati" ed i programmi di installazione
attualmente hanno 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).
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.
Notate che, se state usando un lettore CD-ROM IDE connesso alla vostra
interfaccia a bordo per l'installazione, vi dovrete assicurare di non
interferire con l'interfaccia collegata al CD altrimenti
l'installazione non potrebbe andare a buon fine!
Se il CD hda o hdb, usate ide1 per il vostro disco rigido e se esso
hdc o hdd allora usate ide0.
Installare Linux con l'Ultra33
Se non riuscite a far funzionare il rimedio software potete provare un
approccio molto pi brutale! Qui c' 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. NB: se non avete
familiarit con i processi di connessione dei dischi IDE, leggete i
manuali 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).
Ora siete pronti per riportare indietro il disco sulla Promise...
quasi. Per essere sicuri, fate un'immagine di boot del kernel su un
floppy. (cd /usr/src/linux ; make zdisk), che sar in grado di
riavviare il vostro sistema. Eventualmente, per essere veramente
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
/dev/hde (a e b sono per le interfacce a bordo primarie, c e d per le
interfacce a bordo secondarie). Se state mettendo su essa un altro
disco allora lo slave del primo canale sar /dev/hdf, il master del
secondo canale sar /dev/hdg, e lo slave del secondo sar /dev/hdh.
Modificate /etc/fstab, e cambiate tutte le partizioni dei dischi
rigidi che state spostando dai "dischi" a bordo (/dev/hda, hdb, etc)
alle loro posizioni sulla Promise (/dev/hde, hdf, 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, (/dev/hda), ma mettete li il vostro
disco rigido e avete soppiantato il CD come slave (/dev/hdb) o sul
canale secondario (/dev/hdc), e ora volete rimetterlo indietro
dov'era, allora cambiatelo in /dev/hda. Se state usando LILO,
riconfigurate LILO per usare la nuova posizione del disco (la
configurazione di LILO al di fuori dello scopo di questo documento,
se non sapete come fare leggete il LILO mini-HOWTO), 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.
Tutto ci viene fatto usando il comando rdev. Inserite il floppy nel
drive e digitate "rdev /dev/fd0 /dev/hde1". Naturalmente si assume che
la vostra partizione di root sia la prima sul primo disco UDMA. Se no
(per esempio la mia /dev/hde7), allora usate l'appropriato numero di
partizione. Riavviate. Il vostro sistema ora dovrebbe funzionare
bene.
Applicare le patch per l'Ultra33
I kernel 2.0.35 e successivi supportano la Promise Ultra33 in maniera
nativa, scaricate un aggiornamento dalla vostra distribuzione Linux o
da http://www.kernel.org. Per le istruzioni su come compilare il
kernel, leggete il Kernel HOWTO.
Usare 2 schede Ultra33 in una macchina
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.
5.2. Promise Ultra66
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
http://www.dyer.vanderbilt.edu/server/udma/, 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 avrete
da tirare i medesimi sporchi trucchi come per l'Ultra33 nella sezione
sopra.
5.3. Artop ATP850UF
Questa scheda supportata dall'Udma generic. L'installazione di Linux
su un sistema con una di queste come interfaccia per il disco su cui
effettuare l'installazione pu essere simile al metodo usato per la
Promise Ultra33.
5.4. Aggiungere file di dispositivo
Le interfacce IDE terziarie e quaternarie (ide2 e ide3) usano file di
dispositivo della forma /dev/hde* sino a /dev/hdh*. 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 /usr/src/linux/scripts/MAKEDEV.ide che creer tutti i file di
dispositivo importanti.
6. Interfacce UDMA a bordo.
Queste sono delle interfacce per dischi UDMA compatibili, installate
nella scheda madre. Usano le porte IDE I/O standard e perci sono
interamente utilizzate alle velocit pi basse non-UDMA su un kernel
2.0.x al quale non siano state applicate patch, come si fatto quando
si installato Linux. Cos potrebbero non causare alcune difficolt
durante l'installazione e applicare delle patch per la velocit UDMA
un lusso bene accetto, anzich un passo necessario. Qualche supporto
UDMA negli ultimi kernel 2.0.x, credo, ed incluso negli attuali
kernel 2.2.x per i chipset Intel.
6.1. Intel FX, HX, VX, TX, e LX
Grazie ancora a Gadi per questa informazione:
Il supporto per il bus mastering DMA per il chipset Intel TX
disponibile dal 2.0.31 e superiori.
Nei kernel pi vecchi, (come ad esempio il 2.0.30 della Slackware 3.4)
l'interfaccia sar usata nella pi lenta modalit EIDE. In entrambi i
casi l'interfaccia sar rilevata automaticamente dal kernel e non
dovreste avere problemi usandola. Il pieno supporto UDMA per questi
chipset incluso nella patch UDMA-generic, vedere ``UDMA-Generic''.
6.2. Il VIA VP2 e i chipset con esso compatibili
Anche questa interfaccia pu essere rilevata automaticamente in
modalit EIDE dal kernel senza patch, ma se avete una di queste,
vorrete sicuramente applicare una patch cos potrete ottenere un
volume di traffico pi veloce ed eliminare gli irritanti messaggi
"dispositivo PCI sconosciuto". Una disponibile su
http://www.ipass.net/~prefect/; essa progettata per il chipset VIA
VP2/97, inserito sulle schede madri FIC's PA-2007 e PA-2011, ma
potrebbe lavorare su chipset compatibili. stato riferito che esso
funziona sul pi nuovo chipset VIA VP3, ma il comportamento potrebbe
essere differente. Notate che questa patch supporta solo il modo Bus
mastering non il pieno modo UDMA, ma sempre meglio del
tranquillissimo modo EIDE. Seguite le istruzioni sul sito della patch
per abilitare il modo BMDMA. C' un'altra patch che supporta il pieno
modo UDMA su http://www.pyreneesweb.com/Udma/udma.html, disegnata per
la VIA VT82C586B, ed essa dovrebbe funzionare sui chipset VP2, VP3,
VPX, P6 e AGP Apollo. Seguono le istruzioni per l'installazione e per
abilitare li l'UDMA, ma si raccomanda che facciate un backup di tutti
i dati che volete conservare, e ci sono problemi potenziali con le
schede madri incompatibili. Ma se esse funzioneranno, potrebbero
funzionare senza problemi. Notate che il chipset VP1 non in grado di
funzionare con queste patch, ma supportato dalla patch ``UDMA-
Generic''.
6.3. TX Pro e altre schede 'Pro'
L'UDMA non attualmente supportato per schede madri TX Pro. Esse non
sono uguali alle schede madri TX, e apparentemente riferiscono
erratamente le loro capacit di DMA, da qui il problema. Ho sentito
che qualcuno sta lavorando su questo problema, cos tra qualche tempo
apparir una patch, ma non subito.
7. UDMA-Generic
La patch UDMA generic, modificata da Andr Balsa
<mailto:andrebalsa@altern.org>, Andre Hedrick
<mailto:hedrick@Astro.Dyer.Vanderbilt.Edu>, e Michel Aubry
<mailto:giovanni@sudfr.com> dal driver originale di Mark Lord per la
TRITON DMA, fornisce il supporto UDMA per i seguenti chipset (dalla
versione 0.3)
Tutti i chipset Intel: FX, HX, VX, TX, LX
Tutti i chipset SIS (testato solo il SiS5598, ma l'intera famiglia
di chipset ha lo stesso dispositivo d'interfaccia 5513
incorporato).
Chipset VIA (testato solo il 82C586B, ma anche questa famiglia di
chipset ha la stessa struttura per l'interfaccia). Un supporto
speciale per la diagnostica disponibile per le interfacce VIA.
Supporto per le interfacce e schede Promise e Artop PCI UDMA. Le
interfacce a scheda Triones PCI UDMA non sono ancora incluse.
Essa anche concepita perch sia facile estendere il supporto per
altri chipset.
L'Udma-generic, conosciuta anche come la Grand Unified UDMA Patch
(GUUP - pronunciata "goop"), stata inclusa nella patch Jumbo che
include altre caratteristiche utili quali la rilevazione automatica
della memoria oltre i 64 Mb e la rilevazione della velocit del clock
della CPU. Sfortunatamente questa patch scomparsa e non sono
completamente sicuro di dove trovare questa patch ora, cos invece uno
potrebbe andare su http://www.dyer.vanderbilt.edu/server/udma/ dove si
pu trovare una patch per l'IDE/UDMA per gli attuali kernel 2.0.x e
2.2.x, che ora include il supporto per i chipset HPT343 e ALi15x3.
Qui vi sono alcune note dell'autore:
Le prestazioni con i dischi IBM UDMA su una buona scheda madre si
avvicinano alla massima velocit di trasferimento: circa 10
Mb/s (misurata con hdparm -t -T).
Il chipset Intel TX ha una FIFO singola per i dati dei dischi rigidi
ripartita tra le sue due interfacce IDE, cos usando due dischi
UDMA non si hanno grossi miglioramenti rispetto ad un singolo
disco. Tuttavia, il SiS5598 ha due interfacce separate, ognuna con la
sua propria FIFO. Teoricamente, si potrebbe raggiungere la
velocit di trasferimento di picco di 66Mb/s sulle schede madri
con il chip SiS5598 usando il driver md ed il data striping sui due
dischi. Il SiS5571 ha la stessa architettura d'interfaccia, credo. Non
ho i datasheet (le specifiche tecniche - n.d.t.) per i chipset VIA,
cos non posso dire niente su questi.
Il driver per il kernel Linux IDE (U)DMA di Mark Lord
particolarmente veloce da installare (cio ritardo per il
trasferimento dei dati). Questo l'ideale per piccoli
trasferimenti di dati (come quelli in un server delle news per Linux),
pu essere in alcuni casi superiore alla sua
controparte SCSI.
8. Attivare e disattivare l'UDMA
Normalmente un kernel UDMA-consapevole abiliter automaticamente il
supporto per l'UDMA per i dischi e le interfacce che lo supportano.
Tuttavia a partire dal kernel 2.1.113 i trasferimenti dal disco in
UDMA sono disabilitati come predefinizione, a meno che non abbiate
specificatamente configurato il kernel per rilevarlo automaticamente.
Questo pu sembrare un inconveniente, ma molti dischi e molte
interfacce non funzionano correttamente con il DMA attivato; vedere la
lista nera per l'UDMA sotto.
8.1. Usare i parametri di boot per il kernel
Sui kernel 2.1.113 e superiori, potete abilitare il DMA per entrambi i
dischi sull'interfaccia IDE data usando il parametro del kernel
ideX=dma, dove X il numero dell'interfaccia (la prima 0). I
parametri di boot del kernel possono essere impostati usando LILO,
LOADLIN, o molti altri boot loader per Linux. Per ulteriori
informazioni vedere il Bootdisk HOWTO.
8.2. Usare hdparm
hdparm il programma usato per aggiustare i parametri dei dischi
rigidi sotto Linux.
Tra le altre cose potete usarlo per abilitare o disabilitare l'UDMA
per un disco e testare la sua velocit di trasferimento sostenuta.
La versione corrente di hdparm, 3.5i mentre sto scrivendo,
disponibile su http://www.dyer.vanderbilt.edu/server/udma/.
Compilatelo e installatelo con qualcosa di simile:
cd /usr/src
tar zxvf /tmp/download/hdparm-3.5.tar.gz
cd hdparm-3.3
cat /tmp/download/hdparm-3.5i.patch | patch -p0
make
if [ -f /sbin/hdparm ]; then rm -f /sbin/hdparm ; fi
make install
cp /usr/local/sbin/hdparm /sbin/hdparm
Per abilitare il DMA per un disco rigido: hdparm -d1 /dev/hda
Per disabilitare il DMA per un disco rigido: hdparm -d0 /dev/hda
Per misurare la velocit di trasferimento di un disco rigido: hdparm
-Tt /dev/hda
Per vedere quali opzioni sono abilitate per un disco rigido: hdparm
/dev/hda
Per vedere pi informazioni sul vostro disco rigido di quelle che
volevate sapere: hdparm -i /dev/hda
Per informazioni pi dettagliate (come per esempio per scegliere quale
modo UDMA usare) leggete la pagina man ("man 8 hdparm").
9. Problemi
9.1. La lista nera per l'UDMA
I seguenti dischi sono sulla lista nera. Non potrete usare l'UDMA con
questi dischi poich forse potrebbe danneggiare i dati.
Western Digital WDC AC22100H
La porzione UDMA della patch Jumbo-2.0.35-9 disabiliter
automaticamente il DMA per questo disco.
9.2. Avete overcloccato?
Se l'avete fatto, state attenti! Segue una citazione dalla
documentazione per l'Udma-generic:
NON OVERCLOCCATE il bus PCI. 37.5MHz la velocit
massima supportata dal bus PCI. Alcuni (supposti compatibili) dischi
UDMA non dovranno mai essere portati a 37.5MHz, ma potrebbero essere
OK a 33.3MHz. In ogni caso, MAI, MAI impostare il bus PCI a 41.5MHz.
L'impostazione di sicurezza RACCOMANDATA di 33MHz.
9.3. Il vostro BIOS aggiornato?
Segue un altro estratto dalla documentazione dell'udma-generic:
Il vero lavoro implicava che l'impostazione del chip per il
trasferimento DMA venisse fatta principalmente dal BIOS di ogni scheda
madre. Ora, invece si spera che il BIOS sia stato correttamente
programmato...
Per esempio, la scheda madre ASUS SP-97V con il suo BIOS originale
(Rev. 1.03) poteva funzionare male con il driver Linux modificato in
entrambi i modi UDMA e UDMA2; avrebbe lavorato meglio usando il PIO
mode 4, o sotto windows 95 in tutti i modi. Ho scaricato l'ultima
immagine del BIOS (Rev. 1.06) dal sito web della ASUS ed ho aggiornato
il BIOS EPROM con l'ultima versione del BIOS. Da allora in poi ha
funzionato perfettamente (con la velocit del bus a 66 MHz).
Ci che questo ci dice che il BIOS imposta il
controller DMA con dei specifici parametri di sincronizzazione
(impulsi attivi e ritorno dei cicli del clock). La mia revisione del
BIOS iniziale probabilmente aveva una scorretta sincronizzazione. Da
quando il driver per windows 95 ha impostato queste sincronizzazioni
da solo (cio esso non dipende dal BIOS per impostare i
parametri di sincronizzazione del controller del disco rigido)
inizialmente ho avuto dei problemi solo con il driver per Linux,
mentre windows 95 funzionava bene. Cos lasciatemi dichiarare
ancora questo: questo driver UDMA per Linux dipende dal BIOS per una
corretta impostazione del controller UDMA. Se avete dei problemi, per
prima cosa controllate di avere l'ultima versione del BIOS per la
vostra specifica scheda madre.
...
Le nuove revisioni del BIOS possono essere scaricate dal sito web del
costruttore della vostra scheda madre. Aggiornare una nuova immagine
del BIOS una operazione semplice ma si devono seguire
rigorosamente passo per passo le istruzioni spiegate sul manuale della
scheda madre. Le ultime revisioni dell'Award BIOS sembrano stabili
rispetto all'UDMA. Qualsiasi cosa con la data del 1998 dovrebbe essere
soddisfacente.
9.4. Se ancora non riesco a farlo funzionare!
Se niente in questo documento vi stato di aiuto, o almeno non vi ha
aiutato abbastanza per far funzionare la vostra macchina, la vostra
miglior scommessa di scrivere un messaggio che descriva
completamente le vostre difficolt, che tipo di interfaccia UDMA
avete, sia che sia a bordo, sia che sia una scheda, se il vostro disco
attualmente UDMA o un normale EIDE, esattamente che configurazione
del disco avete, quale versione (se possibile distribuzione e versione
del kernel) di Linux state usando e qualsiasi altra cosa che possa
sembrare utile, e speditela al newsgroup comp.os.linux.hardware.
Probabilmente otterrete presto alcuni suggerimenti che potranno
esservi d'aiuto.
10. Se avete alcune informazioni sulle novit dell'UDMA che non sono
incluse in questo mini howto...
Grande! Se sapete qualcosa che non so, inviatemele con qualsiasi mezzo
(brion@pobox.com) e la includer in questo documento aggiornandolo
completamente al pi presto.
|