|
1.
Alegerea
Introducere
Acum, că kernel-ul este configurat şi compilat şi fişierele de
configurare a sistemului sunt completate corect, este timpul să instalăm un
program ce va încărca kernel-ul când porniţi sistemul. Un astfel de
program se numeşte bootloader. Pentru arhitectura x86, Gentoo Linux
oferă GRUB şi LILO. Dar,
înainte de a instala unul dintre aceste aplicaţii bootloader, vă vom
informa cum să configuraţi framebuffer-ul (presupunând că doriţi acest
lucru, bineînţeles). Cu framebuffer puteţi rula linia de comandă Linux
beneficiind de unele caracteristici (limitate) grafice (cum ar fi utilizarea
imaginii bootsplash pe care Gentoo o oferă).
Opţional: Framebuffer
Dacă v-aţi configurat kernel-ul cu suport pentru framebuffer (sau
aţi utilizat configuraţia implicită din genkernel), puteţi activa
framebuffer prin adăugarea parametrului vga sau video în
configuraţia aplicaţiei bootloader.
Mai întâi de toate, trebuie să ştiţi ce device utilizaţi pentru framebuffer.
Dacă utilizaţi surse de kernel cu patch-uri Gentoo (cum sunt
gentoo-sources) veţi putea selecta vesafb-tng ca VESA driver
type (opţiune implicită pentru aceste surse de kernel). Dacă acesta este şi
cazul dvs., utilizaţi vesafb-tng şi nu vă este necesară setarea
parametrului vga. Altfel, utilizaţi driver-ul vesafb şi trebuie
să setaţi parametrul vga.
Parametrul vga controlează rezoluţia şi adâncimea de culoare pentru
ecranul framebuffer pentru vesafb. Aşa cum este menţionat şi în
/usr/src/linux/Documentation/fb/vesafb.txt (ce este instalat odată
cu un pachet de surse de kernel), trebuie să adăugaţi ca valoare numărul VESA
corespunzător rezoluţiei dorite şi adâncimea de culoare pentru aceasta.
Următorul tabel listează rezoluţiile disponibile şi adâncimile de culoare, şi
le asociază cu valoarea pe care trebuie să i-o adăugaţi parametrului
vga.
|
640x480 |
800x600 |
1024x768 |
1280x1024 |
| 256 |
0x301 |
0x303 |
0x305 |
0x307 |
| 32k |
0x310 |
0x313 |
0x316 |
0x319 |
| 64k |
0x311 |
0x314 |
0x317 |
0x31A |
| 16M |
0x312 |
0x315 |
0x318 |
0x31B |
Parametrul video controlează opţiunile de afişare pentru framebuffer.
Necesită driver-ul de framebuffer (vesafb pentru versiunile de kernel
2.6 sau vesa pentru versiunile 2.4) urmat de valorile pe care doriţi să
le activaţi. Toate variabilele sunt afişate în
/usr/src/linux/Documentation/fb/vesafb.txt, dar vă vom informa
despre cele 3 mai utilizate opţiuni:
| Control |
Descriere |
| ywrap |
Presupune că placa grafică îşi poate realoca memoria consecutiv (spre ex.
să continue de la început când a ajuns la sfârşit)
|
| mtrr:n |
Setează regiştrii MTRR. n poate fi:
0 - dezactivat
1 - necache-uit
2 - modul write-back
3 - modul write-combining
4 - modul write-through
|
| mod |
(doar pentru vesafb-tng)
Setează rezoluţia, adâncimea de culoare şi rata de reîmprospătare. Spre
exemplu, 1024x768-32@85 pentru o rezoluţie de 1024x768, 32 biţi
adâncimea de culoare şi o rata de reîmprospătare de 85 Hz.
|
Rezultatul acestor două argumente poate fi ceva asemănător cu vga=0x318
video=vesafb:mtrr:3,ywrap sau video=vesafb:mtrr:3,ywrap,1024x768-32@85.
Reţineţi (sau notaţi-vă) aceste setări; veţi avea nevoie de ele în scurt timp.
Acum, continuaţi cu instalarea GRUB sau LILO.
1.
Implicit: Utilizarea GRUB
Înţelegerea terminologiei implementată în GRUB
Cea mai critică parte în procesul de înţelegere a aplicaţiei GRUB este
familiarizarea cu modul cum acesta se referă la harddisk-uri şi partiţii.
Partiţia dvs. de Linux /dev/hda1 va fi aproape sigur referită în
GRUB ca (hd0,0). Atenţie la parantezele din jurul
hd0,0 sunt necesare.
Drive-urile de harddisk sunt numerotate de la zero în loc de "a" şi
partiţiile încep de la zero în loc de unu. Atenţie, din nou, cu faptul că
doar drive-urile de harddisk-uri sunt numerotate, nu şi dispozitivele
non-atapi cum ar fi dispozitivele cdrom şi cele de înregistrat cd-uri. De
asemenea, aceeaşi referire există şi pentru drive-urile SCSI. (Normal,
ele sunt numerotate până la numere mai mari decât drive-urile IDE,
exceptând cazul când BIOS-ul este configurat să boot-eze de pe
dispozitivele SCSI). Când configuraţi în BIOS să boot-eze de pe un disc diferit
(spre ex. discul dvs. primary slave), acel disc va fi detectat ca
hd0.
Presupunând că aveţi un hard-disk pe /dev/hda, un cdrom pe
/dev/hdb, un cdwriter pe /dev/hdc, un al doilea
hard-disk pe /dev/hdd şi nici un hard-disk SCSI, atunci
/dev/hdd7 devine pentru GRUB (hd1,6). Ar putea
părea înşelător şi chiar este, dar aşa cum vom vedea, GRUB-ul
oferă un mecanism de completare cu tab la îndemâna celor care au multe
hard-disk-uri şi partiţii şi din acastă cauză s-au pierdut în schema
de numerotare a GRUB-ului.
Obişnuindu-ne cu ideea, este timpul să începem instalarea GRUB-ului.
Instalarea GRUB
Pentru a instala GRUB-ul, trebuie mai întâi sa daţi comanda emerge.
Cod 1.1: Instalarea GRUB |
# emerge grub
|
Deşi GRUB este acum instalat, tot mai trebuie să îi scriem un fişier de
configurare şi să-l instalăm în zona MBR pentru ca GRUB să boot-eze
automat în noul kernel creat. Creaţi /boot/grub/grub.conf cu
nano (sau, dacă este cazul, cu alt editor):
Cod 1.1: Crearea /boot/grub/grub.conf |
# nano -w /boot/grub/grub.conf
|
Acum vom scrie un fişier grub.conf. Mai jos, veţi regăsi
două fişiere grub.conf pentru exemplul de partiţionare
utilizat în acest ghid. Doar primul fişier grub.conf a fost
comentat intensiv. Aveţi grijă să utilizaţi imaginea dvs. de kernel şi,
dacă este cazul, imaginea dvs. initrd.
-
Primul fişier grub.conf este pentru persoanele care nu au
utilizat genkernel pentru a-şi construi kernel-ul
-
Al doilea fişier grub.conf este pentru persoanele care au
utilizat genkernel pentru a-şi construi kernel-ul
Notă:
Dacă sistemul de fişiere al partiţiei dvs. rădăcină este JFS, trebuie
să adăugaţi " ro" în linia de kernel, deoarece JFS trebuie să-şi
restaureze log-ul înainte de a permite mount-area în modul read-write
(citire-scriere).
|
Cod 1.1: grub.conf pentru utilizatorii care nu au folosit genkernel |
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo Linux 2.6.12-r10
root (hd0,0)
kernel /boot/kernel-2.6.12-gentoo-r10 root=/dev/hda3
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
|
Cod 1.1: grub.conf pentru utilizatorii genkernel |
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo Linux 2.6.12-r10
root (hd0,0)
kernel /boot/kernel-genkernel-x86-2.6.12-gentoo-r10 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd /boot/initramfs-genkernel-x86-2.6.12-gentoo-r10
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
|
Notă:
Parametrul udev menţionat la sfârşitul liniei de kernel este necesară
pentru a rezolva temporar o problemă din unele versiuni de genkernel
dacă utilizaţi udev de la început (utilizare, care este implicită).
|
Dacă utilizaţi o schemă de partiţionare şi/sau imagine de kernel
diferită, modificaţi în consecinţă. Oricum, asiguraţi-vă că orice
precedă un device GRUB (cum ar fi (hd0,0)) este relativ la mount
point nu la rădăcină. Cu alte cuvinte,
(hd0,0)/grub/splash.xpm.gz este în realitate
/boot/grub/splash.xpm.gz deoarece (hd0,0) este
/boot.
În plus, dacă alegeţi să utilizaţi o altă schemă de partiţionare şi nu aţi pus
/boot pe o partiţie separată, prefixul /boot utilizat
în exemplele de cod de mai sus este chiar necesar. Dacă aţi urmat planul
de partiţionare sugerat de noi, prefixul /boot nu este necesar,
însă link-ul simbolic boot îl face să funcţioneze. Pe scurt,
exemplele de mai sus ar trebuie să funcţioneze, indiferent dacă aţi utilizat o
partiţie separată pentru /boot sau nu.
Dacă doriţi să introduceţi opţiuni adiţionale pentru kernel,
adăugaţi-le la sfârşitul comenzii kernel. Deja avem o opţiune
(root=/dev/hda3 sau real_root=/dev/hda3), dar puteţi introduce
şi altele, cum ar fi parametrii video şi/sau vga pentru
framebuffer, aşa cum am specificat anterior.
Dacă utilizaţi o versiune de kernel 2.6.7 sau mai nouă şi aţi modificat
contactele pe hard-disk pentru că BIOS-ul dvs. nu poate manipula discuri
mari, va trebui să adăugaţi opţiunea hdx=stroke.
Utilizatorii genkernel ar trebui să ştie că kernel-urile lor
utilizează aceleaşi opţiuni folosite pentru mediul Installation CD. Spre
exemplu, dacă aveţi dispozitive SCSI, ar trebui să adăugaţi doscsi ca
opţiune de kernel.
Acum salvaţi fişierul grub.conf şi ieşiţi. Tot mai trebuie
să instalăm GRUB în zona MBR (Master Boot Record) pentru ca acesta să
fie încărcat automat la pornirea sistemului.
Dezvoltatorii GRUB ne recomandă să utilizăm grub-install.
Totuşi, dacă dintr-un motiv grub-install nu funcţionează corect,
tot mai aveţi soluţia să instalaţi GRUB manual.
Continuaţi cu Implicit: Setarea GRUB Utilizând
grub-install sau Alternativ: Setarea
GRUB Utilizând Instrucţiuni Manuale.
Implicit: Setarea GRUB utilizând grub-install
Pentru a instala GRUB trebuie să rulaţi comanda grub-install. Totuşi,
grub-install nu va funcţiona ca la carte pentru că ne aflăm într-un
mediu chroot. Trebuie să creăm /etc/mtab ce conţine toate
sistemele de fişiere mount-ate. Din fericire, există o soluţie simplă pentru a
realiza acest pas - trebuie doar să copiaţi /proc/mounts ca
/etc/mtab, excluzând linia rootfs, în cazul în care nu aţi
creat o partiţie separată de boot. Următoarea comandă va funcţiona în ambele
cazuri:
Cod 1.1: Crearea /etc/mtab |
# grep -v rootfs /proc/mounts > /etc/mtab
|
Acum, puteţi instala grub, utilizând grub-install:
Cod 1.1: Rularea grub-install |
# grub-install /dev/hda
|
Dacă aveţi mai multe întrebări cu privire la GRUB, vă rugăm să
consultaţi documentul despre Întrebări Frecvente
despre GRUB sau Manualul GRUB.
Continuaţi cu Repornirea Sistemului.
Alternativ: Setarea GRUB Utilizând Instrucţiuni Manuale
Pentru a începe configurarea GRUB, tastaţi grub. Vi se va afişa
grub>, linia de comandă a grub. Acum, trebuie să tastaţi
comenzile potrivite pentru a instala GRUB pe disc.
Cod 1.1: Rularea GRUB shell |
# grub
|
Notă:
Dacă sistemul dvs. nu are dispozitive floppy, adăugaţi opţiunea
--no-floppy comenzii de mai sus pentru a preveni grub să probeze
dispozitivele floppy (neexistente).
|
În configuraţia exemplu, vrem să instalăm GRUB pentru a îl determina
să citească informaţia de pe partiţia de boot /dev/hda1 şi
să instaleze înregistrarea de boot GRUB în zona MBR (Master Boot Record) a
discului, pentru ca primul lucru afişat în momentul pornirii sistemului să
fie promptul GRUB. Bineînţeles, dacă nu aţi urmat configuraţia exemplu
din timpul instalării, schimbaţi comenzile în concordanţă.
Mecanismul de completare prin tab a aplicaţiei GRUB poate fi utilizat pentru
a-l instala. Spre exemplu, dacă tastaţi "root (" urmat de un TAB, vi
se va afişa o listă de dispozitive (cum ar fi hd0). Dacă
tastaţi "root (hd0," urmat de un TAB, vi se va afişa o listă cu
partiţiile disponibile din care să alegeţi (cum ar fi hd0,0).
Prin utilizarea completării cu tab, setarea GRUB nu ar trebui să fie aşa
de complicată. Acum, haideţi, configuraţi GRUB, da? :-)
Cod 1.1: Instalarea GRUB în zona MBR |
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
|
Notă:
Dacă doriţi să instalaţi GRUB într-o anumită zonă în loc de MBR, va
trebui să modificaţi comanda setup pentru a indica partiţia
corespunzătoare. Spre exemplu, dacă doriţi să instalaţi GRUB în
/dev/hda3, atunci comanda devine setup (hd0,2). Totuşi,
puţini utilizatori doresc acest lucru.
|
Dacă aveţi mai multe întrebări în legătura cu GRUB, vă rugăm să
consultaţi Întrebări Frecvente
despre GRUB (FAQ) sau Manualul GRUB.
Notă:
Când reinstalaţi un kernel, nu trebuie să mai copiaţi fişierele. Trebuie
doar să rulaţi make install după compilarea surselor de kernel;
aceasta va copia în mod automat fişierele necesare pentru ajustarea
configuraţiei GRUB.
|
Continuaţi cu Repornirea Sistemului.
1.
Alternativ: Utilizarea LILO
Instalarea LILO
LILO, (LInuxLOader) este cu adevărat cel mai încercat dintre bootloader-ele
de Linux. Totuşi îi lipsesc câteva caracteristici pe care GRUB-ul le are
(acesta este şi motivul pentru care GRUB-ul câştigă popularitate).
Motivul pentru care LILO este în continuare folosit, este acela că pe
anumite sisteme GRUB-ul nu funcţionează, iar LILO funcţionează. Desigur,
mai este folosit şi pentru ca unii cunosc LILO şi vor să-l folosească
în continuare. În ambele cazuri Gentoo este compatibil cu amândouă şi
s-ar părea că aţi hotărât să foloseşti LILO.
Instalarea LILO este foarte uşoară; numai utilizaţi emerge.
Cod 1.1: Instalarea LILO |
# emerge lilo
|
Configurarea LILO
Ca să configuraţi LILO trebuie să creaţi /etc/lilo.conf.
Porniţi editorului dvs. preferat (în acest handbook, folosim nano)
şi creaţi fişierul.
Cod 1.1: Crearea /etc/lilo.conf |
# nano -w /etc/lilo.conf
|
Cu câteva secţiuni în urmă v-am cerut să vă amintiţi numele
kernel-image creat. În următorul exemplu lilo.conf folosim schema
de partiţionare exemplu. Sunt două părţi separate:
-
Pentru cei care nu au folosit genkernel la compilarea kernel
-
Pentru cei care au folosit genkernel la compilarea kernel
Aveţi grijă să utilizaţi imaginea dvs. de kernel şi, dacă este
cazul, imaginea dvs. initrd.
Notă:
Dacă sistemul de fişiere al partiţiei dvs. rădăcină este JFS, trebuie
să adăugaţi " ro" în linia de kernel, deoarece JFS trebuie să-şi
restaureze log-ul înainte de a permite mount-area în modul read-write
(citire-scriere).
|
Cod 1.1: Exemplu /etc/lilo.conf |
boot=/dev/hda
prompt
delay=50
default=gentoo
image=/boot/kernel-2.6.12-gentoo-r10
label=gentoo
read-only
root=/dev/hda3
image=/boot/kernel-genkernel-x86-2.6.12-gentoo-r10
label=gentoo
read-only
root=/dev/ram0
append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev"
initrd=/boot/initramfs-genkernel-2.6.12-gentoo-r10
other=/dev/hda6
label=windows
|
Notă:
Parametrul udev menţionat la sfârşitul liniei de kernel este necesară
pentru a rezolva temporar o problemă din unele versiuni de genkernel
dacă utilizaţi udev de la început (utilizare, care este implicită).
|
Notă:
Dacă folosiţi o schemă de partiţionare şi/sau imagine kernel diferită, adaptaţi
în consecinţă.
|
Dacă doriţi să adăugaţi opţiuni în plus pentru kernel, adăugaţi
append la secţiune. De exemplu, vom adăuga opţiunea video
pentru a activa framebuffer:
Cod 1.1: Folosirea append pentru a adăugarea opţiunilor pentru kernel |
image=/boot/kernel-2.6.12-gentoo-r10
label=gentoo
read-only
root=/dev/hda3
append="video=vesafb:mtrr,ywrap,1024x768-32@85"
|
Dacă utilizaţi o versiune de kernel 2.6.7 sau mai nouă şi aţi modificat
contactele pe hard-disk pentru că BIOS-ul dvs. nu poate manipula discuri
mari, va trebui să adăugaţi opţiunea hdx=stroke.
Utilizatorii genkernel trebuie să ştie că kernel-urile lor folosesc
aceleaşi opţiuni la boot ca cele folosite pentru mediul Installation CD. De
exemplu, pentru un SCSI trebuie să adaugi doscsi ca opţiune kernel.
Acum salvaţi fişierul şi ieşiţi. Ca să terminaţi, trebuie să
rulaţi /sbin/lilo pentru ca LILO să poată aplica
/etc/lilo.conf sistemului dvs. (spre ex. să se instaleze pe
hard-disk). Reţineţi faptul că va trebui să rulaţi din nou
/sbin/lilo de câte ori instalaţi un nou kernel sau efectuaţi
schimbări meniului!
Cod 1.1: Finalizarea instalării LILO |
# /sbin/lilo
|
Notă:
Când reinstalaţi un kernel, nu trebuie să mai copiaţi fişierele. Trebuie
doar să rulaţi make install după compilarea surselor de kernel;
aceasta va copia în mod automat fişierele necesare pentru ajustarea
configuraţiei LILO.
|
Acum, continuaţi cu Repornirea Sistemului.
1.
Repornirea Sistemului
Ieşiţi din mediul chroot şi demount-aţi toate partiţiile. Apoi, tastaţi
comanda magică pe care aţi aşteptat-o: reboot.
Cod 1.1: Demount-area tuturor partiţiilor şi repornirea |
# exit
cdimage ~# cd
cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
cdimage ~# reboot
|
Bineînţeles, nu uitaţi să îndepărtaţi CD-ul boot-abil, altfel sistemul
va boot-a din nou de pe CD în locul noului dvs. sistem Gentoo.
Odată repornit sistemul în instalarea dvs. Gentoo, terminaţi cu (Finalizarea Instalării Gentoo).
|