Sophie

Sophie

distrib > Mandriva > 8.1 > i586 > by-pkgid > 1d876fa8c1caf5809b8232d098efff65 > files > 21

howto-text-pl-8.1-1mdk.noarch.rpm

  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