Tuuma kasutamine
Sissejuhatus
Arvuti käivitamisel laadib bootloader esmalt operatsioonisüsteemi tuuma, mis sisaldab arvuti tööks põhilist funktsionaalsust ning seejärel käivitatakse süsteemsed programmid ja rakendused. Käesolevas tekstis käistletakse Linuxi tuuma kasutamist Debian GNU/Linuxiga.
Standardne tuum
Debian GNU/Linux sisaldab valmis kompileeritud kujul mitmesuguseid tuumi, mida saab paketihaldusvahenditega paigaldada ja edaspidi uuendada. Nimekirja tuumadest näeb öeldes näiteks
# apt-cache search 'linux-image*'
Näiteks pakett linux-image-2.6-amd64 on 64 bit x86 platvormi tuum
# apt-cache show linux-image-2.6-amd64 Package: linux-image-2.6-amd64 Priority: optional Section: admin Installed-Size: 32 Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org> Architecture: amd64 Source: linux-latest-2.6 (6etch3) Version: 2.6.18+6etch3 Depends: linux-image-2.6.18-6-amd64 Filename: pool/main/l/linux-latest-2.6/linux-image-2.6-amd64_2.6.18+6etch3_amd64.deb Size: 2292 MD5sum: c63dca7dcf0c94f4c7a7163dadf6b865 SHA1: 6b103bcccb2b70730a9520c59d44e0ac2da1e38c SHA256: 34ecfc4ba431a67176faf7e38e46c3e01d76ff68b4b4384cdd44d6eae5c63cbb Description: Linux kernel 2.6 image on AMD64 This package depends on the latest binary image for Linux kernel 2.6 on all 64bit single- and multiprocessor AMD and Intel machines.
Kusjuures linux-image-2.6-686 on nö uuematel 32 bit arvutil kasutamiseks sobiv tuum ning selle tuuma kasutamisel töötab 64 bit x86 riistvara 32 bit režhiimis.
Standardne tuum kasutab ramdiski, st tuuma pakett sisaldab
- /boot/vmlinuz-2.6.18-6-amd64 - tuum
- /lib/modules/2.6.18-6-amd64 - tuuma moodulid
kusjuures tuuma paigaldamise moodustatakse kõnealusele süsteemile sobiv ramdiski tõmmis
/boot/initrd.img-2.6.18-6-amd64
Ise tuuma ramdiski tõmmise moodustamiseks tuleb öelda
bash# mkinitramfs -o /boot/ramdisk-tmp.img
Ramdiski lahti pakkimiseks tuleb öelda
bash# mkdir /tmp/ramdisk && cd /tmp/ramdisk bash# gunzip -c /root/ramdisk.img | cpio -dmvi
Vastav GRUB bootloaderi seadistusfail /boot/grub/menu.lst võiks olla selline
default 0 timeout 15 color cyan/blue white/blue title Debian GNU/Linux, kernel 2.6.18-6-amd64 root (hd0,1) kernel /boot/vmlinuz-2.6.18-6-amd64 root=/dev/sda2 ro initrd /boot/initrd.img-2.6.18-6-amd64 savedefault
Tuuma mooduli kohta info küsimine toimub programmiga modinfo näidates mooduli nime
# modinfo ext3 filename: /lib/modules/2.6.25-2-xen-686/kernel/fs/ext3/ext3.ko license: GPL description: Second Extended Filesystem with journaling extensions author: Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others depends: mbcache,jbd vermagic: 2.6.25-2-xen-686 SMP mod_unload 686
kernel.org tuum
Erinevatel asjaoludel võib olla vajalik kasutada Debiani paketihalduse tuuma asemel nö ehedat Linuxi tuuma. Selleks tuleb kopeerida sobiva versiooni lähtetekst aadressilt http://kernel.org/, veel parem kohalikust peeglist, nt , 2008 aasta keskpaigas ftp://ftp.linux.ee/pub/kernel/linux/kernel/v2.6/linux-2.6.25.6.tar.bz2 kataloogi /usr/src ning lahti pakkida
bash# cd /usr/src bash# wget ftp://ftp.linux.ee/pub/kernel/linux/kernel/v2.6/linux-2.6.25.6.tar.bz2 bash# tar jxf linux-2.6.25.6.tar.bz2
Seejärel tuleb veenduda, et süsteem sisaldab vajalikke vahendeid tuuma kompileerimiseks ja kasutamiseks, lihtsaim moodus selleks on veenduda, et failis /etc/apt/sources.list sisaldub rida
deb-src http://ftp.ee.debian.org/debian stable main non-free contrib
ning öelda
bash# apt-get build-dep linux-image-2.6-amd64
ning vaadata faili
bash# less linux-2.6.25.6/Documentation/Changes
Kui need ettevalmistused on tehtud, tuleb tuum seadistada ning kompileerida
bash# cd linux-2.6.25.6 bash# cp /boot/config-eelmine-versioon .config bash# make oldconfig bash# make menuconfig bash# make-kpkg -rev tuum26256.1 kernel_image bash# dpkg -i ../kernel-image-2.6.25.6_tuum26256.1_adm64.deb bash# make-kpkg clean
Mitme protsessoriga arvuti puhul maksab seada enne tuuma kompileerimist keskkonnamuutuja CONCURRENCY_LEVEL, nt nelja protsessori puhul sedasi
# export CONCURRENCY_LEVEL=4
Märkused
- 2008 suvel ilmutati nn etchnhalf tuum, nt amd64 arhitektuuri jaoks paketinimega linux-image-2.6-amd64-etchnhalf. See põhineb 2.6.24 kernel.org tuumal ja ilmutuse eesmärk oli teha kasutajatele kättesaadavaks mitmeid uuemad draiverid. Etch vaiketuum põhineb versioonil 2.6.18.