Gentoo Logo

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
(Presupunănd că doriţi să utilizaţi GMT)
# 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)

(Selectaţi una sau mai multe dintre opţiunile următoare, după necesităţile sistemului)
  <*> 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

înlocuiţi 2.6.10 cu versiunea dvs. de kernel
(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

(Efectuaţi acest pas după instalare, în timpul instrucţiunilor de instalare pentru GRP
# emerge coldplug
# rc-update add coldplug boot

Acum continuaţi consultând capitolul Configurarea Sistemului.


[ << ] [ < ] [ Acasă ] [ > ] [ >> ]


Imprimare

View all

Actualizat la 4 Iulie 2005

Această traducere nu mai este întreţinută

Sumar: Kernel-ul Linux este nucleul fiecărei distribuţii. Acest capitol explică cum să vă configuraţi kernel-ul.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Dezvoltator Gentoo x86

Tavis Ormandy
Dezvoltator Gentoo Alpha

Jason Huebel
Dezvoltator Gentoo x86

Guy Martin
Dezvoltator Gentoo HPPA

Pieter Van den Abeele
Dezvoltator Gentoo PPC

Joe Kallar
Dezvoltator Gentoo SPARC

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Lars Weiler
Editor

Jochen Maes
Editor

Grant Goodyear
Corector

Gerald J. Normandin Jr.
Corector

Donnie Berkholz
Corector

Ken Nowack
Corector

Alin Dobre
Translator Responsabil

Ion Mudreac
Translator

Teddy Drăguţă
Translator

Talos Teodor
Translator

Dragoş Toma
Translator

Muntean Alex
Translator

George Nistorică
Translator

Emil Sîrbu
Translator

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.