Difference between revisions of "Instalarea kernelului 2.6.22.x (Slackware 12.0)"
From linux360
m |
|||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Acest tutorial prezintă instalarea din surse a unui kernel 2.6.22.x în | + | Acest tutorial prezintă instalarea din surse a unui kernel 2.6.22.x în distribuţia Slackware Linux 12.0. Informaţiile au fost testate pentru kernelul 2.6.22.5 şi 2.6.22.9. |
− | ''' | + | '''Atenţionare:''' Nu recomand utilizarea acestui tutorial dacă nu înţelegeţi exact ce reprezintă fiecare etapă şi cum trebuie parcursă corect, în concordanţă cu particularităţile instalării distribuţiei Slackware Linux 12.0 pe calculatorul dumneavoastră. |
Nu uitaţi că primul CD (DVD-ul) distribuţiei poate fi folosit şi ca "Rescue CD/DVD" - bootaţi calculatorul de pe CD/DVD şi tastaţi: | Nu uitaţi că primul CD (DVD-ul) distribuţiei poate fi folosit şi ca "Rescue CD/DVD" - bootaţi calculatorul de pe CD/DVD şi tastaţi: | ||
<code>hugesmp.s root=/dev/hda3 rdinit= ro </code> unde "hda3" este partiţia pe care aţi instalat distribuţia Slackware Linux 12.0. | <code>hugesmp.s root=/dev/hda3 rdinit= ro </code> unde "hda3" este partiţia pe care aţi instalat distribuţia Slackware Linux 12.0. | ||
+ | |||
+ | ---- | ||
==Introducere== | ==Introducere== | ||
− | * | + | *Configuraţia iniţială |
− | + | Distribuţia Slackware Linux 12.0 a fost instalată cu opţiunea "full", cu imaginea de kernel hugesmp.s. Am folosit sistemul de fişiere reiserfs. Așa cum este recomandat în [ftp://slackware.osuosl.org/pub/slackware/slackware-12.0/CHANGES_AND_HINTS.TXT CHANGES_AND_HINTS.TXT], [ftp://slackware.osuosl.org/pub/slackware/slackware-12.0/ANNOUNCE.12_0 ANNOUNCE.12_0] şi [ftp://slackware.osuosl.org/pub/slackware/slackware-12.0/RELEASE_NOTES RELEASE_NOTES], am trecut de la kernelul huge-smp la kernelul generic-smp astfel: | |
<code> | <code> | ||
− | # / | + | # cd /boot |
# mkinitrd -c -k 2.6.21.5-smp -m reiserfs | # mkinitrd -c -k 2.6.21.5-smp -m reiserfs | ||
− | |||
− | |||
</code> | </code> | ||
− | + | ||
+ | Fişierul iniţial /etc/lilo.conf este: | ||
+ | |||
<code> | <code> | ||
(...) | (...) | ||
Line 33: | Line 35: | ||
<code> | <code> | ||
$ wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.9.tar.gz | $ wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.9.tar.gz | ||
+ | $ wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.9.tar.gz.sign | ||
</code> | </code> | ||
− | *Verificarea | + | *Verificarea autenticităţii arhivei descărcate |
<code> | <code> | ||
Line 43: | Line 46: | ||
*Despachetarea arhivei | *Despachetarea arhivei | ||
+ | |||
<code> | <code> | ||
− | $ tar -zxvf | + | $ tar -zxvf linux-2.6.22.9.tar.gz |
</code> | </code> | ||
Line 51: | Line 55: | ||
*Copierea arhivei în <tt>/usr/src/</tt> | *Copierea arhivei în <tt>/usr/src/</tt> | ||
− | Există o controversă privind instalarea kernelului în <tt>/usr/src</tt>. Nu voi intra în detalii, | + | Există o controversă privind instalarea kernelului în <tt>/usr/src</tt>. Nu voi intra în detalii, aşa că: |
<code> | <code> | ||
Line 57: | Line 61: | ||
</code> | </code> | ||
− | *Crearea unei legături simbolice către sursele noului kernel | + | *Crearea unei legături simbolice (symlink) către sursele noului kernel |
<code> | <code> | ||
Line 67: | Line 71: | ||
==Construirea kernelului== | ==Construirea kernelului== | ||
− | *Copierea | + | *Copierea unui fişier <tt>.config</tt> în sursele noului kernel |
<code> | <code> | ||
Line 73: | Line 77: | ||
</code> | </code> | ||
− | *Construirea kernelului | + | *Construirea kernelului iniţial (conform informațiilor din fişierul <tt>.config</tt>) |
<code> | <code> | ||
Line 80: | Line 84: | ||
</code> | </code> | ||
− | * | + | * Stabilirea altor modificări, specifice configuraţiei hardware |
<code> | <code> | ||
Line 89: | Line 93: | ||
<code> | <code> | ||
− | make | + | make menuconfig |
</code> | </code> | ||
− | *Construirea kernelului | + | Mai jos sunt câteva exemple: |
+ | |||
+ | - activarea suportului pentru procesoarele duale şi hypertreading | ||
+ | |||
+ | (“Processor type and features” > “Symmetric multi-processing support”); | ||
+ | |||
+ | - activarea suportului pentru 4GB RAM | ||
+ | |||
+ | (“Processor type and features” > “High Memory Support (4GB)”); | ||
+ | |||
+ | - activarea opţiunii “low-latency” kernel pentru sistemele desktop/laptop | ||
+ | |||
+ | (“Processor type and features” > “Preemption model” > “Preemptible kernel”); | ||
+ | |||
+ | - setarea timer-ului la 1000Hz pentru sistemele desktop/laptop | ||
+ | |||
+ | (“Processor type and features” > “Preemption model” > “Timer frequency”). | ||
+ | |||
+ | În final salvaţi modificările. | ||
+ | |||
+ | *Construirea kernelului şi a modulelor de kernel | ||
<code> | <code> | ||
Line 99: | Line 123: | ||
</code> | </code> | ||
− | Instalarea modulelor | + | Instalarea modulelor şi imaginii kernelului |
<code> | <code> | ||
Line 109: | Line 133: | ||
==Modificarea <tt>/etc/lilo.conf</tt>== | ==Modificarea <tt>/etc/lilo.conf</tt>== | ||
− | *Crearea <tt>initrd</tt> pentru noul kernel | + | *Crearea unui <tt>initrd</tt> pentru noul kernel |
<code> | <code> | ||
Line 116: | Line 140: | ||
</code> | </code> | ||
− | *Modificarea | + | *Modificarea fişierului de configurare <tt>lilo.conf</tt> |
+ | |||
<code> | <code> | ||
# mcedit /etc/lilo.conf | # mcedit /etc/lilo.conf | ||
</code> | </code> | ||
− | + | şi adăugaţi informațiile pentru noul kernel | |
<code> | <code> | ||
Line 133: | Line 158: | ||
</code> | </code> | ||
− | apoi | + | apoi rulaţi comanda <tt>lilo</tt>. |
*Cleaning and reboot | *Cleaning and reboot | ||
Line 150: | Line 175: | ||
==Reinstalarea modulelor== | ==Reinstalarea modulelor== | ||
− | Pentru a afla care module de kernel (create de diferite | + | Pentru a afla care module de kernel (create de diferite aplicaţii) trebuie reinstalate, rulaţi comanda |
<code> | <code> | ||
Line 157: | Line 182: | ||
</code> | </code> | ||
− | De asemenea, mai trebuie reinstalate driverele proprietare sau open source pentru diverse componente hardware (ex: placa video) | + | De asemenea, mai trebuie reinstalate driverele proprietare sau open source pentru diverse componente hardware (ex: placa video) şi trebuie reconfigurate unele soluţii de virtualizare (ex: VMware Server). |
+ | |||
+ | [[Category:Slackware Linux]] |
Latest revision as of 22:31, 4 February 2008
Acest tutorial prezintă instalarea din surse a unui kernel 2.6.22.x în distribuţia Slackware Linux 12.0. Informaţiile au fost testate pentru kernelul 2.6.22.5 şi 2.6.22.9.
Atenţionare: Nu recomand utilizarea acestui tutorial dacă nu înţelegeţi exact ce reprezintă fiecare etapă şi cum trebuie parcursă corect, în concordanţă cu particularităţile instalării distribuţiei Slackware Linux 12.0 pe calculatorul dumneavoastră.
Nu uitaţi că primul CD (DVD-ul) distribuţiei poate fi folosit şi ca "Rescue CD/DVD" - bootaţi calculatorul de pe CD/DVD şi tastaţi:
hugesmp.s root=/dev/hda3 rdinit= ro
unde "hda3" este partiţia pe care aţi instalat distribuţia Slackware Linux 12.0.
Contents
Introducere
- Configuraţia iniţială
Distribuţia Slackware Linux 12.0 a fost instalată cu opţiunea "full", cu imaginea de kernel hugesmp.s. Am folosit sistemul de fişiere reiserfs. Așa cum este recomandat în CHANGES_AND_HINTS.TXT, ANNOUNCE.12_0 şi RELEASE_NOTES, am trecut de la kernelul huge-smp la kernelul generic-smp astfel:
- cd /boot
- mkinitrd -c -k 2.6.21.5-smp -m reiserfs
Fişierul iniţial /etc/lilo.conf este:
(...)
Linux bootable partition config begins
image = /boot/vmlinuz-generic-smp-2.6.21.5-smp
initrd = /boot/initrd.gz root = /dev/hda3 label = Slackware read-only # Partitions should be mounted read-only for checking
Linux bootable partition config ends (...)
- Descărcarea kernelului
Am folosit arhiva kernelului 2.6.22.9, descărcată de pe site-ul oficial al GNU/Linux Kernel.
$ wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.9.tar.gz
$ wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.9.tar.gz.sign
- Verificarea autenticităţii arhivei descărcate
$ gpg --keyserver wwwkeys.pgp.net --recv-keys 0x517D0F0E
$ gpg --verify linux-2.6.22.9.tar.gz.sign linux-2.6.22.9.tar.gz
- Despachetarea arhivei
$ tar -zxvf linux-2.6.22.9.tar.gz
Configurarea kernelului
- Copierea arhivei în /usr/src/
Există o controversă privind instalarea kernelului în /usr/src. Nu voi intra în detalii, aşa că:
- mv ~/linux-2.6.22.9 /usr/src/linux-2.6.22.9
- Crearea unei legături simbolice (symlink) către sursele noului kernel
- cd /usr/src/
- rm /usr/src/linux
- ln -s /usr/src/linux-2.6.22.9 linux
Construirea kernelului
- Copierea unui fişier .config în sursele noului kernel
- cp /boot/config /usr/src/linux/.config
- Construirea kernelului iniţial (conform informațiilor din fişierul .config)
- cd /usr/src/linux
- make oldconfig
- Stabilirea altor modificări, specifice configuraţiei hardware
make xconfig
sau
make menuconfig
Mai jos sunt câteva exemple:
- activarea suportului pentru procesoarele duale şi hypertreading
(“Processor type and features” > “Symmetric multi-processing support”);
- activarea suportului pentru 4GB RAM
(“Processor type and features” > “High Memory Support (4GB)”);
- activarea opţiunii “low-latency” kernel pentru sistemele desktop/laptop
(“Processor type and features” > “Preemption model” > “Preemptible kernel”);
- setarea timer-ului la 1000Hz pentru sistemele desktop/laptop
(“Processor type and features” > “Preemption model” > “Timer frequency”).
În final salvaţi modificările.
- Construirea kernelului şi a modulelor de kernel
- make bzImage
- make modules
Instalarea modulelor şi imaginii kernelului
- make modules_install
- cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.22.9-smp
- cp System.map /boot/System.map-2.6.22.9-smp
- cp .config /boot/config-2.6.22.9-smp
Modificarea /etc/lilo.conf
- Crearea unui initrd pentru noul kernel
- cd /boot
- mkinitrd -c -k 2.6.22.9-smp -m reiserfs
- Modificarea fişierului de configurare lilo.conf
- mcedit /etc/lilo.conf
şi adăugaţi informațiile pentru noul kernel
- Linux bootable partition config begins
image = /boot/vmlinuz-2.6.22.9-smp
initrd = /boot/initrd.gz root = /dev/hda3 label = NewSlackware read-only # Partitions should be mounted read-only for checking
- Linux bootable partition config ends
apoi rulaţi comanda lilo.
- Cleaning and reboot
- cd /usr/src/linux
- make clean
La următoarea bootare, comanda uname -srv ar trebui să arate:
Linux 2.6.22.9-smp #1 SMP PREEMPT Fri Sep 28 17:54:30 EEST 2007
Reinstalarea modulelor
Pentru a afla care module de kernel (create de diferite aplicaţii) trebuie reinstalate, rulaţi comanda
- cd /var/log/packages
- grep -l "lib/modules/`uname -r`" *
De asemenea, mai trebuie reinstalate driverele proprietare sau open source pentru diverse componente hardware (ex: placa video) şi trebuie reconfigurate unele soluţii de virtualizare (ex: VMware Server).