  Jak zaoy gwny system plikw przez NFS.
  Autor: Andreas Kostyrka, andreas@ag.or.at
  v8, 8 Sierpnia 1997
  WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkii
  BB..MMaarruusszzeewwsskkii@@zzssmmeeiiee..ttoorruunn..ppll
  v1.1, 4 Listopada 1997


  Dokument ten prbuje wyjani jak ustawi bezdyskow stacj robocz, ktra
  montuje swj gwny system plikw poprzez NFS na Linux-ie.  Dokument ten
  zosta napisany w standardzie ISO-8859-2.  Najnowsza wersja oryginau
  jest dostpna na SUNSite Polska <ftp://ftp.icm.edu.pl/pub/Linux/sun-
  site/docs/HOWTO/mini/NFS-Root>. Odnonie nowszych wersji tumaczenia
  zobacz sekcj ``Od tumacza.''
  ______________________________________________________________________

  Spis treci


  1. Prawa autorskie.

     1.1 Wsppracownicy.

  2. Przegld oglny.

  3. Ustawienia na serwerze.

     3.1 Kompilacja jdra.
     3.2 Tworzenie gwnego systemu plikw.
        3.2.1 Kopiowanie systemu plikw.
        3.2.2 Zmiany w gwnym systemie plikw
        3.2.3 Exportowanie systemu plikw.
        3.2.4 Ustawienie RARP.
        3.2.5 Ustawianie BOOTP
        3.2.6 Odszukiwanie adresu sprztowego.

  4. Startowanie stacji roboczej.

     4.1 Uywanie "boot rom-u".
     4.2 Uywanie dysku z surowym jdrem.
     4.3 Uywanie "bootloader-a" i RARP-a.
     4.4 Uywanie "bootloader-a" bez RARP-a.

  5. Znane problemy.

     5.1 /sbin/init nie startuje.
     5.2 Problemy z /dev.

  6. Inne tematy.

     6.1 Od tumacza.


  ______________________________________________________________________

  11..  PPrraawwaa aauuttoorrsskkiiee..


  Prawa autorskie nale do Andreasa Kostyrki
  (e9207884@student.tu(-)wien.ac.at lub andreas@ag.or.at)


  O ile nie stwierdza si inaczej, dokumenty HOWTO s chronione prawami
  autorskimi ich autorw. Mog one by rozprowadzane w caoci lub w czci, w
  jakiejkolwiek postaci fizycznej czy elektronicznej tak dugo, dopki
  znajduje si w nich ta wzmianka.  Dystrybucja komercyjna jest
  dozwolona, a nawet zachca si do niej; chocia autor chciaby by
  poinformowany o takowej.

  Wszelkie tumaczenia, prace pochodne, prace zebrane zawierajce
  dokumenty HOWTO musz zawiera t notatk o prawach autorskich.  Oznacza
  to, e nie moesz stworzy pracy pochodzcej z HOWTO i naoy na jej
  dystrybucj dodatkowych ogranicze. Wyjtki od tej zasady mog by
  uczynione pod pewnymi warunkami; skontaktuj si z koordynatorem
  programu Linux HOWTO pod niej podanym adresem.

  Krtko mwic, chcemy promowa szerzenie tych dokumentw przez wszelkie
  dostpne kanay. Chcielibymy take utrzyma prawa autorskie naoone na te
  dokumenty, i by powiadomieni o planach dotyczcych redystrybucji HOWTO.

  Jeli masz jakie pytania, skontaktuj si z Andreasem Kostyrk pod adresem
  <_a_n_d_r_e_a_s_@_a_g_._o_r_._a_t> - autorem tego dokumentu, albo Gregiem Hankinsem -
  koordynatorem projektu Linux HOWTO pod adresem
  <_g_r_e_g_h_@_s_u_n_s_i_t_e_._u_n_c_._e_d_u>.



  11..11..  WWsspppprraaccoowwnniiccyy..



  +o  Avery Pennarun (jak startowa bez LILO)

  +o  Ofer Maor (dostarczenie lepszego mini-howto o ustawianiu stacji
     bezdyskowych)

  +o  Christian Leutloff (dostarczenie informacji na temat startu przez
     sie)


  22..  PPrrzzeegglldd ooggllnnyy..


  Oglnie mwic s dwa nastpujce problemy dla stacji roboczych:


  +o  musi ona znale swj numer IP, a jeli to konieczne take reszt
     konfiguracji ethernet-owej

  +o  musi ona zna serwer NFS oraz ciek, z ktrej ma sobie zamontowa swj
     gwny system plikw.


  Bieca implementacja _N_F_S_R_O_O_T w jdrze Linux-a (dotyczy 1.3.7x) pozwala
  na nastpujce rozwizania:


  +o  Adres IP moe by odnaleziony poprzez _R_A_R_P, albo moemy przekaza do
     jdra pen konfiguracj poprzez parametry _L_I_L_O albo _L_O_A_D_L_I_N_-_a. Jeli
     tego nie zrobimy, to jdro przyjmuje, e serwer _R_A_R_P jest take
     serwerem _N_F_S i uywa wkompilowanej, domylnej cieki. W tej chwili
     jest to /tftpboot/<_a_d_r_e_s_-_I_P_-_m_a_s_z_y_n_y>/.

  +o  Konfiguracja klienta jest pobierana poprzez _B_O_O_T_P.

  Przed rozpoczciem ustawiania rodowiska bezdyskowego, powiniene
  zdecydowa czy bdziesz startowa przez _L_I_L_O, czy przez _L_O_A_D_L_I_N. Zalet
  tego jest elastyczno, wad natomiast prdko. Startowanie przez _L_I_L_O jest
  szybsze.



  33..  UUssttaawwiieenniiaa nnaa sseerrwweerrzzee..



  33..11..  KKoommppiillaaccjjaa jjddrraa..


  Dobrym pomysem bdzie wkompilowanie obsugi _R_A_R_P w jdro. Musisz j mie
  jeli bdziesz startowa bez parametrw. Z drugiej strony, nie pomoe ci
  to, jeli serwer jest w innej podsieci ni klient.

  Jdro na stacj musi mie nastpujce elemnty wkompilowane w jdro:


  +o  system plikw _N_F_S. (ext2 nie musi by wkompilowane, wystarczy modu)

  +o  "Root on NFS" musi by wczone.

  +o  sterownik do karty sieciowej zamontowanej na stacji.

  +o  w zalenoci od twoich potrzeb moesz wkompilowa obsug _R_A_R_P lub _B_O_O_T_P
     dla "NFS-Root". (Rozumiem przez to pytania zadawane ppoo pytaniu o
     "NFS")

  Jeli stacja robocza bdzie startowana bez parametrw, musisz take ustawi
  urzdzenie gwnego systemu plikw na 0:255. Robi si to poprzez utworzenie
  urzdzenia w katalogu /dev poleceniem


  ______________________________________________________________________
  mknod /dev/nfsroot b 0 255
  ______________________________________________________________________



  Po utworzeniu takiego urzdzenia moesz ustawi urzdzenie gwnego systemu
  plikw w jdrze poleceniem


  ______________________________________________________________________
  rdev <jdro> /dev/nfsroot
  ______________________________________________________________________




  33..22..  TTwwoorrzzeenniiee ggwwnneeggoo ssyysstteemmuu pplliikkww..



  33..22..11..  KKooppiioowwaanniiee ssyysstteemmuu pplliikkww..


  _U_W_A_G_A_: _i_n_s_t_r_u_k_c_j_a _t_a _m_o_e _d_z_i_a_a _u _c_i_e_b_i_e_, _a_l_e _w_c_a_l_e _n_i_e _m_u_s_i _b_y
  _s_e_n_s_o_w_n_a _w _r_o_d_o_w_i_s_k_u _p_r_o_d_u_k_c_y_j_n_y_m_. _L_e_p_s_z_y _s_p_o_s_b _u_s_t_a_w_i_e_n_i_a _g_w_n_e_g_o
  _s_y_s_t_e_m_u _p_l_i_k_w _n_a _s_t_a_c_j_i _z_n_a_j_d_u_j_e _s_i _w _N_F_S_-_R_o_o_t_-_C_l_i_e_n_t
  _<ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/docs/HOWTO/mini/NFS-Root-
  Client>

  Jak ju zdecydowae, gdzie umiecisz gwny system plikw, stwrz go np.
  poleceniem





  ______________________________________________________________________
  mkdir -p <katalog>
  tar cClf / - | tar xpCf <katalog> -
  ______________________________________________________________________



  Jeli startujesz jdro bez LILO, wtedy katalogiem gwnym musi by
  /tftpboot/<_I_P_-_a_d_r_e_s>. Jeli ci si to nie podoba, moesz go zmieni w
  pliku _M_a_k_e_f_i_l_e w rdach jdra, poszukaj linii podobnej do tej:


  NFS_ROOT = -DNFS_ROOT="\"/tftpboot/%s\""



  Jeli to zmienisz musisz przekompilowa jdro.


  33..22..22..  ZZmmiiaannyy ww ggwwnnyymm ssyysstteemmiiee pplliikkww


  Teraz wyrzu niepotrzebne pliki i sprawd skrypty w /etc/rc.d.  Kilka
  wanych wskazwek:


  +o  Jedn wan rzecz jest ustawienie _e_t_h_0. Stacja robocza ma ju,
     przynajmniej czciowo, ustawiony ten interfejs. Ustawienie adresu IP
     stacji na adres IP serwera nie jest najmdrzejszym pomysem. (jak to
     si przytrafio autorowi w pocztkowych prbach)

  +o  Innym wanym punktem jest /etc/fstab na stacji. Powinien on by
     ustawiony dla systemu plikw NFS.

  +o  UUWWAAGGAA:: Nie pomyl gwnego systemu plikw serwera i stacji roboczej.
     (Ju poprawiem rc.inet1 na serwerze i zastanawiaem si dlaczego
     stacja dalej nie dziaa)


  33..22..33..  EExxppoorrttoowwaanniiee ssyysstteemmuu pplliikkww..


  Wyeksportuj gwny katalog dla stacji roboczej. Szczegy s w podrczniku
  systemowym (_m_a_n _e_x_p_o_r_t_s). Najprzypuszczalniej po zmianach bdziesz
  musia zrestartowa _n_f_s_d _i _m_o_u_n_t_d. W dystrybucji RedHat mona to atwo
  zrobi:


  ______________________________________________________________________
  /etc/rc.d/init.d/nfs stop
  /etc/rc.d/init.d/nfs start
  ______________________________________________________________________




  33..22..44..  UUssttaawwiieenniiee RRAARRPP..


  Ustaw gdzie na sieci _R_A_R_P. Jeli startujesz stacj bez parametru
  _n_f_s_r_o_o_t, to serwer _R_A_R_P musi by serwerem _N_F_S. Aby to zrobi
  potrzebujesz jdra z obsug _R_A_R_P.

  Robi si to poleceniem


  ______________________________________________________________________
  /sbin/rarp -s <adr_ip> <adr_sprztowy>
  ______________________________________________________________________



  gdzie


     aaddrr__iipp
        jest adresem IP stacji roboczej a

     aaddrr__sspprrzzttoowwyy
        jest adresem ethernet-owym karty sieciowej stacji roboczej.

  Przykad: /sbin/rarp -s 131.131.90.200 00:00:c0:47:10:12

  Moesz take uy nazwy symbolicznej zamiast adresu IP, jeli serwer moe
  odszuka sobie adres IP. (/etc/hosts lub _D_N_S).



  33..22..55..  UUssttaawwiiaanniiee BBOOOOTTPP


  Aby ustawi _B_O_O_T_P musisz wyedytowa plik /etc/bootptab.  Przeczytaj
  strony podrcznika systemowego na temat _b_o_o_t_p_d oraz _b_o_o_t_p_t_a_b.


  33..22..66..  OOddsszzuukkiiwwaanniiee aaddrreessuu sspprrzzttoowweeggoo..


  Nie znam adresu sprztowego !!! Jak mam go odszuka ?


  +o  Wystartuj z dysku z jdrem, ktre zrobie, i szukaj linii, w ktrej
     jest rozpoznawana karta sieciowa. Zwykle zawiera ona 6 liczb
     szesnastkowych, ktre s adresem sprztowym karty.

  +o  Wystartuj stacj robocz z jakim systemem operacyjnym, ktry posiada
     protok TCP/IP. Uruchom polecenie _p_i_n_g do stacji roboczej z serwera.
     Spjrz do cache'u ARP-a poleceniem:


     ___________________________________________________________________
        /sbin/arp -a
     ___________________________________________________________________




  44..  SSttaarrttoowwaanniiee ssttaaccjjii rroobboocczzeejj..



  44..11..  UUyywwaanniiee ""bboooott rroomm--uu""..


  Poniewa samemu jeszcze tego nie uywaem mog ci da tylko nastepujce
  wskazwki (ukony w stron Christiana Leutloffa
  <leutloff@sundancer.tng.oche.de>):


  +o  Nie moesz uywa "normalnych" bootrom-w.


  +o  W pakiecie _n_e_t_b_o_o_t zrobionym przez Gero Kuhlmanna znajdziesz
     informacje na temat bootrom-w dla Linux-a i wiele innych. Pakiet
     ten jest dostpny na SUNSite    Polska
     <ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/system/boot/> pod nazw
     _n_e_t_b_o_o_t_-_*.

  +o  Przeczytaj dokadnie dokumentacj dostarczon wraz z twoim bootrom-em.

  +o  Przypuszczalnie bedziesz musia wczy tftpd na serwerze, ale to zaley
     od sposobu w jaki twj boot rom aduje jdro.

  +o  _W_s_z_e_l_k_i_e _i_n_f_o_r_m_a_c_j_e _n_a _t_e_m_a_t _s_p_r_z_e_d_a_w_c_w _b_o_o_t_r_o_m_-_w _d_l_a _L_i_n_u_x_-_a _s
     _m_i_l_e _w_i_d_z_i_a_n_e_. _P_o_n_i_e_w_a _n_i_e _w_s_z_y_s_c_y _m_a_j _d_o_s_t_p _d_o _p_r_o_g_r_a_m_a_t_o_r_w _P_R_O_M_-_w
     _(_s_z_c_z_e_g_l_n_i_e _w _E_u_r_o_p_i_e_, _g_d_z_i_e _j_a _m_i_e_s_z_k_a_m_)_.


  44..22..  UUyywwaanniiee ddyysskkuu zz ssuurroowwyymm jjddrreemm..


  Jeli wyeksportowae gwny system plikw z poprawn domyln nazw oraz twj
  serwer _N_F_S jest take serwerem _R_A_R_P (z czego wynika, e obie maszyny s w
  tej samej podsieci), wtedy moesz wystartowa jdro przez proste
  "zrzucenie" go na dysk za pomoc polecenia _c_a_t. (Musisz ustawi
  urzdzenie gwnego systemu plikw w jdrze na 0:255) Przy takich
  ustawieniach, katalog gwny na serwerze jest w /tftpboot/_a_d_r_e_s_-_I_P.
  (warto ta moe by zmieniona przy kompilacji jdra)


  44..33..  UUyywwaanniiee ""bboooottllooaaddeerr--aa"" ii RRAARRPP--aa..


  Przeka do jdra podczas startu wszystkie potrzebne parametry oraz dodaj
  nfsroot=<_s_e_r_w_e_r_-_I_P>:<_/_c_i_e_k_a_/_d_o_/_z_a_m_o_n_t_.> gdzie _s_e_r_w_e_r_-_I_P jest adresem
  IP serwera NFS a _/_c_i_e_k_a_/_d_o_/_z_a_m_o_n_t_. jest ciek do gwnego katalogu.

  Wskazwki:


  +o  Jeli uywasz LLIILLOO rozwa uycie cechy _l_o_c_k: po prostu wpisz raz
     wszystkie parametry i _l_o_c_k. Nastpnym razem jak bdziesz startowa
     LILO poczekaj a si skoczy czas i zacznie samo adowa system.

  +o  Podczas generowania specyficznego dysku startowego dla stacji moesz
     uy polecenia _a_p_p_e_n_d_= w pliku lilo.conf.


  44..44..  UUyywwaanniiee ""bboooottllooaaddeerr--aa"" bbeezz RRAARRPP--aa..


  Dodatkowo oprcz parametru _n_f_s_r_o_o_t uyj jeszcze parametru nfsaddrs=<_s_t_-
  _I_P>:<_s_r_w_-_I_P>:<_g_w_-_I_P>:<_n_e_t_m_-_I_P>:<_n_a_z_w_a>. Jdro ustawi interfejs _e_t_h_0 z
  podanymi parametrami:


     sstt--IIPP
        adres IP stacji roboczej

     ssrrww--IIPP
        adres IP serwera NFS

     ggww--IIPP
        wrota (gateway)

     nneettmm--IIPP
        maska podsieci

     nnaazzwwaa
        nazwa stacji


  55..  ZZnnaannee pprroobblleemmyy..



  55..11..  //ssbbiinn//iinniitt nniiee ssttaarrttuujjee..


  Popularnym problemem jest fakt, e niektre (przynajmniej) najnowsze
  dystrybucje maj program /sbin/init czony dynamicznie. Musisz wic
  udostpni odpowiednie biblioteki w katalogu /lib u klienta.  Prost
  rzecz jak mona zrobi, to zamiana /sbin/init (u klienta) na statycznie
  czony program typu ``Hello World''. W ten sposb mona sprawdzi czy mamy
  do czynienia rzeczywicie z problemem z programem czonym dynamicznie
  czy moe z czym prostszym.


  55..22..  PPrroobblleemmyy zz //ddeevv..


  Jeli przy starcie pojawiaj ci si jakie pokrcone komunikaty o "tty", to
  powiniene uruchomi skrypt MAKEDEV u klienta w katalogu /dev. Chodz
  suchy, e nie dziaa on na systemach serwerowych, ktre uywaj liczb
  64-bitowych do numerowania urzdze. Jeli zdarzy ci si taki problem, to
  napisz do mnie prosz na jakim systemie ci si to stao. Potencjalnym
  rozwizaniem powinno by utworzenie maego ramdysku z katalogiem /dev i
  kadorazowa reinstalacja plikw urzdze.

  66..  IInnnnee tteemmaattyy..



  +o  Pod adresem ftp.icm.edu.pl
     <ftp://ftp.icm.edu.pl/pub/Linux/sunsite/system/network/admin/> mona
     znale klienta BOOTP. Jest w katalogu
     /pub/Linux/sunsite/system/network/admin/ i nazywa si bootpc*tgz.

     Bezdyskowe stacje mona zrobi cakiem prosto posugujc si initrd (ktry
     jest doczony do Linux-a 2.0). initrd jest waciwie zaawansowan opcj
     w wikszoci ustawie.

  +o  Dla rozwiza opartych tylko na bootpd, nie jest to waciwie
     potrzebne, poniewa Linux 2.0 zawiera take opcj uycia BOOTP zamiast
     RARP. (A dokadniej, moesz wkompilowa obie te usugi w jdro i wtedy
     szybsza odpowied wygrywa.)

  +o  W katalogu Documentation w rdach jdra znajduje si plik z opisem
     systemw NFS-Root.

  +o  Wiem, e jest jaka ata, ktra pozwala na swapowanie poprzez sie. Kto
     mi j przysa (kiedy byem akurat bardzo obadowany prac) i udao mi si
     j jako zgubi :(

     Przypuszczalnie moesz j zdoby z adresu www.huwig.de/linux/mama.
     [Od tumacza: Autor poda tutaj adres www.linuxhq.com, ale niestety
     ta wspaniaa strona zgina z Internetu. Ja podaem adres, ktry powsta
     w zastpstwie kilka dni pniej.]

  +o  Mj publiczny klucz PGP mona uzyska poprzez polecenie finger
     andreas@ag.or.at.
     Fingerprint to: F1 F7 43 D5 07 C4 6C 87  BF 6B 33 A2 2C EE 5A F9.


  66..11..  OOdd ttuummaacczzaa..


  Tumaczenie to jest chronione prawami autorskimi (C) Bartosza
  Maruszewskiego.  Dozwolone jest rozprowadzanie i dystrybucja na
  prawach takich samych jak dokument oryginalny.

  Jeli znalaze jakie race bdy ortograficzne, gramatyczne, skadniowe,
  techniczne to pisz do mnie:

  B.Maruszewski@zsmeie.torun.pl

  Oficjaln stron tumacze HOWTO jest
  http://www.ippt.gov.pl/~ppogorze/Linux/JTZ/

  Aktualne wersje przetumaczonych dokumentw znajduj si na teje stronie.
  Dostpne s take poprzez anonimowe ftp pod adresem ftp.ippt.gov.pl w
  katalogu /pub/Linux/JTZ/.

  Przetumaczone przeze mnie dokumenty znajduj si take na mojej stronie
  WWW. <http://www.zsmeie.torun.pl/~bart/tlumaczenie.html> S tam te
  odwoania do Polskiej Strony Tumaczeniowej.

  Kontakt z nasz grup, grup tumaczy moesz uzyska poprzez list dyskusyjn
  jtz@ippt.gov.pl. Jeli chcesz sie na ni zapisa, to wylij list o treci
  subscribe jtz Imi Nazwisko na adres listproc@ippt.gov.pl








































