Opis j±dra Linux-a, jego instalacji itp. Autor: Brian Ward, bri@cs.uchicago.edu v1.0, 5 Czerwca 1999 WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkii BB..MMaarruusszzeewwsskkii@@jjttzz..oorrgg..ppll v3.0, 7 Sierpnia 1999 Dokument ten jest szczegó³owym przewodnikiem do konfiguracji, kompi lacji i odnawiania j±dra. Zawarte s± tutaj tak¿e sposoby rozwi±zywa nia problemów zwi±zanych z j±drem dla systemów na procesorach rodziny ix86. Zosta³ napisany w standardzie ISO-8859-2. Orygina³ tego doku mentu znajduje siê pod adresem ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/docs/HOWTO. Nowsza wersja zawiera uaktualnione wskazania na katalog zawieraj±cy j±dra na ftp.icm.edu.pl ______________________________________________________________________ Spis tre¶ci 1. Wprowadzenie. 1.1 Przeczytaj to najpierw! (Nie ¿artujê) 1.2 S³owo na temat wygl±du. 2. Wa¿ne pytania i odpowiedzi na nie. 2.1 Co to j±dro w ogóle robi? 2.2 Dlaczego mia³bym chcieæ odnowiæ swoje j±dro? 2.3 Jaki sprzêt obs³uguj± nowsze wersje j±dra? 2.4 Jakiej wersji gcc i libc potrzebujê? 2.5 Co to jest ³adowalny modu³? 2.6 Ile potrzebujê miejsca na dysku? 2.7 Jak d³ugo zajmuje kompilacja? 3. Jak w³a¶ciwie skonfigurowaæ to j±dro? 3.1 Zdobywanie ¼ród³a. 3.2 Rozpakowywanie ¼ród³a. 3.3 Konfiguracja j±dra. 3.3.1 Kernel math emulation (Processor type and features) 3.3.2 Enhanced (MFM/RLL) disk and IDE disk/cdrom support (Block Devices). 3.3.3 Networking support (General Setup). 3.3.4 System V IPC (General Setup). 3.3.5 Processor family (Processor type and features). (w starszych wersjach: Use -m486 flag for 486-specific optimizations) 3.3.6 SCSI support. 3.3.7 Network device support. 3.3.8 Filesystems. 3.3.8.1 Ale ja nie wiem jakiego systemu plików potrzebujê! 3.3.9 Character devices. 3.3.10 Sound. 3.3.11 Inne opcje konfiguracji. 3.3.12 Kernel hacking. 3.4 I co teraz? (Makefile) 4. Kompilacja j±dra. 4.1 Czyszczenie i zale¿no¶ci. 4.2 Kompilacja g³ówna. 4.3 Inne parametry dla "make" przy kompilowaniu j±dra. 4.4 Instalacja j±dra. 5. £atanie j±dra (patchowanie). 5.1 Zak³adanie ³aty. 5.2 Je¶li co¶ pójdzie nie tak. 5.3 Pozbywanie siê plików ".orig". 5.4 Inne ³aty. 6. Pakiety dodatkowe. 6.1 kbd 6.2 util-linux 6.3 hdparm 6.4 gpm 7. Niektóre pu³apki. 7.1 make clean 7.2 Wielkie albo wolne j±dro. 7.3 Port równoleg³y nie dzia³a/moja drukarka nie dzia³a. 7.4 J±dro siê nie kompiluje. 7.5 Nowa wersja j±dra nie chce siê za³adowaæ. 7.6 Zapomnia³e¶ uruchomiæ lilo, albo system siê w ogóle nie ³aduje. 7.7 Pisze mi "warning: bdflush not running". 7.8 Nie mogê zmusiæ mojego CD-ROM-u IDE/ATAPI do wspó³pracy. 7.9 Pisze co¶ o przestarza³ym rutingu. 7.10 Firewall mi nie dzia³a w wersji 1.2.0 7.11 "Not a compressed kernel Image file". 7.12 Problemy z konsol± po odnowieniu do wersji 1.3.x. 7.13 Nie mogê skompilowaæ ró¿nych rzeczy po odnowieniu j±dra. 7.14 Zwiêkszanie limitów. 8. Uwaga na temat uaktualnienia do wersji 2.0.x i 2.2.x. 9. Modu³y. 9.1 Instalacja narzêdzi modu³owych. 9.2 Modu³y dystrybuowane z j±drem. 10. Sztuczki i wskazówki. 10.1 Przekierowywanie wyj¶cia z poleceñ make i patch. 10.2 Instalacja warunkowa j±dra. 10.3 Odnowienia j±dra. 11. Inne dokumenty HOWTO, które mog± siê przydaæ to: 12. Ró¿no¶ci 12.1 Od autora. 12.2 Co jest jeszcze do zrobienia. 12.3 Oto ci, którzy siê przyczynili do powstania tego HOWTO. 12.4 Prawa autorskie, licencja i takie inne. 12.5 Od t³umacza. ______________________________________________________________________ 11.. WWpprroowwaaddzzeenniiee.. Czy powiniene¶ to czytaæ? Hmm... zobaczmy czy masz nastêpuj±ce problemy: · "Ten wredny pakiet mówi, ¿e potrzebuje j±dra w wersji 2.8.193 a ja ci±gle mam 1.0.9!" · W jednym z nowszych wersji j±dra jest nowy sterownik, który po prostu MUSISZ mieæ. · W ogóle nie masz pojêcia jak skompilowaæ j±dro · "Czy to w README to _n_a_p_r_a_w_d_ê wszystko?" · Usiad³e¶, spróbowa³e¶ i nie wysz³o · Potrzebujesz czego¶, co móg³by¶ daæ tym wszystkim, którzy ci±gle ciê prosz± ¿ebys im zainstalowa³ j±dro. 11..11.. PPrrzzeecczzyyttaajj ttoo nnaajjppiieerrww!! ((NNiiee ¿¿aarrttuujjêê)) Niektóre z przyk³adów zawartych tutaj zak³adaj±, ¿e masz zainstalowane takie programy jak: GNU tar, find i xargs. S± one w³a¶ciwie standardowe; nie powinno byæ z tym problemów. Zak³ada siê tak¿e, ¿e znasz strukturê twojego systemu plików. Je¶li nie znasz to koniecznie trzymaj w rêku wydruk tego co pojawia siê na ekranie po poleceniu mount, albo wydruk zawarto¶ci pliku /etc/fstab je¶li umiesz go przeczytaæ. Informacja ta jest wa¿na, i nie zmieni siê dopóki nie zmienisz uk³adu partycji na twoim dysku. Najnowsz± wersj± j±dra, dostêpn± podczas pisania tego dokumentu, by³a wersja 2.2.9. To znaczy, ¿e wszystko w tym dokumencie odnosi siê do tej w³a¶nie wersji. Chocia¿ staram siê napisaæ ten dokument tak niezale¿nym jak siê tylko da, j±dro jest ci±gle rozwijane, wiêc je¶li dostaniesz nowsz± wersjê, nieuniknionym jest, ¿e bêd± jakie¶ ró¿nice. Ale to wci±¿ nie powinno stanowiæ du¿ego problemu, co najwy¿ej mog± wyst±piæ jakie¶ drobne ró¿nice. S± dwie ogólne wersje ¼róde³ j±dra Linux-a, stabilne i testowe. Stabilne wersje zaczynaj± siê od wersji 1.0.x i s± numerowane liczbami parzystymi (chodzi o liczbê drug±); 1.0.x, 1.2.x, 2.0.x jak równie¿ 2.2.x. Wersje te s± uwa¿ane za najbardziej stabilne, wolne od dziur i b³êdów podczas ich dystrybucji. J±dra testowe ( 2.1.x, 2.3.x) s± j±drami przeznaczonymi dla tych, którzy chc± je testowaæ, wprowadzaæ jakie¶ zmiany, mo¿e nawet wspó³pracowaæ przy tworzeniu go. W wersjach tych mo¿e byc pe³no b³êdów, mog± siê zawieszaæ chocia¿ to wcale nie jest regu³± i niekoniecznie musi siê dziaæ. Jakby co, to zosta³e¶ ostrze¿ony. 11..22.. SS³³oowwoo nnaa tteemmaatt wwyyggll±±dduu.. Tekst, który tak wygl±da jest albo czym¶ co pojawi siê na ekranie, nazw± pliku, albo czym¶ co mo¿e byæ bezpo¶rednio wpisane z klawiatury (np. polecenie, czy jego opcje). Je¶li czytasz ten dokument jako zwyk³y plik tekstowy to tekst ten niczym siê nie ró¿ni. 22.. WWaa¿¿nnee ppyyttaanniiaa ii ooddppoowwiieeddzzii nnaa nniiee.. 22..11.. CCoo ttoo jj±±ddrroo ww ooggóóllee rroobbii?? J±dro w systemach typu Unix odgrywa rolê po¶rednika miêdzy twoimi programami, a twoim sprzêtem. Najpierw zajmuje siê zarz±dzaniem pamiêci dla wszystkich uruchomionych programów (procesów), i dba o to, aby wszystkie one dosta³y równ± ilo¶æ czasu procesora. (albo nierówn± je¶li tak za¿±dasz). Dodatkowo, posiada mi³y interfejs dla programów chc±cych "rozmawiaæ" z twoim sprzêtem. J±dro spe³nia oczywi¶cie o wiele wiêcej funkcji, ale to s± najwa¿niejsze, które nale¿y znaæ. 22..22.. DDllaacczzeeggoo mmiiaa³³bbyymm cchhcciieeææ ooddnnoowwiiææ sswwoojjee jj±±ddrroo?? Nowsze j±dra z regu³y maj± wieksz± ilo¶æ sterowników, czyli mog± obs³u¿yæ wiêksz± ilo¶æ urz±dzeñ, mog± mieæ ulepszone algorytmy zarz±dzania procesami, mog± dzia³aæ szybciej ni¿ starsze wersje, mog± byæ bardziej stabilne, maj± tak¿e wiele poprawek b³êdów, które zdarzy³y siê w wersjach wcze¶niejszych. Wiêkszo¶æ ludzi odnawia swoje j±dra poniewa¿ chc± wiêkszej ilo¶ci sterowników i naprawionych b³êdów. 22..33.. JJaakkii sspprrzzêêtt oobbss³³uugguujj±± nnoowwsszzee wweerrssjjee jj±±ddrraa?? Przeczytaj Hardware-HOWTO. Mo¿esz tak¿e zajrzeæ do pliku config.in w ¼ród³ach j±dra. Albo po prostu dowiedzieæ siê samemu jak napiszesz make config. W poleceniu tym znajd± siê wszystkie obs³ugiwane przez dane j±dro urz±dzenie. Ale nie bêd± to wszystkie urz±dzenia, które obs³uguje Linux. Wiele popularnych sterowników (jak np. sterownik do PCMCIA i niektóre sterowniki do ta¶m) s± rozprowadzane osobno jako ³adowalne modu³y. 22..44.. JJaakkiieejj wweerrssjjii ggcccc ii lliibbcc ppoottrrzzeebbuujjêê?? Aby zobaczyæ jak± masz wersjê napisz gcc -v. Linus zaleca zawsze w pliku README wersjê gcc, która powinna byæ u¿yta do kompilacji danego j±dra. Je¶li nie masz tej wersji, dokumentacja w zalecanej wersji gcc powinna powiedzieæ ci czy musisz odnowiæ libc. Nie jest to trudne, ale wa¿ne jest, aby postêpowaæ zgodnie ze wskazówkami. 22..55.. CCoo ttoo jjeesstt ³³aaddoowwaallnnyy mmoodduu³³?? S± to czê¶ci j±dra, które nie s± zawarte bezpo¶rednio w nim. Kompiluje siê je osobno i mo¿na je umie¶ciæ a nastêpnie usun±æ z uruchomionego j±dra prawie zawsze. Z powodu tej elastyczno¶ci jest to teraz preferowana metoda pisania niektórych fragmentów j±dra. Wiele popularnych sterowników urz±dzeñ to ³adowalne modu³y. 22..66.. IIllee ppoottrrzzeebbuujjêê mmiieejjssccaa nnaa ddyysskkuu?? To zale¿y od twojej konkretnej konfiguracji. Skompresowane ¼ród³a zajmuj± mniej wiêcej 14 MB. Po rozkompresowaniu, skonfigurowaniu i kompilacji zajmuje kolejne 67 MB. 22..77.. JJaakk dd³³uuggoo zzaajjmmuujjee kkoommppiillaaccjjaa?? Na nowszych maszynach zabiera to NAPRAWDÊ mniej czasu ni¿ na starych. Np. na AMD K6-2/300 z szybkim dyskiem kompilacja wersji 2.2.x mo¿e zaj±æ oko³o 4 minut podczas gdy kompilacja tego samego j±dra na starym Pentium, 486 czy 386 mo¿e trwaæ nawet godziny, czy dni ... Je¶li to ciê martwi, a masz w pobli¿u szybszy komputer, to skompiluj j±dra na nim (zak³adaj±c, ¿e ustawisz poprawne parametry, ¿e twoje narzêdzia systemowe s± w odpowiednich wersjach itd), a potem przesnie¶ skompilowane j±dro (obraz) na wolniejszy komputer. 33.. JJaakk ww³³aa¶¶cciiwwiiee sskkoonnffiigguurroowwaaææ ttoo jj±±ddrroo?? 33..11.. ZZddoobbyywwaanniiee ¼¼rróódd³³aa.. ¬ród³a mo¿esz sci±gn±æ np. z ftp.kernel.org:/pub/linux/kernel - jest to g³ówny serwer dla j±dra Linux-a, albo z jakiej¶ bli¿szej ci kopii tego serwera. W Polsce najlepszym miejscem jest ftp.icm.edu.pl/pub/Linux/kernel. Z regu³y nazwa j±dra to linux- x.y.z.tar.gz, gdzie x.y.z jest numerem wersji. Tak jak ju¿ wspomnia³em, wersje z nieparzyst± drug± liczb± to wersje rozwojowe i mog± byæ niestabilne. Obok wersji .tar.gz s± jeszcze wersje .bz2, które s± mniejsze i zabieraj± mniej czasu do ¶ci±gniêcia. Najlepiej u¿ywaæ adresu ftp.xx.kernel.org, gdzie xx to kod twojego kraju. Np. ftp.pl.kernel.org dla Polski. Je¶li szukasz jakich¶ ogólnych informacji o Linux-ie, to zajrzyj pod adres www.linux.org <http://www.linux.org>. W Polsce tak¿e jest Polska Grupa U¿ytkowników Linux-a. 33..22.. RRoozzppaakkoowwyywwaanniiee ¼¼rróódd³³aa.. Zaloguj siê jako root albo u¿yj polecenia su i zmieñ katalog na /usr/src cd /usr/src. Je¶li zainstalowa³e¶ ¼ród³a do j±dra podczas instalacji Linux-a w katalogu tym znajdziesz do³±czenie symboliczne linux, które bêdzie wskazywa³o na katalog linux-x.y.z ze ¼ród³ami, które wtedy zainstalowa³e¶. Je¶li chcesz zachowaæ stare ¼ród³a to usuñ do³±czenie linux poleceniem rm linux. Je¶li takiego do³±czenia nie ma, a jest katalog linux, to (je¶li chcesz zachowaæ ¼ród³a starej wersji j±dra) zmieñ nazwê linux na linux-x.y.z, gdzie x.y.z jest wersj± tych ¼róde³. (zajrzyj do pliku linux/Makefile - w pierwszych trzech linijkach znajdziesz wersjê ¼róde³ znajduj±cych siê w tym katalogu). Je¶li chcesz mo¿esz skasowaæ ca³y katalog linux i pozbyæ siê starych ¼róde³. W ka¿dym razie upewnij siê, ¿e nie ma katlogu linux przed rozpakowanie ¼róde³. Teraz w katalogu /usr/src rozpakuj ¼ród³a poleceniem tar zxpvf linux- x.y.z.tar.gz, je¶li na koñcu nazwy pliku ze ¼ród³ami nie ma .gz to u¿yj polecenia tar xpvf linux-x.y.z. Zawarto¶æ archiwum wy¶wietli siê na ekranie. Kiedy rozpakowywanie siê skoñczy pojawi siê nowy katalog linux. Dobrym pomys³em by³oby w tym momencie zmieniæ jego nazwê na linux-x.y.z i zrobiæ symboliczne do³±czenie do tego katalogu o nazwie linux. Aby to zrobiæ u¿yj polecenia mv linux linux-x.y.z; ln -s linux- x.y.z linux. Teraz zmieñ bie¿±cy katalog na linux i przejrzyj plik README. Znajdziesz tam sekcjê o nazwie INSTALLING the kernel. Przeczytaj j± uwa¿nie i wype³nij wszystkie polecenia, o których tam mowa. Je¶li ¶ci±gn±³e¶ wersjê .bz2 i masz program bzip2 (na jego temat mo¿na przeczytaæ pod adresem www.muraroa.demon.co.uk/), to zrób tak: bzcat2 linux-x.y.z.tar.bz2 | tar xvf - 33..33.. KKoonnffiigguurraaccjjaa jj±±ddrraa.. UWAGA: Niektóre z uwag zawartych tutaj s± podobne do tych z pliku Linusa README. Polecenie make config wydane w katalogu /usr/src/linux uruchamia skrypt konfiguracyjny, który zadaje ci wiele pytañ. Wymaga on zainstalowanego shella, wiêc sprawd¼ czy go masz. (/bin/bash, /bin/sh lub $BASH) W wersjach 2.0.x i nowszych istniej± jeszcze dwa sposoby na konfiguracjê: make menuconfig jak sama nazwa wskazuje jest to konfiguracja za pomoc± menu tekstowego. Mo¿na te¿ wydaæ polecenie make xconfig co spowoduje uruchomienie mi³ej konfiguracji pod Xwindow. Pierwszy sposób wymaga zainstalowanej biblioteki (n)curses. Ta druga wymaga zainstalowanej biblioteki Tcl/Tk. Obie s± dostarczane wraz ze standardowymi dystrybucjami. Te sposoby maj± podstawow± zaletê: je¶li siê pomylisz, to ³atwo jest wróciæ i poprawiæ b³±d. Mo¿na teraz odpowiadaæ na kolejne pytania ukazuj±ce siê na ekranie. Odpowiada siê zwykle literami "y" - tak i "n" - nie. Przy sterownikach jest jeszcze dodatkowa opcja "m" - oznacza skonfigurowanie go jako ³adowalny modu³. Bardziej komicznym sposobem wyja¶nienia tej litery jest "mo¿e". Niektóre z bardziej oczywistych czy nie-krytycznych opcji nie zosta³y tutaj opisane; zobacz w sekcji "Inne opcje konfiguracji." W make menuconfig spacj± zaznacza siê dan± opcjê. W wersjach 2.0.x i nowszych jest _p_o_l_e_c_e_n_i_e "?", która umo¿liwia wy¶wietlenie krótkiej pomocy na temat bie¿±cej opcji. Informacja ta jest prawdopodobnie naj¶wie¿sza. Oto lista wa¿niejszych opcji, do jakiej hierarchii nale¿± i krótki opis. 33..33..11.. KKeerrnneell mmaatthh eemmuullaattiioonn ((PPrroocceessssoorr ttyyppee aanndd ffeeaattuurreess)) Pytanie to dotyczy emulacji koprocesora przez j±dro. Je¶li nie masz koprocesora matematycznego (masz czysty 386 albo 486SX), musisz tu odpowiedzieæ "y". Je¶li masz koprocesor a odpowiesz "y", nie martw siê -- koprocesor bêdzie u¿yty, a emulacja ignorowana. W po³owie przypadków w tej chwili odpowiedzi± bêdzie nie, ale nie martw siê je¶li przypadkowo odpowiesz tak; je¶li nie trzeba, to nie bêdzie to u¿yte. 33..33..22.. EEnnhhaanncceedd ((MMFFMM//RRLLLL)) ddiisskk aanndd IIDDEE ddiisskk//ccddrroomm ssuuppppoorrtt ((BBlloocckk DDeevviicceess)).. Przypuszczalnie potrzebujesz tej obs³ugi. Opcja ta oznacza, ¿e j±dro bêdzie obs³ugiwaæ standardowe dyski do komputerów PC, które s± w posiadaniu wiêkszo¶ci ludzi. Sterownik ten nie zawiera obs³ugi dla dysków SCSI, pytanie o to bêdzie pó¼niej w konfiguracji. Zostaniesz zapytany nastêpnie o sterowniki "old disk-only" i "new IDE". Wybierz jeden z nich; g³ówna ró¿nica pomiêdzy nimi to taka, ¿e stary sterownik obs³uguje tylko dwa dyski na pojedynczym interfejsie, a nowy obs³uguje drugi interfejs i napêdy IDE/ATAPI CD-ROM. Nowy sterownik jest o oko³o 4 kB wiêkszy od starego i ma byæ lepszy. To znaczy, ¿e pomijaj±c mniejsz± ilo¶æ b³êdów mo¿e dzia³aæ bardziej wydajnie, szczególnie je¶li masz dysk typu EIDE. 33..33..33.. NNeettwwoorrkkiinngg ssuuppppoorrtt ((GGeenneerraall SSeettuupp)).. Ogólnie powiniene¶ odpowiedzieæ "y" je¶li twój komputer jest w sieci takiej jak Internet, albo je¶li chcesz u¿ywaæ protoko³ów SLIP czy PPP, aby mieæ dostêp do Internetu. Aczkolwiek wiele pakietów (np. Xwindows) wymaga obs³ugi sieci nawet je¶li twój komputer nie jest pod³±czony do ¿adnej sieci; powiniene¶ tu odpowiedzieæ "y". Pó¼niej, zostaniesz zapytany czy chcesz obs³ugê protoko³u TCP/IP; znowu, odpowiedz "y" je¶li nie jeste¶ absolutnie pewien. 33..33..44.. SSyysstteemm VV IIPPCC ((GGeenneerraall SSeettuupp)).. Jedn± z najlepszych definicji IPC (InterProcess Communication - Komunikacja Pomiêdzy Procesami) znajduje siê w glosariuszu w ksi±¿ce o Perlu. Nic wiêc dziwnego, ¿e niektórzy programi¶ci pisz±cy w Perlu wykorzystuj± go do komunikacji miêdzy procesami, tak samo jak wiele innych pakietów (DOOM - z tych najbardziej znanych ;) ), wiêc odpowied¼ "n" nie jest m±drym wyborem, o ile wiesz dok³adnie co robisz. 33..33..55.. ((ww ssttaarrsszzyycchh wweerrssjjaacchh:: UUssee --mm448866 ffllaagg ffoorr 448866--ssppeecciiffiicc ooppttii mmiizzaattiioonnss)) PPrroocceessssoorr ffaammiillyy ((PPrroocceessssoorr ttyyppee aanndd ffeeaattuurreess)).. Tradycyjnie, to wkompilowywa³o pewne optymalizacje dla konkretnego procesora; j±dra dzia³a³y dobrze tak¿e na inncyh procesoarch, ale by³y one troche wiêksze. W nowszych wersjach siê ju¿ tego nie stosuje i powiniene¶ odpowiedzieæ na jaki procesor rzeczywi¶cie kompilujesz j±dro. J±dro skompilowane na 386 bêdzie dzia³aæ na wszystkich procesorach. 33..33..66.. SSCCSSII ssuuppppoorrtt.. Je¶li masz urz±dzenia SCSI odpowiedz "y". Zostaniesz nastêpnie zapytany o dalsze informacje, jak np.: obs³uga CD-ROM-u, dysków i twojego adaptera. Zajrzyj do SCSI-HOWTO po wiêcej szczegó³ów. 33..33..77.. NNeettwwoorrkk ddeevviiccee ssuuppppoorrtt.. Je¶li masz kartê sieciow±, albo chcia³by¶ u¿ywaæ protoko³ów SLIP, PPP, albo kontrolera portu równoleg³ego aby po³±czyæ siê z Internetem odpowiedz "y". Konfigurator spyta ciê nastêpnie o typ karty i rodzaj protoko³u. 33..33..88.. FFiilleessyysstteemmss.. Skrypt konfiguracyjny pyta ciê nastêpnie o to, jakie systemy plików chcesz obs³ugiwaæ: Standard (minix) - Nowsze dystrybucje nie tworz± tego systemu plików, a wielu ludzi go nie u¿ywa, ale jednak u¿ycie go mog³oby byæ dobrym pomys³em, poniewa¿ przydaje siê on do odczytu dyskietek, dla których system ten jest mniej bolesny ni¿ ext2. Second extended - To jest standardowy system plików Linuxa. Prawie na pewno masz jeden z nich i musisz odpowiedzieæ y. msdos - Je¶li chcesz u¿ywaæ swej partycji dos-owej, albo montowaæ dyskietki sformatowane pod ten system, odpowiedz "y". Dostêpne s± jeszcze ró¿ne inne systemy plików z innych systemów operacyjnych. /proc - (Pomys³ jak mniemam z laboratorium Bella). Na dysku nie tworzy siê systemu plików proc. To jest system plików, który s³u¿y do porozumiewania siê z j±drem i procesami. Wiele programów wy¶wietlaj±cych procesy, jak np. ps u¿ywa tego systemu plików. Spróbuj czasami wykonaæ polecenie cat /proc/meminfo albo cat /proc/devices. Niektóre pow³oki (w szczególno¶ci rc) u¿ywaj± /proc/self/fd (znane jako /dev/fd na innych systemach) do funkcji I/O. Powiniene¶ prawie na pewno odpowiedzieæ tutaj "y". Wiele wa¿nych narzêdzi do Linux-a zale¿y od tego systemu plików. NFS - Je¶li twój komputer jest w sieci i chcesz u¿ywaæ systemów plików, które znajduj± siê na innych systemach z NFS, odpowiedz "y". ISO9660 - Ten system plików jest na przewa¿aj±cej ilo¶ci CD-ROM-ów. Je¶li wiêc chcesz u¿ywaæ CD-ROM-u odpowiedz "y". 33..33..88..11.. AAllee jjaa nniiee wwiieemm jjaakkiieeggoo ssyysstteemmuu pplliikkóóww ppoottrrzzeebbuujjêê!! No dobra, napisz mount. Powinno siê wy¶wietliæ co¶ jak: blah# mount /dev/hda1 on / type ext2 (defaults) /dev/hda3 on /usr type ext2 (defaults) none on /proc type proc (defaults) /dev/fd0 on /mnt type msdos (defaults) Spójrz na ka¿d± linijkê; s³owo obok type jest typem systemu plików. W tym przypadku / i /usr s± typu _s_e_c_o_n_d _e_x_t_e_n_d_e_d, u¿ywany jest tak¿e _p_r_o_c i jest tak¿e zamontowana dyskietka z systemem plików msdos (tfu!). Mo¿esz spróbowaæ te¿ cat /proc/filesystems je¶li masz system _p_r_o_c. Wy¶wietli ci to systemy plików wkompilowane w aktulanie u¿ywane j±dro. Konfiguracja rzadko u¿ywanych i nie krytycznych systemów plików mo¿e powodowaæ niepotrzebne powiêkszanie siê j±dra; poczytaj sekcjê o modu³ach jak tego unikn±æ i sekcjê "Pu³apki", aby dowiedzieæ siê dlaczego powiêkszaj±ce siê j±dro nie jest po¿±dane. 33..33..99.. CChhaarraacctteerr ddeevviicceess.. Tutaj do³±czasz sterowniki dla drukarki (równoleg³ej, znaczy siê), myszy szeregowej, myszy PS/2 (wiele Notebooków u¿ywa protoko³u PS/2 dla swoich wbudowanych myszy), niektóre sterowniki do ta¶m, i inne tego typu "znakowe" urz±dzenia. Odpowiedz "y" kiedy znajdziesz urz±dzenie, którego u¿ywasz. UWAGA: gpm to program, który pozwala na u¿ycie myszy poza Xwindow i na kopiowanie tekstu pomiêdzy wirtualnymi konsolami. Jest to ca³kiem przyjemne je¶li masz zwyk³± myszkê szeregow±, poniewa¿ koegzystuje ona z Xwindows, ale musisz uciekaæ siê do specjalnych sztuczek dla innych. 33..33..1100.. SSoouunndd.. Je¶li czujesz wielk± potrzebê us³yszenia d¼wiêków wydobywaj±cych siê z tej maszynerii to odpowiedz "y" i napisz wszystko co wiesz na temat szczegó³ów twojej karty d¼wiêkowej i skompiluje sterownik. (Uwaga o konfiguracji kart d¼wiêkowych: je¶li zapyta ciê czy chcesz zainstalowaæ pe³n± wersjê sterownika, mo¿esz odpowiedzieæ "n" i zaoszczêdziæ trochê pamiêci wybieraj±c tylko to co jest ci potrzebne.) Je¶li my¶lisz powa¿nie o karcie d¼wiêkowej, to zajrzyj na dwie strony darmowych sterowników: · www.linux.org.uk/OSS/ · www.opensound.com/ 33..33..1111.. IInnnnee ooppccjjee kkoonnffiigguurraaccjjii.. Nie wszystkie opcje konfiguracyjne s± tu wymienione poniewa¿ zmieniaj± siê zbyt czêsto lub s± oczywiste (na przyk³ad: obs³uga 3Com 3C509). Jest ca³kiem spora lista wszystkich opcji wraz ze sposobem umieszczenia jej w skrypcie Configure. Zajmuje siê t± list± Axel Boldt (boldt@math.ucsb.edu). Mo¿na go tak¿e zobaczyæ jako jeden du¿y plik w dystrybucji j±dra Documentation/Configure.help od wersji 2.0. [Od t³umacza] Plik ten dla chyba dwóch wersji j±dra jest przet³umaczony na jêzyk Polski. Zajrzyj pod adres www.jtz.org.pl/inne- polskie.html 33..33..1122.. KKeerrnneell hhaacckkiinngg.. Wziête z pliku README napisanego przez Linusa: opcja "kernel hacking" daje w rezultacie wiêksze i wolniejsze j±dro, mo¿e nawet uczyniæ je mniej stabilnym, przez konfigurowanie niektórych procedur, tak aby aktywnie próbowa³y ³amaæ z³e algorytmy i ¿eby mo¿na by³o znale¼æ problemy j±dra. (kmalloc()). Tak wiêc powiniene¶ odpowiedzieæ tutaj "n" je¶li chcesz mieæ normalnie dzia³aj±ce i stabilne j±dro. 33..44.. II ccoo tteerraazz?? ((MMaakkeeffiillee)) Jak ju¿ skoñczysz konfiguracjê pojawi siê na ekranie wiadomo¶æ, ¿e j±dro zosta³o skonfigurowane i ¿e nale¿y sprawdziæ top-level Makefile dla dodatkowej konfiguracji. Ten top-level Makefile to plik o nazwie Makefile w katalogu /usr/src/linux. Zajrzyj tam. Przypuszczalnie nie bêdziesz tam nic zmienia³, ale spojrzeæ nie boli :). Jak ju¿ zainstalujesz nowe j±dro mo¿esz zmieniæ jego opcje przy pomocy narzêdzia rdev. Je¶li czujesz siê zagubiony patrz±c na ten plik, to nie przejmuj siê nim. 44.. KKoommppiillaaccjjaa jj±±ddrraa.. 44..11.. CCzzyysszzcczzeenniiee ii zzaallee¿¿nnoo¶¶ccii.. Kiedy skrypt konfiguracyjny siê skoñczy ka¿e ci napisaæ make dep i (przypuszczalnie) make clean. Tak wiêc zaczynamy od make dep. Jest to pewne zabezpieczenie siê, które sprawdza ró¿ne zale¿no¶ci, jak na przyk³ad: czy pliki nag³ówkowe s± na swoich miejscach. Nie zajmuje to wiele czasu, no chyba, ¿e twój komputer jest naprawdê wolny. W starszych wersjach powiniene¶ jeszcze wydaæ polecenie make clean. To usuwa pozosta³o¶ci po starej kompilacji j±dra (pliki objektowe itp). NNiiee zzaappoommnniijj tego kroku !!! 44..22.. KKoommppiillaaccjjaa gg³³óówwnnaa.. Po czyszczeniu i sprawdzeniu zale¿no¶ci mo¿esz wpisaæ make bzImage lub make bzdisk (to jest ta czê¶æ, która zabiera tyle czasu). make bzImage skompiluje j±dro i zostawi je w pliku /usr/src/linux/arch/i386/boot/bzImage w¶ród innych rzeczy. To jest nowe skompresowane j±dro. make bzdisk robi to samo, z t± ró¿nic±, ¿e umieszcza plik bzImage na dyskietce w stacji A:, któr± mam nadziejê w³o¿ysz na czas do stacji :). (ten czas to sam koniec kompilacji, ale na wszelki wypadek radzê w³o¿yæ od razu, bo potem mo¿na zapomnieæ) make bzdisk to dobry sposób na testowanie nowego j±dra; je¶li co¶ pójdzie nie tak, po prostu wyjmujesz dyskietkê ze stacji, resetujesz i po krzyku. Mo¿e to byæ tak¿e pomocne je¶li przypadkowo usuniesz j±dro z dysku. (radzê uwa¿aæ na to co siê robi w katalogu g³ównym a szczególnie w katalogu /boot). Mo¿esz jej tak¿e u¿yæ do instalacji innych systemów, poniewa¿ wystarczy przegraæ zawarto¶æ tej dyskietki na inn±. Wszystkie, nawet te w po³owie sensowne, j±dra s± skompresowane, z powodu literek "bz" na pocz±tku. Skompresowane j±dro odkompresowuje siê automatycznie w czasie wykonywania. W starszych j±drach nie ma opcji bzImage. By³o to po prostu zImage. Opcja ta jest wci±¿ dostêpna, jednak bior±c pod uwagê obecne rozmiary j±dra nie poleca siê tego sposobu kompresji. 44..33.. IInnnnee ppaarraammeettrryy ddllaa ""mmaakkee"" pprrzzyy kkoommppiilloowwaanniiuu jj±±ddrraa.. make mrproper spowoduje dok³adniejsze wyczyszczenie. Czasem jest to potrzebne; mo¿esz to robiæ przy instalacji ka¿dej ³aty (patch). make mrproper skasuje tak¿e twój plik z bie¿±c± konfiguracj±, wiêc mo¿esz sobie zrobiæ kopiê tego pliku (.config). make oldconfig spróbuje skonfigurowaæ j±dro na podstawie starego pliku konfiguracyjnego; przejdzie za ciebie przez proces konfiguracji (make config). Je¶li jeszcze nigdy przedtem nie kompilowa³e¶ j±dra lub nie masz starego pliku konfiguracyjnego wtedy przypuszczalnie nie powiniene¶ tego robiæ, bo bêdziesz chcia³ zmieniæ konfiguracjê domy¶ln±. Przeczytaj sekcjê o modu³ach na temat szczegó³ów dotycz±cych make modules. 44..44.. IInnssttaallaaccjjaa jj±±ddrraa.. Je¶li masz ju¿ nowe j±dra i wydaje ci siê, ¿e ono dzia³a tak jak chcia³e¶, czas aby je zainstalowaæ. Wiêkszo¶æ ludzi u¿ywa do tego celu LILO (Linux Loader). make bzlilo zainstaluje j±dro, uruchomi lilo, aby od¶wie¿yæ informacje i przygotuje wszystko, aby zresetowaæ i za³adowaæ nowe j±dro. AALLEE TTYYLLKKOO w przypadku, gdy LILO jest skonfigurowane nastêpuj±co: j±dro to /vmlinuz, lilo jest w /sbin, a twój plik konfiguracyjny od lilo to /etc/lilo.conf i zgadza siê z tym co jest powy¿ej. W innym przypadku musisz u¿yæ bezpo¶rednio polecenia lilo. Jest to pakiet ca³kiem prosty do zainstalowania i u¿ywania, ale ma tendencjê do za³amywania ludzi swoim plikiem konfiguracyjnym. Zajrzyj do pliku /etc/lilo/config - w starszych wersjach; lub /etc/lilo.conf - w nowszych wersjach, i sprawd¼ bie¿±ce ustawienia. Plik ten wygl±da tak: image = /vmlinuz label = Linux root = /dev/hda1 ... image = odnosi siê do aktualnej wersji zainstalowanego j±dra. Wiêkszo¶æ u¿ywa nazwy /vmlinuz. Ale równie dobrze mo¿e to byæ nazwa xxx, j±dro, czy pliczek (nie jestem pewien co do polskich liter, ale zawsze mo¿na poeksperymentowaæ :) ) label = u¿ywane jest przez LILO, aby dowiedzieæ siê jaki system lub j±dro za³adowaæ, a root = jest katalogiem g³ównym danego systemu. Zrób kopiê j±dra, którego teraz u¿ywasz i skopiuj nowo zrobione j±dro na miejsce starego (czyli napisz cp bzImage /vmlinuz je¶li u¿ywasz nazwy vmlinuz i jeste¶ w katalogu /usr/src/linux/arch/i386/boot. Potem uruchom LILO - w nowszych wersjach po prostu uruchamiasz lilo; w starszych mo¿e bêdziesz musia³ uruchomiæ /etc/lilo/install albo nawet /etc/lilo/lilo -C /etc/lilo/config. Je¶li chcesz wiedzieæ wiêcej na temat konfiguracji LILO, albo nie masz LILO, zdob±d¼ najnowsz± wersjê i poczytaj dokumentacjê. Aby za³adowaæ jedn± ze starszych wersji j±dra, które mam nadziejê zachowa³e¶ :) skopiuj linie od image = xxx w pliku konfiguracyjnym LILO na dó³ pliku, zmieñ xxx na nazwê twojego zachowanego pliku (wraz z pe³n± ¶cie¿k±). Zmieñ label = zzz na np. label = old-kernel i uruchom ponownie lilo. Mo¿esz te¿ wstawiæ liniê delay = x, gdzie x jest ilo¶ci± dziesiêtnych czê¶ci sekundy, do pliku konfiguracyjnego LILO, aby zatrzymaæ ³adowanie na okre¶lon± ilo¶æ sekund i przerwaæ je np. klawiszem SHIFT, a potem wpisaæ nazwê któr± nada³e¶ starszej wersji j±dra (tê label = z pliku konfiguracyjnego LILO, a nie nazwê pliku j±dra) w razie gdyby sta³o siê co¶ nieprzyjemnego. 55.. ££aattaanniiee jj±±ddrraa ((ppaattcchhoowwaanniiee)).. 55..11.. ZZaakk³³aaddaanniiee ³³aattyy.. Pakiety, które pozwalaj± na odnowienie j±dra to ³aty. Na przyk³ad: je¶li masz wersjê 1.1.45 i znajdziesz plik o nazwie patch46.gz to znaczy, ¿e mo¿esz odnowiæ swoje j±dro do wersji 1.1.46. Mo¿esz zrobiæ kopiê ¼róde³, które masz (make clean a potem cd /usr/src; tar zcvf old-kernel.tar.gz linux) Tak wiêc kontynuuj±c powy¿szy przyk³ad za³ó¿my, ¿e masz plik patch46.gz w katalogu /usr/src. Bed±c w katalogu /usr/src wydaj polecenie zcat pacth46.gz | patch -p0 albo patch -p0 < patch46 je¶li ³ata nie jest skompresowana. Zobaczysz teraz trochê ¶cie¿ek i nazw plików oraz komunikatów przelatuj±cych przez ekran, o tym co siê uda³o a co nie. Wszystko to przelatuje zbyt szybko, ¿eby nad±¿yæ z czytaniem, tak¿e w³a¶ciwie nie wiesz czy siê uda³o czy nie. Mo¿esz u¿yæ parametru -s do polecenia patch, aby poinformowaæ je, ¿eby wy¶wietla³o tylko komunikaty o b³êdach. Aby zobaczyæ czy co¶ posz³o nie tak, poszukaj plików z rozszerzeniem .rej w katalogu /usr/src/linux. Niektóre wersje patch (starsze wersje, które mog³y byæ skompilowane na gorszym systemie plików) zostawiaj± b³êdy w plikach z rozszerzeniem #. Mo¿esz u¿yæ polecenia find, aby znale¼æ te pliki: cd /usr/src/linux; find ./ -name '*.rej' -print Polecenie to wy¶wietli wszystkie pliki z rozszerzeniem rej znajduj±ce siê w bie¿±cym katalogu i jego podkatalogach. Je¶li wszystko posz³o dobrze, wydaj teraz po kolei polecenia make clean, make config i make dep tak jak opisano w sekcjach 3 i 4. Do polecenia patch jest trochê opcji. Jak ju¿ wspomnia³em, patch -s spowoduje wy¶wietlenie na ekran tylko wiadomo¶ci o b³êdach. Je¶li trzymasz ¼ród³a w innym katalogu ni¿ /usr/src/linux, polecenie patch -p1 wydane w tym katalogu, gdzie trzymasz ¼ród³a zrobi wszystko bez b³êdów. Inne opcje polcenia patch s± dobrze opisane w podrêczniku "man". 55..22.. JJee¶¶llii ccoo¶¶ ppóójjddzziiee nniiee ttaakk.. (Uwaga: ta sekcja odnosi siê w g³ównej mierze do starszych wersji j±dra.) Najczêstszym problemem by³o to, ¿e kiedy polecenie patch modyfikowa³o plik config.in nie wygl±da³ on tak jak powinien, bo zmodyfikowa³e¶ go, aby pasowa³ do twojego komputera. Zosta³o to ju¿ poprawione, ale w starszych wersjach b³±d ten pozosta³. Aby to naprawiæ, przeczytaj plik config.in.rej i zobacz co pozosta³o z oryginalnej ³aty. Zmiany s± zwykle zaznaczane znakami + i - na pocz±tku linii. Spójrz na linie otaczaj±ce tê zaznaczon± i przypomnij sobie, czy by³y one ustawione na tak, czy na nie. Teraz w pliku config.in zmieñ "y" na "n" i "n" na "y" tam gdzie trzeba. Wydaj polecenie patch -p0 < config.in.rej a je¶li poinformuje ciê, ¿e siê powiod³o, wtedy mo¿esz kontynuowaæ konfiguracjê i kompilacjê. Plik config.in.rej pozostanie, ale mo¿esz go skasowaæ. Je¶li odkryjesz dalsze problemy, mog³e¶ zainstalowaæ jak±¶ ³atê nie w kolejno¶ci. Je¶li na ekranie pojawi siê taka wiadomo¶æ: previously applied patch detected: Assume -R? oznacza to, ¿e przypuszczalnie próbujesz na³o¿yæ ³atê o wersji mniejszej ni¿ ¼ród³a twojego j±dra. Je¶li odpowiesz "y", polecenie patch spróbuje zdegradowaæ twoj± wersjê, i najprzypuszcalnie siê to nie powiedzie, przez co bêdziesz musia³ zdobyæ ca³kiem nowe ¼ród³a. (co w sumie wcale nie jest takim z³ym pomys³em). Aby odinstalowaæ jak±¶ ³atê u¿yj patch -R na oryginalnej. Jak ju¿ siê wszystko tak pomiesza, ¿e nie bêdziesz móg³ doj¶æ do ³adu, to najlepszym sposobem jest zdobyæ nowe ¼ród³a j±dra i zacz±æ od nowa. 55..33.. PPoozzbbyywwaanniiee ssiiêê pplliikkóóww ""..oorriigg"".. Po zaledwie kilku ³atach pliki .orig zaczynaj± niebezpiecznie rosn±æ. Na przyk³ad: usuniêcie plików .orig z wersji 1.1.51, która by³a ostatnio czyszczona w wersji 1.1.48 spowodowa³o zwolnienie ponad 500 kB dysku. find . -name '*.orig' -exec rm -f {} ';' Polecenie to spowoduje usuniêcie wszystkich plików .orig z bie¿±cego katalogu i jego podkatalogów. Wersje patch, które u¿ywaj± plików .# zamiast plików .rej, u¿ywaj± tyldy (~) zamiast plików .orig. S± lepsze sposoby pozbycia siê plików .orig, które zale¿± od polecenia GNU xargs: find . -name '*.orig' | xargs rm lub metoda ca³kiem bezpieczna ale trochê "g³o¶na" (du¿o komunikatówna ekranie): find . -name '*.orig' -print0 | xargs --null rm -- 55..44.. IInnnnee ³³aattyy.. S± jeszcze inne ³aty (tzw. niestandardowe), ni¿ te które dystrybuuje Linus. Je¶li ich u¿yjesz ³aty Linusa mog± nie dzia³aæ i bêdziesz musia³ je albo odinstalowaæ, dopasowaæ ¼ród³a albo ³atê, zainstalowaæ nowe ¼ród³a, albo jaka¶ kombinacja tego. Mo¿e to byæ trochê frustruj±ce, wiêc je¶li nie chcesz grzebaæ w ¼ród³ach (z mo¿liwo¶ci± narobienia niez³ego bajzlu), odinstaluj niestandardowe wersje ³at zanim zainstalujesz ³atê Linusa, albo po prostu zainstaluj nowe ¼ród³a. Wtedy mo¿esz zobaczyæ czy ³aty niestandardowe wci±¿ dzia³aj±. Je¶li nie to albo utkn±³e¶ ze starym j±drem i bêdziesz próbowa³ zmusiæ jako¶ ¼ród³o albo ³atê, ¿eby zaczê³a dzia³aæ, albo bêdziesz czeka³ (pewnie b³aga³) o now± ³atê. Jak pospolite s± te niestandardowe ³aty? Przypuszczalnie o nich us³yszysz. Ja u¿ywa³em ³aty "noblink" na moich wirtualnych konsolach, bo nienawidzê mrugaj±cego kursora. Ta ³ata jest (a przynajmniej by³a) czêsto odnawiana dla nowszych wersji j±dra. Z wiêkszo¶ci± nowych sterowników jako ³adowalne modu³y, chocia¿ czêstotliwo¶æ niestandardowych ³at znacznie spada. 66.. PPaakkiieettyy ddooddaattkkoowwee.. J±dro Linux-a ma wiele zalet, które nie znajduj± siê w ¼ród³ach. S± one rozprowadzane jako osobne pakiety. Niektóre z tych najbardziej popularnych s± tu wymienione. 66..11.. kkbbdd Konsola Linux-owa ma chyba wiêcej zalet ni¿ na to zas³uguje. Pomiêdzy nimi znajduj± siê takie jak: zmiana czcionek, zmiana uk³adu klawiszy, zmiana trybów wy¶wietlania (w nowszych wersjach). Pakiet _k_b_d to programy, które pozwalaj± u¿ytkownikowi na robienie tego wszystkiego plus wiele czcionek i uk³adów klawiatur dla prawie wszystkich klawiatur i jest on dostêpny z tego samego miejsca, gdzie znajduj± siê ¼ród³a j±dra. 66..22.. uuttiill--lliinnuuxx Rik Faith (faith@cs.unc.edu ) z³o¿y³ razem obszern± kolekcjê narzêdzi do Linux-a, które dziwnym trafem nazywaj± siê util-linux. Obecnie zajmuje siê nimi Andries Brouwer (util-linux@math.uio.no ). Dostêpne s± one poprzez anonimowe ftp z ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/system/misc. Zawiera ona takie narzêdzia jak: setterm, rdev, czy ctrlaltdel, które s± zwi±zane z j±drem. Jak Rik twierdzi, _N_i_e _i_n_s_t_a_l_u_j _t_e_g_o _z_e_s_t_a_w_u _b_e_z _z_a_s_t_a_n_o_w_i_e_n_i_a. Nie trzeba instalowaæ ca³ej zawarto¶ci pakietu, mog³oby to nawet spowodowaæ powa¿ne problemy. 66..33.. hhddppaarrmm Jak wiêszko¶æ pakietów, ten by³ ³at± i dodatkiem dla j±dra. £aty zosta³y z czasem zwi±zane na sta³e z j±drem, a ten program sta³ siê osobnym pakietem. W rêkach niedo¶wiadczonego u¿ytkownika jest on bardzo nniieebbeezzppiieecczznnyy. Wiêc nie u¿ywaj go je¶li nie wiesz co robisz. 66..44.. ggppmm gpm - general purpose mouse czyli, w do¶æ wolnym t³umaczeniu :), mysz o ogólnym zastosowaniu. Program ten pozwala na przenoszenie zawarto¶æi pomiêdzy wirtualnymi konsolami i inne po¿yteczne rzeczy jak np. t³umaczenie protoko³ów pomiêdzy ró¿nymi typami myszek, u¿ywanie wielu myszek... 77.. NNiieekkttóórree ppuu³³aappkkii.. 77..11.. mmaakkee cclleeaann Je¶li twoje nowe j±dro zaczyna robiæ dziwne rzeczy po rutynowym odnowieniu, przypuszczalnie zapomnia³e¶ wydaæ polecenie make clean przed kompilacj± nowego j±dra. Oznaki takie to mo¿e byæ cokolwiek od zawieszania siê systemu bez powodu, przez dziwne problemy z funkcajmi I/O, do ¶limaczej szybko¶ci. Nie zapomnij tak¿e wydaæ polecenia make dep. 77..22.. WWiieellkkiiee aallbboo wwoollnnee jj±±ddrroo.. Je¶li twoje jadro z¿era ogromn± ilo¶æ pamiêci, jest zbyt du¿e, albo po prostu kompiluje siê w nieskoñczono¶æ nawet je¶li masz swoje nowiutkie Quadbazillium-III/4400, najprawdopodobniej skonfigurowa³e¶ niepotrzebnie pe³no sterowników. Je¶li czego¶ nie u¿ywasz, to nie konfiguruj, bo to naprawdê zabiera niepotrzebnie pamiêæ. Najbardziej oczywistym symptomem przy zbyt du¿ym j±drze jest bardzo czêste swapowanie (je¶li twój dysk ci±gle rzêzi, a nie jest jednym z tych starych or³ów Fujitsu, które brzmi± jak l±duj±cy odrzutowiec, przejrzyj konfiguracjê swojego j±dra). Mo¿esz dowiedzieæ siê ile pamiêci zabiera twoje j±dro odejmuj±c warto¶æ total mem z pliku /proc/meminfo albo z polecenia free od ca³kowitej ilo¶ci pamiêci w twoim komputerze. 77..33.. PPoorrtt rróówwnnoolleegg³³yy nniiee ddzziiaa³³aa//mmoojjaa ddrruukkaarrkkaa nniiee ddzziiaa³³aa.. Opcje które musisz w³±czyæ na PC-cie to: Najpierw w sekcji "General Setup" w³±cz "Parallel port support" oraz "PC-style hardware". Nastêpnie w sekcji "Character devices" w³±cz "Parallel printer support". No i potem zostaj± nazwy. W wersji 2.2 zastosowano inne nazwy ni¿ w starszych wersjach. Powodem tego jest, to ¿e w starym j±drze mia³e¶ lp1 a teraz jest to lp0. Spójrz do dmesg albo w katalogu /var/log/. 77..44.. JJ±±ddrroo ssiiêê nniiee kkoommppiilluujjee.. Je¶li siê rzeczywi¶cie nie kompiluje, to pewnie jaka¶ ³ata siê nie zainstalowa³a poprawnie. Twoja wersja "gcc" mo¿e tak¿e byæ nie w porz±dku. Albo pliki nag³ówkowe s± skopane. Upewnij siê tak¿e czy symboliczne do³±czenie, o których Linus pisze w README, s± poprawnie zrobione. W ogólno¶ci je¶li standardowe j±dro siê nie kompiluje, to co¶ powa¿nego jest z systemem i niezbêdna jest ponowna instalacja niektórych narzêdzi. W niektórych przypadkach "gcc" mo¿e siê wysypaæ z powodu problemów sprzêtowych. Komunikaty w tym przypadku to: xxx exited with signal 15 i w ogólno¶ci s± one bardzo tajemnicze. Pewnie bym o tym nie wspomina³, gdyby nie to, ¿e mi siê to zda¿y³o - mia³em kiedy¶ wadliw± pamiêæ cache a kompilator wtedy hula³ sobie po pamiêci gdzie chcia³. Najpierw spróbuj przeinstalwaæ gcc. Podejrzenia na sprzêt rzucaj dopiero je¶li j±dro siê kompiluje przy wy³±czonym zewnêtrznym cache'u, albo przy zmniejszonej ilo¶ci pamiêci RAM itp. Z regu³y ludzi to trochê denerwuje jak im powiesz, ¿e maj± popsuty sprzêt. Có¿, ja tego nie zmy¶lam. Jest FAQ na ten temat - www.bitwizard.nl/sig11/. 77..55.. NNoowwaa wweerrssjjaa jj±±ddrraa nniiee cchhccee ssiiêê zzaa³³aaddoowwaaææ.. Albo nie uruchomi³e¶ lilo po skopiowaniu j±dra na miejsce starego, albo ¼le skonfigurowa³e¶. Najczê¶ciej spotykanym problemem jest nie wkompilowanie obs³ugi twoejgo dysku lub systemu ext2. Kiedy¶ mia³em problem z plikiem konfiguracyjnym LILO; by³o tam boot = /dev/hda1 a powinno byæ boot = /dev/hda. Na pocz±tku to mo¿e byc naprawdê denerwuj±ce, ale potem jak ju¿ masz dobry plik konfiguracyjny nie powiniene¶ go zmieniaæ. 77..66.. ZZaappoommnniiaa³³ee¶¶ uurruucchhoommiiææ lliilloo,, aallbboo ssyysstteemm ssiiêê ww ooggóóllee nniiee ³³aadduujjee.. Oooj! Najlepsz± rzecz± jak± mo¿na zrobiæ to za³adowaæ system z dyskietki lub CDROMu (no trzeba je oczywi¶cie mieæ :) ) i przygotowaæ now± dyskietkê startuj±c± (np. make zdisk). Musisz wiedzieæ, gdzie jest twój g³ówny system plików i jakiego jest typu. (ext2, minix). W przyk³adzie poni¿ej musisz tak¿e wiedzieæ gdzie i na jakim systemie jest /usr/src/linux i gdzie jest zwykle zamontowany. W nastêpuj±cym przyk³adzie "/" to /dev/hda1, a partycja, na której znajduje siê katalog linux to /dev/hda3 normalnie montowana na /usr. Dzia³aj±ce j±dro jest w katalogu /usr/src/linux/arch/i386/boot i nazywa siê bzImage. Pomys³ polega na tym, ¿e je¶li masz dzia³aj±ce bzImage, mo¿na tego u¿yæ dla nowej dyskietki. Inna alternatywa, która mo¿e, ale nie musi dzia³aæ (to zale¿y jak bardzo namiesza³e¶) opisana jest za tym przyk³adem. Najpierw, za³aduj system z dyskietki, któr± akurat masz i zamontuj system plików, na którym znajduje siê dzia³aj±ce j±dro: mkdir /mnt mount -t ext2 /dev/hda3 /mnt Je¶li pojawi siê komunikat, ¿e katalog /mnt ju¿ jest - zignoruj go. Przy mount na pewno pojawi siê komunikat ostrzegaj±cy, ¿e montujesz niesprawdzony system plików - zignoruj go. Zmieñ katalog na ten, w którym znajduje siê dzia³aj±ce j±dro (pamiêtaj, ¿e teraz masz dysk w katalogu /mnt). Umie¶æ sformatowan± dyskietkê w stacji A: (nie dyskietkê, z której startowa³e¶ !!!), przerzuæ j±dro na dyskietkê i skonfiguruj je dla twojego g³ównego systemu plików: cd /mnt/src/linux/arch/i386/boot dd if=bzImage of=/dev/fd0 rdev /dev/fd0 /dev/hda1 Zmieñ katalog na / (cd /) i odmontuj katalog /mnt (umount /mnt). Powiniene¶ byæ teraz w stanie za³adowaæ system tak jak normalnie z tej dyskietki. Nie zapomnij uruchomiæ lilo po restarcie (czy co tam ¼le zrobi³e¶). Jak ju¿ wspomnia³em jest jeszcze inna metoda. Je¶li masz kopiê dzia³aj±cego j±dra, mo¿esz jej u¿yæ dla zrobienia dyskietki startowej. We¼my znów powy¿sze warunki i za³ó¿my, ¿e dzia³aj±ca kopia to /vmlinuz. Zrób to samo co powy¿ej z tymi zmianami: /dev/hda3 zmieñ na /dev/hda1/ (g³. system plików) /mnt/src/linux na /mnt if=bzImage na if=vmlinuz ------------------------------------------------------------------ Od t³umacza: Szczerze powiem/napiszê, ¿e nie wiem po co ten cz³owiek tak komplikuje sprawê. Podam tu sposób, ktorego ja u¿ywam: Najpierw sprawd¼ czy masz takie linijki na pocz±tku pliku /etc/lilo.conf: prompt timeout=50 Je¶li nie to je dopisz. W swoim pliku /etc/lilo.conf mam zawsze dwie sekcje: image=/boot/vmlinuz label=linux root=/dev/hda1 read-only image=/boot/vmlinuz-old label=linux-old root=/dev/hda1 read-only Ja nazywam j±dra z wersj± na koñcu (/vmlinuz-2.0.18) i robiê symboliczne do³±czenie ln -s /vmlinuz-2.0.18 /vmlinuz. Je¶li kompilujê tê sam± wersjê j±dra, to przed kompilacj±/instalacj± ZZAAWWSSZZEE robiê kopiê j±dra, które mi dzia³a (powiedzmy cp /vmlinuz-2.0.18 /vmlinuz.2.0.18.old); Jak ju¿ skompilujê j±dro to kopiuje je na /vmlinuz-wersja, przedtem KOPIA !!! - tylko je¶li kompilujemy tê sam± wersjê j±dra, któr± ju¿ u¿ywamy, bo nowsza wersja bêdzie mia³a inny numer na koñcu. Po skopiowaniu zmieniamy do³±czenie symboliczne (je¶li instalujemy now± wersjê) - rm /vmlinuz; ln -s /vmlinuz-nowa_wersja /vmlinuz; oraz ln -s /vmlinuz-2.0.18.old /vmlinuz-old; potem uruchamiamy lilo i restartujemy komputer. Je¶li nowe j±dro nie dzia³a, to startujemy stare j±dro (wpisujemy po pojawieniu siê boot: lub LILO: na ekranie linux-old) i po wci¶niêciu ENETERa mamy znowu dzia³aj±cy system. Je¶li nie dzia³aj±ce j±dro by³o w tej samej wersji co poprzednie (po prostu potrzebowa³e¶ co¶ dodaæ), to trzeba uruchomiæ system w trybie "single" (linux-old init single), odzyskaæ stare modu³y ze zrobionej poprzednio kopii katalogu /lib/modules/x.y.z i zrestartowaæ jeszcze raz system pamiêtaj±c, ¿eby startowaæ stare j±dro. Albo po prostu zmieñ odpowiednie dowi±zanie /vmlinuz, ¿eby wskazywa³o te¿ na star± wersjê j±dra (ln -s /vmlinuz-x.y.z.old /vmlinuz) i NNIIEE ZZAAPPOOMMNNIIJJ po ka¿dej takiej operacji uruchomiæ /sbin/lilo. ------------------------------------------------------------------ U¿ywanie LILO z du¿ymi dyskami (z wieksz± ilo¶ci± cylindrów ni¿ 1023) mo¿e powodowaæ problemy. Przeczytaj mini-HOWTO LILO i Large-Drives, je¶li chcesz znaæ wiêcej szczegó³ów. 77..77.. PPiisszzee mmii ""wwaarrnniinngg:: bbddfflluusshh nnoott rruunnnniinngg"".. No i dobrze, ¿e pisze, bo to mo¿e byæ powa¿ny problem. Poczynaj±c od wersji j±dra 1.0.0 (oko³o 20 kwietnia 1994) program update, który okresowo zapisuje zawarto¶æ bufora na dysk, zosta³ zmieniony. Zdob±d¼ ¼ród³a programu "bdflush" (powiniene¶ je znale¼æ tam gdzie j±dro) i skompiluj. Dopóki nie uruchomisz tego programu radzê u¿ywaæ wersji j±dra starszej od 1.0.0 (Czy ta wersja jest jeszcze do zdobycia !!!?). Instaluje siê samo jako update, a po restarcie nowe j±dro nie powinno juz narzekaæ. 77..88.. NNiiee mmooggêê zzmmuussiiææ mmoojjeeggoo CCDD--RROOMM--uu IIDDEE//AATTAAPPII ddoo wwssppóó³³pprraaccyy.. Naprawdê dziwne. Bardzo du¿o ludzi ma ten problem. Pewnie dlatego, ¿e jest du¿o przypadków, w których to siê mo¿e dziaæ. Je¶li twój CD-ROM to jedyne urz±dzenie na konkretnym interfejsie IDE, musi byæ skonfigurowany zworkami jako master lub single. To jest najczêstszy problem. Creative Labs umieszcza teraz interfejs IDE na swoich kartach d¼wiêkowych. To prowadzi do ciekawego problemu, bo niektórzy maj± tylko jeden interfejs IDE, wielu ma dwa interfejsy IDE na swoich p³ytach g³ównych (zwykle na IRQ15), wiêc najpopularniejszym rozwi±zaniem jest uczyniæ interfejs na karcie d¼wiêkowej trzecim (IRQ11, a przynajmniej tak mi mówili). To powoduje w Linux-ie problemy, poniewa¿ wersja 1.2.x nie obs³uguje trzeciego interfejsu IDE (obs³uga jest w której¶ z wersji 1.3.x, ale pamiêtaj - to jest wersja testowa, i nie wykrywa sama tego interfejsu). Aby to obej¶æ masz trzy mo¿liwo¶ci: Je¶li masz ju¿ drugi interfejs, to prze³ó¿ CD-ROM na ten drugi interfejs je¶li jest wolny. Mo¿esz wtedy wy³±czyæ interfejs z karty d¼wiêkowej, co zachowa jedno IRQ. Je¶li nie masz drugiego interfejsu, ustaw interfejs na karcie d¼wiêkowej (ale nie ten od d¼wiêku, tylko IDE) na przerwanie IRQ15 za pomoc± zworek. Powinno dzia³aæ. 77..99.. PPiisszzee ccoo¶¶ oo pprrzzeessttaarrzzaa³³yymm rruuttiinngguu.. We¼ now± wersjê programu route i wszelkie inne programy, które siê zajmuja rutingiem. /usr/include/linux/route.h (który w³a¶ciwie jest plikiem w /usr/src/linux) sie zmieni³. 77..1100.. FFiirreewwaallll mmii nniiee ddzziiaa³³aa ww wweerrssjjii 11..22..00 We¼ wersjê co najmniej 1.2.1. 77..1111.. ""NNoott aa ccoommpprreesssseedd kkeerrnneell IImmaaggee ffiillee"".. Nie u¿ywaj jako j±dra pliku vmlinux w katalogu /usr/src/linux stworzonego podczas kompilacji. Plik, który powiniene¶ u¿yæ to: /usr/src/linux/arch/i386/boot/bzImage. 77..1122.. PPrroobblleemmyy zz kkoonnssooll±± ppoo ooddnnoowwiieenniiuu ddoo wweerrssjjii 11..33..xx.. Zmieñ s³owo dumb na linux w pliku /etc/termcap w sekcji dotycz±cej konsoli. Mozliwe te¿, ¿e bêdziesz musia³ zrobiæ terminfo. 77..1133.. NNiiee mmooggêê sskkoommppiilloowwaaææ rróó¿¿nnyycchh rrzzeecczzyy ppoo ooddnnoowwiieenniiuu jj±±ddrraa.. ¬ród³a j±dra zawieraj± pewn± liczbê plików nag³ówkowych (te co siê koñcz± na .h), do których odwo³uj± siê standardowe pliki nag³ówkowe w /usr/include. Przewa¿nie wygl±da to tak: #include <linux/xxyy.h> Zwykle w katalogu /usr/include jest symboliczne do³±czenie linux wskazuj±ce na /usr/src/linux/include/linux. Je¶li do³±czenia tego nie ma, albo wskazuje na z³e miejsce, to rzeczywi¶cie wiêkszo¶æ programów siê nie skompiluje. Je¶li zdecydowa³e¶, ¿e ¼ród³a zajmuj± za du¿o miejsca na dysku i skasowa³e¶ je, to to jest w³a¶nie twój problem. Razem z tymi ¼ród³ami skasowa³e¶ pliki nag³ówkowe. Inny problem to problem z dostêpem do plików: Je¶li twój root ma umask ustawiony tak, ¿e u¿ytkownicy nie mog± widzieæ plików przez niego stworzonych, i rozpakowa³e¶ ¼ród³a bez opcji p (zachowaj oryginalne flagi dostêpu), u¿ytkownicy nie bêd± mogli u¿yæ kompilatora. Najpro¶ciej naprawiæ to w ten sposób: zaloguj siê jako root cd /usr/src/linux/ chmod -R go+r include/ 77..1144.. ZZwwiiêêkksszzaanniiee lliimmiittóóww.. Kilka nastêpuj±cych _p_r_z_y_k_³_a_d_o_w_y_c_h poleceñ mo¿e pomóc tym, którzy zastanawiaj± siê jak zwiêkszyæ pewne programowe ograniczenia wprowadzone przez j±dro: echo 4096 > /proc/sys/kernel/file-max echo 12288 > /proc/sys/kernel/inode-max echo 300 400 500 > /proc/sys/vm/freepages 88.. UUwwaaggaa nnaa tteemmaatt uuaakkttuuaallnniieenniiaa ddoo wweerrssjjii 22..00..xx ii 22..22..xx.. Wersje j±dra 2.0.x i 2.2.x wprowadzi³y trochê zmian w instalacji. Plik Documentation/Changes zawiera informacje, które powiniene¶ poznaæ, kiedy uaktualaniasz swoje j±dro do której¶ z tych wersji. Najprzypuszczalniej bêdziesz musia³ odnowiæ tak¿e niektóre kluczowe pakiety, takie jak: gcc, libc i SysVInit, i mo¿e dostosowaæ kilka plików systemowych. Ale nie panikuj ! 99.. MMoodduu³³yy.. £adowalne modu³y j±dra mog± zaoszczêdziæ trochê pamiêci i u³atwiæ konfiguracjê. Obszar dzia³ania modu³ów urós³ ju¿ do tego, ¿e zawieraj± one systemy plików, sterowniki do kart Ethernet, do ta¶m, do drukarek i wiele innych. 99..11.. IInnssttaallaaccjjaa nnaarrzzêêddzzii mmoodduu³³oowwyycchh.. Narzêdzia te sa dostêpne stamt±d, sk±d masz ¼ród³a j±dra. Nazywaj± siê modutils-x.y.z.tar.gz; wybierz najwy¿sz± wersjê równ±, albo mniejsz± od wersji twojego j±dra. Rozpakuj poleceniem tar zxvf modutils-x.y.z. Wejd¼ do stworzonego katalogu i poczytaj plik README. Wype³nij dok³adnie instrukcje na temat instalacji (jest ona z regu³y bardzo prosta: make install lub co¶ podobnego). Powiniene¶ mieæ teraz programy: insmod, rmmod, ksyms, lsmod, genksyms, modprobe i depmod w katalogu /sbin. Je¶li chcesz przetestowaæ narzêdzia z przyk³adowym sterownikiem "hw" w insmod; przejrzyj plik INSTALL w tym katalogu. insmod ³aduje modu³ do uruchomionego j±dra. Modu³y maj± z regu³y roszerzenie .o; przyk³adowy modu³ wspomniany wy¿ej nazywa siê drv_hello.o, a wiêc aby go za³adowaæ, napisz: insmod drv_hello.o. Aby zobaczyæ jakie modu³y s± aktualnie u¿ywane przez j±dro u¿yj lsmod. Powinien wy¶wietliæ co¶ takiego blah# lsmod Module: #pages: Usedby: drv_hello 1 drv_hello jest nazw± modu³u, u¿ywa jednej strony (4kB) pamiêci i ¿adne inne modu³y nie zale¿± od niego w tej chwili. Aby usun±æ ten modu³ z j±dra u¿yj rmmod drv_hello. Zauwa¿, ¿e rmmod chce nazwy modu³u a nie pliku. We¼ j± z polecenia lsmod. Inne narzêdzia modu³owe s± opisane w podrêczniku mmaann. 99..22.. MMoodduu³³yy ddyyssttrryybbuuoowwaannee zz jj±±ddrreemm.. Je¶li chodzi o wersjê 2.0.30 wiêkszo¶æ sterowników dostêpna jest w postaci modu³ów. Aby ich u¿yæ, najpierw upewnij siê czy nie skonfigurowa³e¶ ich jako sta³e czê¶ci j±dra. To znaczy: nie odpowiadaj "y" na pytania ich dotycz±ce podczas konfiguracji, ale "m" je¶li jest taka mo¿liwo¶æ. Po skompilowaniu j±dra napisz make modules i make modules_install. Pierwsze polecenie skompiluje wszystkie sterowniki wyspecyfikowane jako modu³y, a drugie zainstaluje je w katalogu /lib/modules/x.y.z, gdzie x.y.z jest wersj± j±dra. Po zainstalowaniu tych modu³ów wejd¼ do katalogu /lib/modules/x.y.z i napisz modprobe -a, je¶li masz ten program. $lsqb;Od t³umacza] Je¶li kompilujesz j±dro o wersji takie samej jak to które u¿ywasz obecnie, to na wszleki wypadek przed poleceniem make modules_install, zrób w katalogu /lib/modules/ kopiê katalogu o nazwie takiej samej jak wersja obecnego j±dra. Modu³y s± szczególnie przydatne do systemów plików albo sterowników urz±dzeñ, których rzadko u¿ywasz. Np. je¶li chcesz u¿yæ dyskietki msdos, to najpierw piszesz insmod /lib/modules/x.y.z/fs/msdos.o i u¿ywasz tej dyskietki. Po skoñczeniu piszesz rmmod msdos. Operacja ta zaoszczêdza jakie¶ 50 kB RAM-u - niby nic ale jak siê uzbiera kilka takich sterowników to docenisz tê zaletê. Co do systemu plików mmiinniixx to powinien on byæ zzaawwsszzee wkompilowany w j±dro na sta³e, w razie u¿ycia dyskietki startowej. Na dyskietkach jest w³a¶nie minix. ------------------------------------------------------------------ Od t³umacza: Znowu facet skomplikowa³ sprawê. Jest narzêdzie, które zajmuje siê za ciebie ³adowaniem i usuwaniem odpowiednich modu³ów do i z pamiêci. Nazywa siê kerneld czyli kernel daemon. Je¶li u¿yjesz czego¶ co wymaga sterownika w module, kerneld za³aduje za ciebie ten modu³, a potem go wyrzuci jak ju¿ przestaniesz tego u¿ywaæ. Aby go u¿yæ musisz odpowiedzieæ na pytanie konfiguracyjne dotycz±ce kerneld "Kernel daemon support" "y". Przedtem jeszcze odpowiedz "y" na pytanie "Modules support" czy jako¶ tak, ¿eby móc w ogóle u¿ywaæ modu³ów. Po kompilacji j±dra wszystko idzie tak samo jak opisane powy¿ej. Jeszcze jedno: je¶li masz dystrybucjê RH to sprawd¼ czy w pliku /etc/rc.d/rc.sysinit jest uruchamiany /sbin/kerneld. Je¶li nie, to sprawd¼ czy uruchamia siê tam program depmod. je¶li te¿ nie to dopisz te linijki: /sbin/depmod -a if [ -x /sbin/kerneld ]; then /sbin/kerneld fi za linijk± która wygl±da mniej wiêcej tak: mount -n -o remount,rw / Je¶li masz Slackware sprawd¼ czy w pliku /etc/rc.d/rc.M jest uruchamiany /sbin/kerneld. Je¶li nie, to sprawd¼ czy uruchamia siê tam program depmod. Je¶li te¿ nie, to dopisz te linijki /sbin/depmod -a if [ -x /sbin/kerneld ]; then /sbin/kerneld fi za linijk± która wygl±da mniej wiêcej tak: mount -n -o remount,rw / Je¶li masz dystrybucjê Debian to: 1) sprawd¼ czy jest plik /etc/init.d/kerneld, je¶li tak to 2) sprawd¼ czy w /etc/rcX.d/ jest dowi±zanie do tego pliku (bêdzie to plik SYYkerneld), je¶li jest, to wszystko jest w porz±dku. X - numer runlevel-u który standardowo uruchamiasz. (sprawd¼ w pliku /etc/inittab linijkê initdefault) Je¶li który¶ z tych warunków jest niespe³niony to: ad 1) za³ó¿ plik /etc/init.d/kerneld o tre¶ci: #!/bin/bash # source function library . /etc/rc.d/init.d/functions case "$1" in start) echo -n "Starting kerneld " if [ -f "/sbin/kerneld" ]; then /sbin/kerneld /sbin/depmod -a fi touch /var/lock/subsys/kerneld ;; stop) echo -n "Shutting down kerneld: " killproc kerneld rm -f /var/lock/subsys/kernled echo ;; *) echo "Usage: kerneld {start|stop}" exit 1 esac exit 0 ad 2) napisz cd /etc/rcX.d/ ln -s /etc/init.d/kerneld SYYkerneld YY musi byæ numerem przed ³adowaniem modu³ów; najlpiej jak najwcze¶niej. ------------------------------------------------------------------ 1100.. SSzzttuucczzkkii ii wwsskkaazzóówwkkii.. 1100..11.. PPrrzzeekkiieerroowwyywwaanniiee wwyyjj¶¶cciiaa zz ppoolleecceeññ mmaakkee ii ppaattcchh.. Je¶li chcia³by¶ mieæ zapisane w pliku to co dzia³o siê podczas wykonywania poleceñ make i patch, mo¿esz przekierowaæ wyj¶cie tych komend do pliku. Najpierw dowiedz siê w jakiej pow³oce pracujesz: echo $shell Je¶li jest to /bin/sh albo /bin/bash, wtedy przekierowywanie wyj¶cia wygl±da tak: polecenie 2>&1 | tee nazwa_pliku_do_zapisania Je¶li jest to /bin/csh albo /bin/tcsh, to wygl±da to tak polecenie |& tee nazwa_pliku_do_zapisania Je¶li u¿ywasz rc (a raczej nie u¿ywasz), wtedy wygl±da to tak: polecenie >[2=1] | tee nazwa_pliku_do_zapisania 1100..22.. IInnssttaallaaccjjaa wwaarruunnkkoowwaa jj±±ddrraa.. S± jeszcze inne metody testowania nowego j±dra bez ruszania starego, oprócz tych z dyskietkami. LILO ma mo¿liwo¶æ ³adowania j±dra z jakiegokolwiek miejsca na dysku (je¶li twój dysk ma wiêcej ni¿ 1023 cylindry [512 MB lub wiêcej], przeczytaj dokumentacjê LILO, ¿eby dowiedzieæ siê jakie s± z tym zwi±zane problemy). Tak wiêc je¶li dodasz takie linie: image = (tu wstaw katalog, w którym znajduje siê nowe j±dro) label = new_kernel na koñcu pliku konfiguracyjnego LILO, mo¿esz wybraæ jakie j±dro chcesz ³adowaæ, bez ruszania starego j±dra (po wykonaniu lilo oczywi¶cie). Najprostszym sposobem poinformowania LILO, które j±dro chcemy za³adowaæ jest wci¶niêcie klawisz SHIFT podczas startu (w momencie kiedy na ekranie pojawi siê "LILO"). Wtedy pojawi siê znak zachêty. Wpisuj±c tu new_kernel, lub nazwê, któr± nada³e¶ w pliku konfiguracyjnym LILO nowemu j±dru, poinformujesz LILO, ¿eby za³adowa³o nowe j±dro. Je¶li chcesz trzymaæ kilka ró¿nych ¼róde³ j±dra na dysku (to zabiera DDUU¯¯OO miejsca - ostro¿nie) najprostszym sposobem jest nazywanie ich linux-wersja_j±dra. Musisz wtedy zrobiæ symboliczne do³±czenie ln -s linux-wersja linux ¿eby u¿ywaæ wybranej wersji. Przed zrobieniem takiego do³±czenie upewnij siê, ¿e ostatni parametr do "ln" nie jest katalogiem, bo wtedy nie bêdzie to to, czego siê spodziewa³e¶. 1100..33.. OOddnnoowwiieenniiaa jj±±ddrraa.. Russel Nelson (nelson@crynwr.com ) umieszcza zmiany jakie zasz³y w bie¿±cej wersji j±dra. S± one krótkie i mo¿esz zajrzeæ tam zanim postanowisz odnowiæ j±dro. S± one dostêpne poprzez anonimowe ftp z ftp.emlist.com w katalogu pub/kchanges lub poprzez WWW - http://www.crynwr.com/kchanges. Spis zmian mo¿esz znale¼æ tak¿e w ftp.icm.edu.pl w katalogu /pub/Linux/sunsite/kernel/changes. 1111.. IInnnnee ddookkuummeennttyy HHOOWWTTOO,, kkttóórree mmoogg±± ssiiêê pprrzzyyddaaææ ttoo:: · Sound-HOWTO: karty d¼wiêkowe i narzêdzia do nich · SCSI-HOWTO: wszystko na temat kontrolerów i urz±dzeñ SCSI · NET-3-HOWTO: wszystko o sieci · PPP-HOWTO: protokó³ PPP w Linux-ie · PCMCIA-HOWTO: o sterownikach do twojego Notebook-a · ELF-HOWTO: ELF: co to ELF · Hardware-HOWTO: przegl±d obs³ugiwanego przez Linux-a sprzêtu. · Module-HOWTO: wiêcej na temat modu³ów. · Kerneld mini-HOWTO: na temat kerneld. · BogoMips mini-HOWTO: w razie gdyby¶ chcia³ wiedzieæ 1122.. RRóó¿¿nnoo¶¶ccii 1122..11.. OOdd aauuttoorraa.. Autorem i cz³owiekim opiekuj±cym siê tym dokumentem jest Brian Ward bri@cs.uchicago.edu Proszê przysy³aæ mi wszelkie komentarze, dodatki, poprawki (te s± najwa¿niejsze). Jak chcesz mo¿esz zajrzeæ na moj± stronê WWW: <htmlurl url="http://www.math.psu.edu/bri/" name="www.math.psu.edu/bri/"> Pomimo, i¿ staram siê odpowiadaæ na pocztê kiedy tylko mogê, to musisz pamiêtaæ, ¿e dostaje dduu¿¿oo listów codziennie. Wiêc odpowiedzenie na twój list mo¿e zaj±æ trochê czasu. Szczególnie je¶li wys³a³e¶ mi jakie¶ pytanie, spróbuj byæ jak najbardziej dok³adny. Je¶li piszesz o niedzia³aj±cym sprzêcie (czy co¶ podobnego) muszê wiedzieæ jaka jest konfiguracja tego sprzêtu. Je¶li piszesz o b³êdzie, to nie pisz, ¿e "próbowa³em, ale nie dzia³a..." Muszê znaæ chocia¿ b³±d jaki siê pojawi³. Chcia³bym tak¿e wiedzieæ jaka by³a wersja j±dra, gcc i libc. Je¶li powiesz mi, ¿e u¿ywasz tej-i-tej dystrybucji to mi wiele nie powie. Nie obchodzi mnie to, ¿e zadajesz proste pytania. Kto pyta, nie b³±dzi! Chcia³bym podziêkowaæ wszystkim, którzy wspierali mnie podzas pisania tego dokumentu. Je¶li twoje pytanie nie by³o zwi±zane z j±drem albo jest w jakim¶ jêzyku, którego nie znam, to mogê nie odpowiedzieæ. Je¶li wys³a³e¶ do mnie list i nie otrzyma³e¶ odpowiedzi w jakim¶ sensownym czasie (3+ tygodni). To ca³kiem mo¿liwe, ¿e przypadkowo skasowa³em twój list (przepraszam). Napisz jeszcze raz. Dostajê du¿o poczty z pytaniami, które s± w³a¶ciwie problemami sprzêtowymi. W porz±dku, ale pamiêtaj, ¿e przecie¿ nie znam wszystkich urz±dzeñ na ¶wiecie i nie wiem na ile mogê byæ pomocny. Osobi¶cie u¿ywam maszyn z procesorem AMD, kontrolery SCSI Adaptec i Sybios oraz dyski SCSI IBM. Wersja -0.1 zosta³a napisana 3 pa¼dziernika 1994. Dokument ten jest dostêpny w formatach: SGML, PostScript, TeX, roff i jako czysty tekst. 1122..22.. CCoo jjeesstt jjeesszzcczzee ddoo zzrroobbiieenniiaa.. Sekcja na temat sztuczek i wskazówek jest jeszcze trochê ma³a. Mam nadziejê, ¿e siê rozro¶nie wraz z przybywaniem sugestii. To samo odnosi siê do sekcji pakiety dodatkowe. Potrzeba mi wiêcej informacji na temat ¶ledzenia (debugging) i odzyskiwania po padach systemu. 1122..33.. OOttoo ccii,, kkttóórrzzyy ssiiêê pprrzzyycczzyynniillii ddoo ppoowwssttaanniiaa tteeggoo HHOOWWTTOO.. Do³±czona jest ma³a czê¶æ README Linusa na temat opcji rozgryzania j±dra.(kernel hacking) (Dziêki Ci Linus!) _u_c_@_b_r_i_a_n_._l_u_n_e_t_i_x_._d_e (Ulrich Callmeier): polecenia patch -s, xargs. _q_u_i_n_l_a_n_@_y_g_g_d_r_a_s_i_l_._c_o_m (Daniel Quinlan): poprawki i dodatki do wielu sekcji. _n_a_t_@_n_a_t_a_a_._f_r_._e_u_._o_r_g (Nat Makarevitch): mrproper, tar -p i wiele innych _b_o_l_d_t_@_m_a_t_h_._u_c_s_b_._e_d_u (Axel Boldt): uzbierany spis opcji konfiguracyjnych j±dra dotycz±cych sieci. Przes³ane mi. _l_e_m_b_a_r_k_@_w_r_k_h_o_r_s_._p_s_y_b_e_r_._c_o_m (Steve Lembark): sugestie odno¶nie wyboru j±dra przy starcie. _k_b_r_i_g_g_s_@_e_a_r_w_a_x_._p_d_._u_w_a_._e_d_u_._a_u (Keith Briggs): kilka sugestii i poprawek. _r_m_c_g_u_i_r_e_@_f_r_e_e_n_e_t_._c_o_l_u_m_b_u_s_._o_h_._u_s (Ryan McGuire): dodatki na temat "make" _d_u_m_a_s_@_e_x_c_a_l_i_b_u_r_._i_b_p_._f_r (Eric Dumas): t³umaczenie francuskie _s_i_m_a_z_a_k_i_@_a_b_1_1_._y_a_m_a_n_a_s_h_i_._a_c_._j_p (Yasutada Shimazaki): t³umaczenie japoñskie _j_j_a_m_o_r_@_l_m_l_._l_s_._f_i_._u_p_m_._e_s (Juan Jose Amor Iglesias): t³umaczenie hiszpañskie _m_v_a_@_s_b_b_s_._s_e (Martin Wahlen): t³umaczenie szwedzkie _j_z_p_1_2_1_8_@_s_t_u_d_._u_-_s_z_e_g_e_d_._h_u (Zoltan Vamosi): t³umaczenie wêgierskie _B_._M_a_r_u_s_z_e_w_s_k_i_@_j_t_z_._o_r_g_._p_l (Bartosz Maruszewski): t³umaczenie polskie _d_o_n_a_h_u_e_@_t_i_b_e_r_._n_i_s_t_._g_o_v (Michael J Donahue): korekta literówek, wygra³ konkurs o kromkê chleba _r_m_s_@_g_n_u_._a_i_._m_i_t_._e_d_u (Richard Stallman): pomys³ na bezp³atn± dokumentacjê i dystrybucjê _d_a_k_@_P_o_o_l_._I_n_f_o_r_m_a_t_i_k_._R_W_T_H_-_A_a_c_h_e_n_._D_E (David Kastrup): NFS _e_s_r_@_s_n_a_r_k_._t_h_y_r_s_u_s_._c_o_m (Eric Raymond): ró¿no¶ci. Ci, którzy przysy³ali mi pytania z problemami tak¿e byli pomocni. 1122..44.. PPrraawwaa aauuttoorrsskkiiee,, lliicceennccjjaa ii ttaakkiiee iinnnnee.. Dokument chroniony prawami autorskimi © Briana Warda, 1994-1999. Mo¿na rozprowadzaæ kopie tego dokumentu o ile na wszystkich bêdzie zachowana uwaga o prawach autorskich i to pozwolenie. Mo¿na kopiowaæ i dystrybuwaæ ten dokument w wersji modyfikowanej pod warunkiem dos³ownego kopiowania zak³adaj±c, ¿e praca pochodna jest dystrybuowana z takimi samymi prawami jak ten dokument. T³umaczenia zaliczaj± siê tak¿e do wersji modyfikowanych. Gwarancja: ¯adna. Zalecenia: Dystrybucja komercyjna jest dozwolona. Jednak zaleca siê najpierw kontakt z autorem, aby mieæ naj¶wie¿sze dane (mo¿esz mi wys³aæ kopiê tego co chcesz dystrybuowaæ). T³umacze s± tak¿e zobowi±zani najpierw siê skontaktowaæ ze mn±. Wersja wydrukowana wygl±da o wiele ³adniej. 1122..55.. 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 w katalogu /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 sie na ni± zapisaæ, to wy¶lij list o tre¶ci subscribe jtz Imiê Nazwisko na adres majordomo@ippt.gov.pl Zmiany w tym dokumencie wprowadzone przez t³umacza to: · - dodatkowy sposób na za³adowanie dobrego j±dra · - informacja o kerneld · - a tak¿e odno¶niki do polskich serwerów ftp i WWW