  Mini Howto dla bezdyskowych stacji
  Robert Nemkin, buci@math.klte.hu
  v0.0.3, 12 Wrzenia 1996.
  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.12, 26 Lipca 1997


  Dokument ten opisuje jak zainstalowa bezdyskow stacje robocz Linux-a.
  Prawa autorskie nale do Roberta Nemkina. Polisa praw autorskich to
  GPL. Chciabym podzikowa Bela Kis bkis@cartan.math.klte.hu za przetu-
  maczenie tego dokumentu na jzyk angielski.  Dokument ten zosta
  napisany w standardzie ISO-8859-2.  Wersja oryginalna znajduje si pod
  adresem ftp.icm.edu.pl <ftp://ftp.icm.edu.pl:/pub/Linux/sun-
  site/docs/HOWTO/mini/>.
  ______________________________________________________________________

  Spis treci


  1. Zmiany.

  2. Jak zainstalowa bezdyskow stacj robocz Linux-a ?

  3. Dokumenty zwizane z tym.

  4. Sprzt.

  5. Podstawowe idee.

     5.1 Ustawianie PC-ta.
     5.2 Ustawianie bootpd na serwerze.
     5.3 Konfiguracja bottpd na serwerze.
     5.4 Rozumienie tftp.
     5.5 Ustawianie minimalnej konfiguracji Linux-a na odlegym serwerze.
     5.6 Konfiguracja serwera tftp.
     5.7 Praca kocowa.

  6. Wymagania pamiciowe i dyskowe; prdko.

  7. Moliwe bdy.

  8. Bdy i moliwy dalszy rozwj tego dokumentu.

     8.1 Od autora.
     8.2 Od tumacza.


  ______________________________________________________________________

  11..  ZZmmiiaannyy..



  +o  v0.0.3 12 Wrzenia 1996: Mae poprawki bdw.


  22..  JJaakk zzaaiinnssttaalloowwaa bbeezzddyysskkooww ssttaaccjj rroobboocczz LLiinnuuxx--aa ??


  Dokument ten traktuje o instalacji bezdyskowej stacji roboczej na
  Linux-ie. Czasami jest konieczna instalacja Linux-a na PC-tach, ktre
  nie maj ani dysku twardego ani stacji dyskietek. Jeli dostpna jest
  sie, inny komputer z Unix-em z bootp, tftp, serwer NFS, i eprom burner
  FIXME wtedy moliwe jest zainstalowanie Linux-a bez twardego dysku czy
  dyskietek.
  33..  DDookkuummeennttyy zzwwiizzaannee zz ttyymm..



  +o  NFS-root Mini Howto

  +o  Linux NET-2/3-HOWTO napisane przez Terry Dawsona,
     _9_4_0_0_4_5_3_1_@_p_o_s_t_o_f_f_i_c_e_._c_s_u_._e_d_u_._a_u

  +o  /usr/src/linux/README na temat konfiguracji i kompilacji nowego
     jdra.


  44..  SSpprrzztt..


  Cokolwiek tu byo opisane, sprawdzone zostao na nastpujcej
  konfiguracji:

  +o  Sun-OS 4.1.3 jako serwer startowy

  +o  Slackware 2.3 + Linux 1.2.8 + wd 8013 ethercard

  +o  Dziaajca sie lokalna oparta na Ethernecie.


  55..  PPooddssttaawwoowwee iiddeeee..


  Podstawow ide tego jest: PC-et otrzyma swj adres IP z serwera
  startowego poprzez protok bootp, uywajc 0.0.0.0 jako inicjacyjnego
  adresu IP oraz jdro poprzez protok tftp. (-- Startowanie poprzez rne
  segmenty (poprzez ruter) nie jest takim prostym pytaniem, wic albo
  umie oba - serwer startowy i stacj bezdyskow - w jednym segmencie albo
  skonfiguruj pomocniczy adres UDP w swoim ruterze dla adresu serwera.
  Dalszych informacji szukaj w podrczniku dostarczonym razem z twoim
  ruterem.--)

  Aby to zrobi postepuj zgodnie z poniszymi krokami.


  55..11..  UUssttaawwiiaanniiee PPCC--ttaa..


  Zdobd pakiet nfsboot. (Dostpny jest np. z ftp.icm.edu.pl) Zawiera on
  obraz BIOS-u dla karty wd8013, ktry moe by bezporednio zapisany.

  S jeszcze inne alternatywne sposoby na przygotowanie PC-ta:

  +o  jeli twj komputer nie jest cakowicie bezdyskowy, wtedy moesz uy
     maego DOS-owego programu albo

  +o  obrazu dyskietki binarnej z tego samego pakietu.

  Jeli wybierzesz t druga opcj musisz zapisa obraz na dyskietke
  poleceniem dd.

  Obrazy te zawieraj klienta bootp oraz tftp.  Musisz take przygotowa
  jdro, ktre bdzie zawierao opcj nfs-root.


  +o  Jeli uywasz najnowszej stabilnej wersji jdra, linux-1.2.13, to
     musisz zaata jdro at zawart w pakiecie nfsboot.  (-- Zobacz
     patch(1)--)


  +o  Jeli prbujesz uy najnowszej wersji jdra z serii 1.3.x, to musisz
     skonfigurowa opcj nfs-root.

  Moesz skonfigurowa obsug urzdzenia blokowego (dyskietki albo dysku
  twardego), ale musisz skonfigurowa obsug tcp/ip, karty wd ethernet,
  gwnego sytemu plikw przez nfs. Potem skompiluj jdro jak zwykle.


  55..22..  UUssttaawwiiaanniiee bboooottppdd nnaa sseerrwweerrzzee..


  Mona go znle w pakiecie >bootpd-2.4.tar.gz na serwerze ftp.icm.edu.pl.

  Zdobd pakiet, skompiluj go i zainstaluj. Jeli twj drugi komputer to
  przypadkiem Linux Slackware, to moesz przeskoczy ten krok poniewa
  standardowa dystrybucja zawiera bootpd. Demona mona uruchomi albo
  bezporednio poleceniem: bootpd -s albo uywajc inetd. W tym wypadku
  musisz:


  +o  zmieni plik /etc/inetd.conf przez usunicie znaku # z pocztku tych
     linii:


     ___________________________________________________________________
        # tftp   dgram   udp     wait    root    /usr/sbin/in.tftpd tftpd /export
        # bootps dgram   udp     wait    root    /usr/sbin/in.bootpd bootpd
     ___________________________________________________________________



  +o  dooy lub take odkomentowa nastpujce linie w pliku /etc/services


     ___________________________________________________________________
        bootps          67/tcp          # serwer BOOTP
        tftp            69/udp          # serwer TFTP
     ___________________________________________________________________



  +o  ponownie zainicjowa inetd przez kill -HUP <PID inetd>


  55..33..  KKoonnffiigguurraaccjjaa bboottttppdd nnaa sseerrwweerrzzee..



  Po pierwsze bootpd ma plik konfiguracyjny o nazwie bootptab, ktry z
  reguy znajduje si w katalogu /etc. Musisz go zmodyfikowa przez
  wpisanie adresu IP twoich gateway-w, serwerw dns i adres-u/w ethernet
  twojej stacji bezdyskowej.

  Oto przykadowy plik konfiguracyjny /etc/bootptab:












  ______________________________________________________________________
     global.prof:\
             :sm=255.255.255.0:\
             :ds=192.168.1.5:\
             :gw=192.168.1.19:\
             :ht=ethernet:\
             :bf=linux:
     machine1:hd=/export/root/machine1:tc=global.prof:ha=0000c0863d7a:ip=192.168.1.1
     machine2:hd=/export/root/machine2:tc=global.prof:ha=0800110244e1:ip=192.168.1.1
     machine3:hd=/export/root/machine3:tc=global.prof:ha=0800110244de:ip=192.168.1.1
  ______________________________________________________________________



  _g_l_o_b_a_l_._p_r_o_f jest oglnym szablonem dla pl host-a, gdzie

  +o  sm jest mask podsieci

  +o  ds jest adresem serwera DNS

  +o  gw jest adresem gatway-a

  +o  ht jest typem sprztu LAN

  +o  bf jest nazw pliku startowego

  Potem kady komputer musi mie swoj lini:

  +o  pierwsze pole jest nazw host-a

  +o  pole hd jest katalogiem, w ktrym znajduje si plik startowy

  +o  oglny szablon moe by zawarty przez pole tc

  +o  pole ha jest adresem sprztowym karty ethernet

  +o  pole ip jest adresem przypisanym do danego host-a


  55..44..  RRoozzuummiieenniiee ttffttpp..


  TFTP (Trivial File TRansfel Protocol) jest protokoem transferu plikw,
  takim jak ftp, z tym, e o wiele prostszym do zapisania go w EPROM-ach.
  TFTP moe zostac uyty na dwa sposoby:


  +o  proste tftp: oznacza, e klient ma dostp do caego twojego systemu
     plikw. Jest to prostsze rozwizanie, ale jest ono wielk dziur w
     bezpieczestwie systemu (kady moe pobra twj plik z hasami poprzez
     tftp).

  +o  bezpieczne tftp: serwer tftp uywa funkcji systemowej chroot(2), aby
     zmieni swj katalog gwny. Wszystko poza nowym katalogiem gwnym bdzie
     cakiem niedostpne. Z powodu chroot dir staje si nowym katalogiem
     gwnym; pole hd musi odzwierciedla now sytuacj. Na przykad: podczas
     uywania niezabezpieczonego tftp, pole hd zawiera pen ciek do
     katalogu startowego: /export/root/machine1. Podczas uywania
     bezpiecznego tftp z katalogiem /expoprt jako katalog gwny, wtedy
     /export staje si / a pole hd musi zawiera /root/machine1.

  Prawie kada implementacja Unix-a zawiera serwer tftp, przypuszczalnie
  nie musisz instalowa wasnego.



  55..55..  sseerrwweerrzzee..  UUssttaawwiiaanniiee mmiinniimmaallnneejj kkoonnffiigguurraaccjjii LLiinnuuxx--aa nnaa ooddlleeggyymm


  Moe to zawiera pakiety a, ap, n oraz x z dystrybucji Slackware.  Jeli
  zainstalujesz wicej - nie ma sprawy; ale wymienione pakiety wystarcz,
  eby zrobi bezdyskowy Xterminal. Do instalacji potrzebujesz dziaajcego
  ju Linux-a. Znajd troch miejsca na dysku na odlegym komputerze i
  wyeksportuj je jako do zapisu-i-odczytu. Zamontuj ten wyeksportowany
  katalog gdzie (np.  /mnt) w systemie plikw Linux-a. Zacznij ustawianie
  Linux-a i zmie opcj root w setup-ie z / na /mnt. Potem zainstaluj
  powysze pakiety jak zwykle. Jeli chcesz mie nie wicej ni jedn stacj
  bezdyskow Linux-ow, to nie potrzeba adnych zmian. Jednak z drugiej
  strony, jeli planujesz uywa wicej ni jednej bezdyskowej stacji Linux-
  owej wtedy powysze ustawienia nie bd dziaa poniewa niektry pliki i
  katalogi musz by prywatne dla danej maszyny. Problem ten mona obej
  przez przeniesienie katalogu /usr (nie zaweira on adnych prywatnych
  danych) i stworzy osobne podkatalogi dla kadej bezdyskowej stacji. Na
  przykad, jeli /export/linux/machine1 zostaby zamontowany na /mnt wtedy
  struktura katalogw po inicjacyjny ustawieniu wygldaaby tak:


  ______________________________________________________________________
     /export/linux/machine1/bin
     /export/linux/machine1/sbin
     /export/linux/machine1/lib
     /export/linux/machine1/etc
     /export/linux/machine1/var
     /export/linux/machine1/usr
  ______________________________________________________________________




  Po zmianach wygldaaby tak:


  ______________________________________________________________________
     /export/linux/machine1/bin
     /export/linux/machine1/sbin
     /export/linux/machine1/lib
     /export/linux/machine1/etc
     /export/linux/machine1/var
     /export/linux/usr
  ______________________________________________________________________




  Teraz stwrz podkatalogi dla innych maszyn. Przyjmij na razie, e twoje
  stacje bezdyskowe nazywaj si machine1, machine2, ..., machinen; wtedy
  moesz uy nastpujcego skryptu w bash-u, aby pozakada inne katalogi:


  ______________________________________________________________________
     #!/bin/bash
     cd /export/linux
     for x in machine2 machine3 ; do
          mkdir $x; cd $x
          (cd ../machine1; tar cf - *) | tar xvf -
     done
  ______________________________________________________________________



  Potem zrb nastepujce eksporty:

  +o  /export/linux/usr               tylko-do-odczytu dla kadego

  +o  /export/liunx/machine1          tylko dla machine1 z prawami rw,
     root

  +o  /export/liunx/machine2          tylko dla machine2 z prawami rw,
     root

  +o  /export/liunx/machine3          tylko dla machine3 z prawami rw,
     root

  tak jak tutaj: (-- format tego przykadowego pliku odpowiada skadni
  pliku eksportowego z SunOS-u 4.1.3--)


  ______________________________________________________________________
     # To jest plik /etc/export
     # dla odlegych Xterminali na Linux-ie zrobiony przez Buci
     # ta linia pojawia si tylko jeden raz
     /export/root/usr             -access=linuxnet
     # te po jednej dla kadego host-a
     /export/root/machine1       rw=machine1,root=machine1
     /export/root/machine2       rw=machine2,root=machine2
     /export/root/machine3       rw=machine3,root=machine3
  ______________________________________________________________________



  Nie zapomnij uruchomi exportfs -a.


  55..66..  KKoonnffiigguurraaccjjaa sseerrwweerraa ttffttpp..


  Teraz czas na konfiguracj serwera tftp. Jeli nie potrzebujesz
  bezpiecznego tftp, to wszystko jest raczej proste, twoje klienty mog
  by startowane z katalogu /export.

  Jeli uywany jest bezpieczny tftp, to moesz albo zrobi pen struktur
  katalogw /export/linux pod tftpboot (z jednym rzeczywistym jdrem i
  symbolicznymi doczeniami dla innych maszyn), albo niech katalog
  /export bdzie katalogiem startowym dla bezpiecznego tftpd. Albo, jeli
  masz odrbny katalog tftpboot, to potrzbujesz tylko oryginalnej
  struktury katalogw z jednym jdrem i symbolicznymi dowizaniami dla
  innych. Moesz otrzyma takie ustawienie przez wpisanie tego:


  ______________________________________________________________________
           mkdir -p /tftpboot/export/linux/machine1
           cd /tftpboot/export/linux/machine1
           cp /export/linux/machine1/<name of the kernel> .
  ______________________________________________________________________




  55..77..  PPrraaccaa kkooccoowwaa..


  Ostatecznie musisz wpisa:

  ______________________________________________________________________
       /sbin/mount nfs_server:/export/linux/usr /usr
  ______________________________________________________________________


  jako pierwsz lini pliku

  ______________________________________________________________________
       /export/linux/<machinex>/etc/rc.d/rc.S
  ______________________________________________________________________



  gdzie <machinex> to machine1, machine2, itd.


  66..  WWyymmaaggaanniiaa ppaammiicciioowwee ii ddyysskkoowwee;; pprrddkkoo..


  Slackware 2.3; dla innych dystrybucji/wersji podane liczby mog by rne.


  +o  Miejsce na dysku: 28MB + 6,5MB/maszyn

  +o  RAM: Ja uywam X-w na 8MB. Tylko dla 4MB jest potrzebny swap, sdze;
     moe on by stworzony oddzielnie dla kadego komputera w katalogu
     /tmp.
     Nie zapomnij uruchomi _m_k_s_w_a_p.

  +o  Prdko: Nie miaem problemw na 486 DX2/66 z 8MB RAM-u.


  77..  MMoolliiwwee bbddyy..



  +o  Znalazem dziwny bd: w podkatalogu /dev SunOS popsu pliki urzdze i
     musiaem uruchomic ponownie MAKEDEV przez zamontowanie tego
     podkatalogu na Linux-a z dyskiem.  (Powodem byy rnice pomidzy
     Linux-owym a SunOS-owym nfs-em: oba uywaj 32 bitw na liczb gwn
     (major) i liczb poboczn (minor) urzdze, ale Linux uywa 16-bitowych
     pl dla kadego z nich, a SunOS uywa 14 bitw dla liczby gwnej, a 18
     bitw dla liczby pobocznej.)

  +o  Kiedy bezdyskowy Linux jest startowany, jest tylko jedno pole w
     tablicy rutingu do serwera tftp, tak wic musisz ustawi poprawne
     tablice rutingu. Masz tu dwie moliwoci do wyboru:


  +o  skonfigurowa kady rc.S dla kadej maszyny,

  +o  uy pakietu z klientem _b_o_o_t_p i napisa uoglniony skrypt ustawiajcy.


  88..  BBddyy ii mmoolliiwwyy ddaallsszzyy rroozzwwjj tteeggoo ddookkuummeennttuu..



  88..11..  OOdd aauuttoorraa..



  +o  Poprawne cytowanie dokumentw zwizanych.

  +o  SunOS powsta na podstawie BSD. Trzeba doczy konfiguracj bazowan na
     SVR4 (np. Solaris)

  +o  Pomimo, i Linux jest do podobny do SunOS-a jako serwer bootp/tftp,
     to jednak przydaby si przykad wzityz Linux-a.


  +o  Odnowienie tego dokumentu w zwizku z biec wersja pakietu etherboot.

  +o  Pokaza rnice midzy zaatanym jdrem z nfs-root w wersji 1.2.13 i
     najnowsz wersj jdra 1.3.x, ktra ma w sobie at nfs-root.

  +o  Trzeba wyprbowa inne karty ni wd8013.

  +o  Doczy informacje na temat konfiguracji _b_o_o_t_p_c, klienta bootp dla
     Linux-a, eby ustawi poprawn tablic rutingu.

  +o  Literwki i inne bdy: zgaszaj je do buci@math.klte.hu Dzikuj.


  88..22..  OOdd ttuummaacczzaa..


  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.jtz.org.pl/

  Aktualne wersje przetumaczonych dokumentw znajduj si na teje stronie.
  Dostpne s take poprzez anonimowe ftp pod adresem
  ftp.ippt.gov.pl/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

  Zmiany wprowadzone przeze mnie do tego dokumentu to polskie odnoniki
  do serwerw ftp i WWW.





























