Erinevus lehekülje "Tuuma kasutamine" redaktsioonide vahel

Allikas: Kuutõrvaja
(kernel.org tuuma kasutamine)
(kernel.org tuum)
 
(ei näidata sama kasutaja 20 vahepealset redaktsiooni)
1. rida: 1. rida:
 
===Sissejuhatus===
 
===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.
+
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===
 
===Standardne tuum===
40. rida: 40. rida:
  
 
   /boot/initrd.img-2.6.18-6-amd64
 
   /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
 
Vastav GRUB bootloaderi seadistusfail /boot/grub/menu.lst võiks olla selline
52. rida: 61. rida:
 
  initrd          /boot/initrd.img-2.6.18-6-amd64
 
  initrd          /boot/initrd.img-2.6.18-6-amd64
 
  savedefault
 
  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
 +
 +
[[Pilt:Kernel-img.conf-1.gif]]
  
 
===kernel.org tuum===
 
===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
+
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# cd /usr/src
  bash# wget ftp://ftp.linux.ee/pub/kernel/linux/kernel/v2.6/linux-2.6.25.6.tar.bz2
+
  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.25.6.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
  
Seejärel tuleb veenduda, et süsteem sisaldab vajalikke vahendeid tuuma kompileerimiseks ja kasutamiseks, lihtsaim moodus selleks on öelda  
+
ning öelda  
  
 
  bash# apt-get build-dep linux-image-2.6-amd64
 
  bash# apt-get build-dep linux-image-2.6-amd64
  
ning vaadata faili
+
ning eriti kontrollida failist linux-2.6.28.7/Documentation/Changes sektsiooni 'Current Minimal Requirements'
  
  bash# less linux-2.6.25.6/Documentation/Changes
+
  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
 
Kui need ettevalmistused on tehtud, tuleb tuum seadistada ning kompileerida
  
  bash# cd linux-2.6.25.6
+
  # cd linux-2.6.28.7
  bash# cp /boot/config-eelmine-versioon .config
+
  # cp /boot/config-eelmine-versioon .config
  bash# make oldconfig
+
  # make oldconfig
  bash# make menuconfig
+
  # apt-get install libncurses5-dev
  bash# make-kpkg -rev tuum26256.1 kernel_image
+
# make menuconfig
  bash# dpkg -i ../kernel-image-2.6.25.6_tuum26256.1_adm64.deb
+
 
  bash# make-kpkg clean
+
[[Pilt:Tuuma-kasutamine-1.gif]]
 +
 
 +
# 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
 +
 
 +
[[Pilt:M-a-1.gif]]
 +
 
 +
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
 +
 
 +
===Kasulikud lisamaterjalid===
 +
 
 +
* http://wiki.debian.org/Kernel
 +
* http://wiki.debian.org/ModuleAssistant
 +
* http://kuutorvaja.eenet.ee/wiki/Debiani_alglaadimine

Viimane redaktsioon: 24. detsember 2009, kell 18:32

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-img.conf-1.gif

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

Tuuma-kasutamine-1.gif

# 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

M-a-1.gif

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

Kasulikud lisamaterjalid