Avertisment :
Acest manual a fost înlocuit cu o versiune mai nouă şi nu mai este întreţinut.
|
[ << ]
[ < ]
[ Acasă ]
[ > ]
[ >> ]
7. Configurarea Kernel-ului
Conţinut:
7.a. Zona de Fus Orar
Trebuie, mai întâi să setaţi fusul orar, astfel încât sistemul
dumneavoastră să ştie unde se află. Uitaţi-vă după fusul orar
potrivit în /usr/share/zoneinfo, apoi faceţi un symlink către
/etc/localtime, folosind ln:
Cod 1.1: Setarea informaţiilor referitoare la fusul orar |
# ls /usr/share/zoneinfo
# ln -sf /usr/share/zoneinfo/GMT /etc/localtime
|
7.b. Instalarea Surselor
Alegerea unui Kernel
Nucleul în jurul carora sunt construite toate distributiile, este kernelul
Linux. Este nivelul dintre programe şi componentele hardware ale sistemului
dumneavoastră. Gentoo pune la dispoziţia utilizatorilor, mai multe surse de
kernel. O listă completă alături de descrierea lor, este accesibilă la
Ghidul Gentoo pentru Kernel.
Pentru arhitectura PPC puteţi alege între vanilla-sources şi
gentoo-sources (amândouă din generaţia 2.6). Cel din urmă este
disponibil când alegeţi o instalare fără reţea. În afară de acestea
există un set de patch-uri pentru kernel pentru Pegasos:
pegasos-sources. Aşa că să continuăm cu instalarea surselor,
utilizând emerge:
Cod 2.1: Instalarea unor surse de kernel |
# emerge gentoo-sources
|
Notă:
Sursele PowerPC sunt bazate pe versiunea 2.6.10-kernel cu patch-uri de
securitate din versiunea 2.6.11 portate regresiv. La momenul publicării,
versiunea de kernel 2.6.11 producea unele probleme pe unele maşini PowerPC.
|
Când vă veţi uita în /usr/src ar trebui să vedeţi un
symlink numit linux. Vom presupune că versiunea de kernel
instalată este gentoo-sources-2.6.10-r8:
Cod 2.2: Vizualizare symlink sursă kernel |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 22 Mar 18 16:23 /usr/src/linux -> linux-2.6.10-gentoo-r8
|
Dacă acesta nu este cazul dvs. (notaţi faptul că linux-2.6.10-gentoo-r8
este doar un exemplu) modificaţi symlink-ul pentru a indica către sursa de
kernel corectă:
Cod 2.3: Modificarea symlink-ului sursei kernel-ului |
# rm /usr/src/linux
# cd /usr/src
# ln -s linux-2.6.10-gentoo-r8 linux
|
Acum este timpul să configurăm şi să compilăm sursa kernel. Puteţi utiliza
genkernel pentru asta, care vă va construi un kernel generic aşa cum
este folosit pe mediul Installation CD. Vom explica configurarea manuală,
totuşi, fiind cea mai bună cale de a vă optimiza sistemul.
Dacă doriţi să configuraţi kernel-ul manual, continuaţi cu secţiunea Implicit: Configurarea Manuală. Dacă doriţi să utilizaţi
genkernel, trebuie să consultaţi secţiunea Alternativ: Utilizarea genkernel, în loc.
7.c. Implicit: Configurarea Manuală
Introducere
Configurarea manuală a kernel-ului este des percepută ca cea mai grea
incercare, pe care fiecare user Linux trebuie să o treacă. Nimic mai fals
-- după ce veţi configura câteva kernel-uri, nici nu vă veţi mai aminti
că a fost greu ;)
Totuşi, un lucru este adevărat: trebuie să vă cunoaşteţi
sistemul înainte de a începe configurarea manuală a kernel-ului. Cele mai
multe informaţii le puteţi obţine prin instalarea pciutils (emerge
pciutils) ce conţine lspci. Acum veţi putea să utilizaţi
comanda lspci în interiorul mediului chroot. Puteţi ignora cu
încredere orice avertismente pcilib (cum ar fi: pcilib: cannot open
/sys/bus/pci/devices) afişate de lspci. Alternativ, puteţi rula
lspci dintr-un mediu non-chroot. Rezultatele sunt aceleaşi. De
asemenea, puteţi rula lsmod pentru a vizualiza modulele kernel-ului
folosit de mediul Installation CD (ar putea să vă formeze o idee despre ce
anume să activaţi).
Acum mergeţi in directorul ce conţine sursa kernel-ului şi executaţi
make menuconfig. Aceasta va porni un meniu de configurare bazat pe
ncurses.
Cod 3.1: Invocarea menuconfig |
# cd /usr/src/linux
# make menuconfig
|
Veţi fi întâmpinat cu mai multe secţiuni de configurare. Mai întăi vom
enumera cateva opţiuni pe care trebuie să le activaţi (altfel Gentoo nu va
funcţiona deloc sau nu va funcţiona corect fară anumite trucuri
suplimentare).
Activarea Opţiunilor Necesare
Mai întâi de toate, activaţi utilizarea codului/driverelor în dezvoltare
sau experimentale. Aveţi nevoie de acesta, altfel anumite drivere foarte
importante nu vor fi afişate:
Cod 3.2: Selectarea codului/driverelor experimentale, General Setup |
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
General setup --->
[*] Support for hot-pluggable devices
|
Acum mergeţi la File Systems şi selectaţi suportul pentru sistemul
de fişiere pe care îl folosiţi. Nu le compilaţi ca module, altfel
Gentoo nu va putea să mount-eze partiţiile. De asemenea, selectaţi
Virtual memory şi proc file system. Nu selectaţi
/dev file system:
Cod 3.3: Selectarea sistemelor de fişiere necesare |
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[ ] /dev file system support (OBSOLETE)
[*] Virtual memory file system support (former shm fs)
<*> Reiserfs support
<*> Ext3 journalling file system support
<*> Second extended fs support
<*> XFS filesystem support
|
Dacă folosiţi PPPoE pentru conectarea la Internet sau daca folosiţi un
modem tip dial-up, va trebui să activaţi următoarele opţiuni in kernel:
Cod 3.4: Selectarea driverelor PPPoE necesare |
Device Drivers --->
Networking support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
|
Cele două opţiuni de compresie nu vor afecta, dar nu sunt întru totul
necesare, la fel ca şi opţiunea PPP over Ethernet, care ar putea fi
folosită doar de rp-pppoe, când este configurat să folosească
modul PPPoE.
Dacă o doriţi, nu uitaţi să includeţi suport in kernel pentru placa de
reţea.
Dezactivaţi suportul ADB pentru codurile de taste raw.
Cod 3.5: Dezactivarea suportului ADB pentru codurile de taste raw. |
Macintosh Device Drivers --->
[ ] Support for ADB raw keycodes
|
De asemenea alegeţi suportul RTC corect (deselectaţi opţiunea
Enhanced RTC
Cod 3.6: Activarea corectă a suportului RTC |
Character devices --->
[ ] Enhanced RTC
General setup --->
[*] Support for /dev/rtc
|
Utilizatorii de maşini OldWorld vor dori suport pentru HFS pentru a copia
imagini de kernel compilate pe partiţia MacOS. Aceasta este aplicabilă şi în
cazul maşinilor NewWorld, deoarece acestea necesită partiţia specială
Apple_Bootstrap:
Cod 3.7: Activarea suportului HFS |
File Systems --->
[*] HFS Support
|
Când terminaţi de configurat kernel-ul, continuaţi cu Compilare şi Instalare.
Compilare şi Instalare
Acum, că kernelul este configurat, este timpul să îl compilaţi şi să-l
instalaţi. Ieşiţi din meniul de configurare şi să începeţi procesul de
compilare:
Cod 3.8: Compilarea kernel-ului |
# make all && make modules_install
|
Când compilarea s-a terminat, copiaţi imaginea de kernel în directorul
/boot (asiguraţi-vă că este mount-ată corect pe Pegasos).
Cod 3.9: Instalarea kernel-ului |
(Apple/IBM) # cp vmlinux /boot/kernel-2.6.10
(Pegasos) # cp arch/ppc/boot/images/zImage.chrp /boot/kernel-2.6.10
|
Este, de asemenea, recomandat să vă copiaţi fişierul de configurare a
kernel-ului în /boot, pentru orice eventualitate :)
Cod 3.10: Back-up pentru fişierul de configurare al kernel-ului |
# cp .config /boot/config-2.6.10-gentoo-r8
|
Acum, continuaţi cu Instalarea de Module Separate
de Kernel.
7.d. Instalarea de Module Separate de Kernel
Configurarea Modulelor
Va trebui să enumeraţi toate modulele, care vreţi să fie încărcate
automat, în /etc/modules.autoload.d/kernel-2.6. Puteţi, de
asemenea, să adaugaţi extra opţiuni modulelelor dacă doriţi.
Pentru a vizualiza toate modulele disponibile, folosiţi următoarea comandă
find. Nu uitaţi să înlocuiţi "<versiune kernel>" cu versiunea
efectivă de kernel pe care tocmai aţi compilat-o:
Cod 4.1: Vizualizarea tuturor modulelor disponibile |
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'
|
De exemplu, pentru a încarca automat modulul 3c59x, editaţi fişierul
kernel-2.6 şi scrieţi numele modulului în el.
Cod 4.2: Editarea /etc/modules.autoload.d/kernel-2.6 |
# nano -w /etc/modules.autoload.d/kernel-2.6
|
Cod 4.3: /etc/modules.autoload.d/kernel-2.6 |
3c59x
|
Continuaţi instalarea cu Configurarea
Sistemului.
7.e. Alternativ: Utilizarea genkernel
Dacă citiţi această secţiune, înseamnă că aţi ales script-ul nostru
genkernel pentru a vă configura kernel-ul.
Acum că sursele kernel-ului sunt instalate, este timpul să compilăm
kernel-ul folosind scriptul genkernel, pentru o compilarea automată a
kernel-ului. genkernel funcţionează prin a configura un kernel
aproape identic cu cel al mediului Installation CD. Asta înseamnă că atunci
când folosiţi genkernel pentru a vă construi un kernel, sistemul va
detecta, la modul general, toate componentele hardware, in timpul procesului de
boot, aşa cum o face mediul Installation CD. Deoarece genkernel nu necesită
vreo configurare manuală a kernel-ului, este ideal pentru cei carora nu le este
la îndemână să-şi compileze propriile kernel-uri.
Acum să vedem cum se foloseşte genkernel. Mai întăi, instalaţi pachetul
genkernel:
Cod 5.1: Instalarea genkernel |
# emerge genkernel
|
Apoi, copiaţi configuraţia kernel-ului utilizată de mediul Installation CD în
locaţia unde genkernel caută configuraţia implicită de kernel:
Cod 5.2: Copierea configuraţiei de kernel de pe Installation CD |
# zcat /proc/config.gz > /usr/share/genkernel/ppc/kernel-config-2.6
|
Acum, compilaţi sursa kernel-ului rulând genkernel --udev all. Fiţi atenţi,
totuşi, că genkernel compilează un kernel care suportă aproape
toate componentele hardware, compilarea durând ceva timp pentru a se termina.
Trebuie să ştiţi că daca partiţia de boot nu foloseşte ext2 sau ext3
ca sistem de fişiere, va trebui să configuraţi manual kernel-ul, folosind
genkernel --menuconfig all şi să adăugaţi suport pentru sistemul
respectiv de fişiere în kernel (nu ca modul). Utilizatorii de
EVMS2 sau LVM2, vor trebui, probabil, să adauge --evms2 sau
--lvm2 ca argumente, de asemenea.
Cod 5.3: Rularea genkernel |
# genkernel --udev all
|
Odată ce genkernel îşi încheie execuţia, vor fi create un set
întreg de module şi initial root disk (initrd). Vom folosi kernel-ul
şi initrd cănd vom configura aplicaţia bootloader. Notaţi undeva numele
imaginii de kernel şi a fişierului initrd pentru că vă va trebui cănd veţi
configura aplicaţia bootloader. Initrd-ul va porni imediat după boot, pentru
a iniţia autodetecţia hardware (la fel ca şi la mediul Installation CD) înainte
ca "adevăratul" sistem să pornească.
Cod 5.4: Verificarea numelor imaginii de kernel creată şi a initrd-ului |
# ls /boot/kernel* /boot/initrd*
|
Acum să parcurgem încă un pas spre a face sistemul să semene mai mult cu
mediul Installation CD -- să instalăm coldplug. În timp ce initrd
autodetectează componentele hardware necesare procesului de boot,
coldplug detectează tot ceea ce rămâne. coldplug este disponibil
ca pachet pe mediul Package CD
Cod 5.5: Instalarea şi activarea coldplug |
# emerge coldplug
# rc-update add coldplug boot
|
Acum continuaţi consultând capitolul Configurarea
Sistemului.
[ << ]
[ < ]
[ Acasă ]
[ > ]
[ >> ]
Conţinutul acestui document este publicat sub licenţa Creative Commons -
Attribution / Share Alike.
|