Jakie argumenty mo¿na przekazaæ do j±dra podczas startu. Autor: Paul Gortmaker, gpg109@rsphy1.anu.edu.au v1.14, 1 Lutego 1998 WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkii,, BB..MMaarruusszzeewwsskkii@@jjttzz..oorrgg..ppll v1.4, 16 Sierpnia 1998 Dokument ten jest zestawieniem wszystkich mo¿liwych argumentów podawanych w czasie startu systemu (Boot prompt). Dotyczy to wszyst kich parametrów j±dra jak i sterowników urz±dzeñ. Zawarte s± tutaj tak¿e opisy jak j±dro sortuje te argumenty oraz najpopularniejszego oprogramowania s³u¿±cego do startu j±dra. Dokument ten zosta³ napisany w standardzie ISO-8859-2. Wersja oryginalna tego dokumentu znajduje siê pod adresem ftp.icm.edu.pl w katalogu /pub/Linux/sun site/docs/HOWTO. ______________________________________________________________________ Table of Contents: 1. Wprowadzenie 1.1. Disclaimer i Prawa autorskie. 1.2. Dokumenty zwi±zane z poni¿szym. 1.3. Grupy dyskusyjne dotycz±ce Linux-a. 1.4. Nowe wersje tego dokumentu. 2. Przegl±d argumentów podawanych w czasie startu systemu. 2.1. LILO. (LInux LOader) 2.2. LoadLin. 2.3. Narzêdzie "rdev". 2.4. Jak j±dro sortuje argumenty. 2.5. Ustawianie zmiennych ¶rodowiskowych. 2.6. Przekazywanie argumentów do programu "init". 3. Ogólne argumenty nie dotycz±ce sterowników. 3.1. Argumenty dotycz±ce g³ównego systemu plików. 3.1.1. Argument "root=". 3.1.2. Argument "ro". 3.1.3. Argument "rw". 3.2. Argumenty dotycz±ce RAM-dysku. 3.2.1. Argument "ramdisk_start=". 3.2.2. Argument "load_ramdisk=". 3.2.3. Argument "prompt_ramdisk=". 3.2.4. Argument "ramdisk_size=". 3.2.5. Argument "ramdisk=". 3.2.6. Argument "noinitrd". 3.3. . Argumenty dotycz±ce obs³ugi pamiêci. 3.3.1. Argument "mem=". 3.3.2. Argument "swap=". 3.3.3. Argument "buff=". 3.4. Argumenty dotycz±ce g³ównego systemu plików montowanego poprzez NFS. 3.4.1. Argument "nfsroot=". 3.4.2. Argument "nfsaddrs=". 3.5. Inne argumenty. 3.5.1. Argument "debug". 3.5.2. Argument "init=". 3.5.3. Argument "no387". 3.5.4. Argument "no-hlt". 3.5.5. Argument "no-scroll". 3.5.6. Argument "panic=". 3.5.7. Argument "profile=". 3.5.8. Argument "reboot=". 3.5.9. Argument "reserve=". 3.5.10. Argument "vga=". 4. Argumenty startowe dla urz±dzeñ peryferyjnych SCSI. 4.1. Argumenty dla sterowników ¶redniego poziomu. 4.1.1. Maksymalna liczba sprawdzanych urz±dzeñ LUN. ("max_scsi_luns=") 4.1.2. Parametry dla sterownika ta¶m SCSI. ("st=") 4.2. Argumenty kontrolerów SCSI. 4.2.1. Kontrolery aha151x, aha152x, aic6260, aic6360, SB16-SCSI (`aha152x=') 4.2.2. Kontroler aha154x. ("aha1542=") 4.2.3. Kontrolery aha274x, aha284x, aic7xxx ("aic7xxx=") 4.2.4. Kontroler SCSI AdvanSys. ("advansys=") 4.2.5. Kontroler Always IN2000. ("in2000=") 4.2.6. Sprzêt na podstawie AMD AM53C974. ("AM53C974=") 4.2.7. Kontrolery SCSI BusLogic z j±drem w wersji 1.2. ("buslogic=") 4.2.8. Kontroler SCSI BusLogic z j±drem w wersji 2.x. ("BusLogic=") 4.2.9. Karty EATA SCSI. ("eata=") 4.2.10. Future Domain TMC-8xx, TMC-950. ("tmc8xx=") 4.2.11. Future Domain TMC-16xx, TMC-3260, AHA-2920. ("fdomain=") 4.2.12. Port równoleg³y IOMEGA / sterownik ZIP. ("ppa=") 4.2.13. Kontrolery oparte na NCR5380. ("ncr5380=") 4.2.14. Kontrolery oparte na NCR53c400. ("ncr53c400=") 4.2.15. Kontrolery oparte na NCR53c406a. ("ncr53c406a=") 4.2.16. Pro Audio Spectrum. ("pas=16") 4.2.17. Seagate ST-0x ("st0x=") 4.2.18. Trantor T128. ("t128=") 4.2.19. Karta Ultrastor SCSI. ("u14-34f=") 4.2.20. Karty Western Digital WD7000. ("wd7000=") 4.3. Kontrolery SCSI nie przyjmuj±ce parametrów. 5. Dyski twarde. 5.1. Parametry dla dysków i CD-ROM-ów IDE. 5.2. Parametry standardowego sterownika ST-506. ("hd=") 5.3. Parametry sterownika dysku XT. ("xd=") 6. CD-ROM-y (Napêdy inne ni¿ SCSI/ATAPI/IDE). 6.1. Interfejs Aztech. ("aztcd=") 6.2. Interfejs Sony CDU-31A i CDU-33A. ("cdu31a=") 6.3. Interfejs Sony CDU-535. ("sonycd535=") 6.4. Interfejs GoldStar. ("gscd=") 6.5. Interfejs ISP16. ("isp16=") 6.6. Interfejs Mitsumi Standard. ("mcd=") 6.7. Interface Mitsumi XA/MultiSession. ("mcdx=") 6.8. Optics Storage Interface. ("optcd=") 6.9. Interfejs Philips CM206. ("cm206=") 6.10. Interfejs Sanyo. ("sjcd=") 6.11. Interfejs SoundBlaster Pro. ("sbpcd=") 7. Inne urz±dzenia. 7.1. Urz±dzenia Ethernet. ("ether=") 7.2. Sterownik do dyskietek. ("floppy=") 7.3. Sterownik do d¼wiêku. ("sound=") 7.4. Sterownik do myszy Bus. ("bmouse=") 7.5. Sterownik do myszy MS Bus. ("msmouse=") 7.6. Sterownik do drukarki, ("lp=") 7.7. Sterownik do ICN ISDN. ("icn=") 7.8. Sterownik do PCBIT ISDN. ("pcbit=") 7.9. Sterownik do Teles ISDN. ("teles=") 7.10. Sterownik do DigiBoard. ("digi") 7.11. Sterownik wieloportowej karty szeregowej RISCom/8. ("riscom8=") 7.12. Baycom Serial/Paralell Radio Modem. ("baycom=") 8. Zakoñczenie. 9. Od t³umacza. ______________________________________________________________________ 11.. WWpprroowwaaddzzeenniiee J±dro ma ograniczon± mo¿liwo¶æ przyjmowania informacji podczas startu w formie poleceñ wydawanych z wiersza poleceñ, podobnych do listy argumentów jakie poda³by¶ do zwyk³ego programu. W ogólno¶ci stosuje siê to do przekazywania pewnych informacji do j±dra na temat przy³±czonych urz±dzeñ, których ono samo nie mog³oby wykryæ, lub w celu zmiany ustawieñ, tych urz±dzeñ. Je¶li skopiujesz j±dro bezpo¶rednio na dyskietkê, (np. cp zImage dev/fd0) wtedy nie masz mo¿liwosci przekazania ¿adnych argumentów do tego j±dra. Dlatego wiêkszo¶æ u¿ytkowników Linux-a u¿ywa specjalnych programów takich jak _L_I_L_O czy _l_o_a_d_l_i_n s³u¿±cych do przekazywania tych argumentów do j±dra i do ³adowania go. _W_A_¯_N_A _U_W_A_G_A _D_L_A _U_¯_Y_T_K_O_W_N_I_K_Ó_W _M_O_D_U_£_Ó_W_: Argumenty podczas ³adowania j±dra odnosz± siê zwykle do sterowników sprzêtowych wkompilowanych w j±dro na sta³e. _N_i_e _o_d_n_o_s_z_± one ¿adnego skutku w stosunku do sterowników ³±downych jako modu³y. Wiêkszo¶æ dystrybucji u¿ywa modu³ów. Je¶li nie jeste¶ pewien, to spójrz do man depmod i man nmodprobe jak równie¿ do /etc/conf/modules. Bie¿±ca wersja tego dokumentu dotyczy j±dra do wersji 2.0.33 w³±cznie oraz wersji rozwojowych do 2.1.84. Dokument ten zosta³ pierwotnie napisany i opiekuje siê nim: Paul Gortmaker, _g_p_g_1_0_9_@_r_s_p_h_y_1_._a_n_u_._e_d_u_._a_u ***** UWAGA !!!!! ***** Argumenty j±dra nie dotycz±ce urz±dzeñ i portów specyficznych dla maszyn typu i386 (szczególnie Atari/Amiga) nie s± obecnie udokumentowane. *********************** 11..11.. DDiissccllaaiimmeerr ii PPrraawwaa aauuttoorrsskkiiee.. Dokument ten _n_i_e _j_e_s_t idealny i najlepszy. Aczkolwiek jest on przypuszczalnie naj¶wie¿szym, i zawiera naj¶wie¿sze dane, które bêdziesz w stanie znale¼æ. Nikt nie jest odpowiedzialny za to co stanie siê z twoimi urz±dzeniami poza tob±. Je¶li twój komputer zacznie siê paliæ (... co jest raczej niemo¿liwe!) ja nie biorê odpowiedzialno¶ci, tzn: AUTOR NIE JEST ODPOWIEDZIALNY ZA JAKIEKOLWIEK ZNISZCZENIA POWSTA£E NA SKUTEK PODJÊTYCH DZIA£AÑ NA PODSTAWIE TEGO DOKUMENTU. (T³umacz te¿ nie ;)) ) Dokument ten jest chroniony prawami autorskimi (C) 1995-1998 Paula Gortmakera. Dokument ten mo¿e byæ kopiowany zgodnie z warunkami licencji GNU, v2, która jest tu zawarta poprzez odwo³anie siê do niej. Wiêcej na temat szczegó³ów znajdziesz w pliku linux/COPYING, który jest zawarty w dystrybucji ¼róde³ j±dra. Je¶li zamierzasz wydaæ ten dokument jako pracê drukowan±, skontaktuj siê z autorem, a on postara siê sprawdziæ czy masz naj¶wie¿sze dostêpne informacje. W przesz³o¶ci publikowane by³y przestarza³e dokumenty, które powodowa³y zasypywanie programistów pytaniami, które zosta³y ju¿ rozwi±zane w najnowszych dokumentach. 11..22.. DDookkuummeennttyy zzwwii±±zzaannee zz ppoonnii¿¿sszzyymm.. Naj¶wie¿sz± dokumentacj± bêdzie zawsze wersja ¼ród³owa j±dra. Ale poczekaj, nie uciekaj ! Nie musisz znaæ ¿adnego jêzyka programowania, aby czytaæ komentarze zawarte w ¼ród³ach. Na przyk³ad je¶li szukasz jakie argumenty mog± byæ przekazane do sterownika AHA1542 SCSI, zajrzyj do katalogu linux/drivers/scsi i pliku aha1542.c - a w pierwszych 100 liniach znajdziesz czysty tekst w jêzyku angielskim (niestety, ale nie ma fizycznej mo¿liwosci na t³umaczenie tych tekstów) opisuj±cy argumenty, których szukasz. Nastêpnymi najlepszymi dokumentami bêd± te, dystrybuowane ze ¼ród³ami j±dra. Jest tam ich teraz nawet ca³kiem sporo, a wiêkszo¶æ z nich znajduje siê w podkatalogu Documentation i jego dalszych podkatalogach. ¬ród³a j±dra znajduj± siê zwykle w katalogu /usr/src/linux. Czasami mo¿na znale¼æ pliki README.xx w odpowiednich podkatalogach. Je¶li ju¿ wiesz jakich parametrów chcesz u¿ywaæ i chcesz teraz wiedzieæ jak przekazaæ je do j±dra to spójrz na dokumentacjê, która przychodzi razem z oprogramowaniem, którego bêdziesz u¿ywa³, aby za³adowaæ j±dro (najczê¶ciej jest to LILO lub loadlin). Krótki przegl±d znajduje siê poni¿ej, ale nie zastêpuje on dokumentacji dostarczanej wraz z danym oprogramowaniem. 11..33.. GGrruuppyy ddyysskkuussyyjjnnee ddoottyycczz±±ccee LLiinnuuxx--aa.. Je¶li masz jakie¶ pytania dotycz±ce przekazywania parametrów do j±dra, PRZECZYTAJ najpierw ten dokument. Je¶li ten i zwi±zane z nim wymienione wcze¶niej dokumenty nie odpowiedz± na twoje pytania wtedy mo¿esz spróbowaæ poczytaæ grupy dyskusyjne. Jednak zanim zaczniesz na ¶lepo wysy³aæ listy najpierw poczytaj przez kilka dni dan± grupê, bo mo¿e akurat kto¶ ju¿ zacz±³ ten temat, a mo¿e nawet twoje pytanie zalicza siê do czêsto zadawanych pytañ _(_F_r_e_q_u_e_n_t_l_y _A_s_k_e_d _Q_u_e_s_t_i_o_n_s _- _F_A_Q_). Szybkie przejrzenie jakiego¶ dokumentu FAQ mo¿e byæ dobrym pomys³em zanim zaczniesz wysy³aæ pytania do grup dyskusyjnych. Ogólne pytania jak skonfigurowaæ swój system kieruj na grupê _p_l_._c_o_m_p_._o_s_._l_i_n_u_x. Przestrzegaj poprzedniego paragrafu oraz nie wysy³aj pytañ do wielu grup na raz poniewa¿ z regu³y czytaj± je te same osoby. 11..44.. NNoowwee wweerrssjjee tteeggoo ddookkuummeennttuu.. Nowe wersje bêd± siê znajdowaæ pod adresem ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/docs/HOWTO. Bêd± one sukcesywnie uaktualniane jak tylko bêd± siê pojawiaæ nowe sterowniki b±d¼ informacje. Dokument ten zosta³ stworzony przy pomocy systemu SGML, który zosta³ przygotowany specjalnie dla projektu Linux HOWTO. Dziêki temu dostêpne s± ró¿ne wersje tego dokumentu takie jak: postscript, dvi, ascii, html a wkrótce tak¿e Texinfo. Wszystkie te wersje s± dostêpne na ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/doc/HOWTO. Zaleca³bym przegl±danie tego dokumentu jako html lub postscript, gdy¿ jest tu wiele odwo³añ, których brakuje w zwyk³ym tek¶cie. 22.. PPrrzzeeggll±±dd aarrgguummeennttóóww ppooddaawwaannyycchh ww cczzaassiiee ssttaarrttuu ssyysstteemmuu.. Ta sekcja podaje kilka przyk³adów oprogramowania, które mo¿e byæ u¿yte do przekazywania argumentów do j±dra i do ³adowania go. Podaje tak¿e sposób interpretacji argumentów, jakie s± na nie ograniczenia i jak s± filtrowane dla odpowiedniego urz±dzenia. Wa¿ne jest aby _N_I_E u¿ywaæ odstêpów w argumentach, tylko pomiêdzy nimi. Warto¶ci jakie maj± byæ przekazane maj± byæ oddzielone przecinkami _b_e_z _¿_a_d_n_y_c_h _o_d_s_t_ê_p_ó_w. Spójrz na nastêpuj±cy przyk³ad: ______________________________________________________________________ ether=9,0x300,0xd0000,0xd4000,eth0 root=/dev/hda1 *DOBRZE* ether = 9, 0x300, 0xd0000, 0xd4000, eth0 root = /dev/hda1 *¬LE* ______________________________________________________________________ 22..11.. LLIILLOO.. ((LLIInnuuxx LLOOaaddeerr)) Najczê¶ciej u¿ywanym programem s³u¿±cym do ³adowania Linux-a jest LILO (LInux LOader), napisany przez Wernera Amesbergera. Ma mo¿liwo¶æ ³adowania ró¿nych j±der (jak i systemów) a swoj± konfiguracjê zapisuje w pliku tekstowym. Wiêkszo¶æ dystrybucji jest rozprowadzana z LILO jako domy¶lnym programem ³aduj±cym. LILO umie za³adowaæ DOS-a, OS/2, Linux-a, FreeBSD i wiele innych systemów bez ¿adnych trudno¶ci i jest do¶æ elastyczny. W typowej konfiguracji LILO zatrzyma siê krótko po w³±czeniu komputera i wy¶wietli _L_I_L_O_:. Przez nastêpnych kilka sekund bêdzie czekaæ na podanie ewentualnych argumentów a nastêpnie zacznie ³adowaæ domy¶lny system. Typowymi etykietami opisuj±cymi systemy i u¿ywanymi w LILO s± linux, backup, linux-old, old, dos, msdos. Je¶li chcesz wpisaæ jakie¶ argumenty, wpisujesz je zaraz po nazwie systemu jaki chcesz za³adowaæ, tak jak w przyk³adzie poni¿ej: ______________________________________________________________________ LILO: linux root=/dev/hda1 ______________________________________________________________________ Bardzo przydatne jest polecenie append= je¶li kto¶ chce dodaæ jaki¶ argument na sta³e. Tak wiêc aby nie wpisywaæ go za ka¿dym razem wystarczy po prostu dodaæ linijkê append = "xxx=yyy" do plik /etc/lilo.conf. Mo¿e byæ ona dodana albo na pocz±tku pliku, wtedy bêdzie siê odnosiæ do wszystkich sekcji, albo w danej sekcji image, tak aby odnosi³a siê tylko do niej. Zajrzyj do dokumentacji LILO aby dowiedzieæ siê wiêcej szczegó³ów. 22..22.. LLooaaddLLiinn.. Innym czêsto u¿ywanym programem do ³adowania Linux-a jest _l_o_a_d_l_i_n_._e_x_e. Jest to DOS-owy program, który potrafi za³adowaæ j±dro (wraz z argumentami startowymi) z wiersza poleceñ DOS-a zak³adaj±c, ¿e s± dostêpne pewne zasoby. Jest to dobre rozwi±zanie dla tych, którzy u¿ywaj± DOS-a i chc± siê z niego szybko (lub niekoniecznie) prze³±czyæ na Linux-a. Jest on tak¿e bardzo przydatny je¶li masz jakie¶ urz±dzenie, które aby by³o przydatne do u¿ycia musi zostaæ ustawione przez sterownik DOS- owy. Dobrym przyk³adem mog± byæ tutaj karty kompatybilne z SoundBlaster, które musz± mieæ ustawione kilka rejestrów przez sterownik DOS-owy aby ustawiæ je w tryb kompatybilno¶ci z SoundBlaster. £adowanie DOS-a wraz ze sterownikiem, a potem ³adowanie Linux-a z wiersza poleceñ DOS-a programem LOADLIN.EXE zapobiega zresetowaniu karty, co mia³oby miejsce gdyby¶my zresetowali komputer, aby uruchomiæ Linux-a. W ten sposób karta zostaje w trybie kompatybilno¶ci z SoundBlaster i jest przydatna do u¿ycia pod Linux- em. S± tak¿e inne programy s³u¿±ce do ³adowania Linux-a. Aby poznaæ kompletn± listê takich programów zajrzyj do swojego lokalnego serwera ftp do katalogu system/Linux-boot. 22..33.. NNaarrzzêêddzziiee ""rrddeevv"".. Jest kilka argumentów startowych, których warto¶ci domy¶lne s± zapisane w ró¿nych bajtach w samym j±drze. Jest narzêdzie zwane rdev zainstalowane na wiêkszo¶ci systemów, które wie gdzie te bajty siê znajduj± i jak je zmieniæ. Potrafi ono tak¿e zmieniæ ró¿ne rzeczy, które nie maj± swoich argumentów startowych, jak na przyk³ad domy¶lny tryb wy¶wietlania. Narzêdzie rdev mo¿e byæ zwykle zast±pione przez swapdev, ramsize, vidmode i rootflags. Jest to piêæ rzeczy, które rdev potrafi zmieniæ: g³ówny system plików (katalog "/"), urz±dzenie swap, parametry RAM- dysku, domy¶lny tryb graficzny i ustawienia g³ównego systemu plików jako tylko-do-odczytu b±d¼ w tryb odczytu-zapisu. Wiêcej informacji na temat rdev mo¿na znale¼æ pisz±c w wierszu poleceñ rdev -h b±d¼ w podrêczniku systemowym man. 22..44.. JJaakk jj±±ddrroo ssoorrttuujjee aarrgguummeennttyy.. Wiêkszo¶æ argumentów startowych ma nastêpuj±c± sk³adniê: ______________________________________________________________________ nazwa=[warto¶æ_1][,warto¶æ_2]...[,warto¶æ_11] ______________________________________________________________________ gdzie "nazwa" jest unikalnym s³owem kluczowym identyfikuj±cym czê¶æ j±dra, do którego odnosz± siê podane warto¶ci. Wiêksza ilo¶æ argumentów startowych to lista powy¿szych wywo³añ oddzielonych od siebie odstêpem. Zauwa¿, ¿e maksymalna ilo¶æ warto¶ci to 11. J±dro rzeczywi¶cie rozpoznaje tylko 11 elementów oddzielonych przecinkami przy danym s³owie kluczowym. (Chocia¿ mo¿esz u¿yæ ponownie tego samego s³owa kluczowego z dodatkowymi 11 argumentami w jakich¶ niezwykle skomplikowanych sytuacjach, zak³adaj±c, ¿e dane funkcja ustawiaj±ca (patrz ni¿ej) to dopuszcza). Zwróæ uwagê na fakt, i¿ j±dro dzieli tê listê na maksimum 10 argumentów typu integer, i nastêpuj±cy po nich ³añcuch, wiêc tak naprawdê nie mo¿esz podaæ 11 argumentów typu integer o ile nie przerobisz sterownika tak, aby sam sobie zamieni³ ten 11 element na liczbê typu integer. Wiekszo¶æ sortowania odbywa siê w linux/init/main.c. Najpierw j±dro sprawdza czy argument jest jednym ze specjalnych argumentów: root=, ro, rw, debug. Znaczenie tych parametrów jest opisane dalej w tym dokumencie. Nastêpnie sprawdza listê argumentów zawartych w tablicy bootsetups czy podany ³añcuch nie zosta³ przypisany której¶ z funkcji ustawiaj±cej konkretne urz±dzenie b±d¼ czê¶æ j±dra. Je¶li przekaza³e¶ do j±dra liniê xxx=3,4,5,6,yyy wtedy j±dro przeszuka³oby tablicê bootsetups aby zobaczyæ czy xxx jest tam wymienione. Je¶li by³oby wymienione wtedy uruchomi³oby funkcjê zwi±zan± z xxx i przekaza³oby jej argumenty typu integer: 3,4,5,6 oraz ostatni ³añcuch yyy. 22..55.. UUssttaawwiiaanniiee zzmmiieennnnyycchh ¶¶rrooddoowwiisskkoowwyycchh.. Wszystko w formie "xxx=yyy", co nie jest funkcj± ustawiaj±c± opisan± powy¿ej jest interpretowane jako zmienna ¶rodowiskowa, maj±ca byæ ustawiona. (bezu¿ytecznym?) Przyk³adem mog³oby byæ u¿ycie TERM=vt100 jako argumentu startowego. 22..66.. PPrrzzeekkaazzyywwaanniiee aarrgguummeennttóóww ddoo pprrooggrraammuu ""iinniitt"".. Wszystkie pozosta³e argumenty startowe, które nie zosta³y rozpoznane jako funkcje ustawiaj±ce, czy zmienne ¶rodowiskowe s± przekazywane do procesu o numerze 1, którym zazwyczaj jest init. Najczêstszym przekazywanym argumentem do programu init jest s³owo single oznaczaj±ce uruchomienie systemu w trybie jednego u¿ytkownika nie uruchamiaj±c demonów, które zwykle s± uruchamiane. Sprawd¼ w podrêczniku man jak± masz wersjê programu "init" i jakie argumenty mo¿esz mu przekazaæ. 33.. OOggóóllnnee aarrgguummeennttyy nniiee ddoottyycczz±±ccee sstteerroowwnniikkóóww.. S± to argumenty nie dotycz±ce ¿adnych konkretnych sterowników czy urz±dzeñ peryferyjnych. Odnosz± siê natomiast do wewnêtrznych parametrów j±dra, takich jak: obs³uga pamiêci, obs³uga RAM-dysku, obs³uga g³ównego systemu plików itd. 33..11.. AArrgguummeennttyy ddoottyycczz±±ccee gg³³óówwnneeggoo ssyysstteemmuu pplliikkóóww.. Nastêpuj±ce argumenty maj± wp³yw na to jak j±dro bêdzie obs³ugiwaæ g³ówny system plików: 33..11..11.. AArrgguummeenntt ""rroooott=="".. Poprzez ten argument mo¿emy przekazaæ do j±dra które urz±dzenie ma byæ u¿yte jako g³ówny system plików. Domy¶lnym ustawieniem jest tutaj urz±dzenie, na którym by³ g³ówny system plików, podczas tworzenia (kompilacji) j±dra. Na przyk³ad je¶li dane j±dro by³o utworzone na systemie, w którym g³ówny system plików by³ na urz±dzeniu /dev/hda1 wtedy domy¶lnym ustawieniem bêdzie "/dev/hda1". Aby to zmieniæ i ustawiæ drug± stacjê dyskietek jako g³ówny system plików trzeba u¿yæ argumentu root= w nastêpuj±cy sposób: ______________________________________________________________________ root=/dev/fd1 ______________________________________________________________________ G³ówny system plików mo¿e byæ zamontowany na nastêpuj±cych urz±dzeniach: (1) /dev/hdaN do /dev/hddN, gdzie N jest numerem partycji na dysku pierwszym, drugim, trzecim lub czwartym kompatybilnym z ST-506. (2) /dev/sdaN do /dev/sdeN, gdzie N jest numerem partycji na dysku pierwszym, drugim, trzecim, czwartym lub pi±tym kompatybilnym z SCSI. (3) /dev/xdaN do /dev/xdbN, gdzie N jest numerem partycji na dysku pierwszym lub drugim kompatybilnym z XT. (4) /dev/fdN, gdzie N jest numerem stacji dyskietek (N=0 - A:, N=1 - B:) (5) /dev/nfs, co raczej nie jest urz±dzeniem a argumentem, który mówi, ¿eby zamontowaæ g³ówny system plików poprzez sieæ. Inna znacznie bardziej k³opotliwa i skomplikowana metoda przekazania, na którym urz±dzeniu ma byæ g³ówny system plików jest podanie liczby g³ównej i pobocznej (np. /dev/sda3 to liczba g³ówna - 8, liczba poboczna - 3 a wiêc móg³by¶ napisaæ root=0x803. To jest jeden z kilku argumentów startowych, który ma zapisan± domy¶ln± warto¶æ w j±drze, i który przez to mo¿e byæ zmieniany za pomoc± rdev. 33..11..22.. AArrgguummeenntt ""rroo"".. Kiedy j±dro ³aduje system, potrzebuje g³ównego systemu plików, aby odczytaæ z niego podstawowe informacje. To jest g³ówny system plików montowany podczas ³adowania. Chocia¿, je¶li system ten jest zamontowany z mo¿liwosci± zapisu, nie mo¿esz dok³adnie sprawdziæ jego integralno¶ci (poprawno¶ci) je¶li akurat trwa zapis pliku. Argument ro przekazuje do j±dra informacjê, aby zamontowaæ g³ówny system plików jako tylko-do-odczytu, tak wiêc jakikolwiek program sprawdzaj±cy poprawno¶æ systemu plików mo¿e za³o¿yæ, ¿e nie ma ¿adnych czê¶ciowo zapisanych plików podczas sprawdzania. ¯aden program ani proces nie mo¿e zapisaæ niczego do pliku dopóki system plików nie zostanie przemontowany w tryb odczytu-zapisu (read-write). To jest jeden z kilku argumentów startowych, który ma zapisan± domy¶ln± warto¶æ w j±drze, i który przez to mo¿e byæ zmieniany za pomoc± rdev. 33..11..33.. AArrgguummeenntt ""rrww"".. To jest dok³adn± odwrotno¶ci± poprzedniego argumentu, czyli przekazuje do j±dra, aby zamontowaæ g³ówny system plików z mo¿liwosci± zapisu. Tak czy inaczej ostatecznie chcemy mieæ mo¿liwo¶æ zapisu na g³ównym systemie plików. Ale pamiêtaj, aby nie uruchamiaæ ¿adnych programów testuj±cych (typu fsck) system plików kiedy jest on zamontowany z mo¿liwo¶ci± zapisu. Ta sama warto¶æ zapisana w j±drze wspomniana wy¿ej jest u¿ywana do tego argumentu, dostêpna przez rdev. 33..22.. AArrgguummeennttyy ddoottyycczz±±ccee RRAAMM--ddyysskkuu.. Nastêpuj±ce argumenty s± zwi±zane z tym jak j±dro obs³uguje RAM-dysk, który jest zwykle u¿ywany do bootstrappingu podczas instalacji lub na maszynach ze sterownikami w postaci modu³ów, które musz± byæ zainstalowane aby mieæ dostêp do g³ównego systemu plików. 33..22..11.. AArrgguummeenntt ""rraammddiisskk__ssttaarrtt=="".. Aby pozwoliæ obrazowi j±dra na przebywanie na dyskietce wraz ze skompresowanym obrazem RAM-dysku dodany zosta³ argument `ramdisk_start=<offset>'. J±dro nie mo¿e byæ zawarte w skompresowanym obrazie g³ównego systemu plików na RAM-dysku, poniewa¿ musi ono byæ zapisane poczynaj±c od bloku 0, tak aby BIOS móg³ za³adowaæ bootsektor i wtedy j±dro mo¿e zacz±æ siê ³adowaæ. Uwaga: Je¶li u¿ywasz rozpakowanego obrazu RAM-dysku, wtedy j±dro mo¿e byæ czê¶ci± obrazu g³ównego systemu plików, który jest ³adowany do RAM-dysku i system mo¿e wystartowaæ z tej dyskietki, albo obraz g³ównego systemu plików i j±dro mog± byæ dwiema oddzielnymi dyskietkami, tak jak w przypadku skompresowanego obrazu. Je¶li u¿ywasz dwóch dyskietek (bootdysk z j±drem i rootdysk z obraze RAM-dysku) wtedy RAM-dysk zaczyna siê od bloku 0 i jako offset w naszym przyk³adzie trzeba wpisaæ 0. Poniewa¿ jest to domy¶lna warto¶æ nie musisz w tym przypadku u¿ywaæ tego argumentu. 33..22..22.. AArrgguummeenntt ""llooaadd__rraammddiisskk=="".. Ten argument informuje j±dro czy ma ono ³adowaæ RAM-dysk czy nie. Pisz±c load_ramdisk=1 informujesz j±dro, aby za³adowaæ zawarto¶æ dyskietki do RAM-dysku. Domy¶ln± warto¶ci± jest 0, czyli j±dro nie ma ³adowaæ zawarto¶ci dyskietki do RAM-dysku. Dok³adny opis argumentów startowych dotycz±cych RAM-dysku znajdziesz w linux/Documentation/ramdiskt.txt. Jest tam tak¿e opisane w jaki sposób mo¿na zapisaæ w j±drze warto¶æ tego parametru poleceniem rdev. 33..22..33.. AArrgguummeenntt ""pprroommpptt__rraammddiisskk=="".. Ten argument informuje j±dro czy wypisywaæ pro¶bê o w³o¿enie dyskietki z zawarto¶ci± RAM-dysku czy nie. W konfiguracji z jedn± dyskietk± zawarto¶æ RAM-dysku jest na tej samej dyskietce co j±dro, które siê w³a¶nie przesta³o ³adowaæ, a wiêc pro¶ba nie jest potrzebna. W tym wypadku mo¿na u¿yæ prompt_ramdisk=0. W konfiguracji z dwiema dyskietkami potrzebujesz czasu na zamianê dyskietek a wiêc nale¿y u¿yæ prompt_ramdisk=1. Poniewa¿ to jest warto¶æ domy¶lna nie trzeba tego pisaæ. (Uwaga historyczna: Co sprytniejsi u¿ywali opcji LILO vga=ask, aby na chwilê przerwaæ start systemu i zamieniæ dyskietki.) Dok³adny opis argumentów startowych dotycz±cych RAM-dysku znajdziesz w linux/Documentation/ramdiskt.txt. Jest tam tak¿e opisane w jaki sposób mo¿na zapisaæ w j±drze warto¶æ tego parametru poleceniem rdev. 33..22..44.. AArrgguummeenntt ""rraammddiisskk__ssiizzee=="".. Poniewa¿ prawd± jest, ¿e zawarto¶æ RAM-dysku ro¶nie dynamicznie wraz z coraz nowszymi wersjami systemu, jest górne ograniczenie jego rozmiaru, tak aby nie zabra³ ca³ej pamiêci RAM i nie zostawi³ nas na lodzie. Domy¶ln± warto¶ci± jest 4096 (czyli 4MB), która powinna byæ wystarczaj±co du¿a dla wiêkszo¶ci potrzeb. Mo¿esz zmieniæ tê warto¶æ zale¿nie od potrzeb na mniejsz± lub wiêksz± przy pomocy tego argumentu. Dok³adny opis argumentów startowych dotycz±cych RAM-dysku znajdziesz w linux/Documentation/ramdiskt.txt. Jest tam tak¿e opisane w jaki sposób mo¿na zapisaæ w j±drze warto¶æ tego parametru poleceniem rdev. 33..22..55.. AArrgguummeenntt ""rraammddiisskk=="".. (UWAGA: Ten argument jest przestarza³y i nie powinien byæ u¿ywany z j±drami w wersji wy¿szej ni¿ 1.3.47. Argumenty, których nale¿y u¿ywaæ zosta³y opisane powy¿ej.) Argument ten okre¶la rozmiar RAM-dysku w kB. Na przyk³ad je¶li kto¶ chcia³by mieæ g³ówny system plików na dyskietce 1.44MB za³adowanej do RAM-dysku u¿y³by nastêpuj±cego argumentu: ______________________________________________________________________ ramdisk=1440 ______________________________________________________________________ To jest jeden z kilku argumentów startowych, który ma zapisan± domy¶ln± warto¶æ w j±drze, i który przez to mo¿e byæ zmieniany za pomoc± rdev. 33..22..66.. AArrgguummeenntt ""nnooiinniittrrdd"".. J±dra w wersji 2.x i wy¿szej maj± mo¿liwo¶æ wykonywania /linuxrc z zawarto¶ci RAM-dysku. Mo¿liwo¶æ ta jest zwykle wykorzystywana, aby umo¿liwiæ ³adowanie modu³ów potrzebnych do zamontowania rzeczywistego g³ównego systemu plików (np. za³aduj sterownik SCSI zapisany w RAM- dysku, a potem zamontuj rzeczywisty g³ówny system plików znajduj±cy siê na dysku SCSI.) W³a¶ciwy argument "noinitrd" okre¶la co dzieje siê z danymi initrd po tym jak j±dro siê za³adowa³o. Je¶li podamy ten argument dane te stan± siê dostêpne poprzez urz±dzenie specjalne /dev/initrd, które mo¿e byæ czytane zanim pamiêæ RAM zostanie przywrócona systemowi, zamiast byæ zapisanymi do RAM-dysku. Odno¶nie szczegó³ów dotycz±cych u¿ywania startowego RAM-dysku, przeczytaj linux/Documentation/initrd.txt. Najnowsza wersja LILO oraz loadlin.exe powinna mieæ tak¿e dodatkowe informacje na ten temat. 33..33.. Nastêpuj±ce argumenty okre¶laj± jak Linux wykrywa i obs³uguje pamiêæ fizyczn± i wirtualn± w twoim systemie. 33..33..11.. AArrgguummeenntt ""mmeemm=="".. Ten argument ma dwa przeznaczenia: Pierwotnym za³o¿eniem by³o okre¶lenie ilo¶ci zainstalowanej pamiêci (lub warto¶æ mniejsza je¶li chcia³e¶ u¿yæ mniej pamiêci ni¿ masz w rzeczywisto¶ci). Drugim (prawie wcale nie u¿ywanym) przeznaczeniem jest podanie mem=nopentium co informuje j±dro, aby nie u¿ywa³o stron pamiêci o rozmiarze 4MB. Oryginalne odwo³anie do BIOS-u w specyfikacji PC, które zwraca ilo¶æ zainstalowanej pamiêci zosta³o tak zaprojektowane, ¿e by³o w stanie zwróciæ co najwy¿ej 64MB. (Tak! Nastêpny przyk³ad na brak patrzenia w przysz³o¶æ, zupe³nie tak samo jak w przypadku ilo¶ci cylindrów dysku ograniczonej do 1024... eh). Linux u¿ywa tego odwo³ania BIOS-u podczas startu, aby okre¶liæ ilo¶æ zainstalowanej pamiêci. Je¶li masz wiêcej ni¿ 64MB RAM-u, mo¿esz u¿yæ tego argumentu, aby poinformowaæ j±dro, ile rzeczywi¶cie masz pamiêci RAM. Oto cytat Linusa na temat jak u¿ywaæ tego argumentu: "J±dro zaakceptuje jakikolwiek argument "mem=xx" jaki mu podasz, a je¶li stwierdzi, ¿e je ok³ama³e¶, wywali siê z wielkim hukiem wcze¶niej czy pó¼niej. Argument ten okre¶la najwy¿szy dostêpny adres pamiêci RAM, wiêc mem=0x1000000 znaczy, ¿e masz 16MB RAM-u na przyk³ad. Dla maszyny z 96MB RAM-u by³oby to: mem=0x6000000. UWAGA UWAGA UWAGA: niektóre maszyny mog± u¿ywaæ najwy¿szych adresów do cache'owania BIOS-u czy czego¶ podobnego, wiêc móg³by¶ nie mieæ pe³nych 96MB RAM-u dostêpnego. I na odwrót: niektóre procesory odwzorowuj± pamiêæ fizyczn±, która jest zakryta przez BIOS tu¿ za najwy¿szym dostêpnym adresem, tak wiêc ten najwy¿szy adres móg³by byæ np: 96MB + 384kB. Je¶li poinformujesz Linux-a, ¿e ma wiêcej pamiêci ni¿ w rzeczywisto¶ci, bêd± siê dziaæ z³e rzeczy: mo¿e nie od razu, ale kiedy¶ na pewno." Zauwa¿, ¿e warto¶æ tego argumentu nie musi byæ podana szesnastkowo a przyrostki "k" i "M" (wielko¶æ liter nie wa¿na) mog± byæ u¿yte do okre¶lenia odpowiednio kilobajtów i Megabajtów. ("k" spowoduje przesuniêcie 10 bitowe podanej warto¶ci, a "M" - 20 bitowe) Powy¿sze ostrze¿enie jest wci±¿ wa¿ne, poniewa¿ maszyna z 96MB pamiêci mo¿e dzia³aæ z argumentem mem=97920k ale mo¿e nie dzia³aæ z mem=98304k lub mem=96M. 33..33..22.. AArrgguummeenntt ""sswwaapp=="".. Argument ten pozwala u¿ytkownikowi podaæ kilka parametrów pamiêci wirtualnej, które s± zwi±zane z pamiêci± swap. Mo¿na tu podaæ nastêpuj±ce parametry: ______________________________________________________________________ MAX_PAGE_AGE PAGE_ADVANCE PAGE_DECLINE PAGE_INITIAL_AGE AGE_CLUSTER_FRACT AGE_CLUSTER_MIN PAGEOUT_WEIGHT BUFFEROUT_WEIGHT ______________________________________________________________________ Zainteresowani hackerzy proszeni s± o przeczytanie linux/mm/swap.c a tak¿e /proc/sys/vm. 33..33..33.. AArrgguummeenntt ""bbuuffff=="".. Podobnie do argumentu "swap=" ten pozwala u¿ytkownikowi podaæ kilka parametrów zwi±zanych z obs³ug± pamiêci buforowej. Akceptuje nastêpuj±ce parametry: ______________________________________________________________________ MAX_BUFF_AGE BUFF_ADVANCE BUFF_DECLINE BUFF_INITIAL_AGE BUFFEROUT_WEIGHT BUFFERMEM_GRACE ______________________________________________________________________ Zainteresowani hackerzy proszeni s± o przeczytanie linux/mm/swap.c a tak¿e /proc/sys/vm. 33..44.. AArrgguummeennttyy ddoottyycczz±±ccee gg³³óówwnneeggoo ssyysstteemmuu pplliikkóóww mmoonnttoowwaanneeggoo ppoopprrzzeezz NNFFSS.. Linux obs³uguje bezdyskowe stacje robocze, które maj± zamontowany g³ówny system plików jako NFS (Network File System). Argumenty te u¿ywane s±, aby przekazaæ systemowi z jakiego komputera ma sobie zamontowaæ g³ówny system plików. Zauwa¿ tak¿e, ¿e wymagany jest w tym przypadku argument root=/dev/nfs. Szczegó³y na temat u¿ywania g³ównego systemu plików zamontowanego jako NFS znajduj± siê w pliku linux/Documentation/nfsroot.txt. Powiniene¶ go przeczytaæ, gdy¿ ten paragraf jest tylko streszczeniem tamtego pliku. 33..44..11.. AArrgguummeenntt ""nnffssrroooott=="".. Argument ten informuje j±dro jakiej maszyny u¿yæ, jakiego katalogu na niej i jakich opcji NFS podczas montowania g³ównego systemu plików. Argument ten ma nastêpuj±c± postaæ: ______________________________________________________________________ nfsroot=[<serwer-ip>:]<g³.sys.pl.>[,<opcje-nfs>] ______________________________________________________________________ Je¶li argument nfsroot nie jest podany wtedy u¿yte zostanie "/tftpboot/%s". Kolejne opcje tego argumentu oznaczaj±: <serwer-ip> - Okre¶la adres IP serwera NFS. Je¶li to pole nie jest podane, u¿yta zostanie warto¶æ zmiennej nfsaddrs (patrz poni¿ej). Jedn± z mo¿liwo¶ci u¿ycia tego parametru jest na przyk³ad pozwolenie na u¿ycie ró¿nych serwerów dla RARP i NFS. Zwykle mo¿esz zostawiæ ten parametr pusty. <g³.sys.pl.> - Nazwa katalogu na serwerze, który ma byæ zamontowany jako g³ówny system plików. Je¶li u¿yty jest znak "%s", zostanie on zamieniony na znakow± reprezentacjê numeru IP klienta. <opcje-nfs> - Standardowe opcje NFS. Wszystkie opcje s± oddzielone od siebie przecinkami. Je¶li pole "opcje-nfs" nie jest podane, zostan± u¿yte nastêpuj±ce warto¶ci domy¶lne: port = podany przez demona "portmap" z serwera rsize = 1024 wsize = 1024 timeo = 7 retrans = 3 acregmin = 3 acregmax = 60 acdirmin = 30 acdirmax = 60 flags = hard, nointr, noposix, cto, ac 33..44..22.. AArrgguummeenntt ""nnffssaaddddrrss=="".. Ten argument ustawia ró¿ne adresy interfejsu sieciowego, które s± wymagane do komunikacji przez sieæ. Je¶li argument ten nie jest podany, wtedy j±dro próbuje u¿yæ protoko³ów RARP b±d¼ BOOTP, aby znale¼æ te parametry. Argument ten ma nastêpuj±ca postaæ: ______________________________________________________________________ nfsaddrs=<mój-ip>:<serw-ip>:<r-ip>:<netmask>:<nazwa>:<urz>:<auto> ______________________________________________________________________ <mój-ip> - Adres IP klienta. Je¶li jest on pusty, zostanie wykryty przy pomocy RARP albo BOOTP. Jaki protokó³ jest u¿ywany, zale¿y od tego co zosta³o udostêpnione podczas kompilacji j±dra i od parametru <auto>. Je¶li parametr ten nie jest pusty, ani RARP ani BOOTP nie zostanie u¿yty. <serw-ip> - Adres IP serwera NFS. Je¶li RARP zosta³ u¿yty do wykrycia adresu klienta i parametr ten nie jest pusty akceptowane bêd± odpowiedzi tylko z wyspecyfikowanego serwera. Aby u¿yæ ró¿nych serwerów RARP i NFS, podaj swój serwer RARP tutaj (lub zostaw pusty), a serwer NFS podaj w argumencie nfsroot (patrz wy¿ej). Je¶li parametr ten jest pusty, u¿yty jest adres serwera, który odpowiedzia³ na pytanie RARP lub BOOTP. <r-ip> - Adres IP rutera je¶li serwer jest w innej podsieci. Je¶li opcja ta jest pusta ¿aden ruter nie jest u¿ywany i przyjmowane jest, ¿e serwer znajduje siê w sieci lokalnej, o ile nie odebrano warto¶ci poprzez BOOTP. <netmask> - Maska sieci dla lokalnego interfejsu sieciowego. Je¶li opcja ta jest pusta, maska jest wyprowadzana z numeru IP klienta, o ile nie otrzymano warto¶ci poprzez BOOTP. <nazwa> - Nazwa klienta. Je¶li opcja ta jest pusta, adres IP klienta u¿ywany jest w notacji znakowej lub warto¶æ otrzymana poprzez BOOTP. <urz> - Nazwa urz±dzenia sieciowego, które ma zostaæ u¿yte. Je¶li opcja ta jest pusta, wszystkie urz±dzenia s± u¿ywane do ¿±dañ RARP, a pierwsze znalezione dla BOOTP. Dla NFS u¿ywane jest to urz±dzenie, dla którego zosta³y otrzymane odpowiedzi RARP lub BOOTP. Je¶li masz tylko jedno urz±dzenie mo¿esz spokojnie zostawiæ tê opcjê pust±. <auto> - Metoda, która ma byæ u¿yta do autokonfiguracji. Je¶li jest to "rarp" lub "bootp" u¿ywany jest podany protokó³. Je¶li warto¶ci± jest "both" lub opcja ta jest pusta, oba protoko³y s± u¿ywane je¶li tylko s± wkompilowane w j±drze. U¿ywaj±c "none" informujesz, aby nie u¿ywaæ autokonfiguracji. W tym przypadku musisz podaæ wszystkie potrzebne warto¶ci poprzednich pól. Parametr <auto> mo¿e pojawiæ siê samotnie jako warto¶æ argumentu "nfsaddrs" (bez tych wszystkich ":" znaków przedtem) wtedy u¿ywana jest autokonfiguracja. Aczkolwiek warto¶æ "none" nie jest dostêpna w tym przypadku. 33..55.. IInnnnee aarrgguummeennttyy.. Te ró¿ne argumenty startowe pozwalaj± u¿ytkownikowi ustawiæ pewne wewnêtrzne parametry j±dra. 33..55..11.. AArrgguummeenntt ""ddeebbuugg"".. J±dro podaje wa¿ne (i mniej wa¿ne) informacje do u¿ytkownika poprzez funkcjê printk(). Je¶li informacja jest rozpoznawana jako wa¿na, funkcja printk() umie¶ci kopiê na bie¿±cej konsoli jak równie¿ przeka¿e j± do demona klogd tak aby wiadomo¶æ ta zosta³a zapisana na dysk. Powód, dla którego informacje te s± wysy³ane na konsolê jak i zapisywane na dysk jest taki, ¿e w pewnych nieszczê¶liwych warunkach (np: awaria dysku) informacje te mog± nie dotrzeæ na dysk i zosta³yby stracone. Próg, wg. którego informacja jest uwa¿ana za wa¿n± lub nie ustawiany jest przez zmienn± console_loglevel. Warto¶ci± domy¶ln± jest zapisywanie wszystkiego wa¿niejszego (o mniejszym poziomie, a tym samym wiêkszym priorytecie) ni¿ DEBUG (poziom 7) na konsolê. (poziomy te zdefiniowane s± w pliku nag³ówkowym kernel.h). Podanie argumentu startowego debug ustawi poziom logowania na konsolê na 10, tak, ¿e _w_s_z_y_s_t_k_i_e informacje z j±dra pojawi± siê na konsoli. Poziom logowania na konsolê mo¿e zwykle byæ ustawiony tak¿e podczas normalnej pracy systemu poprzez opcjê programu klogd. Sprawd¼ w systemie pomocy "man" jak to zrobiæ. 33..55..22.. AArrgguummeenntt ""iinniitt=="".. J±dro standardowo po za³adowaniu siê uruchamia program "init", który nastêpnie zajmuje siê przygotowaniem systemu dla u¿ytkownika poprzez uruchomienie programów getty, skryptów "rc" itp. J±dro najpierw szuka /sbin/init, nastêpnie /etc/init a na koñcu spróbuje u¿yæ /bin/sh (mo¿liwie w /etc/rc). Je¶li na przyk³ad twój program init popsu³ siê i nie jest mo¿liwy restart systemu, mo¿esz u¿yæ argumentu init=/bin/sh, który spowoduje uruchomienie shell-a natychmiast po za³adowaniu j±dra, umo¿liwiaj±c ci zamianê popsutego programu na dobry. 33..55..33.. AArrgguummeenntt ""nnoo338877"".. Niektóre koprocesory i387 maj± b³êdy, które pojawiaj± siê je¶li u¿ywamy 32-bitowego trybu chronionego. Na przyk³ad niektóre wczesne procesory ULSI-387 mog± powodowaæ powa¿ne zawieszenia podczas u¿ywania operacji zmiennoprzecinkowych, widocznie z powodu b³êdu w instrukcjach FRSAV/FRRESTOR. U¿ycie argumentu startowego "no387" spowoduje ignorowanie koprocesora przez Linux-a nawet je¶li go masz. Oczywi¶cie musisz mieæ wkompilowan± emulacjê koprocesora w j±drze! Mo¿e to byæ tak¿e przydatne je¶li masz jedn± z tych _n_a_p_r_a_w_d_ê starych maszyn 386, które mog± u¿ywaæ 80287 FPU, a Linux nie umie tego u¿ywaæ. 33..55..44.. AArrgguummeenntt ""nnoo--hhlltt"".. Rodzina procesorów i386 (a co za tym idzie i nowsze) maj± instrukcjê "hlt", która informuje procesor, ¿e nic siê nie stanie dopóki jakie¶ zewnêtrzne urz±dzenie (klawiatura, modem, dysk, itp.) nie za¿±da jakiej¶ akcji. To pozwala na u¿ycie trybu "low-power", który powoduje, ¿e procesor siedzi jak zombi i czeka a¿ co¶ za¿±da jakiej¶ akcji (zwykle poprzez przerwanie), co powoduje mniejsze zu¿ycie pr±du. Niektóre z wczesnych procesorów i486DX-100 mia³y problem z t± instrukcj±, przez co nie mog³y niezawodnie powróciæ do trybu dzia³ania po u¿yciu tej instrukcji. U¿ywaj±c argumentu "no-hlt" informujesz Linux-a, aby po prostu robi³ sobie nieskoñczon± pêtlê je¶li nie ma nic m±drzejszego do roboty, a nie zatrzymywa³ procesora je¶li nic siê nie dzieje. To pozwala ludziom z tymi popsutymi procesorami u¿ywaæ Linux- a, chocia¿ lepiej, ¿eby spróbowali wymieniæ ten procesor. 33..55..55.. AArrgguummeenntt ""nnoo--ssccrroollll"".. U¿ycie tego argumentu startowego powoduje wy³±czenie mo¿liwo¶ci scrolowania, która powoduje utrudnienie u¿ycia terminali Braille'a. 33..55..66.. AArrgguummeenntt ""ppaanniicc=="".. W nieprawdopodobnym przypadku paniki j±dra (tj. wewnêtrznego b³êdu, który zosta³ wykryty przez j±dro, i który j±dro decyduje siê uwa¿aæ na tyle powa¿nie, aby g³o¶no jêkn±æ i wszystko zatrzymaæ) domy¶lnym zachowaniem siê j±dra jest po prostu siedzieæ i czekaæ a¿ kto¶ przyjdzie i zauwa¿y informacjê o panice i zresetuje maszynê. Aczkolwiek je¶li maszyna jest rzadko odwiedzana, sensowny jest automatyczny reset. Na przyk³ad u¿ywaj±c "panic=30" podczas startu informujemy j±dro aby po 30 sekundach spróbowa³o zresetowaæ maszynê. Warto¶æ 0 powoduje zachowanie domy¶lne. Zauwa¿, ¿e warto¶æ ta mo¿e byæ tak¿e podana poprzez funkcjê sysctl wywo³an± na interfejsie /proc/sys/kernel/panic. 33..55..77.. AArrgguummeenntt ""pprrooffiillee=="".. Ci, którzy chc± ingerowaæ w wewnêtrzne dzia³anie j±dra, mog± podaæ argument, który pozwala na okre¶lenie jak i gdzie j±dro ma spêdzaæ cykle procesora, aby doprowadziæ do maksymalnego wykorzystania jego mo¿liwo¶ci. Ten argument pozwala ustawiæ licznik przesuniêæ podczas startu. Typowo ustawiony jest on na dwa. Mo¿esz tak¿e skompilowaæ j±dro z domy¶lnie ustawion± mo¿liwo¶ci± profilowania. W ka¿dym z tych przypadków potrzebujesz takiego narzêdzia jak readprofile.c, które umie u¿ywaæ /proc/profile. 33..55..88.. AArrgguummeenntt ""rreebboooott=="".. Opcja ta kontroluje sposób w jaki Linux restartuje komputer (typowo poprzez /sbin/init, który obs³uguje kombinacjê klawiszy Control-Alt- Delete). Domy¶lnym zachowaniem co do pó¼nych j±der jest tzw. "zimny" restart (tzn. pe³en restart, wraz ze sprawdzaniem pamiêci przez BIOS itp.) zamiast "ciep³ego" restartu (tj. niepe³en restart, bez testowania pamiêci). Warto¶æ domy¶ln± zmieniono na "zimny" poniewa¿ taki restart, w przeciwieñstwie do "ciep³ego", wydaje siê dzia³aæ na tanim/popsutym sprzêcie. Aby przywróciæ dawne zachowanie (tj. "ciep³y" restart) u¿yj reboot=w albo w³a¶ciwie jakiekolwiek s³owo zaczynaj±ce siê na w zadzia³a. Po co zawracaæ sobie g³owê? Niektóre kontrolery dysków z w³asn± pamiêci± cache mo¿e wykrywaæ "ciep³y" restart, i zapisywaæ wszystkie dane z pamiêci cache na dysk. Podczas "zimnego" restartu, karta mo¿e zostaæ zrestartowana i wszystkie dane z cache'u zostan± stracone. Inni raportowali systemy, którym sprawdzanie pamiêci zabiera³o du¿o czasu czy d³u¿szy czas inicjalizacji BIOS-ów SCSI. 33..55..99.. AArrgguummeenntt ""rreesseerrvvee=="".. Argument ten jest u¿ywany do _o_c_h_r_o_n_y obszarów portów I/O przed przeszukiwaniem. ______________________________________________________________________ reserve=iobase,extent[,iobase,extent]... ______________________________________________________________________ W niektórych maszynach mo¿e byæ konieczne, aby powstrzymaæ sterowniki urz±dzeñ przed automatyczn± prób± wykryci± urz±dzenia w konkretnych obszarach. Mo¿e to byæ spowodowane ¼le zrobionymi urz±dzeniami, które powoduj± zawieszanie podczas startu (tak jak niektóre karty Ethernetowe), urz±dzeniami b³êdnie rozpoznanymi, urz±dzeniami, których stan zosta³ zmieniony podczas wcze¶niejszej próby wykrycia, albo po prostu tym, ¿e nie chcesz aby jakie¶ urz±dzenie zosta³o wykryte. Argument startowy reserve eliminuje te problemy przez podanie obszaru adresów I/O, który nie ma byæ sprawdzany. Obszar ten jest oznaczany w tablicy rejestracyjnej portów j±dra tak jakby jakie¶ urz±dzenie zosta³o ju¿ w tym obszarze wykryte (s³owem reserved). Zauwa¿, ¿e ten proceder nie jest konieczny na wszystkich maszynach. Tylko je¶li wystêpuje problem lub sytuacja wyj±tkowa, wymagaj±ca u¿ycia tego argumentu. Porty I/O w podanym obszarze s± chronione przed prób± automatycznego wykrywania, która u¿ywa funkcji check_region() przed wykrywaniem na ¶lepo w pewnym regionie adresów I/O. Argument ten wprowadzono, aby u¿ywaæ go kiedy jaki¶ sterownik wisi na karcie NE2000 lub identyfikuje jakie¶ inne urz±dzenie jako swoje. Poprawny sterownik nie powinien przeszukiwaæ zarezerwowanego obszaru, o ile inny argument startowy nie poinformuje go wyra¼nie, ¿e ma to zrobiæ. Wynika z tego, ¿e argument reserve jest najczê¶ciej u¿ywany w konfiguracji z innymi argumentami startowymi. Tak wiêc je¶li podasz jaki¶ obszar, aby chroniæ jakie¶ urz±dzenie, musisz zwykle podaæ wyra¼nie port tego urz±dzenia. Wiêkszo¶æ sterowników ignoruje tablicê rejestracji portów je¶li maj± podany konkretny adres. Na przyk³ad poni¿sza linia: ______________________________________________________________________ reserve=0x300,32 bla=0x300 ______________________________________________________________________ powstrzymuje wszystkie sterowniki poza sterownikiem do urz±dzenia bla przed przeszukiwaniem adresu 0x300-0x31F. Jako zwyk³y argument startowy argument reserve ma limit na ilo¶æ parametrów (11), tak wiêc mo¿esz podaæ tylko 5 obszarów zarezerwowanych przez ka¿dy argument reserve. Je¶li masz powód, aby u¿yæ wiêcej argumentów reserve mo¿esz to zrobiæ. 33..55..1100.. AArrgguummeenntt ""vvggaa=="".. Zauwa¿, ¿e tak naprawdê to nie jest argument startowy. Jest to opcja, która jest interpretowana przez LILO, a nie przez j±dro, tak jak wszystkie inne argumenty startowe. Jednak jej u¿ycie sta³o siê tak popularne, ¿e wymaga ona tutaj wzmianki. Mo¿na to tak¿e ustawiæ przy pomocy rdev -v albo równowa¿nie vidmode w pliku vmlinuz. Argument ten pozwala na zmianê trybu wy¶wietlania poprzez BIOS jeszcze przed za³adowaniem j±dra. Typowe tryby to 80x50, 132x44 itd. Najlepszym sposobem jest u¿ycie tego argumentu w postaci vga=ask. Wy¶wietli on wtedy listê dostêpnych trybów i bêdzie czeka³ na podanie jednego z nich. Pó¼niej, jak ju¿ bêdziesz zna³ numer trybu jaki chcesz u¿ywaæ mo¿esz go wpisaæ zamiast s³owa "ask". Je¶li chcesz wiedzieæ wiêcej zajrzyj do pliku linux/Documentation/svga.txt, który przychodzi wraz ze ¼ród³ami j±dra. Zauwa¿, ¿e nowsze j±dra (v2.1 i nowsze) maj± kod ustawiania, który zmienia tryb video jako opcjê, pokazan± jako _V_i_d_e_o _m_o_d_e _s_e_l_e_c_t_i_o_n _s_u_p_p_o_r_t wiêc musisz w³±czyæ tê opcjê je¶li chcesz u¿ywaæ tej w³a¶ciwo¶ci. 44.. AArrgguummeennttyy ssttaarrttoowwee ddllaa uurrzz±±ddzzeeññ ppeerryyffeerryyjjnnyycchh SSCCSSII.. Sekcja ta zawiera opis argumentów startowych u¿ywanych do przekazywania informacji na temat do³±czonych adapterów i urz±dzeñ SCSI. 44..11.. AArrgguummeennttyy ddllaa sstteerroowwnniikkóóww ¶¶rreeddnniieeggoo ppoozziioommuu.. Sterowniki ¶redniego poziomu obs³uguj± takie rzeczy jak dyski, CD-ROM- y i ta¶my bez wdawania siê w szczegó³y kontrolerów. 44..11..11.. MMaakkssyymmaallnnaa lliicczzbbaa sspprraawwddzzaannyycchh uurrzz±±ddzzeeññ LLUUNN.. ((""mmaaxx__ssccssii__lluunnss=="")) Ka¿de urz±dzenie SCSI mo¿e mieæ pewn± ilo¶æ "pod-urz±dzeñ" zawartych w nim. Najpopularniejszym przyk³adem mo¿e byæ tutaj jeden z nowych CD- ROM-ów SCSI, który obs³uguje wiêcej ni¿ jeden dysk na raz. Ka¿dy z tych dysków jest adresowany numerem logicznej jednostki (ang. Logical Unit Number LUN) danego urz±dzenia. Ale wiêkszo¶æ urz±dzeñ takich jak dyski twarde, ta¶my to pojedyncze urz±dzenia a zatem ich numer logicznej jednostki bêdzie wynosi³ 0. Problem powstaje przy pojedynczych ¼le wykonanych urz±dzeniach LUN. Niektóre ¼le zaprojektowane urz±dzenia SCSI (stare i niestety nowe) zawieszaj± siê gdy przeszukuje siê je w celu znalezienia urz±dzenia o numerze LUN ró¿nym od zera, a czasami zawieszaj± tak¿e ca³± szynê SCSI. Nowsze j±dra maj± argument startowy, który pozwala ci podaæ maksymalny numer urz±dzenia LUN, które bêdzie szukane. Domy¶lny numer szukanego urz±dzenia to 0, aby zapobiec problemowi opisanemu powy¿ej. Aby podaæ ilo¶æ poszukiwanych urz±dzeñ LUN przy starcie, podajemy jako argument startowy "max_scsi_luns=n", gdzie n jest liczb± pomiêdzy 1 a 8. Aby zapobiec problemom opisanym wy¿ej podajemy n=1. 44..11..22.. PPaarraammeettrryy ddllaa sstteerroowwnniikkaa ttaa¶¶mm SSCCSSII.. ((""sstt=="")) Niektóre konfiguracje startowe sterownika ta¶m SCSI mo¿na podaæ w nastêpuj±cy sposób: ______________________________________________________________________ st=rozm_buf[,próg_zap[,max_bufs]] ______________________________________________________________________ Pierwsze dwie liczby s± podawane w kilobajtach (kB). Domy¶ln± warto¶ci± rozm_buf jest 32kB, a maksymalny rozmiar jaki mo¿e byæ podany to ¶mieszne 16384kB. próg_zap to warto¶æ, przy osi±gniêciu której zawarto¶æ bufora zapisywana jest na ta¶mê. Domy¶ln± warto¶ci± jest 30kB. Maksymalna ilo¶æ buforów ró¿ni siê w zale¿no¶ci od ilo¶ci wykrytych napêdów i ma warto¶æ domy¶ln± = 2. Przyk³adem mo¿e byæ: ______________________________________________________________________ st=32,30,2 ______________________________________________________________________ Szczegó³y mo¿na znale¼æ w pliku README.st, który znajduje siê w podkatalogu scsi ¼róde³ j±dra. 44..22.. AArrgguummeennttyy kkoonnttrroolleerróóww SSCCSSII.. Uwaga ogólna dla tej sekcji: IOBASE - pierwszy port I/O, który jest u¿ywany przez kontroler SCSI. Warto¶æ ta podawana jest szesnastkowo, i zwykle mie¶ci siê w przedziale od 0x200 do 0x3FF. IRQ - przerwanie sprzêtowe, na które jest skonfigurowana karta. Odpowiednie warto¶ci s± zale¿ne od konkretnej karty, ale zwykle s± to 5, 7, 9, 10, 11, 12 i 15. Pozosta³e warto¶ci s± zwykle u¿ywane przez popularne urz±dzenia takie jak dyski twarde IDE, napêdy dyskietek, porty szeregowe itp. dma - kana³ DMA (Direct Memory Access), którego u¿ywa karta. W zasadzie odnosi siê tylko do kart bus-mastering. Karty PCI i VLB maj± domy¶lnie tryb bus-mastering i nie wymagaj± kana³u ISA DMA. SCSI-ID - identyfikator, którego u¿ywa dany kontroler do samoidentyfikacji na szynie SCSI. Tylko niektóre kontrolery pozwalaj± na zmianê tej warto¶ci, poniewa¿ wiêkszo¶æ ma j± zapisan± wewn±trz siebie. Standardow± warto¶ci± jest 7, ale urz±dzenia Seagate i Future Domain TMC-950 u¿ywaj± 6. PARITY - czy dany kontroler spodziewa siê od przy³±czonych urz±dzeñ kontroli parzysto¶ci przy wymianie wszystkich informacji. 1 oznacza w³±czenie sprawdzania parzysto¶ci, 0 je wy³±cza. I znowu nie wszystkie kontrolery pozwalaj± na zmianê tej warto¶ci. 44..22..11.. KKoonnttrroolleerryy aahhaa115511xx,, aahhaa115522xx,, aaiicc66226600,, aaiicc66336600,, SSBB1166--SSCCSSII ((``aahhaa115522xx=='')) Numery aha odnosz± siê do kart a numery aic do w³a¶ciwego procesora SCSI na kartach tego typu, w³±czaj±c kartê SoundBlaster-16 SCSI. Podczas przeszukiwania tej karty, j±dro próbuje znale¼æ zainstalowany BIOS, a je¶li go nie ma, j±dro nie znajdzie twojej karty. Wtedy musisz u¿yæ argumentu startowego w postaci: ______________________________________________________________________ aha152x=IOBASE[,IRQ[,SCSI-ID[,powt[,parity]]]] ______________________________________________________________________ Zauwa¿, ¿e je¶li sterownik zosta³ skompilowany z w³±czon± opcj± debug, mo¿liwa jest do podania tak¿e szósta warto¶æ ustawiaj±ca poziom ¶ledzenia. Wszystkie parametry zosta³y opisane powy¿ej, a parametr powt pozwala na od³±czenie lub ponowne pod³±czenie urz±dzenia je¶li jego warto¶ci± nie jest 0. Przyk³adowe u¿ycie mo¿e byæ takie: ______________________________________________________________________ aha152x=0x340,11,7,1 ______________________________________________________________________ Zauwa¿, ¿e parametry musz± byæ podane w odpowiedniej kolejno¶ci; to znaczy, ¿e je¶li chcesz podaæ warto¶æ parzysto¶ci musisz podaæ najpierw IOBASE, IRQ, SCSI-ID, i POWT. 44..22..22.. KKoonnttrroolleerr aahhaa115544xx.. ((""aahhaa11554422=="")) To s± karty serii aha154x. Seria kart aha1542 ma w sobie wbudowany kontroler stacji dyskietek i82077, a aha1540 - nie ma. S± to karty typu busmaster i maj± parametry do ustawienia swojej "uczciwo¶ci", która jest u¿ywana do dzielenia siê szyn± z innymi urz±dzeniami. Odpowiedni argument startowy wygl±da nastêpuj±co: ______________________________________________________________________ aha1542=IOBASE[,buson,busoff[,dmaspeed]] ______________________________________________________________________ Mo¿liwe warto¶ci IOBASE to: 0x130, 0x134, 0x230, 0x234, 0x330, 0x334. Klony oryginalnych kart mog± przyjmowaæ inne warto¶ci. Warto¶ci buson i busoff odnosz± siê do liczby mikrosekund przez jak± karta przejmuje kontrolê nad szyn± ISA. Warto¶ciami domy¶lnymi s±: buson - 11us, busoff - 4us, tak aby inne karty (jak np. ISA LANCE Ethernet) mia³y szansê siê dostaæ do szyny ISA. Warto¶æ dmaspeed odnosi siê do prêdko¶ci (w MB/s), z jak± dzia³aj± transfery DMA (Direct Memory Access). Warto¶ci± domy¶ln± jest 5 MB/s. Nowe typy kart pozwalaj± na ustawienie tej warto¶ci programowo, starsze - poprzez zworki. Mo¿esz podaæ warto¶æ do 10 MB/s zak³adaj±c, ¿e twoja p³yta g³ówna to wytrzyma. Eksperymentuj ostro¿nie je¶li u¿ywasz warto¶ci wiêkszych od 5 MB/s. 44..22..33.. KKoonnttrroolleerryy aahhaa227744xx,, aahhaa228844xx,, aaiicc77xxxxxx ((""aaiicc77xxxxxx=="")) Kontrolery te przyjmuj± argument w postaci: ______________________________________________________________________ aic7xxx=extended,no_reset ______________________________________________________________________ Warto¶æ extended, je¶li jest ró¿na od zera, okre¶la czy t³umaczenie geometrii du¿ych dysków jest w³±czone czy nie. Argument no_reset, je¶li jest ró¿ny od zera, informuje sterownik, aby nie resetowaæ szyny SCSI podczas ustawiania kontrolera. 44..22..44.. KKoonnttrroolleerr SSCCSSII AAddvvaannSSyyss.. ((""aaddvvaannssyyss=="")) Sterownik AdvanSys przyjmuje do czterech adresów I/O, które bêd± przeszukiwane w celu znalezienia karty SCSI AdvanSys. Zauwa¿, ¿e warto¶ci te (je¶li s± u¿ywane) nie wp³ywaj± w ¿aden sposób na wykrywanie EISA czy PCI. Maj± znaczenie tylko w przypadku kart ISA i VLB. Dodatkowo, je¶li sterownik zosta³ skompilowany z w³±czon± opcj± ¶ledzenia, poziom ¶ledzenia mo¿e byæ ustawiony poprzez dodanie parametru 0xdeb[0-F]. Znaki 0-F pozwalaj± na ustawienie poziomu ¶ledzenia na jeden z 16 poziomów. 44..22..55.. KKoonnttrroolleerr AAllwwaayyss IINN22000000.. ((""iinn22000000=="")) W przeciwieñstwie do innych adapterów SCSI, ten adapter u¿ywa przedrostków w postaci ³añcuchów ASCII dla swoich warto¶ci liczbowych. Oto lista jego parametrów: IOPORT:ADDR - gdzie ADDR jest adresem I/O karty (zwykle bez ROM-u). NORESET - Nie ma dodatkowych parametrów. Zapobiega zresetowaniu szyny SCSI podczas startu. NOSYNC:X - X jest mask± bitów, gdzie pierwsze siedem bitów odpowiada siedmiu mo¿liwym sterownikom SCSI (bit 0 - urz±dzeniu #0, itd). Ustaw dany bit, aby zapobiec synchronicznym negocjacjom na tym urz±dzeniu. Standardowo synchroniczne negocjacje s± wy³±czone w sterowniku dla wszystkich urz±dzeñ. PERIOD:NS - NS jest minimaln± ilo¶ci± nanosekund w cyklu transferu danych SCSI. Domy¶ln± warto¶ci± jest 500; inne akceptowane warto¶ci to 250 i 1000. DISCONNECT:X - X=0 - nie pozwalaj na od³±czenia, X=1 - rób adaptacyjne od³±czenia, X=2 - zawsze pozwalaj na od³±czenia. DEBUG:X - je¶li zdefiniowano symbol "DEBUGGING_ON" X jest mask± bitów, która ustawia ró¿ne sposoby wydruku ¶ledzenia - odno¶nie konkretnych warto¶ci zajrzyj do pliku /linux/drivers/scsi/in2000.h. PROC:X - je¶li zdefiniowano symbol "PROC_INTERFACE", X jest mask± bitów, która okre¶la jak dzia³a interfejs /proc i co robi - odno¶nie konkretnych warto¶ci zajrzyj do pliku /linux/drivers/scsi/in2000.h. Oto niektóre przyk³adowe u¿ycia tego argumentu: ______________________________________________________________________ in2000=ioport:0x220,noreset in2000=period:250,disconnect:2,nosync:0x03 in2000=debug:0x1e in2000=proc:3 ______________________________________________________________________ 44..22..66.. SSpprrzzêêtt nnaa ppooddssttaawwiiee AAMMDD AAMM5533CC997744.. ((""AAMM5533CC997744=="")) W przeciwieñstwie do innych sterowników ten nie przyjmuje parametrów I/O, IRQ, czy DMA. (Poniewa¿ AM53C974 jest urz±dzeniem PCI, nie ma potrzeby tego robiæ) W zamian za to, podawane parametry u¿ywane s± do ustawiania trybów i prêdko¶ci transferu, które maj± byæ u¿ywane pomiêdzy adapterem a urz±dzeniem docelowym. Najlepiej opisaæ to przyk³adem: ______________________________________________________________________ AM53C974=7,2,8,15 ______________________________________________________________________ Linijka ta zosta³aby zinterpretowana nastêpuj±co: Do komunikacji pomiêdzy kontrolerem o numerze SCSI-ID 7 a urz±dzeniem o numerze SCSI- ID 2 maj± byæ u¿yte: transfer - 8MHz w trybie synchronicznym z maksimum 15-bajtowym offsetem. Wiêcej szczegó³ów znajduje siê w pliku linux/drivers/scsi/README.AM53C974. 44..22..77.. KKoonnttrroolleerryy SSCCSSII BBuussLLooggiicc zz jj±±ddrreemm ww wweerrssjjii 11..22.. ((""bbuussllooggiicc=="")) W starszych wersjach j±dra, sterownik buslogic akceptuje tylko jeden parametr, który jest adresem I/O. Ma to byæ jedna z nastêpuj±cych warto¶ci: 0x130, 0x134, 0x230, 0x234, 0x330, 0x334. 44..22..88.. KKoonnttrroolleerr SSCCSSII BBuussLLooggiicc zz jj±±ddrreemm ww wweerrssjjii 22..xx.. ((""BBuussLLooggiicc=="")) W wersjach j±dra 2.x, sterownik BusLogic przyjmuje wiele parametrów. (!!! Uwa¿aj na wielko¶æ liter w argumencie !!!). Nastêpuj±cy opis jest wziêty bezpo¶rednio ze sterownika Leonarda N. Zubkoffa ze ¼róde³ j±dra 2.x. Argumentem startowym dla tego sterownika jest jego nazwa "BusLogic=" (jeszcze raz przypominam o zachowaniu wielko¶ci liter), po której nastêpuje lista parametrów liczbowych oddzielonych przecinkami oraz ewentualnie lista parametrów ³añcuchowych tak¿e oddzielonych przecinkami. Wiêksza ilo¶æ argumentów "BusLogic=" mo¿e byæ u¿yta w systemach z wiêksz± ilo¶ci± adapterów BusLogic. Pierwsza liczba okre¶la adres I/O, pod którym znajduje siê kontroler. Je¶li nie jest podana, warto¶ci± domy¶ln± jest 0, co oznacza aby resztê warto¶ci odnie¶æ do pierwszego znalezionego kontrolera BusLogic. Je¶li podane zostan± jakiekolwiek parametry adresowe I/O wtedy standardowe przeszukiwanie nie odbywa siê. Druga liczba okre¶la g³êboko¶æ kolejki (Tagged Queue), która ma byæ u¿yta dla urz±dzenia docelowego, które obs³uguje kolejkowanie. G³êboko¶æ kolejki jest ilo¶ci± poleceñ SCSI jaka jest mo¿liwa do umieszczenia w kolejce poleceñ do wykonania. Je¶li parametr ten nie jest podany, warto¶ci± domy¶ln± jest 0, co oznacza u¿ycie warto¶ci wykrytej automatycznie opartej na ca³kowitej g³êboko¶ci kolejki adaptera i numerze, typie, prêdko¶ci oraz mo¿liwo¶ciach wykrytego urz±dzenia docelowego. Dla kontrolerów wymagaj±cych buforów bounce ISA, g³êboko¶æ kolejki jest automatycznie ustawiana na BusLogic_TaggedQueueDepth_B, aby unikn±æ nadmiernej prealokacji pamiêci na bufory bounce DMA. Urz±dzenia docelowe, które nie obs³uguj± kolejkowania, u¿ywaj± g³êboko¶ci kolejki BusLogic_UntaggedQueueDepth. Trzecia liczba okre¶la czas stabilizacji szyny w sekundach. Jest to ilo¶æ czasu do odczekania pomiêdzy twardym resetem kontrolera, który inicjuje reset szyny SCSI a wykonaniem polecenia SCSI. Je¶li nie jest ona podana, warto¶ci± domy¶ln± jest 0, co oznacza u¿ycie BusLogic_DefaultBusSettleTime. Czwarta liczba okre¶la opcje lokalne. Je¶li nie jest ona podana, warto¶ci± domy¶ln± jest 0. Zauwa¿, ¿e opcje lokalne odnosz± siê tylko do specyficznych kontrolerów. Pi±ta liczba okre¶la opcje globalne. Je¶li nie jest ona podana, warto¶ci± domy¶lna jest 0. Zauwa¿, ¿e opcje globalne odnosz± siê do wszystkich kontrolerów. Parametry ³añcuchowe podaje siê w celu kontrolowania kolejkowania, naprawy b³êdów i wyszukiwania kontrolera. Parametr odno¶nie kolejkowania zaczyna siê od "TQ:" i pozwala na wyra¼ne podanie czy kolejkowanie jest dopuszczone na urz±dzeniu docelowym, które je obs³uguje. Nastêpuj±ce opcje tego parametru s± dozwolone: TQ:Default - kolejkowanie bêdzie dopuszczone i oparte na firmowej wersji kontrolera BusLogic i na tym czy warto¶æ g³êboko¶ci kolejki pozwala na kolejkowanie poleceñ. TQ:Enable - kolejkowanie bêdzie dozwolone dla wszystkich urz±dzeñ docelowych na danym kontrolerze zamazuj±c wszelkie limity, które wynika³yby z ustawieñ firmowych. TQ:Disable - kolejkowanie bêdzie niedozwolone dla wszystkich urz±dzeñ docelowych na danym adapterze. TQ:<Per-Target-Spec> - kolejkowanie bêdzie kontrolowane indywidualnie dla ka¿dego urz±dzenia docelowego. <Per-Target-Spec> - ci±g znaków "N" i "X". "Y" zezwala na kolejkowanie, "N" nie pozwala na nie, a "X" u¿ywa warto¶ci domy¶lnej opartej na wersji firmowej. Pierwszy znak odnosi siê do urz±dzenia 0, drugi - do urz±dzenia 1 itd. Je¶li ci±g znaków "Y", "N" i "X" nie pokrywa wszystkich urz±dzeñ docelowych, dla urz±dzeñ nie pokrytych u¿ywany jest znak "X" czyli warto¶æ domy¶lna. Zauwa¿, ¿e wyra¼ne ¿±danie kolejkowania mo¿e prowadziæ do problemów; mo¿liwo¶æ ta zosta³a wprowadzona, aby wy³±czaæ kolejkowanie dla urz±dzeñ docelowych, które nie obs³uguj± go poprawnie. Parametr odno¶nie naprawy b³êdów zaczyna siê od "ER:" i pozwala na wyra¼ne zezwolenie uruchamiania sekwencji naprawy b³êdów kiedy wywo³ane zostanie polecenie ResetCommand z powodu niepowodzenia wykonania jakiego¶ polecenia SCSI. Dostêpne s± nastêpuj±ce opcje dla tego parametru: ER:Default - sekwencja naprawy b³êdów wybierze pomiêdzy twardym resetem a resetem szyny w zale¿no¶ci od zaleceñ podsystemu SCSI. ER:HardReset - sekwencja naprawy b³êdów zainicjuje twardy reset adaptera, który tak¿e spowoduje reset szyny SCSI. ER:BusDeviceReset - sekwencja naprawy b³êdów wy¶le do urz±dzenia docelowego powoduj±cego b³±d polecenie resetuj±ce szynê. Je¶li sekwencja naprawy b³êdów jest ponownie inicjowana dla tego urz±dzenia docelowego i ¿adne polecenie SCSI do tego urz±dzenia nie wykona³o siê poprawnie od momentu wys³ania polecenia resetuj±cego, wtedy zostanie zainicjowany twardy reset. ER:None - sekwencja naprawy b³êdów zostanie zatrzymana. Opcja ta powinna byæ podana tylko je¶li reset szyny SCSI i reset szyny powoduj± ca³kowite i nieodwracalne zawieszenie urz±dzenia docelowego. ER:<Per-Target-Spec> - sekwencja naprawy b³êdów bêdzie kontrolowana indywidualnie dla ka¿dego urz±dzenia docelowego. <Per-Target-Spec> jest ci±giem znaków "H", "B" i "N". "D" powoduje zachowanie domy¶lne, "H" - twardy reset, "B" - reset szyny, "N" - zatrzymanie sekwencji naprawy b³êdów. Pierwszy znak odnosi siê do urz±dzenia 1, drugi - do drugiego, itd. Je¶li ci±g znaków nie pokrywa wszystkich urz±dzeñ docelowych, wtedy dla urz±dzeñ nie pokrytych przyjmuje siê "D" czyli zachowanie domy¶lne. Parametry odno¶nie przeszukiwania adaptera s± nastêpuj±ce: NoProbe - nie przeprowadzaæ ¿adnego przeszukiwania - ¿adne kontrolery BusLogic nie zostan± znalezione. NoProbeISA - nie przeprowadzaæ standardowego przeszukiwania adresów I/O ISA - wykryte zostan± tylko kontrolery PCI. NoSortPCI - kontrolery PCI zostan± ponumerowane wg. porz±dku ustalonego przez PCI BIOS, ignoruj±c jakiekolwiek ustawienia opcji AutoSCSI "Use Bus and Device # For PCI Scanning Seq.". 44..22..99.. KKaarrttyy EEAATTAA SSCCSSII.. ((""eeaattaa=="")) Od pó¼nych wersji 2.0 j±dra, sterownik EATA przyjmuje argument startowy, który specyfikuje adres bazowy I/O, który ma byæ przeszukiwany. Forma tego argumentu to: ______________________________________________________________________ eata=iobase1[,iobase2][,iobase3]...[,iobaseN] ______________________________________________________________________ Sterownik bêdzie przeszukiwa³ adresy w takiej kolejno¶ci w jakiej zosta³y podane. 44..22..1100.. FFuuttuurree DDoommaaiinn TTMMCC--88xxxx,, TTMMCC--995500.. ((""ttmmcc88xxxx=="")) Algorytm wyszukuj±cy dla tych urz±dzeñ SCSI szuka zainstalowanego BIOS-u, a je¶li taki nie jest zainstalowany, karta nie zostanie znaleziona. Albo je¶li sygnatura twojego BIOS-u nie zostanie rozpoznana wtedy karta tak¿e nie zostanie znaleziona. W tych przypadkach bêdziesz musia³ u¿yæ argumentu startowego w formie: ______________________________________________________________________ tmc8xx=mem_base,irq ______________________________________________________________________ Warto¶æ mem_base okre¶la ilo¶æ pamiêci przeznaczonej na odwzorowanie obszaru I/O u¿ywanego przez dan± kartê. Zwykle jest to jedna z poni¿szych warto¶ci: 0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000.n 44..22..1111.. FFuuttuurree DDoommaaiinn TTMMCC--1166xxxx,, TTMMCC--33226600,, AAHHAA--22992200.. ((""ffddoommaaiinn=="")) Sterownik wykrywa te karty na podstawie znanych sygnatur ROM BIOS-ów. Pe³n± listê znanych BIOS-ów znajdziesz w pliku linux/drivers/scsi/fdomain.c, jak i wiele innych informacji. Je¶li twój BIOS nie jest znany, to mo¿esz podaæ parametry bezpo¶rednio w formie: ______________________________________________________________________ fdomain=iobase,irq[,scsi_id] ______________________________________________________________________ 44..22..1122.. PPoorrtt rróówwnnoolleegg³³yy IIOOMMEEGGAA // sstteerroowwnniikk ZZIIPP.. ((""ppppaa=="")) Ten argument przeznaczony jest dla kontrolera SCSI portu równoleg³ego SCSI, który jest wbudowany w sterownik IOMEGA ZIP. Mo¿e tak¿e dzia³aæ z oryginalnym urz±dzeniem IOMEGA PPA3. Argument startowy dla tego sterownika ma formê: ______________________________________________________________________ ppa=iobase,speed_high,speed_low,nybble ______________________________________________________________________ Wszystkie warto¶ci oprócz IOBASE s± opcjonalne. Je¶li chcesz zmieniaæ któr±¶ z tych trzech opcjonalnych warto¶ci lepiej przeczytaj plik linux/drivers/scsi/README.ppa. 44..22..1133.. KKoonnttrroolleerryy ooppaarrttee nnaa NNCCRR55338800.. ((""nnccrr55338800=="")) W zale¿no¶ci od twojej karty, 5380 mo¿e odwzorowywaæ albo porty I/O albo pamiêæ. (Adres poni¿ej 0x400 zwykle oznacza odwzorowywanie adresów I/O, ale PCI i EISA u¿ywaj± adresów I/O powy¿ej 0x3FF.) W ka¿dym z przypadków podajesz adres, numer IRQ i numer kana³u DMA. Przyk³adem dla karty z odwzorowywaniem portów I/O mo¿e byæ: ______________________________________________________________________ ncr5380=0x350,5,3 ______________________________________________________________________ Je¶li karta nie u¿ywa IRQ, wtedy podajemy 255 (0xFF) jako numer IRQ. Warto¶æ 254 (0xFE) oznacza automatyczne wykrycie numeru przerwania. Wiêcej szczegó³ów znajdziesz w pliku linux/drivers/scsi/README.g_NCR5380. 44..22..1144.. KKoonnttrroolleerryy ooppaarrttee nnaa NNCCRR5533cc440000.. ((""nnccrr5533cc440000=="")) Kontroler ten jest obs³ugiwany przez ten sam sterownik co opisany wy¿ej 5380. Argument startowy przyjmuje identyczne warto¶ci za wyj±tkiem DMA, którego 53c400 nie u¿ywa. 44..22..1155.. KKoonnttrroolleerryy ooppaarrttee nnaa NNCCRR5533cc440066aa.. ((""nnccrr5533cc440066aa=="")) Argument startowy tego sterownika ma formê: ______________________________________________________________________ ncr53c406a=PORTBASE,IRQ,FASTPIO ______________________________________________________________________ gdzie IRQ i FASTPIO s± parametrami opcjonalnymi. Warto¶æ przerwania = 0, wy³±cza u¿ycie przerwania. Warto¶æ FASTPIO = 1 w³±cza u¿ycie instrukcji insl i outsl zamiast instrukcji jedno-bajtowych inb i outb. Sterownik mo¿e tak¿e przyjmowaæ DMA jako opcjê podczas kompilacji. 44..22..1166.. PPrroo AAuuddiioo SSppeeccttrruumm.. ((""ppaass==1166"")) PAS16 u¿ywa uk³adu SCSI NCR5380, a nowsze modele obs³uguj± konfiguracjê bezzworkow±. Argument startowy ma postaæ: ______________________________________________________________________ pas16=iobase,irq ______________________________________________________________________ Jedyn± ró¿nic± jest to, ¿e mo¿esz podaæ numer przerwania 255 (0xFF), które poinformuje sterownik, ¿eby pracowa³ bez u¿ywania przerwania, aczkolwiek przy utracie jako¶ci. IOBASE ma zwykle warto¶æ 0x388. 44..22..1177.. SSeeaaggaattee SSTT--00xx ((""sstt00xx=="")) Algorytm wyszukiwania dla tych kontrolerów szuka zainstalowanego BIOS- u, a je¶li takiego nie znajdzie, lub je¶li sygnatura w BIOS-ie nie zostanie rozpoznana, karta nie zostanie zidentyfikowana. W takich przypadkach musisz u¿yæ argumentu startowego w formie: ______________________________________________________________________ st0x=mem_base,irq ______________________________________________________________________ Warto¶æ mem_base okre¶la obszar adresów I/O odwzorowywany, którego u¿ywa karta. Jest to zwykle jedna z poni¿szych warto¶ci: 0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000. 44..22..1188.. TTrraannttoorr TT112288.. ((""tt112288=="")) Te karty s± tak¿e oparte na uk³adzie NCR5280 i akceptuj± nastêpuj±ce parametry: ______________________________________________________________________ t128=mem_base,irq ______________________________________________________________________ Warto¶ci dla mem_base to z regu³y: 0xcc000, 0xc8000, 0xdc000, 0xd8000. 44..22..1199.. KKaarrttaa UUllttrraassttoorr SSCCSSII.. ((""uu1144--3344ff=="")) Zauwa¿, ¿e zdaje siê, ¿e s± dwa niezale¿ne sterowniki dla tej karty, tj. CONFIG_SCSI_U14_34F, który u¿ywa u14-34f.c i CONFIG_SCSI_ULTRASTOR, który u¿ywa ultrastor.c. u14-34f jest tym (w pó¼nych j±drach 2.0), który przyjmuje argument startowy w formie: ______________________________________________________________________ u14-34f=iobase1[,iobase2][,iobase3]...[,iobaseN] ______________________________________________________________________ Sterownik bêdzie przeszukiwa³ adresy w podanej kolejno¶ci. 44..22..2200.. KKaarrttyy WWeesstteerrnn DDiiggiittaall WWDD77000000.. ((""wwdd77000000=="")) Sterownik dla wd7000 szuka znanego ³añcucha BIOS ROM i zna kilka standardowych ustawieñ konfiguracji. Je¶li ustawienia te nie s± poprawne albo masz nierozpoznan± wersjê BIOS-u, mo¿esz u¿yæ argumentu startowego w formie: ______________________________________________________________________ wd7000=irq,dma,iobase ______________________________________________________________________ 44..33.. KKoonnttrroolleerryy SSCCSSII nniiee pprrzzyyjjmmuujj±±ccee ppaarraammeettrróóww.. Obecnie nastêpuj±ce karty nie przyjmuj± ¿adnych argumentów startowych. W niektórych wypadkach mo¿esz _n_a _s_i_³_ê zmieniæ warto¶ci, edytuj±c kod ¼ród³owy sterownika, je¶li ju¿ musisz. Adaptec aha1740 (próbkowanie EISA), NCR53c7xx,8xx (PCI, oba sterowniki), Qlogic Fast (0x230, 0x330), Qlogic ISP (PCI) 55.. DDyysskkii ttwwaarrddee.. Ta sekcja wymienia wszystkie argumenty startowe zwi±zane ze standardowymi dyskami twardymi takimi jak: MFM/RLL, ST-506, XT i IDE. Zauwa¿, ¿e oba sterowniki IDE jak i ST-506 akceptuj± ten sam argument: "hd=". 55..11.. PPaarraammeettrryy ddllaa ddyysskkóóww ii CCDD--RROOMM--óóww IIDDEE.. Sterownik IDE akceptuje wiele parametrów, od okre¶lenia geometrii dysku do obs³ugi zaawansowanych, czy ¼le wykonanych uk³adów kontrolerów. Poni¿ej wymienione s± wszystkie mo¿liwe argumenty startowe. Aby dowiedzieæ siê wiêcej na temat szczegó³owego opisu _n_a_p_r_a_w_d_ê powinienie¶ zajrzeæ do pliku linux/Documentation/ide.txt, z którego to streszczenie zosta³o wyci±gniête. ______________________________________________________________________ "hdx=" - jest rozpoznawalny przez wszystkie "x" od "a" do "h", jak np. "hdc". "idex=" - jest rozpoznawalny przez wszystkie "x" od "0" do "3", jak np. "ide1". "hdx=noprobe" - napêd mo¿e byæ, ale go nie szukaj, "hdx=none" - napêdu nie ma, zignoruj CMOS i nie szukaj go, "hdx=nowerr" - zignoruj bit WRERR_STAT w tym napêdzie, "hdx=cdrom" - napêd jest obecny i jest CD-ROM-em, "hdx=cyl,head,sect" - napêd jest obecny z podan± geometri±, "hdx=autotune" - sterownik bêdzie próbowa³ ustawiæ prêdko¶æ interfejsu na najszybsze obs³ugiwane PIO je¶li jest to mo¿liwe tylko dla tego napêdu. Nie jest to obs³ugiwane przez wszystkie uk³ady, i ca³kiem prawdopodobne, ¿e bêdzie sprawia³o k³opoty przy starszych/dziwnych napêdach IDE. "idex=noprobe" - nie próbuj u¿ywaæ tego interfejsu, "idex=base" - szukaj interfejsu w podanym adresie, gdzie base to przewa¿nie 0x1F0 lub 0x170 a "ctl" to "base"+0x206, "idex=base,ctl" - okre¶lenie base i ctl, "idex=base,ctl,irq - okre¶lenie base, ctl i irq, "idex=autotune" - sterownik bêdzie próbowa³ ustawiæ prêdko¶æ interfejsu na najszybsze obs³ugiwane PIO, dla wszystkich napêdów na tym interfejsie. Nie jest to obs³ugiwane przez wszystkie uk³ady, i ca³kiem prawdopodobne, ¿e bêdzie sprawia³o k³opoty przy starszych/dziwnych napêdach IDE, "idex=noautotune" - sterownik nie bêdzie próbowa³ ustawiæ prêdko¶ci interfejsu. Jest to zachowanie standardowe wiêkszo¶ci uk³adów oprócz cmd640. "idex=serialize" - nie nak³adaj operacji na idex i ide(x^1). ______________________________________________________________________ Nastêpuj±ce parametry s± wa¿ne TYLKO dla ide0, a warto¶ci domy¶lnych dla portów base i ctl nie wolno zmieniaæ. ______________________________________________________________________ "ide0=dtc2278" : szukaj/obs³uguj interfejs DTC2278, "ide0=ht6560b" : szukaj/obs³uguj interfejs HT6560B, "ide0=cmd640_vlb" : *WYMAGANE* dla kart VLB z uk³adem CMD640, (nie dla PCI - wykrywane automatycznie) "ide0=qd6580" : szukaj/obs³uguj interfejs qd6580, "ide0=ali14xx" : szukaj/obs³uguj uk³ady ali14xx (ALI M1439/M1445), "ide0=umc8672" : szukaj/obs³uguj uk³ady umc8672, ______________________________________________________________________ Wszystko inne jest odrzucane z informacj± "BAD OPTION" (czyli "z³a opcja"). 55..22.. PPaarraammeettrryy ssttaannddaarrddoowweeggoo sstteerroowwnniikkaa SSTT--550066.. ((""hhdd=="")) Standardowy sterownik dysku mo¿e zaakceptowaæ parametry dotycz±ce geometrii dysków podobnych do sterownika IDE. Aczkolwiek zauwa¿, ¿e spodziewa siê on tylko trzech warto¶ci (C/H/S) - jedna mniej lub wiêcej i po cichutku ciê zignoruje. Akceptuje on tylko argument "hd=", tak, ¿e "hda=", "hdb=" itd. nie s± brane pod uwagê. Format tego argumentu to: ______________________________________________________________________ hd=cyls,heads,sects ______________________________________________________________________ gdzie cyls to ilo¶æ cylindrów, heads - g³owic; sects - sektorów. Je¶li s± zainstalowane dwa dyski, nale¿y powy¿sze powtórzyæ z geometri± dysku drugiego. 55..33.. PPaarraammeettrryy sstteerroowwnniikkaa ddyysskkuu XXTT.. ((""xxdd=="")) Je¶li jeste¶ na tak nieszczê¶liwym miejscu i u¿ywasz jednej z tych starych kart, które przenosz± dane z zabójcz± prêdko¶ci± dochodz±c± w porywach do 125kB/s WYRZUÆ J¡ NATYCHMIAT I KUP NOW¡ !!! A powa¿nie. Algorytm wyszukiwania dla tych kart szuka zainstalowanego BIOS-u, a je¶li takiego nie znajdzie, lub je¶li sygnatura w BIOS-ie nie zostanie rozpoznana, karta nie zostanie zidentyfikowana. W takich przypadkach musisz u¿yæ argumentu startowego w formie: ______________________________________________________________________ xd=type,irq,iobase,dma_chan ______________________________________________________________________ Warto¶æ type okre¶la konkretnego wykonawcê karty, i jest jedn± z: 0=generic; 1=DTC; 2,3,4=Western Digital, 5,6,7=Seagate; 8=OMTI. Jedyn± ró¿nic± pomiêdzy ró¿nymi typami tego samego wykonawcy jest ³añcuch w BIOS-ie u¿ywany do autodetekcji, który nie jest u¿ywany je¶li jest podany typ. Funkcja xd_setup() nie sprawdza warto¶ci, i przyjmuje, ¿e wpisa³e¶ wszystkie cztery. Nie za³amuj siê. Tutaj jest przyk³ad dla kontrolera WD1002 z wy³±czonym/usuniêtym BIOS-em, u¿ywaj±cym domy¶lnych parametrów kontrolera XT: ______________________________________________________________________ xd=2,5,0x320,3 ______________________________________________________________________ 66.. CCDD--RROOMM--yy ((NNaappêêddyy iinnnnee nnii¿¿ SSCCSSII//AATTAAPPII//IIDDEE)).. Ta sekcja wymienia wszystkie mo¿liwe argumenty startowe odnosz±ce siê do CD-ROM-ów. Zauwa¿, ¿e nie zawieraj± siê tutaj CD-ROM-y typu SCSI czy IDE/ATAPI. Przeczytaj odpowiedni± sekcjê dla tych CD-ROM-ów. Zauwa¿ te¿, ¿e wiêkszo¶æ z tych CD-ROM-ów ma pliki z dokumentacj±, które _p_o_w_i_n_i_e_n_e_¶ przeczytaæ. Wszystkie s± w katalogu linux/Documentation/cdrom. 66..11.. IInntteerrffeejjss AAzztteecchh.. ((""aazzttccdd=="")) Sk³adnia argumentu dla tej karty to: ______________________________________________________________________ aztcd=iobase[,magic_number] ______________________________________________________________________ Je¶li ustawisz parametr magic_number na 0x79 sterownik bêdzie próbowa³ siê uruchomiæ i uruchomi siê w przypadku nieznanego typu urz±dzenia firmowego. Wszystkie inne warto¶ci s± ignorowane. 66..22.. IInntteerrffeejjss SSoonnyy CCDDUU--3311AA ii CCDDUU--3333AA.. ((""ccdduu3311aa=="")) Ten interfejs CD-ROM-u znajduje siê na niektórych kartach d¼wiêkowych Pro Audio Spectrum i innych kartach obs³uguj±cych interfejs Sony. Sk³adnia tego argumentu to: ______________________________________________________________________ cdu31a=iobase,[irq[,is_pas_card]] ______________________________________________________________________ Podaj±c warto¶æ IRQ = 0 informujesz sterownik, ¿e przerwania sprzêtowe nie s± obs³ugiwane (jak na niektórych kartach PAS). Je¶li twoja karta obs³uguje przerwania, powiniene¶ ich u¿yæ poniewa¿ zmniejszaj± u¿ycie procesora na karcie. Je¶li u¿ywasz karty Pro Audio Spectrum podaj parametr "is_pas_card" jako PAS, a je¶li nie to nie powiniene¶ go wcale podawaæ. 66..33.. IInntteerrffeejjss SSoonnyy CCDDUU--553355.. ((""ssoonnyyccdd553355=="")) Sk³adnia argumentu dla tego interfejsu to: ______________________________________________________________________ sonycd535=iobase[,irq] ______________________________________________________________________ Zero mo¿e byæ u¿yte dla warto¶ci iobase jako "znak zajmuj±cy miejsce" (bez ¿adnego znaczenia dla sterownika) je¶li kto¶ chce podaæ warto¶æ IRQ. 66..44.. IInntteerrffeejjss GGoollddSSttaarr.. ((""ggssccdd=="")) Sk³adnia argumentu dla tego interfejsu to: ______________________________________________________________________ gscd=iobase ______________________________________________________________________ gdzie iobase jest adresem I/O. 66..55.. IInntteerrffeejjss IISSPP1166.. ((""iisspp1166=="")) Sk³adnia argumentu dla tego interfejsu to: ______________________________________________________________________ isp16=[port[,irq[,dma]]][[,]drive_type] ______________________________________________________________________ Podaj±c 0 dla IRQ lub DMA informujesz sterownik, ¿e nie bêd± one u¿ywane. Warto¶æ parametru drive_type to jedna z: noisp16, Sanyo, Panasonic, Sony i Mitsumi. Podanie warto¶ci noisp16 wy³±czy sterownik zupe³nie. 66..66.. IInntteerrffeejjss MMiittssuummii SSttaannddaarrdd.. ((""mmccdd=="")) Sk³adnia argumentu dla tego interfejsu to: ______________________________________________________________________ mcd=iobase,[irq[,wait_value]] ______________________________________________________________________ Warto¶æ wait_value jest u¿ywana jako wewnêtrzna warto¶æ timeout dla tych, którzy maj± problemy ze swoimi napêdami i mo¿e, ale nie musi byæ zaimplementowana. Zale¿y to od definicji odpowiedniego symbolu podczas kompilacji. 66..77.. IInntteerrffaaccee MMiittssuummii XXAA//MMuullttiiSSeessssiioonn.. ((""mmccddxx=="")) Obecnie ten "eksperymentalny" sterownik ma funkcjê ustawiaj±c±, ale nie przyjmuje ona jeszcze ¿adnych parametrów (1.3.15). (Od t³umacza: W wersji j±dra 2.0.18 tak¿e nie przyjmuje.) Odnosi siê on do tego samego sprzêtu co powy¿ej tyle, ¿e ma trochê rozszerzone mo¿liwo¶ci. 66..88.. OOppttiiccss SSttoorraaggee IInntteerrffaaccee.. ((""ooppttccdd=="")) Sk³adnia argumentu dla tej karty to: ______________________________________________________________________ optcd=iobase ______________________________________________________________________ 66..99.. IInntteerrffeejjss PPhhiilliippss CCMM220066.. ((""ccmm220066=="")) Sk³adnia argumentu dla tej karty to: ______________________________________________________________________ cm206=[iobase][,irq] ______________________________________________________________________ Sterownik zak³ada, ¿e liczby miêdzy 3 a 11 to numery przerwañ IRQ, a liczby pomiêdzy 0x300 a 0x370 to porty I/O, tak wiêc mo¿esz podaæ jeden lub oba argumenty w jakimkolwiek porz±dku. Mo¿na tak¿e podaæ cm206=auto, aby sterownik sam znalaz³ kartê. 66..1100.. IInntteerrffeejjss SSaannyyoo.. ((""ssjjccdd=="")) Sk³adania argumentu dla tej karty to: ______________________________________________________________________ sjcd=iobase[,irq[,dma_channel]] ______________________________________________________________________ 66..1111.. IInntteerrffeejjss SSoouunnddBBllaasstteerr PPrroo.. ((""ssbbppccdd=="")) Sk³adnia argumentu dla tej karty to: ______________________________________________________________________ sbpcd=iobase,type ______________________________________________________________________ gdzie type jest jednym z ³añcuchów: SounBlaster, LaserMate lub SPEA. (Wielko¶æ liter jest wa¿na !!!). I/O base jest adresem I/O interfejsu CD-ROM-u, a _n_i_e interfejsu d¼wiêkowego. 77.. IInnnnee uurrzz±±ddzzeenniiaa.. Wszelkie urz±dzenia, które nie zaliczaj± siê do wy¿ej wymienionych zosta³y wrzucone tutaj. 77..11.. UUrrzz±±ddzzeenniiaa EEtthheerrnneett.. ((""eetthheerr=="")) Ró¿ne sterowniki przyjmuj± ró¿ne parametry, ale wszystkie przyjmuj± przynajmniej nazwê, IRQ oraz adres I/O. W najbardziej ogólnej postaci wygl±d± to mniej wiêcej tak: ______________________________________________________________________ ether=irq,iobase[,param_1[,param_2,...param_8]]],name ______________________________________________________________________ Pierwszy argument, który nie jest liczb± uznawany jest za nazwê. Warto¶ci param_n zwykle maj± ró¿ne znaczenie dla ka¿dej karty czy sterownika. Typowe warto¶ci to adres pamiêci dzielonej, okre¶lenie interfejsu, kana³y DMA itp. Najpopularniejszym u¿yciem tego parametru jest wymuszenie szukania drugiej karty Ethernet poniewa¿ domy¶lnie szuka siê tylko jednej. Tak wygl±da³by przyk³ad: ______________________________________________________________________ ether=0,0,eth1 ______________________________________________________________________ Zauwa¿, ¿e warto¶ci 0 przy IRQ i adresie I/O w powy¿szym przyk³adzie informuj± sterownik, aby sam ich poszuka³. WA¯NA UWAGA DLA U¯YTKOWNIKÓW MODU£ÓW: Powy¿sze _n_i_e wymusi poszukiwania drugiej karty je¶li u¿ywasz sterownik-a/ów jako modu³ (zamiast wkompilowaæ je w j±dro). Wiêkszo¶æ dystrybucji Linux-owych jest zbudowana na bazie ma³ego statycznego j±dra i du¿ej ilo¶ci ³adowalnych modu³ów. Parametr ether= odnosi siê tylko do sterowników wkompilowanych w j±dro. Zauwa¿ te¿, ¿e Ethernet-HowTo ma pe³n± dokumentacjê na temat u¿ywania wiêkszej ilo¶ci kart i na temat parametrów dla konkretnych kart. Zainteresowani powinni zajrzeæ do tamtego dokumentu, aby dowiedzieæ siê szczegó³ów na temat swojej karty. 77..22.. SStteerroowwnniikk ddoo ddyysskkiieetteekk.. ((""ffllooppppyy=="")) Jest wiele parametrów do tego sterownika i wszystkie s± wymienione w pliku /linux/drivers/block/README.fd. Nastêpuj±ca informacja zosta³a zaczerpniêta bezpo¶rednio stamt±d. ______________________________________________________________________ floppy=mask,allowed_drive_mask ______________________________________________________________________ Ustawia maskê bitów dopuszczonych napêdów na mask. Domy¶lnie s± to kana³y 0 i 1 ka¿dego kontrolera. Jest tak, poniewa¿ pewne niestandardowe urz±dzenia (p³yty g³ówne ASUS PCI) zmieniaj± uk³ad znaków na klawiaturze kiedy próbuj± dostaæ siê do kana³u 2 czy 3. Ten parametr jest trochê przestarza³y z powodu opcji CMOS-u. ______________________________________________________________________ floppy=all_drives ______________________________________________________________________ Ustawia maskê bitów dopuszczonych napêdów na wszystkie napêdy. U¿yj tego je¶li masz wiêcej ni¿ dwa napêdy pod³±czone do kontrolera dyskietek. ______________________________________________________________________ floppy=asus_pci ______________________________________________________________________ Ustawia maskê bitów, aby dopu¶ciæ tylko kana³y 0 i 1. (Warto¶æ domy¶lna) ______________________________________________________________________ floppy=daring ______________________________________________________________________ Informuje sterownik, ¿e masz "dobrze zachowuj±cy siê" kontroler do dyskietek. Pozwala to na bardziej wydajn± i p³ynniejsz± pracê, ale mo¿e siê nie udaæ przy niektórych kontrolerach. Mo¿e to przyspieszyæ pewne operacje. ______________________________________________________________________ floppy=0,daring ______________________________________________________________________ Informuje sterownik, aby u¿ywaæ kontrolera ostro¿nie. ______________________________________________________________________ floppy=one_fdc ______________________________________________________________________ Informuje sterownik, ¿e masz tylko jeden kontroler. (warto¶æ domy¶lna) ______________________________________________________________________ floppy=two_fdc lub floppy=address,two_fdc ______________________________________________________________________ Informuje sterownik, ¿e masz dwa kontrolery do dyskietek. Drugi sterownik znajduje siê pod adresem address. Je¶li adres ten nie jest podany - przyjmuje siê warto¶æ domy¶ln±, tj. 0x370. ______________________________________________________________________ floppy=thinkpad ______________________________________________________________________ Informuje sterownik, ¿e masz kontroler Thinkpad, który u¿ywa odwrotnego oznaczenia linii zmiany dyskietek. ______________________________________________________________________ floppy=0,thinkpad ______________________________________________________________________ Informuje sterownik, ¿e nie masz kontrolera Thinkpad. ______________________________________________________________________ floppy=drive,type,cmos ______________________________________________________________________ Ustawia typ CMOS-u napêdu drive na type. Dodatkowo, napêd ten jest dopuszczony w masce bitów. Jest to przydatne je¶li masz wiêcej ni¿ dwa napêdy (w fizycznym cmos-ie mo¿na opisaæ tylko dwa), lub je¶li twój BIOS u¿ywa niestandardowych typów CMOS-u. Ustawienie CMOS-u na 0 dla pierwszych dwóch napêdów (domy¶lnie) zmusza sterownik do czytania fizycznego CMOS-u dla tych napêdów. ______________________________________________________________________ floppy=unexpected_interrupts ______________________________________________________________________ Wy¶wietl informacjê ostrzegaj±c± je¶li odebrano niespodziewane przerwanie. (zachowanie domy¶lne) ______________________________________________________________________ floppy=no_unexpected_interrupts lub floppy=L40SX ______________________________________________________________________ Nie wy¶wietlaj informacji ostrzegaj±cej kiedy odebrano niespodziewane przerwanie. Jest to potrzebne na niektórych laptopach IBM L40SX w pewnych trybach wy¶wietlania. (Wygl±da na to, ¿e jest jaka¶ interakcja pomiêdzy grafik± a dyskietkami. Niespodziewane przerwania dotycz± wydajno¶ci i mog± byæ spokojnie ignorowane.) 77..33.. SStteerroowwnniikk ddoo dd¼¼wwiiêêkkuu.. ((""ssoouunndd=="")) Sterownik d¼wiêku mo¿e tak¿e przyjmowaæ parametry, które zmieniaj± warto¶ci zapisane podczas kompilacji. Nie jest to zalecane poniewa¿ jest to operacja skomplikowana. Jest (By³a?) ona opisana w pliku linux/drivers/sound/Readme.Linux. Forma argumentu startowego dla sterownika d¼wiêku to: ______________________________________________________________________ sound=urz1[,urz2[,urz3...[,urz11]]] ______________________________________________________________________ gdzie ka¿da warto¶æ urzN ma postaæ 0xTaaaID. Symbole oznaczaj± w tym formacie: T - typ urz±dzenia: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16, 7=SB16-MPU401, aaa - adres I/O szesnastkowo, I - numer IRQ szesnastkowo (tj, 10=a, 11=b, ...), D - kana³ DMA. Jak widzisz jest tu trochê ba³aganu. Tak¿e lepiej wkompiluj swoje w³asne warto¶ci w sterowniku. Podanie sound=0 spowoduje wy³±czenie sterownika d¼wiêku zupe³nie. 77..44.. SStteerroowwnniikk ddoo mmyysszzyy BBuuss.. ((""bbmmoouussee=="")) Ten sterownik przyjmuje tylko jeden parametr: jest to warto¶æ IRQ. 77..55.. SStteerroowwnniikk ddoo mmyysszzyy MMSS BBuuss.. ((""mmssmmoouussee=="")) Ten sterownik przyjmuje tylko jeden parametr: jest to warto¶æ IRQ. 77..66.. SStteerroowwnniikk ddoo ddrruukkaarrkkii,, ((""llpp=="")) Co do j±der w wersji wiêkszej ni¿ 1.3.75, mo¿esz przekazaæ sterownikowi jakich portów u¿ywaæ a jakich _n_i_e u¿ywaæ. To drugie jest przydatne je¶li nie chcesz, ¿eby sterownik zaj±³ wszystkie dostêpne porty, aby inne sterowniki (np.: PLIP, PPA) mog³y ich u¿ywaæ. Forma tego argumentu to pary adres_I/O,IRQ. Na przyk³ad takie wywo³anie lp=0x3BC,0,0x378,7 spowoduje u¿ycie portu o adresie 0x3BC w trybie bezprzerwaniowym, i przerwania 7 dla portu o adresie 0x378. Port o adresie 0x278 (je¶li taki by by³) nie by³by przeszukiwany, poniewa¿ automatyczne przeszukiwanie ma miejsce tylko je¶li nie podano argumentu "lp". Aby wy³±czyæ sterownik od drukarki nale¿y podaæ lp=0. 77..77.. SStteerroowwnniikk ddoo IICCNN IISSDDNN.. ((""iiccnn=="")) Argument startowy dla tego sterownika to: ______________________________________________________________________ icn=iobase,membase,icn_id1,icn_id2 ______________________________________________________________________ gdzie iobase jest adresem portu I/O karty, membase jest adresem pamiêci dzielonej karty, a dwa ostatnie parametry s± unikalnymi ³añcuchami identyfikuj±cymi. 77..88.. SStteerroowwnniikk ddoo PPCCBBIITT IISSDDNN.. ((""ppccbbiitt=="")) Argument ten przyjmuje pary liczb w postaci: ______________________________________________________________________ pcbit=membase1,irq1[,membase2,irq2] ______________________________________________________________________ gdzie membaseN jest adresem pamiêci dzielonej N-tej karty, a irqN jest numerem przerwania N-tej karty. Warto¶ciami domy¶lnymi s±: IRQ = 5, membase = 0xD0000. 77..99.. SStteerroowwnniikk ddoo TTeelleess IISSDDNN.. ((""tteelleess=="")) Argument dla tego sterownika ma postaæ: ______________________________________________________________________ teles=iobase,irq,membase,protocol,teles_id ______________________________________________________________________ gdzie iobase jest adresem portu I/O karty, membase jest adresem pamiêci dzielonej karty, irq jest kana³em przerwania u¿ywanym przez kartê, a teles_id jest unikalnym ³añcuchem identyfikuj±cym. 77..1100.. SStteerroowwnniikk ddoo DDiiggiiBBooaarrdd.. ((""ddiiggii"")) Sterownik ten przyjmuje ³añcuch sze¶ciu oddzielonych przecinkiem identyfikatorów lub liczb. Te sze¶æ warto¶ci to odpowiednio: W³±cz/wy³±cz kartê. (E/D) Typ karty: PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3) W³±cz/wy³±cz dodatkowe ustawienie zworkami. (E/D) Ilo¶æ portów na tej karcie. Adresy portów I/O tej karty (szesnastkowo je¶li u¿ywasz identyfikatorów ³añcuchowych) Podstawa okna pamiêci (szesnastkowo je¶li u¿ywasz identyfikatorów ³añcuchowych). Oto poprawny przyk³ad u¿ycia tego argumentu (w obu formach: z ³añcuchami i liczbami): ______________________________________________________________________ digi=E,PC/Xi,D,16,200,D0000 digi=1,0,0,16,512,851968 ______________________________________________________________________ Warto¶ciami domy¶lnymi s±: adres I/O - 0x200, adres pamiêci dzielonej - 0xD0000. W przypadku tego sterownika nie jest dokonywane automatyczne wyszukiwanie urz±dzenia. Wiêcej szczegó³ów znajdziesz w pliku linux/Documentation/digiboard.txt. 77..1111.. SStteerroowwnniikk wwiieellooppoorrttoowweejj kkaarrttyy sszzeerreeggoowweejj RRIISSCCoomm//88.. ((""rriissccoomm88=="")) J±dro mo¿e obs³u¿yæ do czterech kart podaj±c cztery unikalne warto¶ci dla portów I/O dla ka¿dej indywidualnej karty. Dalsze szczegó³y znajdziesz w pliku linux/Documentation/riscom8.txt. 77..1122.. BBaayyccoomm SSeerriiaall//PPaarraalleellll RRaaddiioo MMooddeemm.. ((""bbaayyccoomm=="")) Argument dla tego sterownika ma postaæ: ______________________________________________________________________ baycom=modem,io,irq,opcje[,modem,io,irq,opcje] ______________________________________________________________________ Podaj±c modem=1 informujesz, ¿e masz urz±dzenie ser12, modem=2 - urz±dzenie par96. Opcje=0 oznacza sprzêt DCD, opcje=1 - oprogramowanie DCD. I/O i IRQ s± jak zwykle: adresem portów I/O i numerem IRQ. Wiêcej szczegó³ów na temat tego sterownika znajdziesz w pliku /linux/drivers/char/README.baycom. 88.. ZZaakkooññcczzeenniiee.. Je¶li znalaz³e¶ jakie¶ przestarza³e informacje, to napisz do autora tego dokumentu: gpg109@rsphy1.anu.edu.au 99.. OOdd tt³³uummaacczzaa.. T³umaczenie to jest chronione prawami autorskimi © Bartosza Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na prawach takich samych jak dokument oryginalny. Je¶li znalaz³e¶ jakie¶ ra¿±ce b³êdy ortograficzne, gramatyczne, sk³adniowe, techniczne to pisz do mnie: B.Maruszewski@jtz.org.pl Oficjaln± stron± t³umaczeñ HOWTO jest http://www.jtz.org.pl/ Aktualne wersje przet³umaczonych dokumentów znajduj± siê na tej¿e stronie. Dostêpne s± tak¿e poprzez anonimowe ftp pod adresem ftp.jtz.org.pl/pub/Linux/JTZ/ Przet³umaczone przeze mnie dokumenty znajduj± siê tak¿e na mojej stronie WWW. <http://www.jtz.org.pl/bartek/tlumaczenie.html> S± tam te¿ odwo³ania do Polskiej Strony T³umaczeniowej. Kontakt z nasz± grup±, grup± t³umaczy mo¿esz uzyskaæ poprzez listê dyskusyjn± jtz@ippt.gov.pl. Je¶li chcesz siê na ni± zapisaæ, to wy¶lij list o tre¶ci subscribe jtz Imiê Nazwisko na adres majordomo@ippt.gov.pl Zmiany wprowadzone przez t³umacza w tym dokumencie to odno¶niki do polskich serwerów ftp i WWW.