Tuuma kasutamine
Sisukord
Sissejuhatus
Arvuti käivitamisel laadib bootloader esmalt operatsioonisüsteemi tuuma, mis sisaldab arvuti tööks põhilist funktsionaalsust, seejärel käivitab tuum programmi init mis omakorda käivitab muud süsteemsed programmid ja lõpuks käivitatakse vastavalt inittab failis määratud default runlevelile vastavast /etc/rc?.d kataloogisti rakendused, nt /etc/rc2.d. 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
Tuuma uuendamine
Tuuma uuendamisel kasutatakse selliseid seadistusfaile
- /etc/kernel-img.conf - reeglina sobivad vaikeväärtused, 'do_initrd = Yes' on sobiv kasutada initramfs puhul st reeglina, vastasel korral esitatakse dialoog
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 , 2009 aasta alguses ftp://ftp.linux.ee/pub/kernel/linux/kernel/v2.6/linux-2.6.28.7.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.28.7.tar.bz2 bash# tar jxf linux-2.6.28.7.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 eriti kontrollida failist linux-2.6.28.7/Documentation/Changes sektsiooni 'Current Minimal Requirements'
o Gnu C 3.2 # gcc --version o Gnu make 3.79.1 # make --version o binutils 2.12 # ld -v o util-linux 2.10o # fdformat --version o module-init-tools 0.9.10 # depmod -V o e2fsprogs 1.29 # tune2fs o jfsutils 1.1.3 # fsck.jfs -V o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs o xfsprogs 2.6.0 # xfs_db -V o pcmciautils 004 # pccardctl -V o quota-tools 3.09 # quota -V o PPP 2.4.0 # pppd --version o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version o nfs-utils 1.0.5 # showmount --version o procps 3.2.0 # ps --version o oprofile 0.9 # oprofiled --version o udev 081 # udevinfo -V o grub 0.93 # grub --version
Kui need ettevalmistused on tehtud, tuleb tuum seadistada ning kompileerida
# cd linux-2.6.28.7 # cp /boot/config-eelmine-versioon .config # make oldconfig # apt-get install libncurses5-dev # make menuconfig
# apt-get install kernel-package # make-kpkg -rev tuum26287.1 kernel_image # dpkg -i ../kernel-image-2.6.28.7_tuum26287.1_adm64.deb # make-kpkg clean
Mitme protsessoriga arvuti puhul maksab seada enne tuuma kompileerimist keskkonnamuutuja CONCURRENCY_LEVEL, nt nelja protsessori puhul sedasi
# export CONCURRENCY_LEVEL=4
ramdisk'i kasutamine
Ramdiski kokkupakkimine
# cd ramdiski-kataloog # find . | cpio -H newc -o | gzip > ../ramdisk
Module Assistanti kasutamine
Module Assistanti tarkvara paigaldamiseks tuleb öelda
# apt-get install module-assistant
Module Assistani kasutamiseks sobib ehk kõige paremini kasutada interaktiivselt liidest
Töö käigus kasutatud lähtetekstid asuvad kataloogis /usr/src/modules ning tekitatud paketid /usr/src kataloogis.
Tuuma parameetrid
Kui parameetriga panic laaditud tuum nö hangub, siis 180 sekundi pärast tehakse arvutile restart
kernel /boot/vmlinuz-2.6.26-2-xen-amd64 root=/dev/sda1 ro panic=180
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.
- etchnhalf tuuma üks oluline erinevus bxn2 draiveri kasutajate jaoks on, et draiveri nö tööd tegev osa tuleb eraldi firmware kujul paigaldada, öeldes apt-get install firmware-bnx2. Seejuures genereeritakse uus initramfs tõmmis.
- Vahel tuleb arvestada asjaolu, et Lenny (v. 5.0) tuum on kompileeritud GCC v. 4.1 kompilaatoriga kusjuures süsteemis on vaikimisi kasutusel 4.3.
- SysRq key kasutamist kontrollib parameeter
Kernel hacking -> Magic SysRq key