Niniejszy opis jest rozwinięciem opisu [[http://pl.docs.pld-linux.org/instalacja_chroot_wstep.html| instalacji z chroota]], która dla niektórych jest zbyt "sucha" i zakłada nieco większą wiedzę u użytkownika. Jeśli chcesz zobaczyć jak wygląda instalacja z choota "na żywo" zobacz [[http://www.dlugosz.eu/flash/th-install.swf|nagranie]] wykonane przez [[http://www.dlugosz.eu/|Pawła Długosza]] ====== Przed instalacją ====== //UWAGA! Założeniem podczas tworzenia tej instrukcji instalacji PLD jest to, że PLD będzie jedynym systemem operacyjnym na dysku twardym naszego komputera!!!// Proces instalacji należy zacząć od pobrania x86 [[http://rescuecd.pld-linux.org/|RescueCD]]. Kiedy już mamy pobrany obraz płyty CD należy go wypalić przy pomocy dowolnego programu do nagrywania CD. Jak już płyta CD będzie przygotowania restartujemy komputer i uruchamiamy go z przygotowanego wcześniej krążka. ====== Krok 1 - wstępna konfiguracja sieci ====== Krok ten można pominąć jeżeli nasz dostawca usług telekomunikacyjnych stosuje automatyczną konfigurację sieci (DHCP) Po uruchomieniu się systemu z płyty musimy skonfigurować sieć o ile nasz dostawca usług telekomunikacyjnych nie używa protokołu DHCP. W tym celu należy wyedytować 3 pliki i wprowadzić w nich zmiany. Plik **/etc/sysconfig/interfaces/ifcfg-eth0** czyli plik opisujący parametry karty sieciowej: DEVICE=eth0 #IPADDR=192.168.1.4/24 ONBOOT=yes BOOTPROTO=dhcp DHCP_OPTIONS="-DHt 15" #IPADDR=192.168.1.4/24 (numer IP/prefix) W tej linijce należy usunąć "#" na początku linijki, poprawić adres IP na ten jaki nam przydzielił dostawca usług internetowych oraz podać tzw. "prefix" maski sieci. Dla przykładu: 255.255.255.0 --> /24 255.255.0.0 --> /16 255.255.255.192 --> /26 W tej linijce: BOOTPROTO=dhcp należy zamienić słowo "dhcp" na słowo "none". Dzięki temu podczas startu skryptów od sieci nie zostanie uruchomiony skrypt DHCP a na sztywno zostaną przypisane parametry karty sieciowej. Plik **/etc/sysconfig/network** czyli plik z ustawieniami sieci: # $Id: network 1364 2003-09-22 01:28:35Z arekm $ ###################################################################### # MAIN PART # Do you need IPv4 or IPv6 networking ? NETWORKING=yes # Do you need IPv4 networking ? IPV4_NETWORKING=yes # Do you want IPv4 forwarding ? # then set it in /etc/sysctl.conf # Set hostname here (only hostname) HOSTNAME=rescue # Set NIS domain name here if you use NIS # Note: DNS domain name should be set in /etc/resolv.conf, not here NISDOMAIN= # Traditional setup of gateway. This is obsolete, consider using static-routes # instead. However this is really enough for most users. GATEWAY= GATEWAYDEV= # Do you want to use IPX networking ? IPX=no IPXAUTOPRIMARY= IPXAUTOFRAME= IPXINTERNALNETNUM= IPXINTERNALNODENUM= # Do you need IPv6 networking ? IPV6_NETWORKING=no # Do you want IPv6 forwarding ? # then set it in /etc/sysctl.conf # Enable tunnel interfaces configuration ? IPV6_TUNNELCONFIG=no # Global route for IPv6 host with IPv6 forwarding IPV6_GLOBALROUTEGW= IPV6_GLOBALROUTEDEV= # Other # Do you want set static ARP table (based on /etc/ethers config file) ? STATIC_ARP=no # Do you want set static RARP table (based on /etc/ethers config file) ? STATIC_RARP=no # Specify interface on which you want to enable tleds software # (also you need tleds package installed) -- default set to no TLEDS_DEV=no # This must be last line ! # vi:syntax=sh:tw=78:ts=8:sw=4 W tym pliku interesuje nas linijka: GATEWAY= W tej linijce określamy adres IP naszej bramy internetowej. Np.: GATEWAY=192.168.1.1 Ostatnim plikiem jaki musimy poprawić jest: **/etc/resolv.conf**. Ten plik jest zazwyczaj pusty. Określa się w nim adresy IP serwerów DNS. Dla przykładu: nameserver 194.63.133.4 nameserver 194.63.132.4 Na koniec należy zrestartować sieć poleceniem: /etc/rc.d/init.d/network restart ====== Krok 2 - sprawdzenie dostępu do sieci ====== Sprawdzenie poprawności działania sieci czyli czy udało nam się uruchomić dostęp do sieci internet Najprostszym sposobem jest sprawdzenie czy jakikolwiek host odpowie na nasze zapytanie. Można to zrobić na wiele sposobów. Oto jeden z nich. W konsoli wpisujemy polecenie: mtr wp.pl Na ekranie powinno się pojawić coś podobnego do tego: My traceroute [v0.69] rescue (0.0.0.0)(tos=0x0 psize=64 bitpattern=0x00) Tue Dec 5 12:44:23 2006 Keys: Help Display mode Restart statistics Order of fields quit Packets Pings Host Loss% Snt Rcv Last Avg Best Wrst StDev 1. 192.168.1.1 0.0% 8 8 0.3 0.3 0.3 0.4 0.0 2. 212.191.73.193 0.0% 8 8 3.9 3.8 3.7 3.9 0.1 3. 212.191.0.9 0.0% 8 8 42.4 12.9 4.1 42.4 14.3 4. z-lodmana.poznan-gw1.10Gb. 0.0% 7 7 7.7 7.6 7.5 7.8 0.1 5. z-poznan-gw1.gdansk.10Gb.r 0.0% 7 7 18.9 15.5 14.8 18.9 1.5 6. ci-wp-rtr.wp.pl 0.0% 7 7 15.2 15.2 15.1 15.5 0.1 7. zew.rtrd2.adm.wp-sa.pl 0.0% 7 7 15.2 15.2 15.0 15.7 0.2 8. www.wp.pl 0.0% 7 7 15.5 15.4 15.1 15.8 0.2 Jeżeli naszym oczom ukaże się coś podobnego oznaczać to będzie, że sieć działa prawidłowo i mamy dostęp do sieci Internet. By zakończyć działanie programu "mtr" należy wcisnąć literkę "q". ====== Krok 3 - Przygotowanie dysku do instalacji systemu. ====== System Linux używa jak wiadomo zupełnie innego systemu plików niż M$. W większości z nich można użyć conajmniej kilku z nich. Dla przykładu może to być: ext3, ReiserFS, XFS, JFS. Chcąc zachować maksymalną kompatybilność powinniśmy użyć ext3, a chcąc mieć najwydajniejszy system plików (liczy się dla nas przede wszystkim prędkość) powinniśmy wybrać XFS. Pierwszą czynnością jest podział dysku na partycje. Służy do tego program fdisk lub jego bardziej przyjazna wersja cfdisk. W tym miejscu należy przekazać troszkę teorii na temat tego jak są widoczne urządzenia w Linuksie. Każde urządzenie jest reprezentowane przez jakby wirtualny system plików znajdujący się w katalogu /dev. Dla przykładu urządzenia IDE to: Primary Master IDE - /dev/hda Primary Slave IDE - /dev/hdb Secondary Master IDE - /dev/hdc Secondary Slave IDE - /dev/hdd Urądzenia SCSI lub SATA to: Disk1 - /dev/sda Disk2 - /dev/sdb Diskn - /dev/sdx Zakładając, że nasz dysk to dysk IDE będziemy zakładać partycję na /dev/hdx a jeżeli to dysk SCSI lub SATA to będzie to /dev/sdx. Zanim rozpoczniemy partycjonowanie dysku należy przemyśleć rozkład partycji. To MY musimy sami zdecydować ile przeznaczyć miejsca na konkretne partycje. Jeżeli nie wiemy jeszcze ile będzie nam potrzebne, bo dopiero będziemy zaznajamiać się z Linuksem można by przyjąć następujący podział na partycje: /dev/hda1 - 50Mb - /boot - partycja z której będzie bootował się nasz PLD /dev/hda2 - 512Mb - SWAP - Partycja wymiany /dev/hda3 - 3072Mb - / - partycja głównego systemu plików /dev/hda5 - 512Mb - /var - partycja przede wszystkim z logami systemowymi /dev/hda6 - reszta - /home - partycja z katalogami domowymi użytkowników oraz ewentualnymi katalogami usług By uruchomić program do partycjonowania w trybie interaktywnym należy wydać polecenie: cfdisk /dev/hda Po wydaniu tego polecenia przed naszymi oczyma pojawi się program, a w nim lista założonych partycji. pld_ins_01.jpg Na początek należy usunąć wszystkie obecne partycje - służy do tego klawisz [ Delete ]. Każdorazowo można skasować tylko jedną partycję. Gdy już skasujemy wszystkie partycje okno naszego programu do partycjonowania będzie wyglądać tak: pld_ins_02.jpg Teraz przystępujemy do tworzenia partycji. Służy do tego klawisz [ New ]. Na początek tworzymy 3 partycje podstawowe (primary) (hda1, hda2, hda3) tzn.: /boot - 50Mb (hda1) SWAP - 512Mb (hda2) - Tutaj należy dodatkowo określić typ partycji jako Linux SWAP. By to zrobić po założeniu partycji należy ją podświetlić kursorami (góra/dół) i wybrać kursorami (lewo/prawo) klawisz [ Type ]. Następnie 2x naciskamy enter - cfdisk domyślnie wybierze SWAP. / - 3072Mb (hda3) Teraz nasz program powinien wyglądać tak: pld_ins_03.jpg Teraz przystępujemy do zakładania partycji logicznych (hda5, hda6) tzn.: /var - 512 Mb (hda5) /home - reszta wolnego miejsca (hda6) Po tej operacji nasz program do partycjonowania powinien prezentować się następująco: pld_ins_04.jpg Należy wszystko zapisać (klawisz [ Write ]) i opuścić program (klawisz [ Quit ]). Teraz przyszedł czas na sformatowanie utworzonych przez nas partycji. Służy do tego polecenie: mkfs.nazwa_systemu_plików /dev/hdax Dla naszego nowo instalowanego PLD chcąc zachować maksimum kompatybilności wybierzemy ext3. By sformatować nasze partycje należy kolejno wydać polecenia: mkfs.ext3 -L "boot" /dev/hda1 mkfs.ext3 -L "/" /dev/hda3 mkfs.ext3 -L "var" /dev/hda5 mkfs.ext3 -L "home" /dev/hda6 Po każdej komendzie pojawi się podobny do tego komunikat: [root@rescue ~]# mkfs.ext3 /dev/hda1 mke2fs 1.38 (30-Jun-2005) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 12240 inodes, 48856 blocks 2442 blocks (5.00%) reserved for the super user First data block=1 6 block groups 8192 blocks per group, 8192 fragments per group 2040 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 33 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@rescue ~]# Należy zwrócić uwagę, że -L "coś" to nic innego jak etykieta partycji. Na koniec musimy jeszcze tylko sformatować i uruchomić partycję wymiany SWAP. By tego dokonać należy wydać kolejno polecenia: mkswap /dev/hda2 swapon /dev/hda2 co powinno się zakończyć komunikatem: [root@rescue ~]# mkswap /dev/hda2 Setting up swapspace version 1, size = 511963 kB no label, UUID=1b0618cc-b398-4cd2-b3ca-5734d911fd2f [root@rescue ~]# swapon /dev/hda2 [root@rescue ~]# ====== Krok 4 - Zamontowanie systemu plików do katalogu instalacyjnego ====== Najpierw trzeba utworzyć katalog dla prowizorycznej instalacji, dla przykładu będzie to dest: mkdir /dest Teraz mając już utworzony katalog dest możemy zamontować główny system plików (/) do katalogu dest poleceniem: mount /dev/hda3 /dest Gdy już to zrobimy musimy jeszcze zamontować nasz system plików boot, var, home. By tego dokonać należy wydać kolejno komendy: mkdir /dest/boot mkdir /dest/var mkdir /dest/home mount /dev/hda1 /dest/boot mount /dev/hda5 /dest/var mount /dev/hda6 /dest/home Po tych czynnościach polecenie: mount powinno pokazać: [root@rescue ~]# mount none on / type tmpfs (rw,noatime) none on /proc type proc (rw) sysfs on /sys type sysfs (rw) none on /dev/pts type devpts (rw,gid=5,mode=620) none on /dev/shm type tmpfs (rw) /dev/hda3 on /dest type ext3 (rw) /dev/hda1 on /dest/boot type ext3 (rw) /dev/hda5 on /dest/var type ext3 (rw) /dev/hda6 on /dest/home type ext3 (rw) [root@rescue ~]# ====== Krok 5 - Konfiguracja i przygotowanie Poldka do instalacji pakietów ====== Wszelkie zmiany w plikach możemy zrobić za pomocą Midnight Commander, którego uruchamiamy poleceniem: mc Konfigurację Poldka zaczynamy od edycji pliku: **/etc/poldek/pld-source.conf**: # $Id: pld-source.conf,v 1.35.2.7 2005/09/24 14:14:09 paszczus Exp $ # PLD _pld_arch = i386 _pld_prefix = ftp://ftp.ac.pld-linux.org/dists/ac ## Some mirrors ## You can use them if you have better connection there # CI TASK: #_pld_prefix = ftp://ftp.task.pld-linux.org/dists/ac _ac_idxtype = pndir # PLD 2.0 (Ac) [source] type = %{_ac_idxtype} name = ac path = %{_pld_prefix}/PLD/%{_pld_arch}/PLD/RPMS/ [source] type = %{_ac_idxtype} name = ac-updates-security path = %{_pld_prefix}/updates/security/%{_pld_arch}/ [source] type = %{_ac_idxtype} name = ac-updates-general path = %{_pld_prefix}/updates/general/%{_pld_arch}/ noauto = yes [source] type = %{_ac_idxtype} name = ac-supported path = %{_pld_prefix}/supported/%{_pld_arch}/ noauto = yes [source] type = %{_ac_idxtype} name = ac-ready path = %{_pld_prefix}/ready/%{_pld_arch}/ noauto = yes [source] type = %{_ac_idxtype} name = ac-test path = %{_pld_prefix}/test/%{_pld_arch}/ noauto = yes Linijka: _pld_arch = i386 określa nam architekrurę procesora. I tak: alpha --> Compaq Alpha AXP amd64 --> AMD K8 (Opetron, Athlon 64), Intel Xeon EM64T athlon --> AMD K7 (Athlon, Duron) i386 --> wszystkie procesory zgodne z x86 firmy Intel i586 --> procesory x86 nowsze niż 386, 486, AMD K5 (wersje Socket 3) i686 --> procesory x86 nowsze niż Pentium, Cyrix 5x86, AMD K5 (wersje Socket7) i AMD K6 ppc --> PowerPC sparc --> Sun SPARC, Sun UltraSPARC noarch --> dowolna W tej linijce i386 należy zastąpić odpowienim dla swojego procesora. Możemy sprawdzić jaki procesor posiadamy poleceniem: cat /proc/cpuinfo co powinno skutkować komunikatem podobnym do tego: [root@rescue poldek]# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 7 model name : Pentium III (Katmai) stepping : 3 cpu MHz : 501.206 cache size : 512 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse bogomips : 1003.23 [root@rescue poldek]# Linijka: model name : Pentium III (Katmai) informuje nas o tym jaki procesor znajduje się w naszym komputerze. W moim przypadku powinienem użyć i686 ponieważ posiadam Pentium III. Z pliku **/etc/poldek/pld-source.conf** należy też usunąć linijki (lub zakomentować '#') auto = no autoup = no z każdej sekcji poza ostatnią tj: [source] type = %{_ac_idxtype} name = ac-test path = %{_pld_prefix}/test/%{_pld_arch}/ auto = no autoup = no Dzięki temu zyskamy dostęp do pakietów z repozytorium AC-Ready czyli gotowych już do włączenia do AC ale nadal zostanie zablokowany dostęp do repozytorium AC-Test gdzie znajdują sie paczki w fazie testu i nikt tak do końca nie wie czy są to paczki poprawne. Teraz czas na konfigurację pliku **/etc/poldek/poldek.conf**. Należy w nim odnaleźć linijki: #unique package names = no #cachedir = $HOME/.poldek-cache #rpmdef = ignore = vserver-packages i zastąpić je kolejno: unique package names = yes cachedir = /var/tmp/poldek-cache rpmdef = _install_langs pl:pl_PL:en:en_GB:en:en_US ignore = *devel* ignore = *static* ignore = *vserver* Dzięki linijce: rpmdef = _install_langs pl:pl_PL:en:en_GB:en:en_US Poldek zainstaluje nam tylko pliki z polską i angielską lokalizacją dzięki czemu zaoszczędzimy sporo miejsca na dysku. Dzięki linijce: unique package names = yes Poldek automatycznie będzie zaznaczał najnowsze wersje pakietów. Wychodzimy z Midnight Commander-a klawiszem F10. Należy też w katalogu /var/tmp utwożyć katalog poldek-cache np. poleceniami: mkdir /dest/var/tmp mkdir /dest/var/tmp/poldek-cache Na koniec należy uaktualnić bazę danych poldka poleceniem: poldek --up co powinno zaowocować podobnym komunikatem: [root@rescue /var]# poldek --up Retrieving ac::packages.ndir.md... Retrieving ac::packages.ndir.gz... .............................. 100.0% [10.4M (148.1K/s)] Retrieving ac::packages.ndir.dscr.gz... .............................. 100.0% [1.3M (109.9K/s)] Retrieving ac-ready::packages.ndir.md... Retrieving ac-ready::packages.ndir.gz... .............................. 100.0% [1.2M (158.8K/s)] Retrieving ac-ready::packages.ndir.dscr.gz... .............................. 100.0% [91.4K (91.4K/s)] Retrieving ac-supported::packages.ndir.md... Retrieving ac-supported::packages.ndir.gz... .............................. 100.0% [611.2K (144.9K/s)] Retrieving ac-supported::packages.ndir.dscr.gz... .............................. 100.0% [23.2K (23.2K/s)] Retrieving ac-updates-general::packages.ndir.md... Retrieving ac-updates-general::packages.ndir.gz... Retrieving ac-updates-security::packages.ndir.md... Retrieving ac-updates-security::packages.ndir.gz... [root@rescue /var]# ====== Krok 6 - Przygotowanie do instalacji pakietów i ich instalacja ====== Najpierw inicjujemy podstawową bazę danych RPM-a poleceniem: rpm --initdb --root=/dest Następnie musimy uruchomić poldka w trybie instalacji do konkretnej lokalizacji (w naszym przypadku bedzie to /dest). By to uczynić należy wydać polecenie: poldek --root=/dest co spowoduje uruchomienie Poldka w trybe interaktywnym gotowego do instalacji pakietów do lokalizacji /dest [root@rescue poldek]# poldek --root=/dest Loading [pndir]ac... Loading [pndir]ac-updates-security... Loading [pndir]ac-updates-general... Loading [pndir]ac-supported... Loading [pndir]ac-ready... 12788 packages read Removed 1173 duplicate packages from available set Loading [rpmdb]/var/lib/rpm... 0 packages loaded Welcome to the poldek shell mode. Type "help" for help with commands. poldek:/all-avail> Teraz należy wpisać polecenie install i po spacji wymienić oddzielone od siebie spacją nazwy pakietów, które chcemy zainstalować i nacisnąc ENTER. Ja na sam początek proponuję następujące pakiety (UWAGA - Wielkość liter ma znaczenie): SysVinit rc-scripts poldek geninitrd bash vim mc openssl dev e2fsprogs cpio login pwdutils module-init-tools kbd env-update lilo alsa-utils-init dhcpcd ntp-client issue-logo linux_logo mpg123-esd normalize vorbis-tools bzip2 unzip p7zip rar gpm eject setcd openssh-clients openssh-server wget cdrdao cdrtools cdrtools-cdda2wav cdrtools-mkisofs cdrtools-readcd cdrtools-utils mtr localedb-src man syslog-ng htop vixie-cron pciutils kernel kernel-sound-alsa Polecenie dla podanych powyżej paczek powinno wyglądać tak (UWAGA - Wielkość liter ma znaczenie): install SysVinit rc-scripts poldek geninitrd bash vim mc openssl dev e2fsprogs cpio login pwdutils module-init-tools kbd env-update lilo alsa-utils-init dhcpcd ntp-client issue-logo linux_logo mpg123-esd normalize vorbis-tools bzip2 unzip rar p7zip gpm eject setcd openssh-server openssh-clients wget cdrdao cdrtools-cdda2wav cdrtools-mkisofs cdrtools-readcd cdrtools-utils mtr localedb-src man syslog-ng htop vixie-cron pciutils kernel-sound-alsa Po zakończeniu działania Poldka mozemy go opuścić poprzez naciśnięcie na klawiaturze CTRL + D. W tym momencie mamy już nowo zainstalowanego PLD, ale jeszcze nie skonfigurowanego, a co za tym idzie nie gotowego do uruchomienia. Teraz jak się zapewne domyślacie zajmiemy się konfiguracją nowo zainstalowanego systemu . ====== Krok 7 - Konfiguracja nowo zainstalowanego systemu ====== Aby zacząć jakąkolwiek konfigurację trzeba zalogować się do naszego nowo zainstalowanego systemu. Służy do tego polecenie: chroot /dest Po wykonaniu tego polecenia będziesz już wewnątrz zainstalowanego przed momentem systemu. Teraz jesteś już gotowy do tego by rozpocząć konfigurację. Proces konfiguracji trzeba rozpocząć od podmontowania wirtualnego systemu plików /proc. W tym celu należy na moment przenieść się na osobną konsolę (wciskając ALT+CTRL+F2) i wykonać polecenia: mount -o bind /proc /dest/proc Po wykonaniu polecenia wracamy na poprzednią konsolę (wciskając ALT+CTRL+F1). Teraz musimy w Midnight Commander wyedytować i dostosować do naszych potrzeb plik /etc/fstab: #/dev/hda1 swap swap defaults 0 0 #/dev/hda2 / ext2 defaults 1 1 none /proc proc defaults,noauto,gid=17 0 0 none /sys sysfs defaults,noauto,gid=17 0 0 none /proc/bus/usb usbfs defaults,noauto,devgid=78,devmode=0664 0 0 none /dev devfs defaults,noauto 0 0 none /dev/pts devpts gid=5,mode=620 0 0 none /dev/cpuset cpuset defaults,noauto 0 0 #none /dev/shm tmpfs mode=1777,nosuid,nodev,noexec 0 0 /dev/fd0 /media/floppy auto user,noauto 0 0 /dev/cdrom /media/cdrom auto users,noauto 0 0 # Examples for mount vfat and ntfs patritions using fsctrl group # ntfs on Linux 2.6.x #/dev/hdXX /mnt/ntfs ntfs user,noauto,umask=002,uid=0,gid=28,nls=iso8859-2 0 0 # ntfs on Linux 2.4.x #/dev/hdXX /mnt/ntfs ntfs user,noauto,umask=002,uid=0,gid=28,iocharset=iso8859-2 0 0 #/dev/hdXX /mnt/vfat vfat user,noauto,umask=002,uid=0,gid=28,iocharset=iso8859-2,codepage=852,exec,showexec 0 0 Dwie pierwsze linijki stanowią przykład konfiguracji systemu plików. Jak pamiętacie my stworzyliśmy: boot,root,var,home,SWAP. Musimy odpowiednio zmodyfikować plik. W naszym przykładnie będzie to wyglądać tak: /dev/hda1 /boot ext3 defaults 1 1 /dev/hda2 swap swap defaults 0 0 /dev/hda3 / ext3 defaults 1 1 /dev/hda5 /var ext3 defaults 1 1 /dev/hda6 /home ext3 defaults 1 1 none /proc proc defaults,noauto,gid=17 0 0 none /sys sysfs defaults,noauto,gid=17 0 0 none /proc/bus/usb usbfs defaults,noauto,devgid=78,devmode=0664 0 0 none /dev devfs defaults,noauto 0 0 none /dev/pts devpts gid=5,mode=620 0 0 none /dev/cpuset cpuset defaults,noauto 0 0 #none /dev/shm tmpfs mode=1777,nosuid,nodev,noexec 0 0 /dev/fd0 /media/floppy auto user,noauto 0 0 /dev/cdrom /media/cdrom auto users,noauto 0 0 # Examples for mount vfat and ntfs patritions using fsctrl group # ntfs on Linux 2.6.x #/dev/hdXX /mnt/ntfs ntfs user,noauto,umask=002,uid=0,gid=28,nls=iso8859-2 0 0 # ntfs on Linux 2.4.x #/dev/hdXX /mnt/ntfs ntfs user,noauto,umask=002,uid=0,gid=28,iocharset=iso8859-2 0 0 #/dev/hdXX /mnt/vfat vfat user,noauto,umask=002,uid=0,gid=28,iocharset=iso8859-2,codepage=852,exec,showexec 0 0 Wychodzimy z Midnight Commander-a. Teraz należy wygenerować initrd czyli plik, który zawiera sterowniki do kontrolera dysków twardych by nasz system podczas startu mógł je załadować i kontynuować wczytywanie. Do generowania initrd służy polecenie geninitrd. Jego składnia jest następująca: geninitrd -f /boot/initrd-numer_jądra.gz numer_jądra W tym momencie by kontynuować musimy dowiedzieć się jaki jest numerek naszego jądra, które mamy zainstalowane. W tym celu w konsoli wydajemy kolejno polecenia: cd /boot ls co powinno spowodować wyświetlenie na ekranie coś podobnego do tego poniżej: [root@rescue /boot]# cd /boot [root@rescue /boot]# ls System.map diag1.img initrd-2.6.16.32-2.gz lilo-pldblue.bmp lost+found vmlinuz-2.6.16.32-2 System.map-2.6.16.32-2 initrd lilo-pldblack.bmp lilo-pldblue8.bmp vmlinuz [root@rescue /boot]# Odnajdujemy tutaj nazwę zaczynającą się od vmlinuz- gdzie po myślniku jest numerek, w tym przypadku 2.6.16.32-2. Wiedząc już jaki jest numer wersji jądra możemy wydać odpowiednie polecenie: geninitrd -f /boot/initrd-2.6.16.32-2.gz 2.6.16.32-2 co spowoduje wygenerowanie pożądanego przez nas pliku initrd. Kolejnym etapem jest konfiguracja w managera ładowania systemu LiLo (Linux Loader). Cała konfiguracja sprowadza się do edycji w Midnight Commander pliku **/etc/lilo.conf**, który po instalacji wygląda tak: # sample lines to set graphical lilo install=bmp bitmap=/boot/lilo-pldblack.bmp bmp-colors=9,,,6,0,0 bmp-table=21,287p,2,4,175p bmp-timer=73,29,7,0,0 # and another one #bitmap=/boot/lilo-pldblue.bmp #bmp-colors=0,8,13,2,4,0 #bmp-table=128p,128p,1,14,144p #bmp-timer=3,29,2,1,5 # and the same as above, but in 256 colors #bitmap = /boot/lilo-pldblue8.bmp #bmp-table = 17,9;1,14,16,4 #bmp-colors = 0,213,137;152,24,1 #bmp-timer = 2,29;152,52,1 Jego zawartość powinna wyglądać tak: install=/boot/boot-bmp.b bitmap=/boot/lilo-pldblack.bmp bmp-colors=9,,,6,0,0 bmp-table=21,287p,2,4,175p bmp-timer=73,29,7,0,0 default=pld timeout=50 boot=/dev/hda map=/boot/map prompt read-only lba32 # Linux image image=/boot/vmlinuz root=/dev/hda3 label=pld initrd=/boot/initrd # EOF Po edycji tego pliku i zapisaniu zmian koniecznie należy wydać polecenie: lilo co spowoduje instalację programu rozruchowego i wyświetlenie komunikatu podobnego do tego: [root@rescue /etc]# lilo Warning: /etc/lilo.conf should be owned by root /proc/misc: No entry for device-mapper found Is device-mapper driver missing from kernel? /dev/mapper/control: open failed: No such device Failure to communicate with kernel device-mapper driver. Warning: Unable to determine video adapter in use in the present system. Added pld * Kolejnym krokiem jest konfiguracja sieci o ile nasz dostawca usług internetowych nie używa DHCP czyli automatycznej konfiguracji sieci. Robimy to tak samo jak jest opisane w Kroku 1 opisu instalacji Smile. Po czynnościach opisanych w Kroku 1 należy jeszcze poinformować nasz system jaki moduł odpowiadający za naszą kartę sieciową ma załadować. Robimy to poprzez wpisanie aliasu w pliku **/etc/modprobe.conf**. Robimy to np. w Midnighht Commander. Plik ten na samym początku jest zazwyczaj bez żadnej zawartości tzn. pusty. Należy w nim dopisać linikję na wzór tej poniżej: alias eth0 nazwa_modułu Dla najpopularniejszych kart sieciowych podaję nazwy modułów: 3c59x --> 3Com 3C905B-TX i podobne 8139too --> wszelkie karty oparte o chipset RTL8139 i podobne eepro100 --> Intel 10/100 Dla przykładu dla karty opartej o RTL8139 linijka będzie wyglądać tak: alias eth0 8139too Jeżeli nie wiemy jaką posiadamy kartę sieciową możemy to sprawdzić poleceniem: lspci Po jego wydaniu powinno się wyświetlić coś podobnego do tego poniżej: [root@krab ~]# lspci 00:00.0 Host bridge: Broadcom GCNB-LE Host Bridge (rev 32) 00:00.1 Host bridge: Broadcom GCNB-LE Host Bridge 00:06.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 0d) 00:0e.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27) 00:0f.0 Host bridge: Broadcom CSB5 South Bridge (rev 93) 00:0f.1 IDE interface: Broadcom CSB5 IDE Controller (rev 93) 00:0f.2 USB Controller: Broadcom OSB4/CSB5 OHCI USB Controller (rev 05) 00:0f.3 ISA bridge: Broadcom CSB5 LPC bridge 00:10.0 Host bridge: Broadcom CIOB-X2 PCI-X I/O Bridge (rev 05) 00:10.2 Host bridge: Broadcom CIOB-X2 PCI-X I/O Bridge (rev 05) 01:04.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 07) [root@krab ~]# Linijka w której odnajdziemy Ethernet controller odpowiada naszej karcie sieciowej. W naszym przypadku Intel Corporation 82557/8/9 [Ethernet Pro 100] co odpowiada modułowi eepro100. Czas na konfigurację Poldka. Zaczynamy od edycji pliku: **/etc/poldek/pld-source.conf**: Wykonujemy jak na początku kroku 5 Przyszedł czas na edycję dwóch plików odpowiedzialnych za ładowanie modułów jądra do obsługi urządzeń. Na początek zajmijmy się plikiem modules znajdującym się w katalogu /etc. Jego zawartość po instalacji wygląda tak: # /etc/modules: kernel modules to load at boot time. # $Id: modules 1331 2003-09-14 11:47:37Z arekm $ # # This file should contain the names of kernel modules that are # to be loaded at boot time, one per line. Comments begin with # a `#', and everything on the line after them are ignored. # loop Na końcu tego pliku należy wpisać oddzielone od siebie klawiszem ENTER nazwy modułów, które mają zostać bezwarunkowo załadowane. Ja proponuję na początek wpisać tu cztery moduły: psmouse --> obsługa myszek PS/2 usbmouse --> obsługa myszek USB usbkbd --> obsługa klawiatury USB ide-cd --> obsługa urządzeń CD/DVD na ATA Teraz czas na konfigurację konsoli i lokalizację naszego systemu. Za konsole odpowiada plik /etc/sysconfig/console. Następujące linijki: CONSOLEFONT=lat2u-16 SET_FONT_TERMINALS="1 2 3 4 5 6 7 8" należy zastąpić następującymi: CONSOLEFONT=lat2-10 SET_FONT_TERMINALS="1 2 3 4 5 6 7 8 12" Za lokalizację odpowiada plik **/etc/sysconfig/i18n**. Następujące linijki: #LANG=pl_PL #SUPPORTED_LOCALES="pl_PL.UTF-8/UTF-8 pl_PL/ISO-8859-2 de_DE/ISO-8859-2 en_GB/ISO-8859-1 en_US/ISO-8859-1" należy zastąpić tymi poniżej: LANG=pl_PL SUPPORTED_LOCALES="pl_PL.UTF-8/UTF-8 pl_PL/ISO-8859-2 en_GB/ISO-8859-1 en_US/ISO-8859-1" Po edycji i zapisaniu plików należy wyjść z Midnight Commander i w konsoli wykonać polecenie: localedb-gen Po jego wykonaniu powinieneś ujrzeć: [root@rescue sysconfig]# localedb-gen Generating pl_PL.UTF-8 using charset UTF-8... Generating pl_PL using charset ISO-8859-2... Generating en_GB using charset ISO-8859-1... Generating en_US using charset ISO-8859-1... DONE. [root@rescue sysconfig]# Ponieważ jesteśmy po wygenerowaniu locali możemy usunąć już niepotrzebną paczkę localedb-src. W tym celu należy wydać polecenie: rpm -e localedb-src po którym może, ale nie musi pojawić się komunikat podobny do tego: error: failed to open /etc/mtab: No such file or directory Teraz czas na konfigurację karty dźwiękowej. By tego dokonac musimy wiedzieć jaka kartę dźwiękową posiadamy. Jeżeli nie wiemy jaka to karta możemy sprawdzić to poraz kolejny poleceniem: lspci Po jego wykonaniu powinno nam się wyświetlić coś podobnego do tego: [root@rescue /boot]# lspci 00:00.0 Host bridge: Intel Corporation 82865G/PE/P DRAM Controller/Host-Hub Interface (rev 02) 00:01.0 PCI bridge: Intel Corporation 82865G/PE/P PCI to AGP Controller (rev 02) 00:1d.0 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (rev 02) 00:1d.3 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev c2) 00:1f.0 ISA bridge: Intel Corporation 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge (rev 02) 00:1f.1 IDE interface: Intel Corporation 82801EB/ER (ICH5/ICH5R) IDE Controller (rev 02) 00:1f.2 IDE interface: Intel Corporation 82801EB (ICH5) SATA Controller (rev 02) 00:1f.3 SMBus: Intel Corporation 82801EB/ER (ICH5/ICH5R) SMBus Controller (rev 02) 00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02) 01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400/G450 (rev 85) 02:09.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller (rev 13) [root@rescue /boot]# Odnajdujemy tam linijkę zawierającą Multimedia audio controller. W naszym przypadku jest to linijka: 00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02) inforująca nas, że nasza karta to Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller. Dla popularnych kart dźwiękowych nazwy modułów przedstawiają się tak: snd-ens1371 --> Ensoniqe Audio, Słynne Sound Blastery 64 i 128 PCI snd-intel8x0 --> Wszystkie zintegrowane karty Intel-a snd-via82xx --> zintegrowane karty dźwiękowe na płytach wyposarzonych w chipset firmy VIA Jak już wiemy jaką posiadamy kartę dźwiękową możemy dopisać 2 linijki do pliku /etc/modprobe.conf na wzór tych poniżej: alias snd-card-0 nazwa_modułu alias sound-slot-0 nazwa_modułu Dla przykładu dla karty opartej o chipset Intel-a linijki będzie wyglądać tak: alias snd-card-0 snd-intel8x0 alias sound-slot-0 snd-intel8x0 Teraz przyszedł czas na skonfigurowanie myszki. Za obsługę myszy odpowiedzialny jest demon o nazwie gdm. Jego plik konfiguracyjny znajduje sie w **/etc/sysconfig/mouse**. W tym pliku należy zmodyfikować (o ile to jest konieczne) dwie poniższe linijki: DEVICE=/dev/mouse MOUSETYPE=imps2 i zastąpić je następującymi: DEVICE=/dev/mouse MOUSETYPE=ps2 Oczywiście już nie w Midnight Commander musimy utworzyć dowiązanie symboliczne do urządzenia odpowiedzialnego za naszego gryzonia (myszka). Jeżeli jest to mysz PS/2 lub USB będzie to /dev/psaux, a jeżeli jest to mysz serialowa podłączona do komputera za pomocą portu RS232 (takie 9-cio pinowe gniazdo) bedzie to urządzenie /dev/ttyS0 (com1), /dev/ttyS1 (com2) itd.. Dla odpowiednich myszek komendy wyglądaja nastepująco: PS/2, USB ln -s /dev/psaux /dev/mouse Serial ln -s /dev/ttyS0 /dev/mouse Teraz najprzyjemniejsza część instalacji czyli zakładanie użytkownika i hasła Do zakładania i zmiany hasła służy polecenie: passwd Na początek należy ustalić hasło dla użytkownika: root czyli superadministratora. Można to zrobić wydając polecenie: passwd root i podając oraz weryfikując hasło. O zmianie hasła powinien system nas poinformować komunikatem: [root@rescue /install]# passwd root Changing password for root. New UNIX password: Retype new UNIX password: [root@rescue /install]# Teraz należałoby założyć użytkownika, przy pomocy którego będziemy używać naszego Linuxa. Do tworzenia użytkowników służy polecenie: useradd Dla przykładu chcąc założyć użytkownika agamamnon należy wydać polecenie: useradd -d /home/users/agamemnon -m -g users -G disk,audio,video,proc,adm,wheel agamamnon a następnie poprzez polecenie: passwd agamamnon założyć mu hasło. Zapewne zauważyliście, że w komendzie dodawania użytkownika jest: -d -- czyli określenie ścieżki, gdzie ma znajdować się katalog domowy naszego użytkownika -- w naszym przypadku /home/users/agamemnon -m -- czyli przekopiuj do katalogu domowego zawartość katalogu /etc/skel -g users -- czyli przypisanie naszego użytkownika do grupy uzytkowników systemu -G disk,audio,video,proc,adm,wheel -- czyli przypisanie naszego użytkownika dodatkowo do kilku innych grup - w tym przypadku: disk - operacje na napędach audio - mozliwość korzystania z urządzeń od dźwięku video - możliwość korzystania z urządzeń od obrazu proc - mozliwość korzystania z /proc adm - dostęp do cześci narzędzi diagnostycznych takich jak mtr czy ping wheel - mozliwośc korzystania z polecenia su - Jeżeli nic nie pokręciliśmy podczas instalacji to własnie podstawowa konfiguracja systemu dobiegła końca. Teraz wystarczy tylko wyjść ze środowiska chrootowanego (CTRL +D) oraz odmontować systemy plików: umount /dest/proc umount /dest/var umount /dest/home umount /dest/boot umount /dest Teraz już tylko pozostało zrestartować komputer wyjmując wczesniej płytę z napędu CD. Po tej instalacji nasz system jest całkowicie gotowy do działania w trybie tekstowym.