Instalarea kernelului 2.6.22.x (Slackware 12.0)
From linux360
Acest tutorial prezintă instalarea din surse a unui kernel 2.6.22.x în distribuția Slackware 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șere 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
- lilo
- reboot
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
- 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 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 fișierului .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
- Alte modificări, specifice configurației hardware
make xconfig
sau
make xmenuconfig
- Construirea kernelului și 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 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
- 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) sau unele soluții de virtualizare (ex: VMware Server).