stare HOWTO do instala

Jan Sterna jjps w comdrev.com.pl
Śro, 10 Sty 2001, 11:50:33 CET


To jest wszystko co dało się wyciągnąć install-HOWTO.sh



Uwaga! Instrukcja jeszcze nie jest kompletna - brakuje miedzy innymi
opisu pakietow: reiser, nfs, oraz nie ma ani slowa o rpm-pkg.tar.gz...
Nie ma tez opisu instalacji gruba i stawiania roota na SCSI. Do
nadrobienia w najblizszym czasie...



     Witamy na dyskietce instalacyjnej PLD

  Sprobuje poprowadzic Cie "za raczke" przez kolejne etapy instalacji
Polskiej Dystrybucji Linuksa. Jednak ten bootdisk nie pretenduje
bynajmniej do miana "instalatora" - to jest tylko narzedzie ulatwiajace
reczna instalacje systemu. Zeby go uzywac, musisz umiec poslugiwac sie
narzedziami systemowymi takimi jak fdisk, mkfs, mount itp.
  Ponadto musisz posiadac dosc rozlegla wiedze na temat budowy Linuksa
i zasad jego dzialania - jesli nie czujesz sie z tym wszystkim obeznany,
lepiej wyjmij ta dyskietke i sprobuj zainstalowac jakas inna dystrybucje.

  W zaden sposob ani autor tej dyskietki ani nikt z zespolu PLD nie ponosi
odpowiedzialnosci za szkody wynikle z uzywania narzedzi tu zawartych,
nawet jesli probowales ich uzyc zgodnie z ich przeznaczeniem. Wszystko
robisz na wlasne ryzyko.

  Zauwazone usterki w pracy dyskietki zglos pod adresem pld-list w pld.org.pl,
albo zagrodzki w pld.org.pl

  Jesli jestes pewien ze wiesz co robisz, i na pewno chcesz to wlasnie
zrobic, nacisnij ENTER.




  Podczas instalacji masz pelen wplyw na to, co akurat dzieje sie w
systemie.
Uwazaj: to oznacza tez, ze jesli cos zepsujesz, to  bedzie to tylko i
wylacznie
 Twoja wina!

  Ja juz za pomoca tej dyskietki zdazylem sobie skasowac przypadkowo
zawartosc
jednej partycji - dlatego nie zrob tego bledu co ja, i sprawdzaj dokladnie
wszystko po dwa razy, zanim cokolwiek wpiszesz.

  Ze swojej strony postaram sie w miare dokladnie opisywac to, co bedzie
sie dzialo na poszczegolnych etapach instalacji.

  Na konsolach od 2 do 5 masz shella: wystarczy nacisnac ENTER na danej
konsoli zeby dostac prompt. Zainstalowany jest shell "ash" - przygotuj sie
na to, ze jest to bardzo niewygodne narzedzie (za to bardzo male): nie ma
historii polecen, dopelniania nazw plikow, nie ma mozliwosci poruszania
sie po linii polecen (tzn. jesli cos wpisales, to jezeli nagle
potrzebujesz poprawic literowke na poczatku linii, to najpierw musisz
skasowac wszystko to co wpisales do tej pory. Sprawdzaj wszystko dwa razy
zanim nacisniesz enter.



  W trakcie instalacji czasem bedziesz musial mi odpowiedziec na jakies
pytanie. Pytania sa na ogol formulowane tak, zebys mogl odpowiedziec "tak"
albo "nie". Wpisanie czegokolwiek jako odpowiedzi zostaje wtedy uznane za
potwierdzenie, a nie wpisanie niczego jest traktowane jak zaprzeczenie.



  Dla wygody z bootkietka dostarczane sa dwa skrypty. Pierwszy to  "addpkg",
ktory rozkompresowuje wszystkie pliki z danej paczki na dysk, tak zeby mozna
bylo korzystac np. z dodatkowych programow zawartych w tym archiwum.
  Drugi to  "selmod", ktory rozpakowuje tylko kilka potrzebnych plikow,
wczesniej pokazujac nam ich liste do wyboru. Skrypt odpala sie w dwoch
postaciach. Pierwsza:
"# selmod <nazwa>"
pokazuje nam liste modulow z pakietu "<nazwa>". Druga postac:
"# selmod <nazwa> <numer>"
instaluje konkretny modul, razem z zaleznosciami i ewentualnymi dodatkowymi
opcjami. <Numer> jest oczywiscie numerem pozycji z listy pokazanej wczesniej
przez selmoda... Czasem potrzebujesz zaladowac jakis modul jeszcze przed
zamontowaniem partycji docelowej: w takim wypadku dodaj jako trzecia opcje
slowo "ramdisk":
"# selmod <nazwa> <numer> ramdisk"
selmod nie bedzie wtedy narzekal na brak partycji, a po zaladowaniu
skasuje modul z ramdysku, oszczedzajac miejsce.


Załadowanie modułów z dyskietki.


  Wloz do stacji dyskietke z potrzebnymi Ci modulami (siec, pnp, pcmcia:
pierwsza, scsi: druga), i zamontuj:
"# mount /dev/fd0 /src"
  Jesli w trakcie pracy bedziesz potrzebowal ja zmienic na inna, albo
wyjac, bedziesz musial ja wczesniej z drugiej konsoli odmontowac:
"# umount /src"
  Pamietaj, ze musisz sam wymienic dyskietke wtedy kiedy tylko potrzebujesz
modulow lub pakietow z drugiej: ja juz o tym wiecej nie bede przypominal...
  Jesli ladowales system z dyskietki mimo iz wszystkie potrzebne rzeczy
masz na plytce (np. dlatego, ze twoj BIOS nie obsluguje plytek
bootowalnych), mozesz zamontowac plytke w prawie ten sam sposob:
"# mount /dev/<urzadzenie> /src -o ro -t iso9660"





Załadowanie modułów z CD.


  Upewnij sie, ze w napedzie CD masz plytke z potrzebnymi modulami.
Zamontuj ja:
"# mount /dev/<naped> /src -t iso9660 -o ro"
Oczywiscie w miejsce <naped> musisz wstawic nazwe urzadzenia: hda,b,c,d,...
Primary master to hda, slave - hdb. Secondary master - hdc, slave - hdd




  Pierwsze pytanie: czy bedziesz potrzebowal sterownikow do SCSI? Jest to
jedyny rodzaj urzadzen ktore byc moze musisz skonfigurowac przed
spartycjonowaniem dysku. Jesli potrzebujesz: wpisz cos i nacisnij ENTER,
jesli nie - sam ENTER.



  Na poczatek musisz wybrac jeden z modulow do sterownika SCSI:
"# selmod scsi-low"
Wybierz z listy numerek, a potem zaladuj modul:
"# selmod scsi-low <numerek> ramdisk"
  Jesli nie potrzebujesz zadnego sterownika SCSI, a tylko sama obsluge SCSI
(np. dlatego, ze masz urzadzenia SCSI na PCMCIA), to wpisz jako numer "-1"

  Po zaladowaniu modulow do sterownika musisz jeszcze zainstalowac
odpowiedni
modul wysokiego poziomu: dla dyskow, CDROMow itp..
"# selmod scsi"
  Na ogol bedzie potrzebny modul nr. 1: obsluga dyskow SCSI. Wybrany modul
laduje sie przez:
"# selmod scsi <numerek> ramdisk"








  Masz juz miejse, gdzie chcesz instalowac PLD? Dobrze. Odpal fdiska:
"# fdisk <twoj_dysk>"
i stworz potrzebne partycje. Jesli masz duzy dysk pamietaj o uwzglednieniu
malej partycji /boot na poczatku. No i oczywiscie musisz utworzyc partycje
swap (typ 82): bez tego daleko nie zajedziesz (chyba ze masz duuuzo RAMu).
Na koniec pamietaj o zapisaniu tablicy partycji. Wazne: pamietaj jakie
numerki otrzymaly poszczegolne partycje (po wyjsciu z fdiska zawsze mozesz
odpalic "fdisk -l <twoj_dysk>" zeby obejrzec tablice partycji.




  Masz juz partycje: tak zakladam. Dobrze. To teraz zaktywujemy swapa:
wydaj polecenie:
"# mkswap <partycja_wymiany>"
i zaraz potem:
"# swapon <partycja_wymiany>"
dzieki temu sa mniejsze szanse, ze wykonczymy caly zapas pamieci.

  Kiedy juz masz swapa, zalozymy filesystemy na partycjach: dla kazdej
potrzebnej partycji uruchom:
"# mke2fs <partycja>"
z ewentualnymi opcjami (ilosc zarezerwowanych blokow, rozmiar grupy,
bloku, itp.)

  Potem trzeba te partycje pomontowac:
"# mount <partycja> <miejsce>"

  Profilaktycznie jest przygotowane miejsce do ktorego masz podmontowac
partycje root: /dest. Wszystkie nastepne katalogi montuj juz po
ustawieniu partycji root




  Zanim zaczniesz robic cos konkretnego, trzeba jeszcze przygotowac
strukture katalogow pod nowy system. Wystarczy wykonac polecenie
"# addbase"





  Czy potrzebujesz uzywac PCMCIA? Oczywiscie jesli nie potrzebujesz
uzywac PCMCIA przy instalacji, to nawet jesli masz takie urzadzenia: nie
potrzebujesz ich obslugi.



  Na konsoli wpisz polecenie:
"# addpkg pcmcia"
to rozkompresuje pliki z dodatku pcmcia.tar.gz na dysk. Oprocz modulow do
pcmcia i niezbednych narzedzi dostajesz tez w tym momencie skrypt
"pcmciacfg" - mozesz go uzyc, a mozesz odpalac moduly i programy do PCMCIA
recznie. Skrypt latwo i szybko laduje do pamieci potrzebne moduly i
ustawia urzadzenia.

  Jesli zdecydujesz sie uzyc skryptu: najpierw musisz podac rodzaj
kontrolera PCMCIA. Jesli nie wiesz, jaki masz, odpal na konsoli polecenie
"probe" - powinno cos powiedziec. Mozna nie dodawac zadnych specjalnych
opcji do modulow (na ogol). Skrypt zaladuje najpierw modul podstawowy,
potem sterownik Twojego kontrolera, obsluge kart PCMCIA i na koniec
poszczegole drivery urzadzen.





Czy musisz konfigurowac jakies urzadzenia ISA Plug'n'Play/Plug'n'Pray?
Uwaga: nie chodzi o urzadzenia PCI typu PnP!



Zaladuj pakiet "pnp" poleceniem:
"# addmod pnp"
To zainstaluje dwa programy: isapnp i pnpdump. Uzyj tego drugiego zeby
dowiedziec sie, jakie urzadzenia PnP masz w systemie:
"# pnpdump > isapnp.conf"
  Teraz przeedytuj ten plik ( vi isapnp.conf): w razie potrzeby mozesz
na innej konsoli napisac  help vi zeby otrzymac opis klawiszologii
tego malego slicznego edytorka, ktory tak naprawde wcale vi-em nie jest :)
  Odkomentuj potrzebne linijki, zapisz plik i odpal
"# isapnp isapnp.conf"
To powinno zainicjalizowac urzadzenia ISA PnP. W razie potrzeby popraw
plik i odpal isapnp jeszcze raz.
  Zwroc uwage na to, zeby wybrane przez Ciebie ustawienia nie
konfliktowaly z zadnym juz istniejacym urzadzeniem (pomocne moga sie
okazac pliki /proc/ports, /proc/irq, /proc/dma itp.)




  Czy potrzebne Ci sa sterowniki do kard ethernetowych, arcnetowych
lub tokenring? Oczywiscie jezeli nie planujesz instalacji po sieci,
to nawet jesli masz taka karte, odpowiedz brzmi: nie.




  Wpisz z konsoli polecenie:
"# selmod eth"
lub jesli potrzebujesz arcnetu to zamiast "eth" wpisz "arc". Jesli chcesz
uzywac modulow do kart tokenring, to zamiast "eth" daj "tr".
  W tym momencie na ekranie powinna pokazac Ci sie lista dostepnych modulow.
Wyszukaj na niej potrzebny sterownik, i zapamietaj jego numerek. Zakoncz
przegladanie ("q"), i wpisz nowe polecenie:
"# selmod eth <numerek>"
Potrzebny modul zostanie rozkompresowany, i system sprobuje go zaladowac do
pamieci. W razie potrzeby dojda do niego jeszcze moduly wynikajace z
zaleznosci.






  Czy bedziesz potrzebowal obslugi sieci?



Na konsoli wpisz polecenie:
"# addpkg net"
oraz ewentualnie:
"# addpkg dhcp"
w zaleznosci od tego, czy chcesz konfigurowac siec recznie czy
automatycznie.
Pierwsze polecenie zainstaluje program ip (do konfiguracji polaczen), oraz
skrypt "netcfg". Drugie: dhcpcd i skrypt "dhcpcfg". Mozesz samodzielnie
konfigurowac interfejs i routing, ale jesli nie chce Ci sie, a nie masz
specjalnych wymagan: mozesz uzyc skryptow. Skrypt "netcfg" uruchomiony z
nazwa interfejsu jako parametrem zapyta o pare podstawowych wlasnosci
lokalnej sieci (adres, bramka, domena, DNS) i na podstawie odpowiedzi
sprobuje podniesc interfejs i ustawic domyslny routing. Skrypt "dhcpcfg"
wymaga jeszcze mniej zachodu i wystarczy go uruchomic z nazwa interfejsu.

Do wykorzystania sieci (do czegos innego niz prowizorka :) ) masz dodatkowy
pakiet "net-tools":
"# addpkg net-tools"
Dostajesz programy: nc (netcat) ktory moze sluzyc do wszystkiego :),
oraz wget i ping, ktore chyba znasz. Dzieki tym programom moze byc Ci
latwiej przygotowac sie do instalacji po sieci.




Czy masz niestandardowy naped CD (nie IDE) ktorego bedziesz chcial uzywac
przy instalacji?


Obejrzyj liste modulow do CDROMow poleceniem:
"# selmod cdrom"
a potem zaladuj odpowiedni:
"# selmod cdrom <numer>"
Skrypt zapyta Cie o parametry dla modulow po czym zaladuje je do pamieci




# no i tu pewnie trzeba dolozyc jeszcze wiecej tego: PPP, zewnetrzne
# cdromy, dyski, ZIP, itp., filesystemy sieciowe






  Przed instalacja pakietow z dystrybucji musisz jeszcze dorzucic kilka
programow oraz bibliotek niezbednych do instalacji. Wszystkie sa zawarte
w pakiecie "rpm", dlatego wystarczy ze zrobisz:

"# addpkg rpm"

zeby otrzymac dostep do wszystkich potrzebnych narzedzi.



Kiedy juz dorzucisz pakiet rpm, nacisnij ENTER


  Pora na instalacje pakietow. Do tego sluzy program "prowizorka", oraz
nakladka na niego: selrpm. Uruchomienie skryptu bez parametrow:
"# selrpm"
spowoduje wypisanie nazw poszczegolnych list. Wybierz jedna, ktora
najbardziej Ci pasuje, potem bedziesz mial jeszcze czas na jej
przeedytowanie.

"# selrpm <nazwa>"
spowoduje przetworzenie danej listy na postac akceptowalna dla programu
"prowizorka", ktory jest uzywany do instalacji. Skrypt zapyta o kilka
rzeczy, np. pozwoli wybrac czesc pakietow z opcjonalnych. Potem utworzy
skrypt "doit", ktory zainstaluje wszystko co znajduje sie w pliku
/coinst.rpmy (ktory przed chwila tez wygenerowal).

Przed uruchomieniem instalacji mozna jeszcze przeedytowac liste
(klawiszologie edytora mozna podejrzec na drugiej konsoli: "help vi"),
i potem mozna wrzucac pakiety na dysk.





"To juz prawie koniec :)"

  Zostalo jeszcze "dopieszczenie" takiego systemu, czyli takie ustawienie
go, zeby sie zabootowal juz sam. Najwygodniej sie to wykonuje w
chrootowanym srodowisku:
"# chroot /dest sh"

  Sa do zrobienia trzy rzeczy:

 * konfiguracje i instalowanie LILO/gruba/innego bootloadera
 * utworzenie pliku fstab z poprawnymi wpisami
 * nadanie rootowi hasla (bez tego moze byc kiepsko)

  Czasem przydaje sie tez zmienienie shella rootowi: /bin/sh jest dosc
obskurny :))




Konfiguracja LILO:

  W katalogu /usr/doc (w srodowisku bez chroota!) masz przykladowy plik
lilo.conf: mozesz go skopiowac do katalogu /dest/etc. Potem wykonaj chroota
na
/dest, i przeedytuj /etc/lilo.conf. Wpisz w nim dysk z ktorego sie
bootujesz,
oraz ktora partycja jest partycja root.  Kiedy skonczysz, wpisz (jeszcze w
chroocie) polecenie:  "# lilo" To koniec instalacji LILO.

Konfiguracja gruba:

  W zainstalowanym systemie jest plik /boot/grub/menu.lst. W nim pozmieniaj
wpisy tak zeby odpowiadaly Twojej sytuacji. Potem uruchom gruba. W jego
linii
polecen wpisz:
   "> find /boot/grub/menu.lst".
Dostaniesz w odpowiedzi nazwe dysku na ktorym lezy konfiguracja gruba (np.
hd(0,1) - druga partycja pierwszego dysku).

  Potem podaj grubowi roota dla plikow konfiguracyjnych (tego przed chwila
znalezionego):
   "> root (hd0,1)"
A na koniec kaz mu sie zainstalowac w bootsektorze pierwszego dysku:
   "> setup (hd0)" W katalogu




  Nastepna rzecz to plik fstab. Wykonaj chroota i przeedytuj plik
/etc/fstab.
Wpisz tam prawidlowe nazwy partycji swap oraz root.


  To juz prawie wszystko. Teraz jeszcze tylko w chrootowanym srodowisku
wykonaj polecenie:
 "# passwd root"
i ustaw haslo dla roota. Jesli nie chcesz zadnego hasla, to zamiast tego
w pliku /etc/pam.d/login dopisz do linijki "auth ... pam_unix" parametr
"nullok".



  Jesli masz root filesystem na dysku SCSI, to bedziesz potrzebowal zrobic
odpowiedni ramdysk startowy zeby moc uruchomic system (dystrybucyjny kernel
ma pokompilowane wszystkie sterowniki do SCSI w modulach). Czy potrzebujesz
teraz utworzyc initrd?



  Zainstaluj dwa dodatkowe pakiety: ash-static (z katalogu "supported") oraz
mkinitrd. Potem wpisz do pliku /etc/modules.conf (w chroocie) cos takiego:
   "alias scsi_hostadapter <nazwa_modulu>"
Dalej wykonaj polecenie:
   "mkinitrd -v /boot/initrd-<wersja_kernela>.gz <wersja_kernela>"

  Na koniec w bootloaderze dodaj polecenie zaladowania ramdysku: w lilo.conf
bedzie to linijka
   "initrd = /boot/initrd.gz"
a w menu.lst (od gruba):
   "initrd (hdX,Y)/boot/initrd.gz"

W razie potrzeby zaktualizuj LILO (grub tego nie potrzebuje)



                              "KONIEC :)"

  Mozesz jeszcze zmienic shella dla roota: przeedytuj plik /dest/etc/passwd
i wpisz w nim /bin/bash zamiast /bin/sh. Potem w chroocie wykonaj
polecenie update-db.

  Teraz nacisnij ctrl-alt-del i czekaj na reboot :)

  Jesli po resecie okaze sie, ze cos jest nie tak, mozesz:
a) jesli kernel sie zabootowal, ale system ma problemy ze skryptami itp.:
   zabootowac w trybie single albo z init=/bin/sh
b) jesli sie nie zabootowal: jeszcze raz odpalic z dyskietki, podmontowac
   dysk w odpowiednim miejscu, jeszcze raz wykonac chroota i poprawic co
   trzeba.


"MILEJ ZABAWY :)"


--
jjps w szczecinek.pl



Więcej informacji o liście dyskusyjnej pld-devel-pl