Sophie

Sophie

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

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

  The Linux Bootdisk HOWTO
  Autor: Tom Fawcett fawcett@croftj.net

  v3.4, maj 1999
  WWeerrssjjaa ppoollsskkaa:: AAddaamm BByyrrtteekk aallpphhaa@@iirrcc..ppll

  v1.2, lipiec 1999


  Dokument ten opisuje, jak tworzy swoje wasne dyskietki startowe dla
  Linuxa.  Dyskietki te mog zosta uyte jako dyskietki ratunkowe, lub w
  celu przetestowania nowych skadnikw systemu. Jeli nie czytae jeszcze
  Linux FAQ i powizanych dokumentw, takich jak Linux Installation HOWTO
  czy Linux Install Guide, to nie powiniene tworzy dyskietek startowych.
  Jeli potrzebujesz jedynie dyskietki ratunkowej na wypadek awarii, to
  zajrzyj do dodatku ``Gotowe dyskietki''.
  ______________________________________________________________________

  Spis treci















































  1. Przedmowa.

     1.1 Uwagi na temat wersji.
     1.2 Opinie.
     1.3 Rozpowszechnianie.

  2. Wprowadzenie.

  3. Dyskietki startowe i proces startu systemu.

     3.1 Proces startu systemu.
     3.2 Typy dyskw.

  4. Budowanie gwnego systemu plikw.

     4.1 Wiadomoci oglne.
     4.2 Tworzenie systemu plikw.
     4.3 Zapenianie systemu plikw.
        4.3.1 /dev
        4.3.2 /etc
        4.3.3 /bin i /sbin
        4.3.4 /lib
     4.4 Providing for PAM and NSS.
        4.4.1 PAM (Pluggable Authentication Modules).
        4.4.2 NSS (Name Service Switch).
     4.5 Moduy.
     4.6 Kocowe detale.
     4.7 Kopiowanie na dyskietk.

  5. Wybieranie jdra.

  6. Skadnie tego wszystkiego: tworzenie dyskietek.

     6.1 Przenoszenie jdra z LILO.
     6.2 Przenoszenie jdra bez LILO.
     6.3 Konfiguracja sowa ramdysku.
     6.4 Przenoszenie gwnego systemu plikw.

  7. Rozwizywanie problemw.

  8. Rne tematy.

     8.1 Redukcja gwnego systemu plikw.
     8.2 Systemy plikw bez ramdysku.
     8.3 Tworzenie dyskietki narzdziowej.

  9. Jak robi to profesjonalici.

  10. Najczciej zadawane pytania (FAQ).

  11. Odnoniki

     11.1 Gotowe dyskietki.
     11.2 Pakiety ratunkowe.
     11.3 Skrypty powoki Grahama Chapman'a
     11.4 LILO (LInux LOader) -- program adujcy Linuxa.
     11.5 Linux FAQ i HOWTO.
     11.6 Korzystanie z ramdysku.
     11.7 Proces startowania Linuxa.

  12. Kody bdw LILO.

  13. Lista plikw przykadowej gwnej dyskietki.

  14. Spis plikw przykadowej dyskietki narzdziowej.

  ______________________________________________________________________

  11..  PPrrzzeeddmmoowwaa..


  UUwwaaggaa:: TTeenn ddookkuummeenntt mmooee bbyy pprrzzeessttaarrzzaayy.. Jeli upyno wicej ni sze
  miesicy od daty podanej na stronie tytuowej, to poszukaj nowej wersji
  tego dokumentu na stronie Linux Documentation Project
  <http://metalab.unc.edu/LDP/HOWTO/Bootdisk-HOWTO.html>.

  Dokument ten powinien by czytelny w formacie tekstowym, jednak dziki
  wykorzystaniu typografii wyglda on _z_n_a_c_z_n_i_e lepiej w formacie
  Postscript (.ps) lub HTML. Zachcamy do wybrania jednego z tych
  formatw. Wersja w formacie Info jest tak okrojona, e staje si
  bezuyteczna.


  11..11..  UUwwaaggii nnaa tteemmaatt wweerrssjjii..


  Graham Chapman (grahamc@zeta.org.au) napisa oryginaln wersj Bootdisk-
  HOWTO i opiekowa si tym dokumentem a do wersji 3.1. Tom Fawcett
  (fawcett@croftj.net) doda sporo materiau na temat jdra 2.0 i jest on
  opiekunem tego dokumetu od wersji 3.2. W dokumencie pozostao sporo
  oryginalnego tekstu Chapmana.

  Dokument ten jest napisany w oparciu o jjddrroo LLiinnuuxx--aa ww wweessjjii 22..00 lluubb
  ppnniieejjsszzeejj. Jeli posiadasz starsze jdro (1.2.xx lub nisze), to zajrzyj
  do poprzedniej wersji Bootdisk-HOWTO, ktr moesz znale na Stronie
  domowej Grahama Chapmana <http://www.zeta.org.au/~grahamc/linux.html>.

  Informacje zawarte w tym dokumencie dotycz platformy IInntteell. Wiele z
  nich moe by rwnie poprawnych dla innych procesorw, ale nie mamy na ten
  temat adnych danych. Prosimy o kontakt ludzi majcych dowiadczenia z
  dyskietkami startowymi na innych platformach sprztowych.


  11..22..  OOppiinniiee..


  Czekamy na wszystkie opinie, czy to dobre, czy ze, na temat zawartoci
  tego dokumentu. Staralimy si, aby informacje w nim umieszczone byy jak
  najbardziej pewne i dokadne. Daj nam zna gdy znajdziesz jakie bdy.

  Dziekujemy ludziom, ktrzy pomagali nam przysyajc poprawki czy
  sugestie.  Ich wkad uczyni ten dokument o wiele lepszym, ni gdybymy
  tworzyli go sami.

  Wysyaj komentarze, sugestie i poprawki na adres email autora podany
  powyej. Nie mam nic przeciwko odpowiadaniu na pytania, jednak radz
  najpierw przeczyta dzia ``Rozwizywanie problemw''.



  11..33..  RRoozzppoowwsszzeecchhnniiaanniiee..


  Copyright (C) 1995,1996,1997,1998,1999 by Tom Fawcett and Graham
  Chapman.  Ten dokument moe zosta rozpowszechniany na warunkach
  ustalonych przez Licencj Linux Documentation Project, znajdujc si pod
  adresem  <http://metalab.unc.edu/LDP/HOWTO/Bootdisk-HOWTO.html>.
  Skontaktuj si z autorem, jeli nie jeste w stanie otrzyma licencji.

  Ta dokumentacja jest darmowa. Jest rozpowszechniana z nadziej, e okae
  si uyteczna, jednak bbeezz aaddnneejj ggwwaarraannccjjii.

  22..  WWpprroowwaaddzzeenniiee..


  Dyskietki startowe s przydatne w wielu sytuacjach, takich jak:


  +o  Testowanie nowego jdra.

  +o  Odzyskiwanie danych po awarii dysku -- od utraconego boot sektora a
     po uszkodzenie gowicy.

  +o  Leczenie uszkodzonego systemu. Nawet drobne potknicie w czasie gdy
     jeste zalogowany jako root moe unieruchomi cay system. eby go
     naprawi, trzeba bdzie wystartowa go z dyskietki startowej.

  +o  Uaktualnianie plikw krytycznych dla dziaania systemu, takich jak
     libc.so.

  Istnieje kilka sposobw otrzymywania dyskietek startowych:


  +o  Uycie dyskietki z dystrybucji takiej jak Slackware. Umoliwi ci ona
     przynajmniej wystartowanie systemu.

  +o  Uycie pakietu ratunkowego do stworzenia dyskietek ratunkowych.

  +o  Nauczenie si co jest potrzebne do dziaania dyskietki startowej, a
     nastpnie zbudowanie jej samodzielnie.

  Niektrzy uywaj tej ostatniej metody i robi wszystko sami. Dziki temu
  jeli co pjdzie nie tak, to wiadomo co zrobi aby to naprawi. Dodatkowo
  jest to bardzo dobra metoda na nauczenie si jak dziaa Linux.

  Ten dokument zakada podstawow znajomo zasad administracji systemu
  Linux.  Przykadowo powiniene wiedzie co katalogach, systemach plikw i
  dyskietkach. Powiniene wiedzie, jak uywa polece mount i df.  Powiniene
  wiedzie, do czego su i jak wygldaj pliki /etc/passwd i fstab.
  Powiniene wiedzie, e wikszo polece w tym HOWTO powinna by wykonywana
  gdy jeste zalogowany jako root.

  Konstruowanie swojej wasnej dyskietki startowej od zera moe by
  skomplikowane. Jeli nie czytae Linux FAQ i powizanych dokumentw,
  takich jak Linux Installation HOWTO i Linux Installation Guide, to nie
  powiniene tworzy dyskietek startowych. Jeli potrzebujesz jedynie
  dziaajcej dyskietki startowej na wypadek awarii, to o _w_i_e_l_e atwiej
  bdzie cign gotow. Aby je znale, zajrzyj do dodatku ``Gotowe
  dyskietki''.


  33..  DDyysskkiieettkkii ssttaarrttoowwee ii pprroocceess ssttaarrttuu ssyysstteemmuu..


  Dyskietka startowa jest po prostu miniaturowym systemem Linux na
  dyskietce.  Musi on spenia wiele funkcji wykonywanych przez zwyky,
  penowymiarowy system Linux. Zanim sprbujesz stworzy wasn dyskietk,
  musisz zrozumie podstawy startowania systemu Linux. Prezentujemy tutaj
  jedynie podstawy, ktre s wystarczajce do zrozumienia reszty tego
  dokumentu. Wiele szczegw i opcji alternatywnych zostao ominitych.


  33..11..  PPrroocceess ssttaarrttuu ssyysstteemmuu..


  Wszystkie komputery PC rozpoczynaj proces startu systemu przez
  wykonanie kodu znajdujcego si w pamici ROM (konkretnie w BIOS-ie),
  ktry aduje jeden sektor z sektora 0, cylindra 0 napdu startowego. Napd
  startowy to zazwyczaj pierwszy napd dyskietek (oznaczony A: w DOS-ie i
  /dev/fd0 w Linuxie). Nastpnie BIOS prbuje wykona zawarto tego sektora.
  Na wikszoci dyskietek startowych sektor 0, cylinder 0 zawiera:


  +o  kod programu adujcego takiego jak LILO, ktry, aby wystartowa
     system, lokalizuje jdro, aduje je i wykonuje.

  +o  pocztek jdra systemu operacyjnego, takiego jak Linux.

  Jeli jdro Linuxa zostao przekopiowane bezporednio na dyskietk, to
  pierwszy sektor dyskietki bdzie jednoczenie pierwszym sektorem jdra.
  Kod znajdujcy si w pierwszym sektorze bdzie kontynuowa proces startu
  adujc reszt jdra z dyskietki.

  Gdy jdro zostanie w caoci zaadowane, rozpoczyna ono inicjalizacj
  sterownikw. Nastpnie prbuje ono zaadowa i zamontowa ggwwnnyy ssyysstteemm pplliikkww
  z jednego z urzdze. Gwny system plikw to po prostu system montowany
  jako ``/''. Jdro musi wiedzie, gdzie szuka gwnego systemu plikw, jeli
  nie znajdzie tam obrazu ktry mona zaadowa, zawiesza si.

  W niektrych sytuacjach -- czsto w czasie startowania z dyskietki --
  gwny system plikw zostaje zaadowany do rraammddyysskkuu, czyli do pamici RAM
  ktra jest traktowana przez system tak, jakby bya dyskiem.  Istniej dwa
  powody dla ktrych system aduje si do ramdysku. Po pierwsze, RAM jest o
  wiele szybszy ni dyskietka, tak wic operacje systemowe s wykonywane
  szybko. Po drugie, jdro moe zaadowa sskkoommpprreessoowwaannyy ssyysstteemm pplliikkww z
  dyskietki i rozpakowa go do ramdysku, dzieki czemu na dyskietce mona
  zmieci o wiele wicej plikw.

  Gdy gwny system plikw zostanie zaadowany i zamontowany, ujrzysz tak
  informacj:


        VFS: Mounted root (ext2 filesystem) readonly.




  Nastpnie system odnajduje w gwnym systemie plikw program init (w
  katalogu /bin lub /sbin) i wykonuje go. init odczytuje swj plik
  konfiguracyjny /etc/inittab, szuka lini oznaczonej sysinit i wykonuje
  podany tam skrypt. Skrypt sysinit to najczciej plik /etc/rc,
  /etc/init.d/boot lub podobny. Ten skrypt to seria komend powoki, ktre
  inicjalizuj podstawowe usugi systemu, oraz wykonuj czynnoci takie jak:


  +o  Uruchamianie fsck na wszystkich dyskach,

  +o  adowanie potrzebnych moduw jdra,

  +o  Startowanie pamici swap,

  +o  Inicjalizacja sieci,

  +o  Montowanie dyskw wymienionych w fstab.

  Ten skrypt czsto wywouje inne skrypty odpowiadajce za inicjalizacj
  poszczeglnych moduw. Na przykad, w typowej procedurze inicjalizacyjnej
  systemw zgodnych z SysV, katalog /etc/rc.d/ zawiera zoon struktur
  podkatalogw, ktrych pliki odpowiedzialne s za zaczanie i wyczanie
  poszczeglnych usug systemu. Jednak na dyskietce startowej skrypty
  sysinit s na og bardzo proste.

  Gdy skrypt sysinit zakoczy prac, kontrola powraca do programu init,
  ktry nastpnie wchodzi na _d_o_m_y_l_n_y _p_o_z_i_o_m _p_r_a_c_y, podany w pliku inittab
  przy sowie kluczowym initdefault. Linie poziomw pracy na og
  wyszczeglniaj program taki jak getty, ktry jest odpowiedzialny za
  obsug komunikacji przez konsol i terminale. To wasnie program getty
  wypisuje znan wszystkim lini zachty ``login:''.  Wywouje on nastpnie
  program login, ktry przeprowadza weryfikacje i ustanawia sesj
  uytkownika.


  33..22..  TTyyppyy ddyysskkww..


  Po zapoznaniu si z podstawami procesu startowania systemu, moemy
  zdefiniowa rne typy dyskietek. Dzielimy je na cztery rodzaje.



     ssttaarrttoowwaa
        Dyskietka zawierajca jdro ktre moe zosta uruchomione.  Dyskietka
        moe zosta uyta do wystartowania jdra, ktre nastpnie moe zaadowa
        gwny system plikw z innego dysku. Jdro na dyskietce startowej
        zwykle musi wiedzie, gdzie znale swj gwny system plikw.

        Czsto dyskietka startowa aduje gwny system plikw z innej
        dyskietki, ale jest take mliwe adowanie gwnego systemu plikw z
        twardego dysku.  Najczciej robi si to po to, aby przetestowa
        nowe jdro (w rzeczywistoci podczas kompilacji nowego jdra
        polecenie ``make zdisk'' utworzy tak dyskietk startow).


     ggwwnnaa
        Dyskietka z systemem plikw zawierajcym pliki wymagane do
        uruchomienia systemu Linux. Taka dyskietka nie musi zawiera jdra
        czy programu adujcego.

        Gdy jdro zostao ju wystartowane, gwna dyskietka moe zosta uyta,
        aby uruchomi system niezalenie od innego dysku. Zazwyczaj gwna
        dyskietka jest automatycznie kopiowana do ramdysku. Znacznie
        przyspiesza to dostp do danych, oraz zwalnia miejsce w stacji na
        dyskietk narzdziow.


     ssttaarrttoowwaa//ggwwnnaa
        Dyskietka zawierajca zarwno jdro, sowy zawiera ona wszystko, co
        potrzebne do wystartowania i uruchomienia Linuxa bez twardego
        dysku. Zalet takich dyskietek jest ich zwizo -- wszystko
        znajduje si na jednej dyskietce. Jednak rozmiary wszystkich
        elementw cigle si powikszaj, wic coraz trudniej zmieci wszystko
        na jednej dyskietce, nawet przy uyciu kompresji.


     nnaarrzzddzziioowwaa
        Dyskietka ta zawiera system plikw, ale nie jest on jednak
        montowany jako gwny system plikw. Jest to dodatkowa dyskietka z
        danymi.  Uywa si jej aby dostarczy dodatkowe programy narzdziowe
        niemieszczce si na gwnej dyskietce.


  Gdy mwimy o ``tworzeniu dyskietki startowej'', mamy na myli tworzenie
  zarwno czci startowej (jdra) jak i gwnej (plikw). Mog one znajdowa si
  razem lub osobno. Najbardziej elastycznym rozwizaniem w przypadku
  dyskietek ratunkowych jest uycie osobnej dyskietki startowej i gwnej,
  oraz jednej lub wicej dyskietki narzdziowej.




  44..  BBuuddoowwaanniiee ggwwnneeggoo ssyysstteemmuu pplliikkww..


  Tworzenie gwnego systemu plikw wymaga wyselekcjonowania plikw
  niezbdnych dla dziaania systemu. W tym rozdziale opiszemy, jak zbudowa
  _s_k_o_m_p_r_e_s_o_w_a_n_y _g_w_n_y _s_y_s_t_e_m _p_l_i_k_w. Rzadziej spotykanym rozwizaniem jest
  stworzenie nieskompresowanego systemu plikw na dyskietce, ktra bdzie
  moga zosta bezporednio zamontowana jako gwna. Taka alternatywa jest
  opisana w rozdziale ``Systemy plikw bez ramdysku''.


  44..11..  WWiiaaddoommooccii ooggllnnee..


  Gwny system plikw musi zawiera to wszystko, co potrzebne jest do
  prawidowego dziaania penego systemu Linux. Aby tego dokona, dyskietka
  musi spenia minimalne wymagania dla systemu Linux, to znaczy musi
  posiada:


  +o  Podstawow struktur systemu plikw,

  +o  Minimalny zestaw katalogw: /dev, /proc, /bin, /etc, /lib, /usr,
     /tmp,

  +o  Podstawowy zestaw programw uytkowych: sh, ls, cp, mv, itd.,

  +o  Minimalny zestaw plikw konfiguracyjnych: rc, inittab, fstab, itd.,

  +o  Urzdzenia: /dev/hd*, /dev/tty*, /dev/fd0, etc.,

  +o  Biblioteki zapewnieniajce podstawowych funkcji uywanych przez
     programy uytkowe.

  Oczywicie system staje si uyteczny tylko wtedy, gdy mona co na nim
  uruchomi. Dyskietka gwna w zasadzie staje si uyteczna tylko wtedy, gdy
  mona wykona ponisze czynnoci:


  +o  Sprawdzi system plikw na innym dysku. Na przykad aby sprawdzi gwny
     system plikw na dysku twardym musisz uruchomi system z innego
     dysku, takiego jak dyskietka startowa. Nastpnie musisz uruchomi
     program fsck sprawdzajcy dysk twardy gdy nie jest on zamontowany.

  +o  Odzyska cao lub cz twardego dysku z kopii zapasowej, uywajc
     programw kompresujcych i archiwizujcych takich jak cpio, tar, gzip
     i ftape.

  Opiszemy jak stworzy _s_k_o_m_p_r_e_s_o_w_a_n_y system plikw, nazwany tak dlatego,
  e jest on spakowany na dyskietce a podczas startu systemu zostaje
  zdekompresowany do ramdysku.  skompresowanym systemie plikw mona
  zmieci sporo plikw (okoo sze megabajtw) na standardowej dyskietce
  1.44MB. System plikw jest wikszy ni dyskietka, wic nie mona go tworzy
  na dyskietce. Musimy stworzy go gdzie indziej, skompresowa a nastpnie
  skopiowa na dyskietk.


  44..22..  TTwwoorrzzeenniiee ssyysstteemmuu pplliikkww..


  Aby stworzy gwny system plikw potrzebne jest wolne urzdzenie, na ktrym
  musz zmieci si pliki przed kompresj. Potrzebujesz urzdzenia o
  rozmiarze co okoo czterech megabajtw. Istnieje kilka moliwoci:



  +o  Uyj rraammddyysskkuu (URZDZENIE = /dev/ram0). W takiej sytuacji pami
     operacyjna jest wykorzystywana do zasymulowania dysku. Ramdysk musi
     by odpowiedniej wielkoci, tak, aby zmieci si na nim tworzony system
     plikw. Jeli korzystasz z LILO, to w pliku konfiguracyjnym
     (/etc/lilo.conf) powinna znajdowa si linia:


           RAMDISK_SIZE = nnn


  ktra ustala ilo przydzielanej pamici RAM. Wartoci domyln jest 4096K,
  co powinno wystarczy do naszych celw. Prawdopodobnie nie powiniene
  tworzy takiego ramdysku na komputerze z mniej ni 8MB RAM.

  Upewnij si czy istnieje urzdzenie /dev/ram0, /dev/ram czy
  /dev/ramdisk. Jeli nie, to utwrz /dev/ram0 za pomoc polecenia mknod
  (liczba gwna 1, poboczna 0).

  +o  Dobrym rozwizaniem jest wystarczajco dua partycja na dysku twardym.

  +o  Uyj uuddzzeenniiaa zzwwrroottnneeggoo, ktre umoliwia traktowanie pliku na dysku
     jako urzdzenia. Korzystajc z urzdzenia zwrotnego moesz stworzy na
     dysku twardym plik majcy trzy megabajty i zbudowa w nim system
     plikw.

     Wpisz man losetup aby uzyska informacje na temat korzystania z
     urzdze zwrotnych. Jeli nie posiadasz losetup, moesz go znale razem
     z kompatybilnymi wersjami mount i umount w pakiecie util-linux pod
     adresem  <ftp://ftp.win.tue.nl/pub/linux/utils/util-linux/>.


     Jeli nie posiadasz urzdzenia zwrotnego (/dev/loop0, /dev/loop1,
     itd.) w systemie, to musisz je stworzy za pomoc polecenia ``mknod
     /dev/loop0 b 7 0''. Po zainstalowaniu nowych wersji mount i umount
     stwrz na dysku plik tymczasowy o odpowiednim rozmiarze (np.
     /tmp/fsfile). Moesz uy komendy


             dd if=/dev/zero of=/tmp/fsfile bs=1k count=<it/nnn/


  aby stworzy plik o dugoci _n_n_n blokw.

  W poniszych przykadach uyj nazwy pliku zamiast sowa URZDZENIE. Gdy
  montujesz taki plik, musisz doda opcj ``-o loop'' aby poinformowa
  system, e jest to urzdzenie zwrotne.  Na przykad polecenie

        mount -o loop -t ext2 /tmp/fsfile /mnt



  zamontuje plik /tmp/fsfile (poprzez urzdzenie zwrotne) w katalogu
  /mnt. Polecenie df potwierdzi to.


  Gdy ju wybrae jedn z tych moliwoci, przygotuj URZDZENIE za pomoc
  polecenia:

        dd if=/dev/zero of=URZDZENIE bs=1k count=3000



  Ta komenda wyzerowuje urzdzenie. Ten krok jest bardzo wany, poniewa
  system plikw zostanie pniej skompresowany, wic niewykorzystany obszar
  powinien zosta wypeniony zerami, aby otrzyma jak najlepsz kompresj.

  Nastpnie stwrz system plikw. Jdro Linuxa rozpoznaje i kopiuje z
  dyskietki gwnej do ramdysku dwa rodzaje systemw plikw. S to minix i
  ext2, jednak preferowany jest ten drugi. Jeli zdecydujesz si na ext2,
  to przydatna moe okaza si opcja -i, dziki ktrej moesz stworzy wicej i-
  wzw ni jest to przyjte domylnie. Zalecane jest uycie opcji -i 2000,
  aby nie zabrako ci i-wzw. Ewentualnie moesz zaoszczdzi sporo i-wzw
  poprzez usunicie wielu niepotrzebnych plikw z katalogu /dev. Na
  dyskietce 1.44MB polecenie mke2fs domylnie utworzy 360 i-wzw. Na mojej
  dyskietce ratunkowej wystarcza w zupenoci 120 i-wzw, jednak gdy
  doczysz wszystkie urzdzenia z katalogu /dev z pewnoci przekroczysz
  360. Uycie skompresowanego systemu plikw daje do dyspozycji wicej
  miejsca, czyli jednoczenie wiksz ilo domylnych i-wzw, ale cigle moe
  okaza si konieczna redukcja liczby plikw czy zwikszenie liczby i-wzw.

  Tak wic polecenie ktre uyjesz powinno wyglda mniej wicej tak:

        mke2fs -m 0 -i 2000 URZDZENIE



  (Jeli korzystasz z urzdzenia zwrotnego, to w miejsce URZDZENIA
  powiniene poda nazw pliku. W tej sytuacji program mke2fs zapyta czy
  naprawd chcesz to zrobi, odpowiedz tak).

  Program mke2fs automatycznie wykryje ilo wolnego miejsca i odpowiednio
  si skonfiguruje. Opcja -m 0 zapobiega rezerwowaniu miejsca dla
  uytkownika root, powikszajc w ten sposb dostpny obszar na dysku.

  Nastpnie zamontuj urzdzenie:


        mount -t ext2 URZDZENIE /mnt



  (Musisz stworzy katalog /mnt jeli jeszcze nie intnieje.) W pozostaych
  dziaach wszystkie nazwy katalogw bd podawane wzgdem katalogu /mnt.


  44..33..  ZZaappeenniiaanniiee ssyysstteemmuu pplliikkww..


  Poniej znajduje si minimalny zestaw katalogw dla twojego gwnego
  systemu plikw:


  +o  /dev -- Urzdzenia, wymagane do operacji wejcia/wyjcia

  +o  /proc -- Katalog wymagana przez system plikw proc

  +o  /etc -- Pliki konfiguracyjne systemu

  +o  /sbin -- Programy krytyczne dla dziaania systemu

  +o  /bin  -- Podstawowe programy uwaane za cz systemu

  +o  /lib -- Biblioteki dzielone

  +o  /mnt -- Miejsce montowania innych systemw plikw

  +o  /usr -- Dodatkowe narzdzia i aplikacje

  (Pokazana tutaj struktura katalogw odnosi si jedynie do gwnych
  dyskietek. Prawdziwe systemy Linux uywaj bardziej zoonych i
  rygorystycznych zasad ustalania gdzie plik powinien si znajdowa,
  zwanych Filesystem Hierarchy Standard).
  Trzy katalogi w gwnym systemie plikw pozostan puste, wic wystarczy je
  utworzy komend mkdir. Katalog /proc to po prostu miejsce, w ktrym
  umieszczony zostanie system plikw proc. Katalogi /mnt i /usr s tylko
  miejscami montowania innych systemw plikw gdy dyskietka startowa/gwna
  ju dziaa. Take te katalogi wystarczy jedynie utworzy.

  Pozostae cztery katalogi s opisane w nastpnych dziaach.



  44..33..11..  //ddeevv



  Katalog /dev zawiera specjalne pliki dla kadego wykorzystywanego przez
  system urzdzenia, katalog ten jest obowizkowy. Jest to zwyky katalog,
  wic moe zosta stworzony poleceniem mkdir. Jednak poszczeglne pliki
  urzdze musz zosta utworzone w nietypowy sposb, za pomoc komendy mknod.

  Istnieje jednak droga na skrty, moesz skopiowa zawarto istniejcego ju
  katalogu /dev i skasowa niepotrzebne pliki. Podczas kopiowania musisz
  uy opcji -R, dziki temu nie bdzie kopiowana zawarto plikw. _U_p_e_w_n_i_j _s_i_,
  _e _u_y_e _R _p_i_s_a_n_e_g_o _w_i_e_l_k _l_i_t_e_r. Jeli uyjesz maej litery -r,
  prawdopodobnie bdziesz kopiowa zawarto wszystkich swoich twardych
  dyskw, a raczej tyle, ile si z nich zmieci na dyskietce. Tak wic uwaaj
  i uyj komedy:


        cp -dpR /dev /mnt



  przyjmujc e system plikw jest zamontowany w /mnt. Opcja dp spowoduje,
  e poczenia symboliczne zostan skopiowane jako poczenia, a nie
  odpowiadajce im pliki, oraz zostan zachowane oryginalne atrybuty
  plikw, wczajc w to prawa wasnoci.

  Jeli jednak masz ochot troch si pomczy, uyj komendy ls -l aby wywietli
  gwne i pomniejsze numery potrzebnych urzdze, a nastpnie utwrz je w
  katalogu docelowym uywajc polecenia mknod.

  Gdy pliki zostan skopiowane, warto sprawdzi czy posiadasz wszystkie
  potrzebne urzdzenia. Na przykad ftape korzysta z napdw tamowych, wic
  musisz skopiowa to urzdzenie jeli chcesz mie dostp do napdu tamowego z
  dyskietki startowej.

  Pamitaj, e kady plik urzdzenia wymaga jednego i-wza, wic i-wzy s
  cennym zasobem, szeglnie w przypadku systemw dyskietkowych. Dobrym
  pomysem jest usunicie niepotrzebnych urzdze z katalogu /dev dyskietki.
  Wiele urzdze jest kompletnie nieprzydatnych w konkretnych systemach.
  Na przykad jeli nie posiadasz adnych dyskw SCSI, moesz bez adnych
  problemw usun wszystkie urzdzenia zaczynajce si na sd. Jeli nie masz
  zamiaru korzysta z portu szeregowego, moesz usunc wszystkie pliki
  zaczynajce si od cua.

  _U_p_e_w_n_i_j _s_i_, _e _p_o_s_i_a_d_a_s_z _n_a_s_t_p_u_j_c_e _u_r_z_d_z_e_n_i_a_: console, kmem, mem, null,
  ram, tty1.


  44..33..22..  //eettcc


  Ten katalog musi zawiera pliki konfiguracyjne. Zwykle pliki w tym
  katalogu dziel si na trzy grupy:


  1. Zawsze wymagane przez system, _n_p_. rc, fstab, passwd.

  2. Wymagane w niektrych sytuacjach.

  3. Pozostae mieci.

  Pliki, ktre nie s najwaniejsze, mog zosta znalezione za pomoc komendy:



             ls -ltru




  Wywietla ona list plikw posortowan wedug daty ostatniego dostpu, wic
  jeli plik nie by czytany, to znaczy e mona go pomin na gwnej
  dyskietce.

  Na mojej gwnej dyskietce mam okoo 15 plikw konfiguracyjnych. Zmniejsza
  to ilo pracy, ktr trzeba powieci na popraw trzch grup plikw:


  1. Pliki, ktre naley skonfigurowa:


     a. rc.d/* -- skrypty startu systemu i zmiany poziomu pracy

     b. fstab -- lista systemw plikw, ktre naley zamontowa

     c. inittab -- parametry dla programu init, uruchamianego przy
        starcie systemu.


  2. Pliki, ktre naley poprawi:

     a. passwd -- spis uytkownikw, katalogw domowych itd.

     b. group -- grupy uytkownikw

     c. shadow -- hasa uytkownikw, moesz nie posiada tego pliku.

     d. termcap -- the terminal capability database.


     Gdy liczy si bezpieczestwo, pliki passwd i shadow powinny zosta
     okrojone, aby uniemoliwi kopiowanie hase poza system.  plikw

     Upewnij si, e plik passwd zawiera przynajmniej uytkownika root.
     Jeli chcesz umoliwi logowanie si innym uytkownikom, to upewnij si
     czy istniej ich powoki i katalogi domowe.

     termcap, baza danych terminali, zwykle liczy kilkaset kilobajtw.
     Wersja znajdujca si na dyskietce powinna by okrojona tak, aby zaw-
     ieraa jedynie uywany terminal(e), czyli najczciej jedynie wpis
     linux-console.

  3. Pozostae pliki. Na razie dziaaj, wic mona zostawi je w spokoju.

  Teraz trzeba skonfigurowa jedynie dwa pliki, ich zawarto jest
  zaskakujco maa.

  +o  Plik rc powinien zawiera:



           #!/bin/sh
           /bin/mount -av
           /bin/hostname Kangaroo



  Upewnij si, e katalogi s poprawne. W zasadzie nie musisz uruchamia
  hostname, jednak jest to zalecane.

  +o  Plik fstab powinien zawiera conajmniej:


           /dev/ram0       /               ext2    defaults
           /dev/fd0        /               ext2    defaults
           /proc           /proc           proc    defaults



  Moesz te skopiowa pozycje z istniejcego pliku fstab, ale nie powiniene
  automatycznie montowa partycji na twardym dysku. Uyj przy nich opcji
  noauto. Pamitaj, twj dysk twardy moe by uszkodzony, gdy bdziesz
  korzysta z dyskietki startowej.

  Plik inittab powinien by zmodyfikowany tak, aby pozycja sysinit
  uruchamiaa rc, czy jaki inny skrypt startowy.  Dodatkowo, jeli nie
  chcesz pozwoli uytkownikom logowa si przez port szeregowy, dodaj znak
  komentarza przed kad lini getty zawierajc na kocu urzdzenie ttys lub
  ttyS. Pozostaw porty tty, aby mg si zalogowa z konsoli.

  Minimalny plik inittab wyglda tak:

        id:2:initdefault:
        si::sysinit:/etc/rc
        1:2345:respawn:/sbin/getty 9600 tty1
        2:23:respawn:/sbin/getty 9600 tty2



  Plik inittab okrela, co system robi w niektrych sytuacjach i na
  poszczeglnych poziomach pracy. Upewnij si, e istniej wszystkie nazwy
  plikw wymienione w inittab, init zawiesi si bez adnego komunikatu o
  bdzie, jeli nie znajdzie ktrego z wymienionych tam programw.

  Naley sprawdzi, czy komendy znajdujce si w pliku inittab odpouj si do
  programw, ktre istniej w odpowiednim katalogu. Jeli umiecisz programy
  na dyskietce korzystajc ze spisu w dodatku ``Spis plikw przykadowej
  dyskietki gwnej'' i skopiujesz plik inittab z dysku bez dokonania
  poprawek, to prawdopodobnie ponad poowa wpisw w tym pliku bdzie si
  odwoywaa do nieistniejcych programw czy nieprawidowych katalogw.


  Niektre programy nie mog zosta przeniesione gdzie indziej, poniewa
  inne programy szuaj ich w cile okrelonym miejscu. Na przykad w moim
  systemie /etc/shutdown wymaga /etc/reboot. Jeli przenios reboot do
  /bin/reboot i wykonam komend shutdown, to wystpi bd, poniewa nie moe
  on znale pliku reboot.


  Jeli chodzi o reszt, to skopiuj pozostae pliki tekstowe oraz potrzebne
  programy z katalogu /etc. Jako przykad moe suy dodatek ``Spis plikw
  przykadowej dyskietki startowej''.  Prawdopodobnie wystarczy skopiowa
  tylko te pliki, ktre tam wypisano, jednak poszczeglne systemy bardzo
  si rni, wic nie moesz by pewien, czy nazwy pliku na tej licie pokrywaj
  si z nazwami w twoim systemie.  Jedyn pewn metod jest sprawdzenie w
  pliku inittab, ktre pliki s wymagane.

  Wikszo systemw posiada katalog /etc/rc.d/ zawierajcy skrypty dla
  poszczeglnych poziomw pracy. Aby system dziaa, wymagany jest
  przynajmniej jeden skrypt rc, jednak prociej skopiowa plik inittab i
  katalog /etc/rc.d z istniejcego systemu i wyci niepotrzebne dla
  systemu dyskietkowego pozycje ze skryptw w katalogu rc.d.


  44..33..33..  //bbiinn ii //ssbbiinn


  Katalog /bin jest odpowiednim miejscem dla dodatkowych programw
  uytkowych wykonujcych podstawowe operacje, takich jak ls, mv, cat czy
  dd. W dodatku ``Spis plikw przykadowej dyskietki startowej''
  znajdziesz przykadow list plikw katalogu /bin i /sbin. Nie zawiera ona
  jednak programw potrzebnych do odtwarzania plikw z kopii zapasowych,
  takich jak cpio, tar i gzip, poniewa, aby zaoszczdzi miejsce,
  umieszczam je na osobnej dyskietce narzdziowej. Gdy gwna/startowa
  dyskietka zostaje wystartowana, zostaje ona skopiowana do ramdysku,
  pozostawiajc miejsce w napdzie do zamontowania kolejnej dyskietki ---
  dyskietki narzdziowej.  Zwykle montuj j w katalogu /usr.

  Tworzenie dyskietki narzdziowej jest opisane dalej, w dziale
  ``Budowanie dyskietki narzdziowej''. Zalecane jest skopiowanie tych
  samych wersji programw, co uyte do stworzenia kopii zapasowej, aby nie
  zdarzyo si, e nie moesz odtworzy swojej kopii, poniewa wersje s
  niekompatybilne.

  _U_p_e_w_n_i_j _s_i_, _e _s_k_o_p_i_o_w_a_e _n_a_s_t_p_u_j_c_e _p_r_o_g_r_a_m_y_: init, getty lub ich
  odpowiedniki, login, mount, jak powok potrafic uruchomi skrypty rc,
  dowizanie sh do powoki.



  44..33..44..  //lliibb


  W katalogu /lib umieszczasz potrzebne biblioteki dzielone oraz
  programy suce do ich adowania. Jeli wymagane biblioteki nie zostan
  odnalezione w katalogu /lib, to system si nie zostanie wystartowany.
  Przy odrobinie szczcia moesz ujrze komunikat mwicy o bdzie.

  Prawie kady program wymaga co najmniej biblioteki libc, libc.so._N,
  gdzie _N to numer wersji. Sprawdz w swoim katalogu /lib. Plik libc.so.N
  jest na og symbolicznym dowizaniem do aktualnej wersji:



        % ls -l /lib/libc*
        -rwxr-xr-x   1 root     root      4016683 Apr 16 18:48 libc-2.1.1.so*
        lrwxrwxrwx   1 root     root           13 Apr 10 12:25 libc.so.6 ->




  W tym przypadku potrzebny jest plik libc-2.1.1.so. Aby dowiedzie si,
  jakie jeszcze biblioteki s potrzebne, powiniene sprawdzi wszystkie
  pliki wykonywalne ktre chcesz umieci na dyskietce i sprawdzi ich
  zalenoci komend ldd. Na przykad:


        % ldd /sbin/mke2fs
                libext2fs.so.2 => /lib/libext2fs.so.2
                libcom_err.so.2 => /lib/libcom_err.so.2
                libuuid.so.1 => /lib/libuuid.so.1
                libc.so.5 => /lib/libc.so.5

  Wymagany jest kady plik po prawej stronie. Pamitaj, e wymienione
  biblioteki mog by tylko symbolicznymi dowizaniami.

  Zauwa, e niektre biblioteki s cakiem spore i mog nie zmieci si w gwnym
  systemie plikw. Na przykad biblioteka libc.so wspomniana wyej liczy
  okoo 4MB. Prawdopodobnie bdziesz musia okroi biblioteki przed
  kopiowaniem. Zajrzyj do dziau ``Redukowanie gwnego systemu plikw'' po
  wicej informacji.


  Dodatkowo w katalogu /lib musisz umieci program adujcy biblioteki.
  Jest to plik ld.so (dla bibliotek a.out) lub ld-linux.so (dla
  bibliotek ELF). Jeli nie jeste pewien ktrego z nich potrzebujesz,
  wykonaj komend file z nazw biblioteki jako parametr. Na przykad:


          % file/lib/libc.so.4.7.2 /lib/libc.so.5.4.33 /lib/libc-2.1.1.so
          /lib/libc.so.4.7.2: Linux/i386 demand-paged executable (QMAGIC), stripped
          /lib/libc.so.5.4.33: ELF 32-bit LSB shared object, Intel 80386, version 1, stripped
          /lib/libc-2.1.1.so: ELF 32-bit LSB shared object, Intel 80386, version 1, not stripped



  QMAGIC oznacza, e wersja 4.7.2 jest bibliotek a.out, a ELF oznacza, e
  wersja 5.4.33 i 2.1.1 jest bibliotek ELF.

  Skopiuj odpowiedni program adujcy biblioteki do tworzonego gwnego
  systemu plikw. Powiniene _d_o_k_a_d_n_i_e sprawdzi, czy posiadasz wszystkie
  konieczne biblioteki i odpowiedni program adujcy. Jeli jdro nie
  potrafi zaadowa potrzebnej biblioteki, na og zawiesza si bez adnego
  komunikatu.


  44..44..  PPrroovviiddiinngg ffoorr PPAAMM aanndd NNSSSS..


  System moe wymaga dynamicznie adowanych bibliotek niewidocznych dla
  ldd.


  44..44..11..  PPAAMM ((PPlluuggggaabbllee AAuutthheennttiiccaattiioonn MMoodduulleess))..


  Jeli twj system korzysta z PAM (Pluggable Authentication Modules), to
  musisz si na to przygotowa, poniewa w przeciwnym wypadku nie bdziesz
  mg si zalogowa. Oglnie mwic PAM to skomplikowany modularny sposb
  uwierzytelniania uytkownikw i kontroli ich dostpu do usug.  Jeli w
  katalogu /etc znajduje si katalog pam.conf lub pam.d, musisz doczy
  pewne minimalne wsparcie dla PAM. (Moesz take uruchomi ldd na pliku
  login, jeli w wyjciu znajdzie si tekst libpam.so, potrzebujesz PAM).

  Na szczcie kwestie bezpieczestwa nie s zazwyczaj istotne przy
  tworzeniu dyskietki startowej, jako e kady posiadajcy fizyczny dostp
  do komputera moe z nim zrobi wszystko. Tak wic moesz po prostu wyczy
  PAM tworzc w gwnym systemie plikw prosty plik /etc/pam.conf, taki jak
  ten:


  ______________________________________________________________________
  OTHER   auth       optional     /lib/security/pam_permit.so
  OTHER   account    optional     /lib/security/pam_permit.so
  OTHER   password   optional     /lib/security/pam_permit.so
  OTHER   session    optional     /lib/security/pam_permit.so
  ______________________________________________________________________


  Skopiuj take plik /lib/security/pam_permit.so do gwnego systemu plikw.
  Ta biblioteka liczy jedynie 8KB.

  Zauwa, e taka konfiguracja daje kademu peny dostp do plikw i usug w
  systemie. Jeli z jaki wzgldw bezpieczestwo dyskietki startowej jest
  dla ciebie wane, musisz skopiowa niektre lub wszystkie pliki
  konfiguracyjne PAM z twardego dysku. Przeczytaj uwanie dokumentacj PAM
  i skopuj wszystkie potrzebne biblioteki z /lib/security do gwnego
  systemu plikw.

  Musisz take skopiowa na dyskietk plik /lib/libpam.so, ale o tym ju
  wiesz, poniewa uruchomie ldd na /bin/login, ktry pokaza zaleno.


  44..44..22..  NNSSSS ((NNaammee SSeerrvviiccee SSwwiittcchh))..


  Jeli korzystasz z glibc (aka libc6), bdziesz musia przygotowa si na
  usugi nazw, w przeciwnym wypadku nie bdziesz mg si zalogowa. Plik
  /etc/nsswitch.conf kontroluje dostp do bazy danych dla poszczeglnych
  usug. Jeli nie planujesz korzysta z usug przez sie (np.  DNS i NIS),
  musisz przygotowa jedynie prosty plik nsswitch.conf, taki jak ten:


  ______________________________________________________________________
       passwd:     files
       shadow:     files
       group:      files
       hosts:      files
       services:   files
       networks:   files
       protocols:  files
       rpc:        files
       ethers:     files
       netmasks:   files
       bootparams: files
       automount:  files
       aliases:    files
       netgroup:   files
       publickey:  files
  ______________________________________________________________________



  Okrela to, e kada usuga bdzie udostpniana jedynie poprzez lokalne
  pliki. Bdziesz musia take doczy plik /lib/libnss_files.so.1, ktry
  bdzie dynamicznie adowany aby obsuy dania.

  Jeli chcesz mie dostp do sieci z dyskietki startowej, moesz utworzy
  bardziej rozbudowany plik nsswitch.conf. Aby dowiedzie si wicej,
  zajrzyj na stron man nsswitch. Pamitaj e musisz doczy plik
  /lib/libnss__u_s_u_g_a.so.1 dla kadej _u_s_u_g_i.


  44..55..  MMoodduuyy..



  Jeli posiadasz jdro obsugujce moduy, to musisz zastanowi si, ktre
  moduy mog by potrzebne po wystartowaniu systemu. Prawdopodobnie
  potrzebujesz moduw ftape i zftape jeli posiadasz napd tamowy, moduw do
  urzdze SCSI jeli takie posiadasz i ewentualnie moduw do obsugi PPP i
  SLIP jeli chcesz mie dostp do sieci.

  Te moduy powinny zosta umieszczone w katalogu /lib/modules.  Powiniene
  take doczy programy insmod, rmmod i lsmod.  Jeli chcesz automatycznie
  adowa moduy, to moesz doczy modprobe, depmod i swapout. Jeli
  korzystasz z kerneld, to docz go razem z plikiem /etc/conf.modules.

  Jednak najwiksz zalet korzystania z moduw jest moliwo przeniesienia
  niektrych z nich na dystkietk narzdziow, oszczdzajc w ten sposb
  miejsce na gwnej dyskietce. Gdy potrzebna jest obsuga wielu rnych
  urzdze, takie podejcie jest lepsze ni budowa jednego wielkiego jdra z
  wieloma wbudowanymi sterownikami.

  _P_a_m_i_t_a_j_, _a_b_y _w_y_s_t_a_r_t_o_w_a _s_k_o_m_p_r_e_s_o_w_a_n_y _s_y_s_t_e_m _p_l_i_k_w _e_x_t_2_, _m_u_s_i_s_z
  _p_o_s_i_a_d_a _w_b_u_d_o_w_a_n _w _j_d_r_o _o_b_s_u_g _e_x_t_2 _i _r_a_m_d_y_s_k_u. Nie mog znajdowa si one
  w postaci moduw.


  44..66..  KKooccoowwee ddeettaallee..


  Pewne programy systemowe, takie jak login, do poprawnego dziaania
  wymagaj pliku /var/run/utmp i katalogu /var/log.  Tak wic:


        mkdir -p /mnt/var/{log,run}
        touch /mnt/var/run/utmp



  Na koniec, gdy skopiowae ju wszystkie wymagane biblioteki, uruchom
  program ldconfig aby odwiey plik /etc/ld.so.cache w gwnym systemie
  plikw. Plik ten informuje program adujcy gdzie znale biblioteki. Aby
  odwiey ld.so.cache wykonaj nastpujce komendy:


        chdir /mnt; chroot /mnt /sbin/ldconfig



  Polecenie chroot jest konieczne, poniewa ldconfig zawsze odwiea plik
  cache dla gwnego katalogu.


  44..77..  KKooppiioowwaanniiee nnaa ddyysskkiieettkk..


  Gdy ju skoczye tworzenie gwnego systemu plikw, odmontuj go, skopiuj do
  pliku i skompresuj:


        umount /mnt
        dd if=URZDZENIE bs=1k | gzip -v9 > rootfs.gz



  Zostanie utworzony plik rootfs.gz ktry jest skompresowanym gwnym
  systemem plikw. Powiniene sprawdzi, czy zmieci si na dyskietce, jeli
  nie, to bdziesz musia cofn si i usun jakie pliki. Dzia ``Redukowanie
  gwnego systemu plikw'' zawiera kilka porad na ten temat.


  55..  WWyybbiieerraanniiee jjddrraa..


  W tej chwili posiadasz skompresowany gwny system plikw. Nastpny krok
  to zbudowanie lub wybranie jdra. W wiekszoci przypadkw moliwe jest
  skopiowanie aktualnego jdra i wystartowanie z niego dyskietki. Jednak
  w niektrych przypadkach bdziesz chcia stworzy swoje wasne jdro.

  Pierwszym powodem jest jego rozmiar. Jeli tworzysz pojedycz dyskietk
  startow/gwna, to jdro bdzie jednym z najwikszych plikw na dyskietce,
  wic bdziesz musia jak najbardziej zredukowa jego rozmiar.  Aby
  zmniejszy rozmiar jdra, skompiluj je z minimaln liczb opcji konieczn
  do dziaania systemu. Powiniene wyczy wszystko, co nie jest potrzebne.
  Mona spokojnie wyrzuci obsug sieci, jak rwnie obsug wszystkich napdw i
  innych urzdze ktrych nie potrzebujesz w czasie korzystania z
  dyskietki. Pamitaj, e twoje jdro _m_u_s_i posiada wbudowan obsug ramdysku
  oraz systemu plikw ext2.

  Po wybraniu minimalnej konfiguracji jdra, powiniene zastanowi si co
  jeszcze moe by ci potrzebne. Naczciej korzysta si z dyskietki
  startowej aby sprawdzi i odzyska uszkodzone dane w systemie plikw, a
  do tego moesz potrzebowa wbudowanej obsugi w jdrze. Na przykad jeli
  swoje kopie zapasowe przechowujesz na tamie uywajc Ftape, to jeli
  utracisz swj system plikw i napdy zawierajce Ftape, nie bdziesz mg
  odtworzy danych z tam zapasowych. Bdziesz musia przeinstalowa Linuxa,
  cign i przeinstalowa ftape i dopiero wtedy odczytywa kopie zapasowe.

  Generalnie chodzi o to, aby instalowa w jdze obsug wszystkich
  potrzebnych urzdze wejcia/wyjcia.


  Procedura kompilowania jdra jest opisana w dokumentacji doczonej do
  jdra. Jest ona bardzo atwa, najpierw zajrzyj do katalogu
  /usr/src/linux. Jeli masz probemy ze skompilowaniem jdra, to raczej
  nie powiniene bra si do tworzenia dyskietki startowej. Pamitaj, aby
  skompresowa jdro poleceniem ``make zImage''.


  66..  SSkkaaddnniiee tteeggoo wwsszzyyssttkkiieeggoo:: ttwwoorrzzeenniiee ddyysskkiieetteekk..


  W tym momencie powiniene posiada jdro oraz skompresowany gwny system
  plikw. Jeli tworzysz dyskietk startow/gwn, sprawd, czy oba pliki
  zmieszcz si na dyskietce. Jeli tworzysz osobno dystkietk startow i
  gwn, sprawd, czy gwny system plikw zmieci si na jednej dyskietce.

  Powiniene zdecydowa, czy uywa LILO do wystartowania jdra.
  Alternatywnym rozwizaniem jest skopiowanie jdra bezporednio na
  dyskietk i wystartowanie bez LILO. Zalet korzystania z LILO jest to, e
  umoliwia on przekazanie pewnych parametrw do jdra ktre mog by
  konieczne do inicjalizacji sprztu. Sprawd plik /etc/lilo.conf. Jeli
  istnieje on i zawiera lini ``append=...'', prawdopodobnie musisz
  przekaza jakie parametry. Wad korzystania z LILO jest to, e tworzenie
  dyskietki jest bardziej skomplikowane, i zajmuje troch wicej miejsca.
  Musisz utworzy odrbny system plikw, ktry nazwiemy ssyysstteemmeemm pplliikkww jjddrraa,
  do ktrego skopiujesz jdro i kilka innych plikw wymaganych przez LILO.


  Jeli zamierzasz korzysta z LILO, czytaj dalej. Jeli chcesz skopiowa
  jdro bezporednio na dyskietk, przejd do dziau ``Przenoszenie jdra bez
  LILO''.


  66..11..  PPrrzzeennoosszzeenniiee jjddrraa zz LLIILLOO..


  Pierwsz rzecz, ktra musisz zrobi, jest stworzenie maego pliku
  konfiguracyjnego dla LILO. Powinien on wyglda mniej wicej tak:






  ______________________________________________________________________
        boot      =/dev/fd0
        install   =/boot/boot.b
        map       =/boot/map
        read-write
        backup    =/dev/null
        compact
        image     = KERNEL
        label     = Bootdisk
        root      =/dev/fd0
  ______________________________________________________________________



  Znaczenia tych parametrw szukaj w dokumentacji LILO. Prawdopodobnie
  bdziesz chcia rwnie doda do pliku lini append=... tak sam, jak w pliku
  /etc/lilo.conf na dysku twardym.

  Zapisz ten plik jako bdlilo.conf.

  Nastpnie musisz stworzy may system plikw, ktry nazwiemy ssyysstteemmeemm pplliikkww
  jjddrraa, aby odrni go od gwnego systemu plikw.

  Najpierw sprawd, jak duy powinien by ten system plikw. We rozmiar
  twojego jdra w blokach (rozmiar pokazywany przez komend ``ls -l
  KERNEL'' podzielony przez 1024 i zaokrglony w gr) i dodaj 50.  Okoo
  pidziesit blokw to obszar potrzebny na i-wzy oraz pozostae pliki. Jeli
  chcesz, moesz dokadnie obliczy ten obszar, lub po prostu uy liczby 50.
  Jeli tworzysz osobno dyskietk startow i gwn, to moesz spokojnie
  przeznaczy nawet wicej miejsca, jako e pierwsza dyskietka jest w caoci
  przeznaczona na jdro. Nazwijmy t liczb BLOKI_JDRA.

  W dyskietk do stacji dyskw (przyjmiemy e jest ni /dev/fd0) i utwrz na
  niej system plikw ext2:


        mke2fs -i 8192 -m 0 /dev/fd0 BLOKI_JDRA




  Opcja ``-i 8192'' oznacza, e chcemy jeden inode co 8192 bajty.
  Nastpnie zamontuj system plikw, usu katalog lost+found oraz utwrz
  katalogi dev i boot dla LILO:


        mount /dev/fd0 /mnt
        rm -rf /mnt/lost+found
        mkdir /mnt/{boot,dev}



  Nastpnie utwrz urzdzenia /dev/null i /dev/fd0.  Zamiast szukania ich
  numerw, moesz po prostu skopiowa je z twardego dysku uywajc opcji -R:


        cp -R /dev/{null,fd0} /mnt/dev



  LILO wymaga kopii swojego programu startujcego, boot.b, ktry moesz
  przegra z twardego dysku. Zwykle znajduje si on w katalogu /boot:


        cp /boot/boot.b /mnt/boot

  Na koniec skopiuj plik konfiguracyjny LILO ktry utworzye poprzednio
  oraz swoje jdro. Oba pliki mog zosta umieszczone w gwnym katalogu:


        cp bdlilo.conf KERNEL /mnt



  W tej chwili w systemie plikw jdra znajduje si wszystko co potrzebne
  dla LILO, wic jeste teraz gotowy do uruchomienia go. Opcja -r oznacza
  instalowanie programu startujcego w katalogu innym ni gwny:


        lilo -v -C bdlilo.conf -r /mnt



  LILO powinien zakoczy dziaanie bez adnych bdw, nastpnie system plikw
  powinien wyglda podobnie jak poniej:


  ______________________________________________________________________
  total 361
    1 -rw-r--r--   1 root     root          176 Jan 10 07:22 bdlilo.conf
    1 drwxr-xr-x   2 root     root         1024 Jan 10 07:23 boot/
    1 drwxr-xr-x   2 root     root         1024 Jan 10 07:22 dev/
  358 -rw-r--r--   1 root     root       362707 Jan 10 07:23 vmlinuz
  boot:
  total 8
    4 -rw-r--r--   1 root     root         3708 Jan 10 07:22 boot.b
    4 -rw-------   1 root     root         3584 Jan 10 07:23 map
  dev:
  total 0
    0 brw-r-----   1 root     root       2,   0 Jan 10 07:22 fd0
    0 crw-r--r--   1 root     root       1,   3 Jan 10 07:22 null
  ______________________________________________________________________




  Nie przejmuj si, jeli rozmiary plikw s nieco inne.

  Nastpnie pozostaw dysk w napdzie i przenie si do dziau ``Konfiguracja
  sowa ramdysku''.


  66..22..  PPrrzzeennoosszzeenniiee jjddrraa bbeezz LLIILLOO..


  Jeli _n_i_e korzystasz z LILO, to skopiuj jdro na dyskietk startow uywajc
  komendy dd:


        % dd if=KERNEL of=/dev/fd0 bs=1k
        353+1 records in
        353+1 records out



  W tym przykadzie dd zapisa 353 kompletne rekordy oraz 1 niekompletny,
  tak wic jdro zajmuje teraz pierwsze 353 bloki na dyskietce. Nazwij t
  liczb  BLOKI_JDRA i zapamitaj j, poniewa bdzie ona potrzebna w
  nastpnym dziale.

  Na koniec ustaw dyskietk jako gwne urzdzenie i skonfigguruj je tak,
  aby byo dostpne do zapisu i odczytu:
        rdev /dev/fd0 /dev/fd0
        rdev -R /dev/fd0 0




  Pamitaj, aby uy opcji -R pisanej wielk liter w drugiej komendzie rdev.


  66..33..  KKoonnffiigguurraaccjjaa ssoowwaa rraammddyysskkuu..


  Wewntrz obrazu jdra znajduje si ssoowwoo rraammddyysskkuu, ktre mwi, gdzie
  znajduje si gwny system plikw, oraz zawiera pewne inne opcje.  Sowo to
  mona zmienia za pomoc polecenia rdev, a interpretowane jest w
  nastpujcy sposb:


        bity  0-10:     Przemieszczenie ramdysku, w blokach 1024-bajtowych
        bity 11-13:     nieuywane
        bit     14:     Flaga oznaczajca, e ramdysk na zosta zaadowany
        bit     15:     Flaga oznaczajca, aby pyta przez adowaniem
                        gwnego systemu plikw



  Jeli bit 15 jest ustawiony, to podczas startu zostaniesz poproszony o
  woenie do napdu nowej dyskietki. Jest to konieczne w przypadku
  korzystania z dwch dyskietek.

  Istniej dwa przypadki, w zalenoci od tego, czy budujesz pojedyncz
  dyskietk startow/gwn, czy dwie osobne dyskietki, startow i gwn.


  1. Jeli budujesz system na jednej dyskietce, to skompresowany gwny
     system plikw zostanie umieszczony zaraz za jdrem, wic
     przemieszczenie ramdysku bdzie nastpnym wolnym blokiem za jdrem
     (czyli powinno wymosi tyle samo, ile BLOKI_JDRA). Bit 14 zostanie
     ustawiony na 1, a bit 15 bdzie wynosi zero.

  2. Jeli budujesz zestaw dwch dyskietek, to gwny system plikw
     rozpocznie si w bloku zero drugiej dyskietki, wic przemieszczenie
     bdzie wynosi zero. Bity 14 oraz 15 bd ustawione na 1.


  Po skrupulatnych obliczniach wartoci sowa ramdysku, ustaw j poleceniem
  rdev -r. Upewnij si, e podae warto _d_z_i_e_s_i_t_n. Jeli korzystasz z LILO,
  to argumentem dla rdev powinna by _c_i_e_k_a _d_o _j_d_r_a, np. /mnt/vmlinuz.
  Jeli kopiowae jdro za pomoc polecenia dd, to uyj zamiast tego nazw
  urzdzenia stacji dyskw (_n_p_.  /dev/fd0).


        rdev -r JDRO_LUB_STACJA_DYSKW WARTO



  Jeli korzystasz z LILO, odmontuj teraz dyskietk.


  66..44..  PPrrzzeennoosszzeenniiee ggwwnneeggoo ssyysstteemmuu pplliikkww..


  Ostatnim krokiem jest przeniesienie gwnego systemu plikw.



  +o  Jeli gwny system plikw ma zosta umieszczony na _t_e_j _s_a_m_e_j dyskietce
     co jdro, to przenie go uywajc komendy dd z opcj seek, ktra okrela
     ile blokw naley przeskoczy:


           dd if=rootfs.gz of=/dev/fd0 bs=1k seek=BLOKI_JDRA



  +o  Jeli system plikw ma zosta umieszczony na _d_r_u_g_i_e_j dyskietce, to
     wyjmij ze stacji pierwsz, w drug a nastpnie przenie na na ni gwny
     system plikw:


           dd if=rootfs.gz of=/dev/fd0 bs=1k



  Moje gratulacje, dyskietki s ju gotowe! _Z_a_w_s_z_e _p_o_w_n_i_n_i_e_n_e _p_r_z_e_t_e_s_t_o_w_a
  _s_w_o_j_e _d_y_s_k_i_e_t_k_i _s_t_a_r_t_o_w_e _z_a_n_i_m _o_d_o_y_s_z _j_e _n_a _b_o_k _d_o _c_z_a_s_u _a_w_a_r_i_i_!  Jeli
  co si nie uda, czytaj dalej.


  77..  RRoozzwwiizzyywwaanniiee pprroobblleemmww..



  Po stworzeniu dyskietek kilka pierwszych prb wystartowania systemu
  czsto koczy si niepowodzeniem. Najlepszym podejciem podczas budowania
  gwnego systemu plikw jest czenie elementw istniejcego systemu tak, aby
  system dyskietkowy przynajmiej wywietla komunikaty na konsoli. Gdy
  zacznie on komunikowa si z tob, jeste ju w poowie drogi do sukcesu,
  poniewa moesz zobaczy, co sprawia problemy i naprawi je pojedynczo a
  system bdzie dziaa poprawnie. Jeli system po prostu wiesza si bez
  adnego komunikatu, to odnalezienie przyczyny staje si trudne.
  Stworzenie systemu, ktry zostanie poprawnie wystartowany do momentu, w
  ktrym bdzie mg komunikowa si z uytkownikiem, wymaga zainstalowania i
  skonfigurowania kilku komponentw. Zalecan metoda badania problemu gdy
  system nie chce si komunikowa z uytkownikiem jest nastpujca:


  +o  Moesz ujrze komunikat taki jak ten:


     Kernel panic: VFS: Unable to mount root fs on XX:YY



  Jest to powszechny problem i ma jedynie kilka przyczyn. Po pierwsze,
  sprawdz nazw urzdzenia _X_X_:_Y_Y z list. Czy to poprawne urzdzenie gwne?
  Jeli nie, prawdopodobnie nie uruchomie rdev -R, lub zrobie to na zym
  obrazie. Jeli kod urzdzenia jest poprawny, sprawd uwanie sterowniki
  wczone do jdra. Upewnij si e stacja dyskw, ramdysk i system plikw ext2
  zostay wbudowane.

  +o  Sprawd, czy gwna dyskietka faktycznie zawiera odpowiednie katalogi.
     Moe si zdarzy, e skopiujesz nieodpowiedni katalog, w rezultacie
     otrzymujc na gwnej dyskietce przykadowo katalog /rootdisk/bin
     zamiast /bin.

  +o  Sprawd, czy plik /lib/libc.so jest dowizaniem do tego samego pliku,
     co /lib/libc.so na twardym dysku.

  +o  Sprawd, czy symboliczne dowizania z katalogu /dev na dysku twardym
     istniej take dla odpowiednich urzdze na gwnej dyskietce.  W wielu
     sytuacjach szczeglnie istotne jest /dev/console.
  +o  Sprawd, czy doczye pliki /dev/tty1, /dev/null, /dev/zero, /dev/mem,
     /dev/ram i /dev/kmem.

  +o  Sprawd konfiguracj jdra, obsuga wszystkich zasobw wymaganych do
     zalogowania si musi by wbudowana w jdro, a nie w postaci moduw. Tak
     wic _o_b_s_u_g_a _r_a_m_d_y_s_k_u _i _s_y_s_t_e_m_u _p_l_i_k_w _e_x_t_2 _m_u_s_i _b_y _w_b_u_d_o_w_a_n_a.

  +o  Sprawd, czy w jdrze gwne urzdzenie oraz parametry ramdysku s
     ustawione poprawnie.

  Gdy przeanalizujesz ju wszystkie powysze przypadki, moesz sprawdzi
  nastpujce pliki:


  1. Upewnij si, e istnieje plik /sbin/init lub /bin/init. Upewnij si, e
     ma on uprawnienia do wykonywania.

  2. Uruchom ldd init aby sprawdzi biblioteki wymagane przez init. Na og
     jest to jedynie libc.so, ale zawsze warto sprawdzi.  Upewnij si, e
     istniej wymagane biblioteki i program adujcy.

  3. Upewnij si, e posiadasz odpowiedni program adujcy biblioteki --
     ld.so dla bibliotek a.out lub ld-linux.so dla bibliotek ELF.

  4. Sprawd odwoania do getty (lub podobnego programu, jak agetty,
     mgetty czy getty_ps) w pliku inittab.  Porwnaj je z plikiem inittab
     na dysku twardym. Przejrzyj strony man uywanych programw. Wanie w
     pliku inittab moe wystpi najwicej problemw, poniewa jego skadnia
     zaley od konkretnego systemu i wersji programu init. Jedynym
     rozwizaniem jest przeczytanie stron man o init oraz inittab,
     przeledzenie, co dokadnie system robi po wystartowaniu. Sprawd, czy
     w pliku /etc/inittab znajduje si pozycja inicjalizacji systemu.
     Zawiera ona ciek do skryptu inicjalizacji systemu, ktry musi
     istnie.

  5. Tak samo jak w przypadku init, uruchom ldd podajc jako parametr twj
     program getty i sprawd, czy istniej wszystkie potrzebne biblioteki
     oraz program adujcy.

  6. Upewnij si, e doczye powok (np. bash czy ash), ktra potrafi wykona
     wszystkie skrypty rc.

  7. Jeli na dyskietce istnieje plik /etc/ld.so.cache, to odwie go.



  Jeli init startuje, ale otrzymujesz komunikat:

        Id xxx respawning too fast: disabled for 5 minutes



  pochodzi on z programu init i oznacza, e getty lub login kocz prac
  zaraz po uruchomieniu.  Sprawdz pliki getty i login i wszystkie
  potrzebne im biblioteki.  Upewnij si, e ich wywoania w pliku
  /etc/inittab s prawidowe. Jeli otrzymujesz dziwne komunikaty od getty,
  moe to oznacza, e jego wywoanie z /etc/inittab jest nieprawidowe.
  Opcje dla programw _g_e_t_t_y s zrnicowane, nawet poszczeglne wersje agetty
  posiadaj niekompatybilne ze sob opcje przy wywoaniu.

  Jeli podajesz poprawn nazw uytkownika, ale system pyta natychmiast o
  inn nazw, to problemem moe by PAM bd NSS. Zajrzyj do dziau ``PAM i
  NSS''. Problem moe by take spowodowany tym, e korzystasz z hase
  shadow, ale nie skopiowae pliku /etc/shadow na dyskietk.


  Jeli prbujesz uruchomi jaki program, przykadowo df, ktry znajduje si
  na dyskietce, ale otrzymujesz komunikat: df: not found, to sprawd dwie
  rzeczy. Po pierwsze, upewnij si, e katalog w ktrym znajduje si program
  jest w zmiennej PATH. Po drugie, sprawd, czy istniej wszystkie
  potrzebne biblioteki oraz program adujcy.


  88..  RRnnee tteemmaattyy..



  88..11..  RReedduukkccjjaa ggwwnneeggoo ssyysstteemmuu pplliikkww..


  Czasem gwny system plikw jest zbyt duy, aby zmieci si na dyskietce,
  nawet po kompresji. Poniej podano kilka sposobw zmniejszenia rozmiaru
  systemu plikw, uporzdkowanych wedug efetywnoci:



     ZZwwiikksszz ggssttoo ddyysskkiieettkkii
        Standardowo dyskietki s formatowane na 1440K, ale dostpne s
        formaty o wikszej gstoci. Program fdformat umoliwia formatowanie
        dyskietki na nastpujce wielkoci: 1600, 1680, 1711, 1743, 1760,
        1840 i 1920. Wikszo napdw 1440K obsuguje dyskietki 1722K, wic
        dla dyskietek startowych zawsze uywam tego formatu. Zobacz stron
        man fdformat oraz /usr/src/linux/Documentation/devices.txt.


     WWyymmiiee ppoowwookk
        Najbardziej populare powoki dla Linuxa, takie jak bash i tcsh,
        zajmuj bardzo duo miejsca i wymagaj wielu bibliotek. Istniej
        jednak alternatywne powoki, takie jak ash, lsh, kiss czy smash,
        ktre s o wiele mniejsze i wymagaj mniej (lub adnych) bibliotek.
        Wikszo tych zastpczych powok jest dostpna pod adresem
        <http://metalab.unc.edu/pub/Linux/system/shells/>. Upewnij si, e
        powoka z ktrej korzystasz potrafi wykona wszystkie polecenia w
        plikach rc na dyskietce.


     OObbeettnniijj bbiibblliiootteekkii ii pprrooggrraammyy
        Biblioteki i programy s czsto nieobcite (zawieraj symbole dla
        debuggera).  Taki plik po uruchomieniu na nim file bdzie
        oznaczony jako `not stripped'. Podczas kopiowania programw do
        gwnego systemu plikw dobrym pomysem jest korzystanie z
        polecenia:


              objcopy --strip-all RDO CEL



     Gdy kopiujesz biblioteki, uyj:


           objcopy --strip-debug RD CEL




     PPrrzzeenniiee mmnniieejj wwaannee pplliikkii nnaa ddyysskkiieettkk nnaarrzzddzziiooww
        Jeli jakie programy nie s wymagane do wystartowania systemu i
        zalogowania si, to moesz przenie je na dyskietk narzdziow.
        Szczegw szkukaj w dziale ``Tworzenie dyskietki narzdziowej''.
        Moesz take zastanowi si nad przeniesieniem moduw na dyskietk
        narzdziow.
  88..22..  SSyysstteemmyy pplliikkww bbeezz rraammddyysskkuu..



  Dzia ``Budowanie gwnego systemu plikw'' zawiera informacje na temat
  tworzenia skompresowanego gwnego systemu plikw, ktry po uruchomieniu
  systemu jest adowany do ramdysku. Ta metoda posiada wiele zalet, wic
  jest czsto uywana. Jednak niektre systemy posiadaj za mao pamici RAM,
  w takich sytuacjach gwny system plikw moe zosta zamontowany
  bezporednio, a nie kopiowany do ramdysku.

  W sumie atwiej stworzy taki wanie system plikw ni skompresowany,
  poniewa moe on zosta zbudowany bezporednio na dyskietce, a nie na
  jakim innym urzdzeniu i nie musi on by kompresowany. Opiszemy tutaj
  oglnie rnice w tworzeniu takiego wanie systemu plikw. Jeli zdecydujesz
  si z niego korzysta, pamitaj, e bdziesz mia do dyspozycji _o _w_i_e_l_e
  _m_n_i_e_j miejsca.


  1. Oblicz, ile wolnego miejsca pozostanie na gwny system plikw.

     Jeli tworzysz pojedyncz dyskietk startow/gwn, to musisz zmieci na
     niej wszystkie bloki jdra oraz wszystkie bloki gwnego systemu
     plikw.

  2. Korzystajc z programu mke2fs utwrz na dyskietce gwny system plikw o
     odpowiedniej wielkoci.

  3. Zapenij system plikw tak, jak to opisano w osobnym dziale.

  4. Gdy ju skoczysz, odmontuj system plikw i przenie go do pliku na
     dysku, ale _n_i_e _k_o_m_p_r_e_s_u_j _g_o.

  5. Przenie jdro na dyskietk, tak jak to opisano w osobnym dziale.
     Podczas obliczania sowa ramdysku wwyyzzeerruujj bbiitt 1144, aby zaznaczy, e
     gwny system plikw nie ma by adowany do ramdysku. Uruchom rdev z
     odpowiednimi parametrami.

  6. Przenie gwny system plikw tak, jak poprzednio.

  Istnieje kilka drg na skrty. Jeli budujesz dwu-dyskietkowy zestaw, to
  moesz stworzy kompletny system plikw bezporednio na drugiej dyskietce,
  bez potrzeby przenoszenia go na twardy dysk i z powrotem. Jeli
  budujesz pojedyncz dyskietk startow/gwn i korzystasz z LILO, to moesz
  zbudowa _j_e_d_e_n system plikw na caej dyskietce, zawierajcy jdro, pliki
  LILO oraz pliki gwne, a nastpnie uruchomi LILO jako ostatni krok.


  88..33..  TTwwoorrzzeenniiee ddyysskkiieettkkii nnaarrzzddzziioowweejj..



  Tworzenie dyskietki narzdziowej jest stosunkowo proste, wystarczy
  stworzy system plikw na sformatowanej dyskietce i skopiowa do niego
  pliki. Aby korzysta z niej podczas uywania dyskietki startowej,
  wystarczy zamontowa j rcznie po uruchomieniu systemu.

  We wczeniejszych rozdziaach wspomnielimy, e dyskietka narzdziowa
  powinna zosta zamontowana w katalogu /usr. W tej systuacji programy
  powinny by umieszczone w katalogu /bin dyskietki narzdziowej, aby po
  zamontowaniu byy dostpne pod ciek /usr/bin. Dodatkowe biblioteki
  wymagane przez programy powinny zosta umieszczone w katalogu /lib na
  dyskietce.

  Istnieje kilka istotnych aspektw, o ktrych naley pamita podczas
  projektowania dyskietki narzdziowej:
  1. Nie umieszczaj na dyskietce narzdziowej plikw krytycznych dla
     dziaania systemu, poniewa bdzie j mona zamontowa dopiero po
     wystartowaniu systemu.

  2. Nie moesz w tym samym czasie korzysta z napdu tamowego i napdu
     dyskietek. Oznacza to, e jeli posiadasz napd tamowy, to nie bdziesz
     mia do niego dostpu gdy dyskietka narzdziowa jest zamontowana.

  3. Dostp do plikw na dyskietce narzdziowej bdzie bardzo powolny.

  W Dodatku ``Spis plikw przykadowej dyskietki startowej'' moesz zobaczy
  przykadowe pliki na dyskietce narzdziowej.  Oto kilka pomysow na
  programy, ktre mog okaza si przydatne: programy do badania i
  manipulacji dyskami (format, fdisk) i systemami plikw (mke2fs, fsck,
  debugfs, isofs.o), may edytor tekstw (elvis, jove), narzdzia do
  kompresji i archiwizacji (gzip, tar, cpio, afio), narzdzia do obsugi
  tam (mt, tob, taper), narzdzia komunikacyjne (ppp.o, slip.o, minicom)
  i narzdzia do obsugiu urzdze (setserial, mknod).


  99..  JJaakk rroobbii ttoo pprrooffeessjjoonnaalliiccii..


  Pewnie zauwaye, e dyskietki startowe uywane przez najwiksze
  dystrybucje, takie jak Slackware, RedHat czy Debian, wydaj si o wiele
  bardziej skomplikowane, ni te opisane w tym dokumencie. Profesjonalne
  dyskietki startowe s bazowane na tych samych zaoeniach, ktre tu
  podalimy, ale wykorzystuj rne triki, poniewa takie dyskietki maj o
  wiele wiksze wymagania. Po pierwsze, musz wsppracowa z szerok gam
  sprztu, tak wic musz one umie komunikowa si z uytkownikiem i adowa
  odpowiednie sterowniki urzdze. Po drugie, musz by przygotowane do
  dziaania z wieloma rnymi opcjami instalacji, dodatkowo wykonujc pewne
  dziaania automatycznie. Po trzecie dystrybucyjne dyskietki startowe na
  og spniaj zarwno rol instalacyjn, jak i ratunkow.


  Niektre dyskietki startowe korzystaj z usugi zwanej iinniittrrdd (iinniittiiaall
  rraammddiisskk). Zostaa ona wprowadzona w jdrze wersji 2.0.x i daje o wiele
  wiksz elastyczno, startujc jdro w dwch fazach. Na pocztku adowany jest
  pocztkowy obraz ramdysku z dyskietki startowej. Pocztkowy ramdysk to
  gwny system plikw zawierajcy programy, ktre zostan uruchomione zanim
  zostanie zaadowany prawdziwy gwny system plikw. Ten program najczciej
  bada otoczenie i/lub prosi uytkownika o wybranie rnych opcji
  startowych, takich jak urzdzenie, z ktrego zostanie zaadowany
  prawdziwy gwny system plikw.  Czsto aduje on te dodatkowe moduy nie
  wbudowane do jdra. Gdy dziaanie tego programu zakoczy si, jdro aduje
  prawdziwy gwny obraz i uruchamianie jest kontynuowanie normalnie.
  Wicej informacji o initrd szukaj w
  /usr/src/linux/Documentation/initrd.txt i
  <ftp://elserv.ffm.fgan.de/pub/linux/loadlin-1.6/initrd-example.tgz>.

  Poniej znajduje si podsumowanie tego, jak dziaaj dyskietki startowe
  poszczeglnych dystrybucji, oparte na przegldaniu ich systemu systemu
  plikw i/lub kodu rdowego. Nie gwarantujemy, e ta informacja jest
  dokadna, ani e nic si nie zmienio od czasu opisanej wersji.

  Slackware (v.2.1) po prostu startuje system przy uyciu LILO, tak jak
  to opisano w dziale ``Przenoszenie jdra z LILO''.  Dyskietki startowe
  Slackware przy starcie wypisuj komunikat (``Welcome to the Slackware
  Linux bootkernel disk!'') uywajc do tego parametru LILO message.
  Informuje to uytkownika, e moe poda dodatkowe parametry startowe, jeli
  to konieczne. Po wystartowaniu, gwny system plikw jest adowany z
  drugiej dyskietki. Uytkownik uruchamia skrypt setup ktry rozpoczyna
  instalacj. Zamiast korzysta z jdra opartego na moduach, Slackware daje
  uytkownikowi do dyspozycji wiele rnych jder, do wyboru zalenie od
  konfiguracji sprztowej.
  RedHat (v.4.0) take korzysta z LILO. aduje skompresowany ramdysk z
  pierwszej dyskietki, ktry uruchamia specjalnie napisany program init.
  Program ten pyta o sterowniki i, jeli to konieczne, aduje pliki z
  dodatkowej dyskietki.

  Debian (v.1.3) jest prawdopodobnie najbardziej skomplikowanym zestawem
  dyskietek startowych. Korzysta on z programu adujcego SYSLINUX, ktry
  ustala osopowiednie parametry, a nastpnie uywa obrazu initrd aby
  poprowadzi uytkownika przez procedur instalacji. Wyglda na to, e
  korzysta on zarwno z przerobionego programu init, jak i z przerobionej
  powoki.


  1100..  NNaajjcczzcciieejj zzaaddaawwaannee ppyyttaanniiaa ((FFAAQQ))..


  QQ.. PPrrbbuujjee wwyyssttaarrttoowwaa ssyysstteemm zz ddyysskkiieettkkii,, aallee nniicc ssii nniiee ddzziieejjee..  CCoo
  mmaamm zzrroobbii??


  Zajrzyj do dziau ``Rozwizywanie problemw'' powyej.

  QQ.. JJaakk ddzziiaaaajj ddyysskkiieettkkii ssttaarrttoowwee ddyyssttrryybbuuccjjii SSllaacckkwwaarree//DDeebbiiaann//RReeddHHaatt??


  Zajrzyj do dziau ``Jak to robi profesjonalici'' powyej.

  QQ.. WW jjaakkii ssppoossbb ssttwwoorrzzyy ddyysskkiieettkk ssttaarrttooww zzee sstteerroowwnniikkiieemm XXYYZZ??


  Najatwiej zdoby jdro z dystrybucji Slackware. Jdra Slackware zawieraj
  sterowniki do jak najwikszej iloci urzdze, wic jeli posiadasz
  kontroler IDE lub SCSI, istniej due szanse, e sterownik do urzdzenia
  jest doczony do jednego z jder Slackware.

  Przejdz do katalogu a1 i wybierz jdro odpowiednie dla posiadanego typu
  kontrolera. Sprawdz w pliku xxxxkern.cfg dla odpowiedniego jdra czy
  zawiera ono odpowiednie sterowniki. Jeli urzdzenie jest na tej licie,
  to jdro to powinno wystartowa twj system. cignij plik xxxxkern.tgz i
  skopiuj go na dyskietk, tak jak opisano powyej, w dziale na temat
  tworzenia dyskietek startowych.

  Nastpnie musisz sprawdzi gwne urzdzenie tego jdra, korzystajc z
  komendy rdev:


        rdev zImage



  Komenda rdev wywietli aktualne gwne urzdzenie dla tego jdra.  Jeli nie
  odpowiada ono twojemu gwnemu urzdzeniu, uyj rdev aby je zmieni. Na
  przykad jdro korzysta z /dev/sda2, ale moja gwna partycja SCSI
  znajduje si na urzdzeniu /dev/sda8.  Aby zmieni gwne urzdzenie na
  dyskietk, musisz uy komendy:


        rdev zImage /dev/fd0



  Informacje na temat tworzenia gwnych dyskietek Slackware wykraczaj
  poza zakres tego dokumentu, wic sugeruje zajrze do Linux Install Guide
  lub zdoby dystrybucj Slackware. Zobacz take dzia ``Odnoniki'' w tym
  HOWTO.

  QQ.. JJaakk uuaakkttuuaallnnii jjddrroo nnaa mmoojjeejj ddyysskkiieettccee??


  Jeli dyskietka startowa nie zawiera systemu plikw, po prostu skopiuj
  jdro za pomoc komendy dd. W przypadku dyskietki startowej/gwnej uyj
  komendy cp. Zajrzyj do dziau ``Startowanie'' aby dowiedzie si szczegw
  na temat tworzenia dyskietki startowej. Ten opis odnosi si take do
  uaktualniania jdra.

  QQ.. JJaakk ddooddaa nnoowwee pplliikkii ddoo mmoojjeejj ggwwnneejj ddyysskkiieettkkii??


  Najprostszym sposobem jest skopiowanie systeku plikw z dyskietki z
  powrotem do uytego URZDZENIA (z dziau ``Tworzenie systemu plikw''
  powyej). Nastpnie zamontuj system plikw i dokonaj zmian.  Musisz
  wiedzie, w ktrym bloku zaczyna si system plikw i ile blokw zajmowa:


        dd if=/dev/fd0 bs=1k skip=POCZTEK count=BLOKI | gunzip > URZDZENIE
        mount -t ext2 URZDZENIE /mnt



  Po dokonaniu zmian, postpuj tak jak poprzednio (w dziale ``Tworzenie
  dyskietki'') i przenie gwny system plikw z powrotem na dyskietk. Nie
  musisz przenosi ponownie jdra czy ponownie przelicza sowa ramdysku
  jeli nie zmienie pozycji nowego systemu plikw.

  QQ.. JJaakk mmoogg uussuunn LLIILLOO aabbyy ppoonnoowwnniiee kkoorrzzyyssttaa zzee ssttaarrttoowwaanniiaa DDOOSS??


  Tak na prawd ten temat nie dotyczy dyskietek startowych, ale ludzie
  czsto o to pytaj. Z poziomu Linuxa moesz uy komendy:



             /sbin/lilo -u




  Moesz take wykorzysta dd aby przenie kopi zapasow stworzon przez LILO
  z powrotem do bootsektora. Zajrzyj do dokumentacji LILO, jeli chcesz
  si dowiedzie jak to zrobi.

  Z poziomu systemu DOS lub Windows moesz skorzysta z polecenia DOS'a:



             FDISK /MBR




  MBR oznacza Master Boot Record i zastpuje bootsektor nowym DOS'owym,
  nie zmieniajc przy tym tablicy partycji. Niektrzy puryci nie zgadzaj
  si z tym, ale nawet autor LILO, Werner Almesberger, sugeruje to
  rozwizanie.  Jest ono proste, no i dziaa.

  QQ.. JJaakk mmoogg wwyyssttaarrttoowwaa ssyysstteemm jjeellii zzgguubbiieemm jjddrroo _o_r_a_z mmoojj ddyysskkiieettkk
  ssttaarrttooww??


  Jeli nie masz dyskietki startowej, to najprostszym sposobem bdzie
  zdobycie odpowiedniego jdra Slackware jak to opisano powyej w
  odpowiedzi na pytanie ``Jak mog stworzy dyskietk startow ze
  sterownikiem XXX?''. Nastpnie moesz wystartowa komputer uywajc tego
  jdra i naprawi wszystkie problemy.

  Jdro to moe nie mie ustawionego odpowiedniego gwnego urzdzenia.  Na
  przykad typowe jdro SCSI Slackware za gwne urzdzenie uznaje /dev/sda2,
  a moja gwna partycja Linuxowa to /dev/sda8. W tej sytuacji gwne
  urzdzenie w jdrze musi zosta zmienione.

  Gwne urzdzenie oraz warto sowa ramdysku moesz zmieni nawet wtedy, gdy
  posiadasz jedynie jdro i jaki inny system operacyjny, na przykad DOS.

  Polecenie rdev zmienia ustawienia poprzez zmian wartoci konkretnych
  bajtw w pliku jdra, wic moesz zrobi to samo, jeli tylko posiadasz
  edytor heksadecymalny pracujcy pod innym dziaajcym systemem --
  przykadowo Norton Disk Editor z pakietu Norton Utilities pod DOS.
  Nastpnie musisz sprawdzi i, jeli to konieczne, zmieni wartoci pod
  nastpujcymi przesuniciami:



       HEX     DEC  OPIS
       0x01F8  504  Modszy bajt sowa ramdysku
       0x01F9  505  Starszy bajt sowa ramdysku
       0x01FC  508  Poboczny numer urzdzenia - patrz niej
       0X01FD  509  Gwny numer urzdzenia - patrz niej




  Znaczenie sowa ramdysku zostao opisane w dziale ``Ustawianie sowa
  ramdysku'' powyej.

  Poboczny i gowny numer musi odpowiada urzdzeniu, na ktrym znajduje si
  gwny system plikw. Niektre najczciej uywane wartoci to:



       DEVICE          GWNY POBOCZNY
       /dev/fd0            2     0   Pierwsza stacja dyskw
       /dev/hda1           3     1   Pierwsza partycja na pierwszym dysku IDE
       /dev/sda1           8     1   Pierwsza partycja na pierwszym dysku SCSI
       /dev/sda8           8     8   sma partycja na pierwszym dysku SCSI




  Gdy ju ustawisz odpowiednie wartoci, moesz zapisa plik na dyskietce
  korzystajc z Norton Utilities Disk Editor, albo programu rawrite.exe,
  ktry znajduje si we wszystkich dystrybucjach. Jest to program DOS'owy
  ktry zapisuje dane w czystej postaci zaczynajc od boot sektora
  dyskietki, zamiast zapisywa do systemu plikw. Jeli uywasz Norton
  Utilities, musisz zapisa plik do fizycznej dyskietki zaczynajc od jej
  pocztku.

  QQ.. WW jjaakkii ssppoossbb mmoogg ssttwwoorrzzyy ddooddaattkkoowwee kkooppiiee ddyysskkiieetteekk??


  Jako e noniki magnetyczne z czasem trac swe waciwoci, powiniene
  posiada kilka kopii swoich dyskietek ratunkowych, w razie gdyby
  oryginay ulegy uszkodzeniu.

  Najprostsz metod tworzenia kopii kadej dyskietki, wczajc w to
  dyskietki startowe czy narzdziowe, jest uycie komendy dd aby skopiowa
  zawarto oryginalnej dyskietki do pliku na dysku twardym, a nastpnie uy
  tej samej komendy aby skopiowa plik z powrotem na dyskietk.  Zauwa, e
  nie powiniene montowa dyskietek, poniewa dd korzysta bezporednio z
  urzdzenia.

  Aby skopiowa orygina, uyj polecenia:



             dd if=URZDZENIE of=PLIK
             gdzie   URZDZENIE jest nazw urzdzenia stacji dyskietek
             a       PLIK jest nazw docelowego pliku na twardym dysku




  Pominicie parametru count powoduje skopowanie caej dyskietki (2880
  blokw jeli jest to dyskietka HD).

  Aby skopiowa plik spowrotem na dyskietk, w dyskietk do stacji i uyj
  komendy:



             dd if=PLIK of=URZDZENIE




  Zauwa, e powyszy opis zakada, e posiadasz tylko jedn stacj dyskw.
  Jeli posiadasz dwa napdy tego samego typu, moesz skopiowa dyskietki
  uywajc komendy:



             dd if=/dev/fd0 of=/dev/fd1




  QQ.. JJaakk wwyyssttaarrttoowwaa ssyysstteemm bbeezz wwppiissyywwaanniiaa zzaa kkaaddyymm rraazzeemm
  ""aahhaaxxxxxxxx,,nnnn,,nnnn,,nnnn""??


  Jeli dysk nie moe zosta automatycznie wykryty, koniecznie jest
  dostarczenie parametrw do jdra, takich jak:



             aha152x=0x340,11,3,1




  Ten parametr moe zosta dostarczony na kilka sposobw, korzystajc z
  LILO:


  +o  Poprzez wpisywanie go za kadym razem w linii polece LILO, jednak
     jest to mczce.

  +o  Uywajc sowa kluczowego LILO ``lock'' aby linia polece zostaa
     zachowana jako domylna, uywana przy kadym starcie systemu.

  +o  Uywajc opcji append= w pliku konfiguracyjnym LILO. Pamitaj, e
     parametr musi zosta ujty w cudzysowy.

  Przykadaowa linia polece dla podanego powyej parametru moe wyglda
  nastpujco:
             zImage  aha152x=0x340,11,3,1 root=/dev/sda1 lock




  Przekae ona opcje urzdzenia do jdra, ustawi w jdrze gwne urzdzenie na
  /dev/sda1 i zapisze linie polece do uycia przy kadym nastpnym starcie
  systemu.

  Przykadowa opcja append wyglda nastpujco


             append = "aha152x=0x340,11,3,1"




  Pamitaj, e parametr w linii polece _n_i_e moe by ujty w cudzyowy, ale
  _m_u_s_i by ujty w cudzysowy jeli wystpuje w opcji append.

  Pamitaj take, e w jdrze musi znajdowa si sterownik dla podanego typu
  urzdzenia. Jeli tak nie jest, bdziesz musia przekompilowa jdro aby
  zawierao odpowiednie sterowniki. Szczegy na temat rekompilacji jdra
  znajdziesz w pliku README w katalogu /usr/src/linux oraz w Linux FAQ i
  Installation HOWTO. Ewentualnie moesz zdoby odpowiednie jdro dla tego
  urzdzenia i zainstalowa je.

  Przed ekperymentami z LILO zalecane jest zapoznanie si z jego
  dokumentacj.  Nieprawidowe uycie opcji BOOT moe uszkodzi partycj.

  QQ.. PPooddcczzaass ssttaarruu oottrrzzyymmuujjee kkoommuunniikkaatt bbdduu ""A: cannot execute B". Co to
  oznacza?


  W niektrych przypadkach cieki do plikw s na stae zapisane w niektrych
  programach. Nie zdarza si to zawsze, ale moe wyjani dlaczego program
  nie moe zosta odnaleziony w twoim systemie nawet jeli jeste pewien e
  si tam znajduje. Moesz sprawdzi, czy program ma zapisan na stae
  lokalizacj jakiego innego programu korzystajc z komendy strings i
  przepuszczajc jej wyjcie przez filtr grep.

  Niektre znane przypadki zapisanych na stae lokalizacji:

  +o  Niektre wersje shutdown maj zapisan na stae lokalizacj /etc/reboot,
     tak wic reboot musi zosta umieszczony w katalogu /etc.

  +o  Czasem jdro nie moe odnale programu init.

  Aby naprawi ten problem przenie program do odpowiedniego katalogu, lub
  zmie pliki konfiguracyjne (np. inittab) aby wskazyway na poprawny
  katalog. Jeli masz wtpliwoci, umie program w tym samym katalogu, w
  ktrym znajdowa si na dysku twardym oraz uyj tych samych plikw inittab
  i /etc/rc.d.

  QQ.. MMoojjee jjddrroo ppoossiiaaddaa oobbssuugg rraammddyysskkuu,, aallee iinniiccjjuujjee ggoo zz wwiieellkkooccii 00KK..


  W takiej sytuacji podczas startu systemu pojawi si informacja:


        Ramdisk driver initialized : 16 ramdisks of 0K size



  Dzieje si tak dlatego, e rozmiar ramdysko zosta ustawiony na 0 przez
  jdro podczas startu systemu. Najprawdopodobniej dzieje si tak przez
  parametr w pliku konfiguracyjnym LILO:



       ramdisk= 0




  Ktry w starszych dystrybucjach zosta umieszczany w przykadowym pliku
  konfiguracyjnym LILO. Jeli posiadasz tak lini, usu j.

  Skutki korzystania z ramdysku o rozmiarze 0K s nieprzewidywalne i mog
  doprowadzi do bdw jdra.


  KK..  OOddnnoonniikkii..


  Gdy cigasz pakiet, zawsze znajd jego najnowsz wersj, chyba e masz
  dobre powody aby tego nie robi.


  KK..11..  GGoottoowwee ddyysskkiieettkkii..


  Poniej znajduj si odnoniki do dyskietek startowych poszczeglnych
  dystrybucji. _Z_a_w_s_z_e _k_o_r_z_y_s_t_a_j _z _m_i_r_r_o_r_w_, _a_b_y _z_r_e_d_u_k_o_w_a _o_b_c_i_e_n_i_e
  _s_e_r_w_e_r_a_.


  +o  Dyskietki startowe Slackware
     <http://metalab.unc.edu/pub/Linux/distributions/slackware/bootdsks.144/>,
     <http://metalab.unc.edu/pub/Linux/distributions/slackware/current/rootdsks
     name=>wne"> oraz Mirrory Slackware
     <http://www.slackware.com/getslack/>

  +o  Dyskietki startowe RedHat
     <http://metalab.unc.edu/pub/Linux/distributions/redhat/current/i386/images/>
     oraz Mirrory RedHat <http://www.redhat.com/mirrors.html>

  +o  Dyskietki startowe Debian
     <ftp://ftp.debian.org/pub/debian/stable/disks-i386> oraz Mirrory
     Debian <ftp://ftp.debian.org/pub/debian/README.mirrors.html>

  Oprcz tych dyskietek dystrybucyjnych, dostpne s take ponisze dyskietki
  ratunkowe. S one dostpne w katalogu
  <http://metalab.unc.edu/pub/Linux/system/recovery/!INDEX.html>, chyba
  e podano inaczej.



  +o  tomsrtbt, autorstwa Toma Oehser, to pojedyncza dyskietka
     startowa/gwna oparta na jdrze 2.0 z dua iloci dodatkowych funkcji i
     programw. Obsuguje IDE, SCSI, napd tamowy, karty sieciowe, PCMCIA i
     inne.  Zawartych jest ponad 100 programw narzdziowych do naprawy i
     odtwarzania dyskw. Pakiet zawiera take skrypty suce do rozoenia i
     zoenia z powrotem obrazu dyskietki tak, aby mona byo zmodyfikowa
     jej zawarto.



  +o  rescue02, autorstwa Johna Comyns, to dyskietka ratunkowa oparta na
     jdrze 1.2.84, z obsug IDE, Adaptec 1542 oraz NCR53C7,8xx. Korzysta
     z plikw wykonywalnych ELF, ale ma wystarczajco duo komend, wic moe
     zosta wykorzystana pod kadym systemem. Zawiera moduy dla pozostaych
     kart SCSI, ktre mog zosta zaadowane po wystartowaniu systemu.
     Prawdopodobnie dyskietka ta nie bdzie dziaa na systemach z 4MB RAM,
     poniewa korzysta z ramdysku wielkoci 3MB.



  +o  resque_disk-2.0.22, autorstwa Sergei'a Viznyuk, to dyskietka
     startowa oparta o jdro 2.0.22 z wbudowan obsug IDE, wielu rnych
     kontrolerw SCSI oraz ELF/a.out. Dodatkowo zawiera wiele moduw i
     uytecznych narzdzi do naprawy i odtwarzania twardego dysku.



  +o  Obrazy dyskietek cramdisk oparte na jdrze 2.0.23 dziaaj ju na
     maszynach z 4 i 8MB RAM. Zawieraj emulacj koprocesora, obsug sieci
     (PPP, NE2000, 3C509) lub obsug napdu ZIP. Te dyskietki wystartuj na
     komputerze 386 z 4MB RAM. Obsuguj DOS, wic moesz cign je z sieci na
     partycj DOS.

     <http://metalabs.unc.edu/pub/Linux/system/recovery/images/>



  KK..22..  PPaakkiieettyy rraattuunnkkoowwee..


  Na metalab.unc.edu mona znale kilka pakietw do tworzenia dyskietek
  ratunkowych. Korzystajc z tych pakietw najczciej wybierasz pliki do
  zaczenia na dyskietce, a reszta dzieje si automatycznie (do pewnego
  stopnia). Aby uzyska wicej informacji przeczytaj plik
  <http://metalab.unc.edu/pub/Linux/system/recovery/!INDEX.html>.
  SSpprraawwdd ddaattyy uuttwwoorrzzeenniiaa ppoosszzcczzeeggllnnyycchh ppaakkiieettww -- niektre z nich nie byy
  uaktualniane od kilku lat i nie pozwalaj na tworzenie skompresowanego
  systemu plikw adowanego do ramdysku. Z tego co wiem jedynie Yard
  posiada obsug ramdysku.


  KK..33..  SSkkrryyppttyy ppoowwookkii GGrraahhaammaa CChhaappmmaann''aa


  Graham Chapman napisa zestaw skryptw uytecznych jako przykady jak
  tworzy dyskietki startowe. Skrypty te w poprzedniej wersji tego
  dokumentu znajdoway si w zaczniku, ale zostay z niego usunite i
  umieszczone na stronie WWW:

  <http://www.zeta.org.au/~grahamc/linux.html>

  Skrypty te mog okaza si poyteczne, ale zawsze czytaj uwanie instrukcje
  do nich doczone -- jeli przykadowo wybierzesz ze urzdzenie wymiany,
  twj gwny system plikw zostanie w caoci i nieodwracalnie usunity.
  Upewnij si e skonfigurowae wszystko poprawnie zanim uyjesz skryptw!


  KK..44..  LLIILLOO ((LLIInnuuxx LLOOaaddeerr)) ---- pprrooggrraamm aadduujjccyy LLiinnuuxxaa..


  Napisany przez Wernera Almesberger. Doskonay program adujcy,
  zawierajcy w dokumentacji informacje na temat bootsektora oraz
  pierwszych faz startowania systemu.

  Znajdziesz go pod adresem
  <ftp://tsx-11.mit.edu/pub/linux/packages/lilo/>. Jest on take dostpny
  na Metalab i jego mirrorach.



  KK..55..  LLiinnuuxx FFAAQQ ii HHOOWWTTOO..


  Dokumenty te dostpne s one z wielu rde. Przegldnij grup usenet
  news.answers oraz comp.os.linux.announce.

  FAQ jest dostpne pod adresem
  <http://metalab.unc.edu/pub/Linux/docs/faqs/linux-faq> a dokumenty
  HOWTO pod adresem  <http://metalab.unc.edu/pub/Linux/docs/HOWTO>.

  Wikszo dokumentacji do Linuxa dostpna jest na stronie The Linux
  Documentation Project homepage <http://metalab.unc.edu/LDP/>.

  Ewentualnie moesz wysa list pod adres mail-server@rtfm.mit.edu ze
  sowem ``help'' w treci wiadomoci, i robi to, co podaj otrzymane
  instrukcje.

  Od tumacza: Polskie wersje dokumentw HOWTO znajdziesz pod adresem Jak
  To Zrobi <http://www.jtz.org.pl>.


  KK..66..  KKoorrzzyyssttaanniiee zz rraammddyysskkuu..


  Doskonay opis dziaania ramdysku znajduje si w dokumentacji
  dostarczanej razem z jdrem Linuxa. Zajrzyj do pliku
  /usr/src/linux/Documentation/ramdisk.txt. Zosta on napisany przez
  Paula Gortmaker i zawiera dzia na temat tworzenia skompresowanego
  ramdysku.


  KK..77..  PPrroocceess ssttaarrttoowwaanniiaa LLiinnuuxxaa..


  Wicej szczegow na temat procesu startowania Linuxa znajdziesz w
  nastpujcych miejscach:


  +o  W The Linux System Administrators' Guide znajduje si dzia na temat
     startowania systemu. Zajrzyj pod adres
     <http://metalab.unc.edu/LDP/LDP/sag/c1582.html>

  +o  The LILO ``Technical overview''
     <http://metalab.unc.edu/pub/Linux/system/boot/lilo/lilo-t-21.ps.gz>
     zawiera szczegowy opis startowania systemu na najniszym poziomie, a
     do zaadowania jdra.

  +o  Najlepszym przewodnikiem jest kod rdowy. Poniej podano kilka plikw
     jdra powizanych z procesem startowania. Jeli posiadasz kod rdowy
     Linuxa, znajduje si on w katalogu /usr/src/linux.  Ewentualnie pod
     adresem  <http://wafu.netgate.net/linux/> znajduje si hipertekstowa
     przegldarka kodu rdowego jdra autorstwa Shigio Yamaguchi
     (shigio@wafu.netgate.net). Poniej znajduj si niektre interesujce
     pliki:



     aarrcchh//ii338866//bboooott//bboooottsseecctt..SS,,sseettuupp..SS
        Zawiera kod w assemblerze dotyczcy bootsektora.


     aarrcchh//ii338866//bboooott//ccoommpprreesssseedd//mmiisscc..cc
        Zawiera kod dekompresujcy jdro.



     aarrcchh//ii338866//kkeerrnneell//
        Katalog zawierajcy kod inicjujcy jdro. Plik setup.c zawiera sowo
        ramdysku


     ddrriivveerrss//bblloocckk//rrdd..cc
        Zawiera sterownik ramdysku. Procedury rd_load oraz rd_load_image
        aduj bloki z urzdzenia do ramdysku.

        Procedura identify_ramdisk_image ustala, jaki tym systemu plikw
        zosta znaleziony oraz czy jest on skompresowany.





  LL..  KKooddyy bbddww LLIILLOO..


  W usenecie ludzie czsto zadaj pytania na ten temat, wic umiecilimy je
  tutaj dla szerszego grona. To podsumowanie pochodzi z LILO User
  Documentation Wernera Almsberger, dostpnego pod adresem
  <ftp://metalab.unc.edu/pub/Linux/system/boot/lilo/lilo-u-21.ps.gz>.

  Gdy LILO aduje si, wywietla sowo ``LILO''. Kada litera jest wywietlana
  po lub przed wykonaniem jakiej czynnoci. Jeli w pewnym momencie wystpi
  bd, mona wykorzysta litery do zidentyfikowania problemu.



     ((nniicc))
        adna cz LILO nie zostaa zaadowana. LILO nie zosta zainstalowany,
        albo partycja w ktrej bootsektorze LILO zosta zainstalowany nie
        jest aktywna.


     LL  Rozpocza si pierwsza faza programu adujcego, ale niemoliwe jest
        przejcie do drugiej fazy. Dwucyfrowy kod bdu oznacza rodzaj bdu
        (patrz take dzia ``Disk error codes''). Zwykle dzieje si tak z
        powodu awarii nonika lub zych parametrw dysku.


     LLII Program adujcy pierwszej fazy zaadowa drug faz, ale nie udao mu
        si jej uruchomi. Moe by to spowodowane bednymi parametrami dysku
        lub przeniesieniem pliku /boot/boot.b bez wywoania instalatora.


     LLIILL
        Rozpocz si program adujcy drugiej fazy, ale nie udao mu si
        zaadaowa tablicy deskryptorw z pliku mapy. Najczciej jest to
        spowodowane awari nonika lub bdnymi parametrami dysku.


     LLIILL??
        Program adujcy drugiej fazy zosta zaadowany pod nieprawidowym
        adresem.  Zwykle jest to spowodowane bdnymi parametrami dysku
        lub przeniesieniem pliku /boot/boot.b bez uruchomienia
        instalatora.


     LLIILL--
        Tablica deskryptorw jest nieprawidowa. Moe to by spowodowane
        bdnymi parametrami dysku lub przeniesieniem pliku /boot/map bez
        uruchomienia istalatora mapy.


     LLIILLOO
        Wszystkie elementy LILO zostay prawidowo zaadowane.


  Jeli BIOS zasygnalizuje bd gdy LILO prbuje zaadowa obraz startowy,
  wywietlany jest odpowiedni kod bdu. Kody te s z zakresu od 0x00 do
  0xbb. W LILO User Guide znajduje si ich wyjanienie.


  MM..  LLiissttaa pplliikkww pprrzzyykkaaddoowweejj ggwwnneejj ddyysskkiieettkkii..



  Poniej znajduje si zawarto przykadowej dyskietki gwnej i narzdziowej.




















































  Root directory:
  drwx--x--x   2 root     root         1024 Nov  1 15:39 bin
  drwx--x--x   2 root     root         4096 Nov  1 15:39 dev
  drwx--x--x   3 root     root         1024 Nov  1 15:39 etc
  drwx--x--x   4 root     root         1024 Nov  1 15:39 lib
  drwx--x--x   5 root     root         1024 Nov  1 15:39 mnt
  drwx--x--x   2 root     root         1024 Nov  1 15:39 proc
  drwx--x--x   2 root     root         1024 Nov  1 15:39 root
  drwx--x--x   2 root     root         1024 Nov  1 15:39 sbin
  drwx--x--x   2 root     root         1024 Nov  1 15:39 tmp
  drwx--x--x   7 root     root         1024 Nov  1 15:39 usr
  drwx--x--x   5 root     root         1024 Nov  1 15:39 var

  /bin:
  -rwx--x--x   1 root     root        62660 Nov  1 15:39 ash
  -rwx--x--x   1 root     root         9032 Nov  1 15:39 cat
  -rwx--x--x   1 root     root        10276 Nov  1 15:39 chmod
  -rwx--x--x   1 root     root         9592 Nov  1 15:39 chown
  -rwx--x--x   1 root     root        23124 Nov  1 15:39 cp
  -rwx--x--x   1 root     root        23028 Nov  1 15:39 date
  -rwx--x--x   1 root     root        14052 Nov  1 15:39 dd
  -rwx--x--x   1 root     root        14144 Nov  1 15:39 df
  -rwx--x--x   1 root     root        69444 Nov  1 15:39 egrep
  -rwx--x--x   1 root     root          395 Nov  1 15:39 false
  -rwx--x--x   1 root     root        69444 Nov  1 15:39 fgrep
  -rwx--x--x   1 root     root        69444 Nov  1 15:39 grep
  -rwx--x--x   3 root     root        45436 Nov  1 15:39 gunzip
  -rwx--x--x   3 root     root        45436 Nov  1 15:39 gzip
  -rwx--x--x   1 root     root         8008 Nov  1 15:39 hostname
  -rwx--x--x   1 root     root        12736 Nov  1 15:39 ln
  -rws--x--x   1 root     root        15284 Nov  1 15:39 login
  -rwx--x--x   1 root     root        29308 Nov  1 15:39 ls
  -rwx--x--x   1 root     root         8268 Nov  1 15:39 mkdir
  -rwx--x--x   1 root     root         8920 Nov  1 15:39 mknod
  -rwx--x--x   1 root     root        24836 Nov  1 15:39 more
  -rws--x--x   1 root     root        37640 Nov  1 15:39 mount
  -rwx--x--x   1 root     root        12240 Nov  1 15:39 mt
  -rwx--x--x   1 root     root        12932 Nov  1 15:39 mv
  -r-x--x--x   1 root     root        12324 Nov  1 15:39 ps
  -rwx--x--x   1 root     root         5388 Nov  1 15:39 pwd
  -rwx--x--x   1 root     root        10092 Nov  1 15:39 rm
  lrwxrwxrwx   1 root     root            3 Nov  1 15:39 sh -> ash
  -rwx--x--x   1 root     root        25296 Nov  1 15:39 stty
  -rws--x--x   1 root     root        12648 Nov  1 15:39 su
  -rwx--x--x   1 root     root         4444 Nov  1 15:39 sync
  -rwx--x--x   1 root     root       110668 Nov  1 15:39 tar
  -rwx--x--x   1 root     root        19712 Nov  1 15:39 touch
  -rwx--x--x   1 root     root          395 Nov  1 15:39 true
  -rws--x--x   1 root     root        19084 Nov  1 15:39 umount
  -rwx--x--x   1 root     root         5368 Nov  1 15:39 uname
  -rwx--x--x   3 root     root        45436 Nov  1 15:39 zcat

  /dev:
  lrwxrwxrwx   1 root     root            6 Nov  1 15:39 cdrom -> cdu31a
  brw-rw-r--   1 root     root      15,   0 May  5  1998 cdu31a
  crw-------   1 root     root       4,   0 Nov  1 15:29 console
  crw-rw-rw-   1 root     uucp       5,  64 Sep  9 19:46 cua0
  crw-rw-rw-   1 root     uucp       5,  65 May  5  1998 cua1
  crw-rw-rw-   1 root     uucp       5,  66 May  5  1998 cua2
  crw-rw-rw-   1 root     uucp       5,  67 May  5  1998 cua3
  brw-rw----   1 root     floppy     2,   0 Aug  8 13:54 fd0
  brw-rw----   1 root     floppy     2,  36 Aug  8 13:54 fd0CompaQ
  brw-rw----   1 root     floppy     2,  84 Aug  8 13:55 fd0D1040
  brw-rw----   1 root     floppy     2,  88 Aug  8 13:55 fd0D1120
  brw-rw----   1 root     floppy     2,  12 Aug  8 13:54 fd0D360
  brw-rw----   1 root     floppy     2,  16 Aug  8 13:54 fd0D720
  brw-rw----   1 root     floppy     2, 120 Aug  8 13:55 fd0D800
  brw-rw----   1 root     floppy     2,  32 Aug  8 13:54 fd0E2880
  brw-rw----   1 root     floppy     2, 104 Aug  8 13:55 fd0E3200
  brw-rw----   1 root     floppy     2, 108 Aug  8 13:55 fd0E3520
  brw-rw----   1 root     floppy     2, 112 Aug  8 13:55 fd0E3840
  brw-rw----   1 root     floppy     2,  28 Aug  8 13:54 fd0H1440
  brw-rw----   1 root     floppy     2, 124 Aug  8 13:55 fd0H1600
  brw-rw----   1 root     floppy     2,  44 Aug  8 13:55 fd0H1680
  brw-rw----   1 root     floppy     2,  60 Aug  8 13:55 fd0H1722
  brw-rw----   1 root     floppy     2,  76 Aug  8 13:55 fd0H1743
  brw-rw----   1 root     floppy     2,  96 Aug  8 13:55 fd0H1760
  brw-rw----   1 root     floppy     2, 116 Aug  8 13:55 fd0H1840
  brw-rw----   1 root     floppy     2, 100 Aug  8 13:55 fd0H1920
  lrwxrwxrwx   1 root     root            7 Nov  1 15:39 fd0H360 -> fd0D360
  lrwxrwxrwx   1 root     root            7 Nov  1 15:39 fd0H720 -> fd0D720
  brw-rw----   1 root     floppy     2,  52 Aug  8 13:55 fd0H820
  brw-rw----   1 root     floppy     2,  68 Aug  8 13:55 fd0H830
  brw-rw----   1 root     floppy     2,   4 Aug  8 13:54 fd0d360
  brw-rw----   1 root     floppy     2,   8 Aug  8 13:54 fd0h1200
  brw-rw----   1 root     floppy     2,  40 Aug  8 13:54 fd0h1440
  brw-rw----   1 root     floppy     2,  56 Aug  8 13:55 fd0h1476
  brw-rw----   1 root     floppy     2,  72 Aug  8 13:55 fd0h1494
  brw-rw----   1 root     floppy     2,  92 Aug  8 13:55 fd0h1600
  brw-rw----   1 root     floppy     2,  20 Aug  8 13:54 fd0h360
  brw-rw----   1 root     floppy     2,  48 Aug  8 13:55 fd0h410
  brw-rw----   1 root     floppy     2,  64 Aug  8 13:55 fd0h420
  brw-rw----   1 root     floppy     2,  24 Aug  8 13:54 fd0h720
  brw-rw----   1 root     floppy     2,  80 Aug  8 13:55 fd0h880
  brw-rw----   1 root     disk       3,   0 May  5  1998 hda
  brw-rw----   1 root     disk       3,   1 May  5  1998 hda1
  brw-rw----   1 root     disk       3,   2 May  5  1998 hda2
  brw-rw----   1 root     disk       3,   3 May  5  1998 hda3
  brw-rw----   1 root     disk       3,   4 May  5  1998 hda4
  brw-rw----   1 root     disk       3,   5 May  5  1998 hda5
  brw-rw----   1 root     disk       3,   6 May  5  1998 hda6
  brw-rw----   1 root     disk       3,  64 May  5  1998 hdb
  brw-rw----   1 root     disk       3,  65 May  5  1998 hdb1
  brw-rw----   1 root     disk       3,  66 May  5  1998 hdb2
  brw-rw----   1 root     disk       3,  67 May  5  1998 hdb3
  brw-rw----   1 root     disk       3,  68 May  5  1998 hdb4
  brw-rw----   1 root     disk       3,  69 May  5  1998 hdb5
  brw-rw----   1 root     disk       3,  70 May  5  1998 hdb6
  crw-r-----   1 root     kmem       1,   2 May  5  1998 kmem
  crw-r-----   1 root     kmem       1,   1 May  5  1998 mem
  lrwxrwxrwx   1 root     root           12 Nov  1 15:39 modem -> ../dev/ttyS1
  lrwxrwxrwx   1 root     root           12 Nov  1 15:39 mouse -> ../dev/psaux
  crw-rw-rw-   1 root     root       1,   3 May  5  1998 null
  crwxrwxrwx   1 root     root      10,   1 Oct  5 20:22 psaux
  brw-r-----   1 root     disk       1,   1 May  5  1998 ram
  brw-rw----   1 root     disk       1,   0 May  5  1998 ram0
  brw-rw----   1 root     disk       1,   1 May  5  1998 ram1
  brw-rw----   1 root     disk       1,   2 May  5  1998 ram2
  brw-rw----   1 root     disk       1,   3 May  5  1998 ram3
  brw-rw----   1 root     disk       1,   4 May  5  1998 ram4
  brw-rw----   1 root     disk       1,   5 May  5  1998 ram5
  brw-rw----   1 root     disk       1,   6 May  5  1998 ram6
  brw-rw----   1 root     disk       1,   7 May  5  1998 ram7
  brw-rw----   1 root     disk       1,   8 May  5  1998 ram8
  brw-rw----   1 root     disk       1,   9 May  5  1998 ram9
  lrwxrwxrwx   1 root     root            4 Nov  1 15:39 ramdisk -> ram0
  ***  Doczyem jedynie urzdzenia IDE dla partycji ktrych uywam.
  ***  Jeli korzystasz ze SCSI, uyj zamiast nich urzdze /dev/sdXX.
  crw-------   1 root     root       4,   0 May  5  1998 tty0
  crw--w----   1 root     tty        4,   1 Nov  1 15:39 tty1
  crw-------   1 root     root       4,   2 Nov  1 15:29 tty2
  crw-------   1 root     root       4,   3 Nov  1 15:29 tty3
  crw-------   1 root     root       4,   4 Nov  1 15:29 tty4
  crw-------   1 root     root       4,   5 Nov  1 15:29 tty5
  crw-------   1 root     root       4,   6 Nov  1 15:29 tty6
  crw-------   1 root     root       4,   7 May  5  1998 tty7
  crw-------   1 root     tty        4,   8 May  5  1998 tty8
  crw-------   1 root     tty        4,   9 May  8 12:57 tty9
  crw-rw-rw-   1 root     root       4,  65 Nov  1 12:17 ttyS1
  crw-rw-rw-   1 root     root       1,   5 May  5  1998 zero

  /etc:
  -rw-------   1 root     root          164 Nov  1 15:39 conf.modules
  -rw-------   1 root     root          668 Nov  1 15:39 fstab
  -rw-------   1 root     root           71 Nov  1 15:39 gettydefs
  -rw-------   1 root     root          389 Nov  1 15:39 group
  -rw-------   1 root     root          413 Nov  1 15:39 inittab
  -rw-------   1 root     root           65 Nov  1 15:39 issue
  -rw-r--r--   1 root     root          746 Nov  1 15:39 ld.so.cache
  ***  Plik ld.so.cache jest tworzony przez ldconfig i przechowuje
  ***  lokalizacje bibliotek. Podczas startowania wystpi wiele bdw
  ***  jeli brakuje ld.so.cache. Moesz odtworzy go po stworzeniu
  ***  dyskietki, albo doda ldconfig do dyskietki i uruchamia go ze
  ***  skryptu rc.x.
  -rw-------   1 root     root           32 Nov  1 15:39 motd
  -rw-------   1 root     root          949 Nov  1 15:39 nsswitch.conf
  drwx--x--x   2 root     root         1024 Nov  1 15:39 pam.d
  -rw-------   1 root     root          139 Nov  1 15:39 passwd
  -rw-------   1 root     root          516 Nov  1 15:39 profile
  -rwx--x--x   1 root     root          387 Nov  1 15:39 rc
  -rw-------   1 root     root           55 Nov  1 15:39 shells
  -rw-------   1 root     root          774 Nov  1 15:39 termcap
  -rw-------   1 root     root           78 Nov  1 15:39 ttytype
  lrwxrwxrwx   1 root     root           15 Nov  1 15:39 utmp -> ../var/run/utmp
  lrwxrwxrwx   1 root     root           15 Nov  1 15:39 wtmp -> ../var/log/wtmp

  /etc/pam.d:
  -rw-------   1 root     root          356 Nov  1 15:39 other

  /lib:
  *** Posiadam system ELF z glibc, wic potrzebuj loadera ld-2.so
  -rwxr-xr-x   1 root     root        45415 Nov  1 15:39 ld-2.0.7.so
  lrwxrwxrwx   1 root     root           11 Nov  1 15:39 ld-linux.so.2 -> ld-2.0.7.so
  -rwxr-xr-x   1 root     root       731548 Nov  1 15:39 libc-2.0.7.so
  lrwxrwxrwx   1 root     root           13 Nov  1 15:39 libc.so.6 -> libc-2.0.7.so
  lrwxrwxrwx   1 root     root           17 Nov  1 15:39 libcom_err.so.2 -> libcom_err.so.2.0
  -rwxr-xr-x   1 root     root         6209 Nov  1 15:39 libcom_err.so.2.0
  -rwxr-xr-x   1 root     root       153881 Nov  1 15:39 libcrypt-2.0.7.so
  lrwxrwxrwx   1 root     root           17 Nov  1 15:39 libcrypt.so.1 -> libcrypt-2.0.7.so
  -rwxr-xr-x   1 root     root        12962 Nov  1 15:39 libdl-2.0.7.so
  lrwxrwxrwx   1 root     root           14 Nov  1 15:39 libdl.so.2 -> libdl-2.0.7.so
  lrwxrwxrwx   1 root     root           16 Nov  1 15:39 libext2fs.so.2 -> libext2fs.so.2.4
  -rwxr-xr-x   1 root     root        81382 Nov  1 15:39 libext2fs.so.2.4
  -rwxr-xr-x   1 root     root        25222 Nov  1 15:39 libnsl-2.0.7.so
  lrwxrwxrwx   1 root     root           15 Nov  1 15:39 libnsl.so.1 -> libnsl-2.0.7.so
  -rwx--x--x   1 root     root       178336 Nov  1 15:39 libnss_files-2.0.7.so
  lrwxrwxrwx   1 root     root           21 Nov  1 15:39 libnss_files.so.1 -> libnss_files-2.0.7.so
  lrwxrwxrwx   1 root     root           14 Nov  1 15:39 libpam.so.0 -> libpam.so.0.64
  -rwxr-xr-x   1 root     root        26906 Nov  1 15:39 libpam.so.0.64
  lrwxrwxrwx   1 root     root           19 Nov  1 15:39 libpam_misc.so.0 -> libpam_misc.so.0.64
  -rwxr-xr-x   1 root     root         7086 Nov  1 15:39 libpam_misc.so.0.64
  -r-xr-xr-x   1 root     root        35615 Nov  1 15:39 libproc.so.1.2.6
  lrwxrwxrwx   1 root     root           15 Nov  1 15:39 libpwdb.so.0 -> libpwdb.so.0.54
  -rw-r--r--   1 root     root       121899 Nov  1 15:39 libpwdb.so.0.54
  lrwxrwxrwx   1 root     root           19 Nov  1 15:39 libtermcap.so.2 -> libtermcap.so.2.0.8
  -rwxr-xr-x   1 root     root        12041 Nov  1 15:39 libtermcap.so.2.0.8
  -rwxr-xr-x   1 root     root        12874 Nov  1 15:39 libutil-2.0.7.so
  lrwxrwxrwx   1 root     root           16 Nov  1 15:39 libutil.so.1 -> libutil-2.0.7.so
  lrwxrwxrwx   1 root     root           14 Nov  1 15:39 libuuid.so.1 -> libuuid.so.1.1
  -rwxr-xr-x   1 root     root         8039 Nov  1 15:39 libuuid.so.1.1
  drwx--x--x   3 root     root         1024 Nov  1 15:39 modules
  drwx--x--x   2 root     root         1024 Nov  1 15:39 security

  /lib/modules:
  drwx--x--x   4 root     root         1024 Nov  1 15:39 2.0.35

  /lib/modules/2.0.35:
  drwx--x--x   2 root     root         1024 Nov  1 15:39 block
  drwx--x--x   2 root     root         1024 Nov  1 15:39 cdrom

  /lib/modules/2.0.35/block:
  -rw-------   1 root     root         7156 Nov  1 15:39 loop.o

  /lib/modules/2.0.35/cdrom:
  -rw-------   1 root     root        24108 Nov  1 15:39 cdu31a.o

  /lib/security:
  -rwx--x--x   1 root     root         8771 Nov  1 15:39 pam_permit.so

  ***  Katalogi do montowania.
  /mnt:
  drwx--x--x   2 root     root         1024 Nov  1 15:39 SparQ
  drwx--x--x   2 root     root         1024 Nov  1 15:39 cdrom
  drwx--x--x   2 root     root         1024 Nov  1 15:39 floppy

  /proc:

  /root:
  -rw-------   1 root     root          176 Nov  1 15:39 .bashrc
  -rw-------   1 root     root          182 Nov  1 15:39 .cshrc
  -rw-------   1 root     root           47 Nov  1 15:39 .glintrc
  -rwx--x--x   1 root     root          455 Nov  1 15:39 .profile
  -rw-------   1 root     root         4014 Nov  1 15:39 .tcshrc

  /sbin:
  -rwx--x--x   1 root     root        23976 Nov  1 15:39 depmod
  -rwx--x--x   2 root     root       274600 Nov  1 15:39 e2fsck
  -rwx--x--x   1 root     root        41268 Nov  1 15:39 fdisk
  -rwx--x--x   1 root     root         9396 Nov  1 15:39 fsck
  -rwx--x--x   2 root     root       274600 Nov  1 15:39 fsck.ext2
  -rwx--x--x   1 root     root        29556 Nov  1 15:39 getty
  -rwx--x--x   1 root     root         6620 Nov  1 15:39 halt
  -rwx--x--x   1 root     root        23116 Nov  1 15:39 init
  -rwx--x--x   1 root     root        25612 Nov  1 15:39 insmod
  -rwx--x--x   1 root     root        10368 Nov  1 15:39 kerneld
  -rwx--x--x   1 root     root       110400 Nov  1 15:39 ldconfig
  -rwx--x--x   1 root     root         6108 Nov  1 15:39 lsmod
  -rwx--x--x   2 root     root        17400 Nov  1 15:39 mke2fs
  -rwx--x--x   1 root     root         4072 Nov  1 15:39 mkfs
  -rwx--x--x   2 root     root        17400 Nov  1 15:39 mkfs.ext2
  -rwx--x--x   1 root     root         5664 Nov  1 15:39 mkswap
  -rwx--x--x   1 root     root        22032 Nov  1 15:39 modprobe
  lrwxrwxrwx   1 root     root            4 Nov  1 15:39 reboot -> halt
  -rwx--x--x   1 root     root         7492 Nov  1 15:39 rmmod
  -rwx--x--x   1 root     root        12932 Nov  1 15:39 shutdown
  lrwxrwxrwx   1 root     root            6 Nov  1 15:39 swapoff -> swapon
  -rwx--x--x   1 root     root         5124 Nov  1 15:39 swapon
  lrwxrwxrwx   1 root     root            4 Nov  1 15:39 telinit -> init
  -rwx--x--x   1 root     root         6944 Nov  1 15:39 update

  /tmp:

  /usr:
  drwx--x--x   2 root     root         1024 Nov  1 15:39 bin
  drwx--x--x   2 root     root         1024 Nov  1 15:39 lib
  drwx--x--x   3 root     root         1024 Nov  1 15:39 man
  drwx--x--x   2 root     root         1024 Nov  1 15:39 sbin
  drwx--x--x   3 root     root         1024 Nov  1 15:39 share
  lrwxrwxrwx   1 root     root           10 Nov  1 15:39 tmp -> ../var/tmp

  /usr/bin:
  -rwx--x--x   1 root     root        37164 Nov  1 15:39 afio
  -rwx--x--x   1 root     root         5044 Nov  1 15:39 chroot
  -rwx--x--x   1 root     root        10656 Nov  1 15:39 cut
  -rwx--x--x   1 root     root        63652 Nov  1 15:39 diff
  -rwx--x--x   1 root     root        12972 Nov  1 15:39 du
  -rwx--x--x   1 root     root        56552 Nov  1 15:39 find
  -r-x--x--x   1 root     root         6280 Nov  1 15:39 free
  -rwx--x--x   1 root     root         7680 Nov  1 15:39 head
  -rwx--x--x   1 root     root         8504 Nov  1 15:39 id
  -r-sr-xr-x   1 root     bin          4200 Nov  1 15:39 passwd
  -rwx--x--x   1 root     root        14856 Nov  1 15:39 tail
  -rwx--x--x   1 root     root        19008 Nov  1 15:39 tr
  -rwx--x--x   1 root     root         7160 Nov  1 15:39 wc
  -rwx--x--x   1 root     root         4412 Nov  1 15:39 whoami

  /usr/lib:
  lrwxrwxrwx   1 root     root           17 Nov  1 15:39 libncurses.so.4 -> libncurses.so.4.2
  -rw-r--r--   1 root     root       260474 Nov  1 15:39 libncurses.so.4.2

  /usr/sbin:
  -r-x--x--x   1 root     root        13684 Nov  1 15:39 fuser
  -rwx--x--x   1 root     root         3876 Nov  1 15:39 mklost+found

  /usr/share:
  drwx--x--x   4 root     root         1024 Nov  1 15:39 terminfo

  /usr/share/terminfo:
  drwx--x--x   2 root     root         1024 Nov  1 15:39 l
  drwx--x--x   2 root     root         1024 Nov  1 15:39 v

  /usr/share/terminfo/l:
  -rw-------   1 root     root         1552 Nov  1 15:39 linux
  -rw-------   1 root     root         1516 Nov  1 15:39 linux-m
  -rw-------   1 root     root         1583 Nov  1 15:39 linux-nic

  /usr/share/terminfo/v:
  -rw-------   2 root     root         1143 Nov  1 15:39 vt100
  -rw-------   2 root     root         1143 Nov  1 15:39 vt100-am

  /var:
  drwx--x--x   2 root     root         1024 Nov  1 15:39 log
  drwx--x--x   2 root     root         1024 Nov  1 15:39 run
  drwx--x--x   2 root     root         1024 Nov  1 15:39 tmp

  /var/log:
  -rw-------   1 root     root            0 Nov  1 15:39 wtmp

  /var/run:
  -rw-------   1 root     root            0 Nov  1 15:39 utmp

  /var/tmp:








  NN..  SSppiiss pplliikkww pprrzzyykkaaddoowweejj ddyysskkiieettkkii nnaarrzzddzziioowweejj..





       total 579
       -rwxr-xr-x   1 root     root        42333 Jul 28 19:05 cpio*
       -rwxr-xr-x   1 root     root        32844 Aug 28 19:50 debugfs*
       -rwxr-xr-x   1 root     root       103560 Jul 29 21:31 elvis*
       -rwxr-xr-x   1 root     root        29536 Jul 28 19:04 fdisk*
       -rw-r--r--   1 root     root       128254 Jul 28 19:03 ftape.o
       -rwxr-xr-x   1 root     root        17564 Jul 25 03:21 ftmt*
       -rwxr-xr-x   1 root     root        64161 Jul 29 20:47 grep*
       -rwxr-xr-x   1 root     root        45309 Jul 29 20:48 gzip*
       -rwxr-xr-x   1 root     root        23560 Jul 28 19:04 insmod*
       -rwxr-xr-x   1 root     root          118 Jul 28 19:04 lsmod*
       lrwxrwxrwx   1 root     root            5 Jul 28 19:04 mt -> mt-st*
       -rwxr-xr-x   1 root     root         9573 Jul 28 19:03 mt-st*
       lrwxrwxrwx   1 root     root            6 Jul 28 19:05 rmmod -> insmod*
       -rwxr-xr-x   1 root     root       104085 Jul 28 19:05 tar*
       lrwxrwxrwx   1 root     root            5 Jul 29 21:35 vi -> elvis*