<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>https://kuutorvaja.eenet.ee/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MeelisRoos</id>
	<title>Kuutõrvaja - Kasutaja kaastöö [et]</title>
	<link rel="self" type="application/atom+xml" href="https://kuutorvaja.eenet.ee/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MeelisRoos"/>
	<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php/Eri:Kaast%C3%B6%C3%B6/MeelisRoos"/>
	<updated>2026-04-19T05:35:35Z</updated>
	<subtitle>Kasutaja kaastöö</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Debiani_alglaadimine&amp;diff=10567</id>
		<title>Debiani alglaadimine</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Debiani_alglaadimine&amp;diff=10567"/>
		<updated>2009-04-06T14:51:15Z</updated>

		<summary type="html">&lt;p&gt;MeelisRoos: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Arvuti, õieti operatsioonisüsteemi kasutamine algab arvuti käivitamisega, tavaliselt toite sisselülitamise teel, seejärel toimub operatsioonisüsteemi nn alglaadimine (ingl. k. booting, bootup, boot) ja lõpuks saab kasutaja süsteemi sisse logida ja hakata arvutit nö tavapärasel viisil kasutama.&lt;br /&gt;
&lt;br /&gt;
Käesolevas tekstis on kirjeldatud seda järgnevust, mille arvuti läbib alglaadimisel&lt;br /&gt;
&lt;br /&gt;
* toite sisselülitamise järel omandab kontrolli püsimälus olev firmware (PC puhul BIOS)&lt;br /&gt;
* BIOS laadib ja käivitab alglaaduri (nt GRUB - GRand Unified Bootloader)&lt;br /&gt;
* GRUB laadib tuuma ja initrd/initramfs (initial ramdisk/initial ram file system)&lt;br /&gt;
* GRUB käivitab tuuma&lt;br /&gt;
* tuum käivitab esialgse init-programmi initramfs pealt&lt;br /&gt;
* initramfs teeb oma töö ära ja monteerib juurfailisüsteemi&lt;br /&gt;
* initramfs annab juhtimise üle operatsioonisüsteemi programmile init&lt;br /&gt;
* operatsioonisüsteemi init käivitab süsteemis protsessid&lt;br /&gt;
* süsteem on kasutamiseks valmis (nt saab kasutaja sisse logida)&lt;br /&gt;
&lt;br /&gt;
Kuigi Debiani kasutamine ei eelda otseselt kasutaja sekkumist alglaadimise protseduuri ja sündmused toimuvad automaatselt, aitab alglaadimisel toimuvatest sündmustest aru saamine paremini tulla toime nt sellistel juhtumitel&lt;br /&gt;
&lt;br /&gt;
* süsteemi automaatne alglaadimine on tarvis peatada enne lõpulejõudmist (nt millegi kontrolliks soovitakse peatuda enne operatsioonisüsteemi init programmi käivitamist)&lt;br /&gt;
* operatsioonisüsteem on kopeeritud teisele riistvarale, kus ta ei käivitu automaatselt (tõenäoliselt on põhjuseks, et initramfs ei laadi kõvaketta kasutamiseks vajalikke mooduleid)&lt;br /&gt;
&lt;br /&gt;
===BIOS===&lt;br /&gt;
&lt;br /&gt;
Arvuti alglaadimise seisukohast on BIOS&#039;is (Basic Input Output System) tarvis näidata, milliselt ressursilt toimub alglaaduri kasutamine. Tavaliselt on see lokaalne kõvaketas, kuid võib olla ka nt PXE võimelise võrgukaardi abil tftp server.&lt;br /&gt;
&lt;br /&gt;
===Alglaadur===&lt;br /&gt;
&lt;br /&gt;
Alglaaduri (ingl. k. bootloader) ülesanne on laadida sobivate parameetritega operatsioonisüsteemi tuum ja initramfs, st käivitada operatsioonisüsteem. Levinud on mitmeid erinevad alglaadurid, Debiani paigaldamisel pakutakse kasutajale valikut paigaldada GRUB, aga Debiani saab käivitada ka teiste alglaaduritega, nt LILO sh alglaadida võrgust.&lt;br /&gt;
&lt;br /&gt;
Alglaadur GRUB koosseisu kuulub mitu komponenti ja alglaaduri töö toimub mitmeastmeliselt&lt;br /&gt;
&lt;br /&gt;
* esmalt laadib BIOS alglaaduri nn esimene taseme (ingl. k. stage 1) kõvaketta alguses paiknevalt MBR&#039;ilt (ingl. k. Master Boot Record); esimese taseme laadimise järel kasutajal tavaliselt ei ole veel võimalik sekkuda, automaatselt järgneb suundumine teise taseme juurde; selleks loeb esimene taseme alglaadur alglaaduri paigaldamisel kindlaks määratud kohast kõvakettal alglaaduri teise taseme (ingl. k. stage 2); teise taseme paiknemine on kirjas MBR&#039;is ning on määratud nö füüsilise sektori asukohaga, mitte kasutades failisüsteemi mõisteid, kuna esimene tase ei oska kasutada failisüsteemi&lt;br /&gt;
* teise taseme laadimise järel on kasutajal ees /boot/grub/menu.lst faili alusel genereeritud menüü, kust saab teha edasisi valikuid; oluline on tähele panna, et teise taseme juures on alglaaduril oskus kasutada enamlevinud failisüsteeme, sh ext3; teise taseme töö tulemusena saab kasutaja määrata millist tuuma ja ramdiski ta kasutama hakkab ning näidata tuuma juures erinevaid parameetreid (reeglina juurfailisüsteemi asukoha)&lt;br /&gt;
* alglaadur annab juhtimise üle operatsioonisüsteemi tuumale, laaditakse tuum; siinkohal on oluline, et kuni tuuma laadimisele eelnenud perioodil olid kasutuses nn BIOSi seadmed, nüüd kontrollib seadmeid operatsioonisüsteemi tuum (ja tuuma moodulid); sellise asenduse tulemusena võib vahel esineda nähtus, kus kuni tuuma laadimiseni töötas USB klaviatuur ning oli kasutatav CD seade, seejärel aga enam mitte, arusaadavalt on põhjuseks, et tuumas sel juhul puudub vastavate seadmete toetus&lt;br /&gt;
&lt;br /&gt;
Alglaaduri GRUB paketi koosseisu kuuluvate failide nimekirja saab vaadata öeldes&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L grub&lt;br /&gt;
&lt;br /&gt;
===Tuum ja initramfs===&lt;br /&gt;
&lt;br /&gt;
Kuigi praktiliselt on võimalik süsteem ettevalmistada ka nii, et alglaadur laadib tuuma ning tuuma laadimise lõpus käivitatakse otse operatsioonisüsteemi init programm, toimub reeglina Debiani puhul alglaadimisel selline järgnevus&lt;br /&gt;
&lt;br /&gt;
* alglaadur laadib tuuma ja initramfs kujutise&lt;br /&gt;
* tuum pakib initramfs kujutisest mällu lahti spetsiaalselt ettevalmistatud nn. init-failisüsteemi (ingl. k. initramfs ehk initramfs)&lt;br /&gt;
* initramfs peal on iseenesest miniatuurse operatsioonisüsteemi juurfailisüsteem, millelt käivitatakse init skript&lt;br /&gt;
* init skripti töö tulemusena toimub rida täiendavaid initsialiseerimisi (nt plokkseadmete st kõvaketaste, tarkvaralise raidi, krüptitud plokkseadmete või lvm kasutamise jaoks vastavate tuuma moodulite laadimine ja nende ressursside kasutuselevõtmine)&lt;br /&gt;
* ühendatakse külge nö päris operatsioonisüsteemi juurfailisüsteem&lt;br /&gt;
* operatsioonisüsteemi juurfailisüsteemilt käivitatakse init programm&lt;br /&gt;
&lt;br /&gt;
Tavaliselt paigaldatakse tuum ja initramfs operatsioonisüsteemi paigaldamise käigus. Asjassepuutuvate failide nimekirja saab vaadata öeldes nii&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L linux-image-2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
  /boot/vmlinuz-2.6.26-1-xen-amd64&lt;br /&gt;
&lt;br /&gt;
ja&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L linux-modules-2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
  /boot/System.map-2.6.26-1-xen-amd64&lt;br /&gt;
  /boot/config-2.6.26-1-xen-amd64&lt;br /&gt;
  /lib/modules/2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Oluline on tähele panne, et initramfs&lt;br /&gt;
&lt;br /&gt;
  /boot/initrd.img-2.6.26-1-xen-amd64&lt;br /&gt;
&lt;br /&gt;
ei paigaldata otseselt paketihaldusest, vaid konstrueeritakse seadistusfailide abil automaatselt kohapeal programmi update-initramfs abil. Samuti võbi siit tähele panna, et failinimi on ajaloolistel põhjustel endiselt initrd. Initrd oli varasem viis esialgse juurfailisüsteemi ette andmiseks, mis kasutas mäluketast (ramdisk), tänapäeval on selle asemele tulnud initramfs, mis on mälukasutuse suhtes efektiivsem.&lt;br /&gt;
&lt;br /&gt;
Alltoodud näidetes on kasutatud Debiani paketihalduse tuuma ja operatsioonisüsteemi alglaadimisel mitte füüsilist arvutit vaid Xeni domU virtuaalset operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
====initramfs init skripti täitmise protseduur====&lt;br /&gt;
&lt;br /&gt;
initramfs arhiiv on nn newc formaadis cpio arhiiv, mis on gzip&#039;ga kokku pakitud. Olemasolevad initramfs lahtipakkimiseks tuleb öelda&lt;br /&gt;
&lt;br /&gt;
  # mkdir /tmp/initrd &amp;amp;&amp;amp; cd /tmp/initrd&lt;br /&gt;
  # gunzip -c /boot/initrd.img-2.6.26-1-xen-amd64 | cpio -dmi&lt;br /&gt;
  42750 blocks&lt;br /&gt;
  # ls -l&lt;br /&gt;
  total 36&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 bin&lt;br /&gt;
  drwxr-xr-x 3 root root 4096 2009-04-04 15:50 conf&lt;br /&gt;
  drwxr-xr-x 5 root root 4096 2009-04-04 15:50 etc&lt;br /&gt;
  -rwxr-xr-x 1 root root 4238 2009-01-07 16:14 init&lt;br /&gt;
  drwxr-xr-x 4 root root 4096 2009-04-04 15:50 lib&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 lib64&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 sbin&lt;br /&gt;
  drwxr-xr-x 7 root root 4096 2009-04-04 15:50 scripts&lt;br /&gt;
&lt;br /&gt;
Kokkupakkimiseks sobib öelda, arusaadavalt peab olema ettevaatlik, et mitte töötavat initramfs arhiivi üle kirjutada&lt;br /&gt;
&lt;br /&gt;
  # find . | cpio -H newc -o | gzip &amp;gt; /boot/initrd.img&lt;br /&gt;
&lt;br /&gt;
uue initramfs ahiivi kasutamiseks tuleb Xeni domU seadistusfailis kasutada rida&lt;br /&gt;
&lt;br /&gt;
  ramdisk=&#039;/boot/initrd.img&#039;&lt;br /&gt;
&lt;br /&gt;
Peale tuuma bootimist laaditakse alglaaduri seadistusfailis näidatud initramfs ning käivitatakse sealt skript init. See skript on suhtliselt hästi loetav, tegevused toimuvad sellises järjekorras&lt;br /&gt;
&lt;br /&gt;
* moodustatakse kataloogid /dev, /root, /sys, /proc ja /tmp&lt;br /&gt;
* ühendatakse külge failisüsteemid /sys a /proc&lt;br /&gt;
* moodustatakse seadmed /dev/console ja /dev/null&lt;br /&gt;
* kirjeldatakse ja algvääärtustatakse muutujad ROOT, break, init, BOOT jt&lt;br /&gt;
* laaditakse sisse funktsioonid skriptist ./scripts/functions&lt;br /&gt;
* väärtustatakse veel muutujaid kerneli parameetritega antud andmete abil&lt;br /&gt;
* käivitatakse scripts/init-top skriptid&lt;br /&gt;
&lt;br /&gt;
  scripts/init-top/all_generic_ide&lt;br /&gt;
  scripts/init-top/framebuffer&lt;br /&gt;
  scripts/init-top/keymap&lt;br /&gt;
&lt;br /&gt;
* laaditakse tuuma moodulid&lt;br /&gt;
* käivitatakse scripts/init-premount skriptid&lt;br /&gt;
&lt;br /&gt;
  scripts/init-premount/blacklist&lt;br /&gt;
  scripts/init-premount/udev&lt;br /&gt;
  scripts/init-premount/thermal&lt;br /&gt;
&lt;br /&gt;
* loetakse sisse funktsioonid skriptist /scripts/${BOOT}, antud juhul /scripts/local&lt;br /&gt;
* ühendatakse külge nö päris juurfailisüsteem&lt;br /&gt;
&lt;br /&gt;
  /scripts/local-top&lt;br /&gt;
  /scripts/local-premount&lt;br /&gt;
  /scripts/local-bottom&lt;br /&gt;
&lt;br /&gt;
* käivitatakse /scripts/init-bottom skriptid, tapetakse initramfs udev protsess&lt;br /&gt;
&lt;br /&gt;
  scripts/init-bottom/udev&lt;br /&gt;
&lt;br /&gt;
* liigutatakse /sys ja /proc failisüsteemi päris juurfailisüsteemi alla&lt;br /&gt;
&lt;br /&gt;
  mount -n -o move /sys ${rootmnt}/sys&lt;br /&gt;
  mount -n -o move /proc ${rootmnt}/proc&lt;br /&gt;
&lt;br /&gt;
* käivitatakse nö päris operatsioonisüsteemi init&lt;br /&gt;
&lt;br /&gt;
  exec run-init ${rootmnt} ${init} &amp;quot;$@&amp;quot; &amp;lt;${rootmnt}/dev/console &amp;gt;${rootmnt}/dev/console&lt;br /&gt;
&lt;br /&gt;
initramfs init skripti täitmisega kaasneb konsoolil selline logi, nagu näha on mõned teated Xeni spetsiifilised, ilmselt aitaks fan ja thermal mooduli blacklistimine&lt;br /&gt;
&lt;br /&gt;
  Loading, please wait...&lt;br /&gt;
  Begin: Loading essential drivers ... done.&lt;br /&gt;
  Begin: Running /scripts/init-premount ... FATAL: Error inserting fan \&lt;br /&gt;
    (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/fan.ko): No such device&lt;br /&gt;
  WARNING: Error inserting processor (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/processor.ko): \&lt;br /&gt;
    No such device&lt;br /&gt;
  [    1.216595] thermal: Unknown symbol acpi_processor_set_thermal_limit&lt;br /&gt;
  FATAL: Error inserting thermal (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/thermal.ko): \&lt;br /&gt;
    Unknown symbol in module, or unknown parameter (see dmesg)&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Mounting root file system ... Begin: Running /scripts/local-top ... &lt;br /&gt;
  [    1.396075] device-mapper: uevent: version 1.0.3&lt;br /&gt;
  [    1.396752] device-mapper: ioctl: 4.13.0-ioctl (2007-10-18) initialised: dm-devel@redhat.com&lt;br /&gt;
  Volume group &amp;quot;system&amp;quot; not found&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Running /scripts/local-premount ... done.&lt;br /&gt;
  [    1.537167] kjournald starting.  Commit interval 5 seconds&lt;br /&gt;
  [    1.537182] EXT3-fs: mounted filesystem with ordered data mode.&lt;br /&gt;
  Begin: Running /scripts/local-bottom ... done.&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Running /scripts/init-bottom ... done.&lt;br /&gt;
  INIT: version 2.86 booting&lt;br /&gt;
&lt;br /&gt;
====initramfs init skripti täitmise peatamine====&lt;br /&gt;
&lt;br /&gt;
Üks huvipakkuv initramfs&#039;ga tegelemise rakendus on peatada initramfs täitmine kasutades tuuma parameetrit break. Nt peatame enne initramfs udev protsessi tapmist, kusjuures päris juurikas on siis juba külge ühendatud, selleks tuleb kasutada domU seadistusfailis rida (xencons=tty on Xeni spetsiifiline)&lt;br /&gt;
&lt;br /&gt;
  extra=&#039;break=bottom xencons=tty&#039;&lt;br /&gt;
&lt;br /&gt;
Tulemusena sattuma nn initramfs shelli, mis on tegelikult ash shell&lt;br /&gt;
&lt;br /&gt;
  ...&lt;br /&gt;
  Begin: Running /scripts/local-bottom ... done.&lt;br /&gt;
  done.&lt;br /&gt;
  Spawning shell within the initramfs&lt;br /&gt;
  &lt;br /&gt;
  BusyBox v1.10.2 (Debian 1:1.10.2-2) built-in shell (ash)&lt;br /&gt;
  Enter &#039;help&#039; for a list of built-in commands.&lt;br /&gt;
  &lt;br /&gt;
  /bin/sh: can&#039;t access tty; job control turned off&lt;br /&gt;
  (initramfs) &lt;br /&gt;
&lt;br /&gt;
ning selles shellis saab kasutada neid käske, mis on initramfs sees toetatud, nt&lt;br /&gt;
&lt;br /&gt;
  (initramfs) ifconfig eth0&lt;br /&gt;
  eth0      Link encap:Ethernet  HWaddr 70:01:68:01:00:51  &lt;br /&gt;
          BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000 &lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
või&lt;br /&gt;
&lt;br /&gt;
  (initramfs) df -h  &lt;br /&gt;
  Filesystem                Size      Used Available Use% Mounted on&lt;br /&gt;
  udev                     10.0M      8.0k     10.0M   0% /dev&lt;br /&gt;
  /dev/sda1                31.7G      2.4G     27.8G   8% /root&lt;br /&gt;
&lt;br /&gt;
Kuna päris juurfailisüsteem on ühendatud, siis on võimalik seda kasutada&lt;br /&gt;
&lt;br /&gt;
  (initramfs) mount -t proc /proc /root/proc&lt;br /&gt;
  (initramfs) mount -t sysfs /sys /root/sys&lt;br /&gt;
  (initramfs) chroot /root&lt;br /&gt;
&lt;br /&gt;
Edasi saab juba täielisemalt arvutit kasutada, nt peale võrgu seadistamist käivitada ssh serveri.&lt;br /&gt;
&lt;br /&gt;
initramfs promptist väljumiseks tuleb valida Ctrl+D või kirjutada nt &#039;exit&#039;, seejärel jätkub init skripti järgnevus ja operatsioonisüsteemi alglaadimine jätkub.&lt;br /&gt;
&lt;br /&gt;
====initramfs seadistamine====&lt;br /&gt;
&lt;br /&gt;
initramfs genereerimiseks tuleb öelda nt&lt;br /&gt;
&lt;br /&gt;
  # update-initramfs -u -k all&lt;br /&gt;
&lt;br /&gt;
initramfs moodustamist saab juhtida seadistusfailiga /etc/initramfs-tools/initramfs.conf ning kontrollides kataloogi sisu&lt;br /&gt;
&lt;br /&gt;
  /usr/share/initramfs-tools/scripts&lt;br /&gt;
&lt;br /&gt;
Sinna kataloogi kopeerivad ka teised paketid oma skripte, nt&lt;br /&gt;
&lt;br /&gt;
  # dpkg -S /usr/share/initramfs-tools/scripts/local-top/mdadm &lt;br /&gt;
  mdadm: /usr/share/initramfs-tools/scripts/local-top/mdadm&lt;br /&gt;
  # dpkg -S /usr/share/initramfs-tools/scripts/local-top/lvm2&lt;br /&gt;
  lvm2: /usr/share/initramfs-tools/scripts/local-top/lvm2&lt;br /&gt;
&lt;br /&gt;
===Operatsioonisüsteemi init===&lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteemi init programmi käivitamisel tekib esimene süsteemis töötav protsess, kõik muud protsessid on selle protsessi poolt otseselt või kaudselt käivitatud. init programmi tööd kontrollib seadistusfail /etc/inittab, mille alguses on kirjas&lt;br /&gt;
&lt;br /&gt;
  # egrep -v &amp;quot;^#|^$&amp;quot; /etc/inittab&lt;br /&gt;
  id:2:initdefault:&lt;br /&gt;
  si::sysinit:/etc/init.d/rcS&lt;br /&gt;
  ~~:S:wait:/sbin/sulogin&lt;br /&gt;
  l0:0:wait:/etc/init.d/rc 0&lt;br /&gt;
  l1:1:wait:/etc/init.d/rc 1&lt;br /&gt;
  l2:2:wait:/etc/init.d/rc 2&lt;br /&gt;
  l3:3:wait:/etc/init.d/rc 3&lt;br /&gt;
  l4:4:wait:/etc/init.d/rc 4&lt;br /&gt;
  l5:5:wait:/etc/init.d/rc 5&lt;br /&gt;
  l6:6:wait:/etc/init.d/rc 6&lt;br /&gt;
  z6:6:respawn:/sbin/sulogin&lt;br /&gt;
  ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now&lt;br /&gt;
  pf::powerwait:/etc/init.d/powerfail start&lt;br /&gt;
  pn::powerfailnow:/etc/init.d/powerfail now&lt;br /&gt;
  po::powerokwait:/etc/init.d/powerfail stop&lt;br /&gt;
  1:2345:respawn:/sbin/getty 38400 tty1&lt;br /&gt;
  2:23:respawn:/sbin/getty 38400 tty2&lt;br /&gt;
  3:23:respawn:/sbin/getty 38400 tty3&lt;br /&gt;
  4:23:respawn:/sbin/getty 38400 tty4&lt;br /&gt;
  5:23:respawn:/sbin/getty 38400 tty5&lt;br /&gt;
  6:23:respawn:/sbin/getty 38400 tty6&lt;br /&gt;
&lt;br /&gt;
ja mis vaikimisi korraldab sellises järjekorras edasise süngmuste toimumise&lt;br /&gt;
&lt;br /&gt;
* käivitatakse skript /etc/init.d/rcS&lt;br /&gt;
&lt;br /&gt;
  #! /bin/sh&lt;br /&gt;
  #&lt;br /&gt;
  # rcS&lt;br /&gt;
  #&lt;br /&gt;
  # Call all S??* scripts in /etc/rcS.d/ in numerical/alphabetical order&lt;br /&gt;
  #&lt;br /&gt;
  &lt;br /&gt;
  exec /etc/init.d/rc S&lt;br /&gt;
&lt;br /&gt;
* tähestikulises järjekorras käivitatakse skriptid kataloogist /etc/rcS.d, tegelikult on need lingid /etc/init.d kataloogi skriptidele&lt;br /&gt;
&lt;br /&gt;
  # find /etc/rcS.d -type l | sort&lt;br /&gt;
  /etc/rcS.d/S01glibc.sh&lt;br /&gt;
  /etc/rcS.d/S02hostname.sh&lt;br /&gt;
  /etc/rcS.d/S02mountkernfs.sh&lt;br /&gt;
  /etc/rcS.d/S03udev&lt;br /&gt;
  /etc/rcS.d/S04mountdevsubfs.sh&lt;br /&gt;
  /etc/rcS.d/S05bootlogd&lt;br /&gt;
  /etc/rcS.d/S05keymap.sh&lt;br /&gt;
  /etc/rcS.d/S08hwclockfirst.sh&lt;br /&gt;
  /etc/rcS.d/S10checkroot.sh&lt;br /&gt;
  /etc/rcS.d/S11hwclock.sh&lt;br /&gt;
  /etc/rcS.d/S12mtab.sh&lt;br /&gt;
  /etc/rcS.d/S18ifupdown-clean&lt;br /&gt;
  /etc/rcS.d/S20module-init-tools&lt;br /&gt;
  /etc/rcS.d/S25mdadm-raid&lt;br /&gt;
  /etc/rcS.d/S26cryptdisks-early&lt;br /&gt;
  /etc/rcS.d/S26lvm2&lt;br /&gt;
  /etc/rcS.d/S28cryptdisks&lt;br /&gt;
  /etc/rcS.d/S30checkfs.sh&lt;br /&gt;
  /etc/rcS.d/S30procps&lt;br /&gt;
  /etc/rcS.d/S35mountall.sh&lt;br /&gt;
  /etc/rcS.d/S36mountall-bootclean.sh&lt;br /&gt;
  /etc/rcS.d/S36udev-mtab&lt;br /&gt;
  /etc/rcS.d/S37mountoverflowtmp&lt;br /&gt;
  /etc/rcS.d/S39ifupdown&lt;br /&gt;
  /etc/rcS.d/S40networking&lt;br /&gt;
  /etc/rcS.d/S43portmap&lt;br /&gt;
  /etc/rcS.d/S44nfs-common&lt;br /&gt;
  /etc/rcS.d/S45mountnfs.sh&lt;br /&gt;
  /etc/rcS.d/S46mountnfs-bootclean.sh&lt;br /&gt;
  /etc/rcS.d/S48console-screen.sh&lt;br /&gt;
  /etc/rcS.d/S55bootmisc.sh&lt;br /&gt;
  /etc/rcS.d/S55urandom&lt;br /&gt;
  /etc/rcS.d/S70x11-common&lt;br /&gt;
  /etc/rcS.d/S99stop-bootlogd-single&lt;br /&gt;
&lt;br /&gt;
* tähestikulises järjekorras käivitatakse skriptid kataloogist /etc/rc2.d, tegelikult on need lingid /etc/init.d kataloogi skriptidele&lt;br /&gt;
&lt;br /&gt;
  # find /etc/rc2.d -type l | sort&lt;br /&gt;
  /etc/rc2.d/S10rsyslog&lt;br /&gt;
  /etc/rc2.d/S12acpid&lt;br /&gt;
  /etc/rc2.d/S16ssh&lt;br /&gt;
  /etc/rc2.d/S20exim4&lt;br /&gt;
  /etc/rc2.d/S20nfs-common&lt;br /&gt;
  /etc/rc2.d/S20openbsd-inetd&lt;br /&gt;
  /etc/rc2.d/S20rsync&lt;br /&gt;
  /etc/rc2.d/S20smartmontools&lt;br /&gt;
  /etc/rc2.d/S20sysstat&lt;br /&gt;
  /etc/rc2.d/S20xend&lt;br /&gt;
  /etc/rc2.d/S23ntp&lt;br /&gt;
  /etc/rc2.d/S25mdadm&lt;br /&gt;
  /etc/rc2.d/S89atd&lt;br /&gt;
  /etc/rc2.d/S89cron&lt;br /&gt;
  /etc/rc2.d/S99rc.local&lt;br /&gt;
  /etc/rc2.d/S99rmnologin&lt;br /&gt;
  /etc/rc2.d/S99stop-bootlogd&lt;br /&gt;
&lt;br /&gt;
===Süsteemi peatamine===&lt;br /&gt;
&lt;br /&gt;
===TODO===&lt;br /&gt;
&lt;br /&gt;
* hibernate and resume&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Tuuma_kasutamine&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Alglaadija_GRUB&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Plokkseadme_LUKS_formaadis_krüptimine&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/LVM&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Tarkvaraline_RAID_-_mdadm&lt;/div&gt;</summary>
		<author><name>MeelisRoos</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Debiani_alglaadimine&amp;diff=10566</id>
		<title>Debiani alglaadimine</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Debiani_alglaadimine&amp;diff=10566"/>
		<updated>2009-04-06T14:50:06Z</updated>

		<summary type="html">&lt;p&gt;MeelisRoos: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Arvuti, õieti operatsioonisüsteemi kasutamine algab arvuti käivitamisega, tavaliselt toite sisselülitamise teel, seejärel toimub operatsioonisüsteemi nn alglaadimine (ingl. k. booting, bootup, boot) ja lõpuks saab kasutaja süsteemi sisse logida ja hakata arvutit nö tavapärasel viisil kasutama.&lt;br /&gt;
&lt;br /&gt;
Käesolevas tekstis on kirjeldatud seda järgnevust, mille arvuti läbib alglaadimisel&lt;br /&gt;
&lt;br /&gt;
* toite sisselülitamise järel omandab kontrolli püsimälus olev firmware (PC puhul BIOS)&lt;br /&gt;
* BIOS laadib ja käivitab alglaaduri (nt GRUB - GRand Unified Bootloader)&lt;br /&gt;
* GRUB laadib tuuma ja initrd/initramfs (initial ramdisk/initial ram file system)&lt;br /&gt;
* GRUB käivitab tuuma&lt;br /&gt;
* tuum käivitab esialgse init-programmi initramfs pealt&lt;br /&gt;
* initramfs teeb oma töö ära ja monteerib juurfailisüsteemi&lt;br /&gt;
* initramfs annab juhtimise üle operatsioonisüsteemi programmile init&lt;br /&gt;
* operatsioonisüsteemi init käivitab süsteemis protsessid&lt;br /&gt;
* süsteem on kasutamiseks valmis (nt saab kasutaja sisse logida)&lt;br /&gt;
&lt;br /&gt;
Kuigi Debiani kasutamine ei eelda otseselt kasutaja sekkumist alglaadimise protseduuri ja sündmused toimuvad automaatselt, aitab alglaadimisel toimuvatest sündmustest aru saamine paremini tulla toime nt sellistel juhtumitel&lt;br /&gt;
&lt;br /&gt;
* süsteemi automaatne alglaadimine on tarvis peatada enne lõpulejõudmist (nt millegi kontrolliks soovitakse peatuda enne operatsioonisüsteemi init programmi käivitamist)&lt;br /&gt;
* operatsioonisüsteem on kopeeritud teisele riistvarale, kus ta ei käivitu automaatselt (tõenäoliselt on põhjuseks, et initramfs ei laadi kõvaketta kasutamiseks vajalikke mooduleid)&lt;br /&gt;
&lt;br /&gt;
===BIOS===&lt;br /&gt;
&lt;br /&gt;
Arvuti alglaadimise seisukohast on BIOS&#039;is (Basic Input Output System) tarvis näidata, milliselt ressursilt toimub alglaaduri kasutamine. Tavaliselt on see lokaalne kõvaketas, kuid võib olla ka nt PXE võimelise võrgukaardi abil tftp server.&lt;br /&gt;
&lt;br /&gt;
===Alglaadur===&lt;br /&gt;
&lt;br /&gt;
Alglaaduri (ingl. k. bootloader) ülesanne on laadida sobivate parameetritega operatsioonisüsteemi tuum ja initramfs, st käivitada operatsioonisüsteem. Levinud on mitmeid erinevad alglaadurid, Debiani paigaldamisel pakutakse kasutajale valikut paigaldada GRUB, aga Debiani saab käivitada ka teiste alglaaduritega, nt LILO sh alglaadida võrgust.&lt;br /&gt;
&lt;br /&gt;
Alglaadur GRUB koosseisu kuulub mitu komponenti ja alglaaduri töö toimub mitmeastmeliselt&lt;br /&gt;
&lt;br /&gt;
* esmalt laadib BIOS alglaaduri nn esimene taseme (ingl. k. stage 1) kõvaketta alguses paiknevalt MBR&#039;ilt (ingl. k. Master Boot Record); esimese taseme laadimise järel kasutajal tavaliselt ei ole veel võimalik sekkuda, automaatselt järgneb suundumine teise taseme juurde; selleks loeb esimene taseme alglaadur alglaaduri paigaldamisel kindlaks määratud kohast kõvakettal alglaaduri teise taseme (ingl. k. stage 2); teise taseme paiknemine on kirjas MBR&#039;is ning on määratud nö füüsilise sektori asukohaga, mitte kasutades failisüsteemi mõisteid, kuna esimene tase ei oska kasutada failisüsteemi&lt;br /&gt;
* teise taseme laadimise järel on kasutajal ees /boot/grub/menu.lst faili alusel genereeritud menüü, kust saab teha edasisi valikuid; oluline on tähele panna, et teise taseme juures on alglaaduril oskus kasutada enamlevinud failisüsteeme, sh ext3; teise taseme töö tulemusena saab kasutaja määrata millist tuuma ja ramdiski ta kasutama hakkab ning näidata tuuma juures erinevaid parameetreid (reeglina juurfailisüsteemi asukoha)&lt;br /&gt;
* alglaadur annab juhtimise üle operatsioonisüsteemi tuumale, laaditakse tuum; siinkohal on oluline, et kuni tuuma laadimisele eelnenud perioodil olid kasutuses nn BIOSi seadmed, nüüd kontrollib seadmeid operatsioonisüsteemi tuum (ja tuuma moodulid); sellise asenduse tulemusena võib vahel esineda nähtus, kus kuni tuuma laadimiseni töötas USB klaviatuur ning oli kasutatav CD seade, seejärel aga enam mitte, arusaadavalt on põhjuseks, et tuumas sel juhul puudub vastavate seadmete toetus&lt;br /&gt;
&lt;br /&gt;
Alglaaduri GRUB paketi koosseisu kuuluvate failide nimekirja saab vaadata öeldes&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L grub&lt;br /&gt;
&lt;br /&gt;
===Tuum ja initramfs===&lt;br /&gt;
&lt;br /&gt;
Kuigi praktiliselt on võimalik süsteem ettevalmistada ka nii, et alglaadur laadib tuuma ning tuuma laadimise lõpus käivitatakse otse operatsioonisüsteemi init programm, toimub reeglina Debiani puhul alglaadimisel selline järgnevus&lt;br /&gt;
&lt;br /&gt;
* alglaadur laadib tuuma ja initramfs kujutise&lt;br /&gt;
* tuum pakib initramfs kujutisest mällu lahti spetsiaalselt ettevalmistatud nn. init-failisüsteemi (ingl. k. initramfs ehk initramfs)&lt;br /&gt;
* initramfs peal on iseenesest miniatuurse operatsioonisüsteemi juurfailisüsteem, millelt käivitatakse init skript&lt;br /&gt;
* init skripti töö tulemusena toimub rida täiendavaid initsialiseerimisi (nt plokkseadmete st kõvaketaste, tarkvaralise raidi, krüptitud plokkseadmete või lvm kasutamise jaoks vastavate tuuma moodulite laadimine ja nende ressursside kasutuselevõtmine)&lt;br /&gt;
* ühendatakse külge nö päris operatsioonisüsteemi juurfailisüsteem&lt;br /&gt;
* operatsioonisüsteemi juurfailisüsteemilt käivitatakse init programm&lt;br /&gt;
&lt;br /&gt;
Tavaliselt paigaldatakse tuum ja initramfs operatsioonisüsteemi paigaldamise käigus. Asjassepuutuvate failide nimekirja saab vaadata öeldes nii&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L linux-image-2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
  /boot/vmlinuz-2.6.26-1-xen-amd64&lt;br /&gt;
&lt;br /&gt;
ja&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L linux-modules-2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
  /boot/System.map-2.6.26-1-xen-amd64&lt;br /&gt;
  /boot/config-2.6.26-1-xen-amd64&lt;br /&gt;
  /lib/modules/2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Oluline on tähele panne, et initramfs&lt;br /&gt;
&lt;br /&gt;
  /boot/initrd.img-2.6.26-1-xen-amd64&lt;br /&gt;
&lt;br /&gt;
ei paigaldata otseselt paketihaldusest, vaid konstrueeritakse seadistusfailide abil automaatselt kohapeal programmi update-initramfs abil. Samuti võbi siit tähele panna, et failinimi on ajaloolistel põhjustel endiselt initrd. Initrd oli varasem viis esialgse juurfailisüsteemi ette andmiseks, mis kasutas mäluketast (ramdisk), tänapäeval on selle asemele tulnud initramfs, mis on mälukasutuse suhtes efektiivsem.&lt;br /&gt;
&lt;br /&gt;
Alltoodud näidetes on kasutatud Debiani paketihalduse tuuma ja operatsioonisüsteemi alglaadimisel mitte füüsilist arvutit vaid Xeni domU virtuaalset operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
====initramfs init skripti täitmise protseduur====&lt;br /&gt;
&lt;br /&gt;
initramfs arhiiv on nn newc formaadis cpio arhiiv, mis on gzip&#039;ga kokku pakitud. Olemasolevad initramfs lahtipakkimiseks tuleb öelda&lt;br /&gt;
&lt;br /&gt;
  # mkdir /tmp/initrd &amp;amp;&amp;amp; cd /tmp/initrd&lt;br /&gt;
  # gunzip -c /boot/initrd.img-2.6.26-1-xen-amd64 | cpio -dmi&lt;br /&gt;
  42750 blocks&lt;br /&gt;
  # ls -l&lt;br /&gt;
  total 36&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 bin&lt;br /&gt;
  drwxr-xr-x 3 root root 4096 2009-04-04 15:50 conf&lt;br /&gt;
  drwxr-xr-x 5 root root 4096 2009-04-04 15:50 etc&lt;br /&gt;
  -rwxr-xr-x 1 root root 4238 2009-01-07 16:14 init&lt;br /&gt;
  drwxr-xr-x 4 root root 4096 2009-04-04 15:50 lib&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 lib64&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 sbin&lt;br /&gt;
  drwxr-xr-x 7 root root 4096 2009-04-04 15:50 scripts&lt;br /&gt;
&lt;br /&gt;
Kokkupakkimiseks sobib öelda, arusaadavalt peab olema ettevaatlik, et mitte töötavat initramfs arhiivi üle kirjutada&lt;br /&gt;
&lt;br /&gt;
  # find . | cpio -H newc -o | gzip &amp;gt; /boot/initrd.img&lt;br /&gt;
&lt;br /&gt;
uue initramfs ahiivi kasutamiseks tuleb Xeni domU seadistusfailis kasutada rida&lt;br /&gt;
&lt;br /&gt;
  ramdisk=&#039;/boot/initrd.img&#039;&lt;br /&gt;
&lt;br /&gt;
Peale tuuma bootimist laaditakse alglaaduri seadistusfailis näidatud initramfs ning käivitatakse sealt skript init. See skript on suhtliselt hästi loetav, tegevused toimuvad sellises järjekorras&lt;br /&gt;
&lt;br /&gt;
* moodustatakse kataloogid /dev, /root, /sys, /proc ja /tmp&lt;br /&gt;
* ühendatakse külge failisüsteemid /sys a /proc&lt;br /&gt;
* moodustatakse seadmed /dev/console ja /dev/null&lt;br /&gt;
* kirjeldatakse ja algvääärtustatakse muutujad ROOT, break, init, BOOT jt&lt;br /&gt;
* laaditakse sisse funktsioonid skriptist ./scripts/functions&lt;br /&gt;
* väärtustatakse veel muutujaid kerneli parameetritega antud andmete abil&lt;br /&gt;
* käivitatakse scripts/init-top skriptid&lt;br /&gt;
&lt;br /&gt;
  scripts/init-top/all_generic_ide&lt;br /&gt;
  scripts/init-top/framebuffer&lt;br /&gt;
  scripts/init-top/keymap&lt;br /&gt;
&lt;br /&gt;
* laaditakse tuuma moodulid&lt;br /&gt;
* käivitatakse scripts/init-premount skriptid&lt;br /&gt;
&lt;br /&gt;
  scripts/init-premount/blacklist&lt;br /&gt;
  scripts/init-premount/udev&lt;br /&gt;
  scripts/init-premount/thermal&lt;br /&gt;
&lt;br /&gt;
* loetakse sisse funktsioonid skriptist /scripts/${BOOT}, antud juhul /scripts/local&lt;br /&gt;
* ühendatakse külge nö päris juurfailisüsteem&lt;br /&gt;
&lt;br /&gt;
  /scripts/local-top&lt;br /&gt;
  /scripts/local-premount&lt;br /&gt;
  /scripts/local-bottom&lt;br /&gt;
&lt;br /&gt;
* käivitatakse /scripts/init-bottom skriptid, tapetakse initramfs udev protsess&lt;br /&gt;
&lt;br /&gt;
  scripts/init-bottom/udev&lt;br /&gt;
&lt;br /&gt;
* liigutatakse /sys ja /proc failisüsteemi päris juurfailisüsteemi alla&lt;br /&gt;
&lt;br /&gt;
  mount -n -o move /sys ${rootmnt}/sys&lt;br /&gt;
  mount -n -o move /proc ${rootmnt}/proc&lt;br /&gt;
&lt;br /&gt;
* käivitatakse nö päris operatsioonisüsteemi init&lt;br /&gt;
&lt;br /&gt;
  exec run-init ${rootmnt} ${init} &amp;quot;$@&amp;quot; &amp;lt;${rootmnt}/dev/console &amp;gt;${rootmnt}/dev/console&lt;br /&gt;
&lt;br /&gt;
initramfs init skripti täitmisega kaasneb konsoolil selline logi, nagu näha on mõned teated Xeni spetsiifilised, ilmselt aitaks fan ja thermal mooduli blacklistimine&lt;br /&gt;
&lt;br /&gt;
  Loading, please wait...&lt;br /&gt;
  Begin: Loading essential drivers ... done.&lt;br /&gt;
  Begin: Running /scripts/init-premount ... FATAL: Error inserting fan \&lt;br /&gt;
    (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/fan.ko): No such device&lt;br /&gt;
  WARNING: Error inserting processor (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/processor.ko): \&lt;br /&gt;
    No such device&lt;br /&gt;
  [    1.216595] thermal: Unknown symbol acpi_processor_set_thermal_limit&lt;br /&gt;
  FATAL: Error inserting thermal (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/thermal.ko): \&lt;br /&gt;
    Unknown symbol in module, or unknown parameter (see dmesg)&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Mounting root file system ... Begin: Running /scripts/local-top ... &lt;br /&gt;
  [    1.396075] device-mapper: uevent: version 1.0.3&lt;br /&gt;
  [    1.396752] device-mapper: ioctl: 4.13.0-ioctl (2007-10-18) initialised: dm-devel@redhat.com&lt;br /&gt;
  Volume group &amp;quot;system&amp;quot; not found&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Running /scripts/local-premount ... done.&lt;br /&gt;
  [    1.537167] kjournald starting.  Commit interval 5 seconds&lt;br /&gt;
  [    1.537182] EXT3-fs: mounted filesystem with ordered data mode.&lt;br /&gt;
  Begin: Running /scripts/local-bottom ... done.&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Running /scripts/init-bottom ... done.&lt;br /&gt;
  INIT: version 2.86 booting&lt;br /&gt;
&lt;br /&gt;
====initramfs init skripti täitmise peatamine====&lt;br /&gt;
&lt;br /&gt;
Üks huvipakkuv initramfs&#039;ga tegelemise rakendus on peatada initramfs täitmine kasutades tuuma parameetrit break. Nt peatame enne initramfs udev protsessi tapmist, kusjuures päris juurikas on siis juba külge ühendatud, selleks tuleb kasutada domU seadistusfailis rida (xencons=tty on Xeni spetsiifiline)&lt;br /&gt;
&lt;br /&gt;
  extra=&#039;break=bottom xencons=tty&#039;&lt;br /&gt;
&lt;br /&gt;
Tulemusena sattuma nn initramfs shelli, mis on tegelikult ash shell&lt;br /&gt;
&lt;br /&gt;
  ...&lt;br /&gt;
  Begin: Running /scripts/local-bottom ... done.&lt;br /&gt;
  done.&lt;br /&gt;
  Spawning shell within the initramfs&lt;br /&gt;
  &lt;br /&gt;
  BusyBox v1.10.2 (Debian 1:1.10.2-2) built-in shell (ash)&lt;br /&gt;
  Enter &#039;help&#039; for a list of built-in commands.&lt;br /&gt;
  &lt;br /&gt;
  /bin/sh: can&#039;t access tty; job control turned off&lt;br /&gt;
  (initramfs) &lt;br /&gt;
&lt;br /&gt;
ning selles shellis saab kasutada neid käske mis on initrd poolt toetatud, nt&lt;br /&gt;
&lt;br /&gt;
  (initramfs) ifconfig eth0&lt;br /&gt;
  eth0      Link encap:Ethernet  HWaddr 70:01:68:01:00:51  &lt;br /&gt;
          BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000 &lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
või&lt;br /&gt;
&lt;br /&gt;
  (initramfs) df -h  &lt;br /&gt;
  Filesystem                Size      Used Available Use% Mounted on&lt;br /&gt;
  udev                     10.0M      8.0k     10.0M   0% /dev&lt;br /&gt;
  /dev/sda1                31.7G      2.4G     27.8G   8% /root&lt;br /&gt;
&lt;br /&gt;
Kuna päris juurfailisüsteem on ühendatud, siis on võimalik seda kasutada&lt;br /&gt;
&lt;br /&gt;
  (initramfs) mount -t proc /proc /root/proc&lt;br /&gt;
  (initramfs) mount -t sysfs /sys /root/sys&lt;br /&gt;
  (initramfs) chroot /root&lt;br /&gt;
&lt;br /&gt;
Edasi saab juba täielisemalt arvutit kasutada, nt peale võrgu seadistamist käivitada ssh serveri.&lt;br /&gt;
&lt;br /&gt;
initramfs promptist väljumiseks tuleb valida Ctrl+D või kirjutada nt &#039;exit&#039;, seejärel jätkub init skripti järgnevus ja operatsioonisüsteemi alglaadimine jätkub.&lt;br /&gt;
&lt;br /&gt;
====initrd seadistamine====&lt;br /&gt;
&lt;br /&gt;
initrd genereerimiseks tuleb öelda nt&lt;br /&gt;
&lt;br /&gt;
  # update-initramfs -u -k all&lt;br /&gt;
&lt;br /&gt;
initrd moodustamist saab juhtida seadistusfailiga /etc/initramfs-tools/initramfs.conf ning kontrollides kataloogi sisu&lt;br /&gt;
&lt;br /&gt;
  /usr/share/initramfs-tools/scripts&lt;br /&gt;
&lt;br /&gt;
Sinna kataloogi kopeerivad ka teised paketid oma skripte, nt&lt;br /&gt;
&lt;br /&gt;
  # dpkg -S /usr/share/initramfs-tools/scripts/local-top/mdadm &lt;br /&gt;
  mdadm: /usr/share/initramfs-tools/scripts/local-top/mdadm&lt;br /&gt;
  # dpkg -S /usr/share/initramfs-tools/scripts/local-top/lvm2&lt;br /&gt;
  lvm2: /usr/share/initramfs-tools/scripts/local-top/lvm2&lt;br /&gt;
&lt;br /&gt;
===Operatsioonisüsteemi init===&lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteemi init programmi käivitamisel tekib esimene süsteemis töötav protsess, kõik muud protsessid on selle protsessi poolt otseselt või kaudselt käivitatud. init programmi tööd kontrollib seadistusfail /etc/inittab, mille alguses on kirjas&lt;br /&gt;
&lt;br /&gt;
  # egrep -v &amp;quot;^#|^$&amp;quot; /etc/inittab&lt;br /&gt;
  id:2:initdefault:&lt;br /&gt;
  si::sysinit:/etc/init.d/rcS&lt;br /&gt;
  ~~:S:wait:/sbin/sulogin&lt;br /&gt;
  l0:0:wait:/etc/init.d/rc 0&lt;br /&gt;
  l1:1:wait:/etc/init.d/rc 1&lt;br /&gt;
  l2:2:wait:/etc/init.d/rc 2&lt;br /&gt;
  l3:3:wait:/etc/init.d/rc 3&lt;br /&gt;
  l4:4:wait:/etc/init.d/rc 4&lt;br /&gt;
  l5:5:wait:/etc/init.d/rc 5&lt;br /&gt;
  l6:6:wait:/etc/init.d/rc 6&lt;br /&gt;
  z6:6:respawn:/sbin/sulogin&lt;br /&gt;
  ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now&lt;br /&gt;
  pf::powerwait:/etc/init.d/powerfail start&lt;br /&gt;
  pn::powerfailnow:/etc/init.d/powerfail now&lt;br /&gt;
  po::powerokwait:/etc/init.d/powerfail stop&lt;br /&gt;
  1:2345:respawn:/sbin/getty 38400 tty1&lt;br /&gt;
  2:23:respawn:/sbin/getty 38400 tty2&lt;br /&gt;
  3:23:respawn:/sbin/getty 38400 tty3&lt;br /&gt;
  4:23:respawn:/sbin/getty 38400 tty4&lt;br /&gt;
  5:23:respawn:/sbin/getty 38400 tty5&lt;br /&gt;
  6:23:respawn:/sbin/getty 38400 tty6&lt;br /&gt;
&lt;br /&gt;
ja mis vaikimisi korraldab sellises järjekorras edasise süngmuste toimumise&lt;br /&gt;
&lt;br /&gt;
* käivitatakse skript /etc/init.d/rcS&lt;br /&gt;
&lt;br /&gt;
  #! /bin/sh&lt;br /&gt;
  #&lt;br /&gt;
  # rcS&lt;br /&gt;
  #&lt;br /&gt;
  # Call all S??* scripts in /etc/rcS.d/ in numerical/alphabetical order&lt;br /&gt;
  #&lt;br /&gt;
  &lt;br /&gt;
  exec /etc/init.d/rc S&lt;br /&gt;
&lt;br /&gt;
* tähestikulises järjekorras käivitatakse skriptid kataloogist /etc/rcS.d, tegelikult on need lingid /etc/init.d kataloogi skriptidele&lt;br /&gt;
&lt;br /&gt;
  # find /etc/rcS.d -type l | sort&lt;br /&gt;
  /etc/rcS.d/S01glibc.sh&lt;br /&gt;
  /etc/rcS.d/S02hostname.sh&lt;br /&gt;
  /etc/rcS.d/S02mountkernfs.sh&lt;br /&gt;
  /etc/rcS.d/S03udev&lt;br /&gt;
  /etc/rcS.d/S04mountdevsubfs.sh&lt;br /&gt;
  /etc/rcS.d/S05bootlogd&lt;br /&gt;
  /etc/rcS.d/S05keymap.sh&lt;br /&gt;
  /etc/rcS.d/S08hwclockfirst.sh&lt;br /&gt;
  /etc/rcS.d/S10checkroot.sh&lt;br /&gt;
  /etc/rcS.d/S11hwclock.sh&lt;br /&gt;
  /etc/rcS.d/S12mtab.sh&lt;br /&gt;
  /etc/rcS.d/S18ifupdown-clean&lt;br /&gt;
  /etc/rcS.d/S20module-init-tools&lt;br /&gt;
  /etc/rcS.d/S25mdadm-raid&lt;br /&gt;
  /etc/rcS.d/S26cryptdisks-early&lt;br /&gt;
  /etc/rcS.d/S26lvm2&lt;br /&gt;
  /etc/rcS.d/S28cryptdisks&lt;br /&gt;
  /etc/rcS.d/S30checkfs.sh&lt;br /&gt;
  /etc/rcS.d/S30procps&lt;br /&gt;
  /etc/rcS.d/S35mountall.sh&lt;br /&gt;
  /etc/rcS.d/S36mountall-bootclean.sh&lt;br /&gt;
  /etc/rcS.d/S36udev-mtab&lt;br /&gt;
  /etc/rcS.d/S37mountoverflowtmp&lt;br /&gt;
  /etc/rcS.d/S39ifupdown&lt;br /&gt;
  /etc/rcS.d/S40networking&lt;br /&gt;
  /etc/rcS.d/S43portmap&lt;br /&gt;
  /etc/rcS.d/S44nfs-common&lt;br /&gt;
  /etc/rcS.d/S45mountnfs.sh&lt;br /&gt;
  /etc/rcS.d/S46mountnfs-bootclean.sh&lt;br /&gt;
  /etc/rcS.d/S48console-screen.sh&lt;br /&gt;
  /etc/rcS.d/S55bootmisc.sh&lt;br /&gt;
  /etc/rcS.d/S55urandom&lt;br /&gt;
  /etc/rcS.d/S70x11-common&lt;br /&gt;
  /etc/rcS.d/S99stop-bootlogd-single&lt;br /&gt;
&lt;br /&gt;
* tähestikulises järjekorras käivitatakse skriptid kataloogist /etc/rc2.d, tegelikult on need lingid /etc/init.d kataloogi skriptidele&lt;br /&gt;
&lt;br /&gt;
  # find /etc/rc2.d -type l | sort&lt;br /&gt;
  /etc/rc2.d/S10rsyslog&lt;br /&gt;
  /etc/rc2.d/S12acpid&lt;br /&gt;
  /etc/rc2.d/S16ssh&lt;br /&gt;
  /etc/rc2.d/S20exim4&lt;br /&gt;
  /etc/rc2.d/S20nfs-common&lt;br /&gt;
  /etc/rc2.d/S20openbsd-inetd&lt;br /&gt;
  /etc/rc2.d/S20rsync&lt;br /&gt;
  /etc/rc2.d/S20smartmontools&lt;br /&gt;
  /etc/rc2.d/S20sysstat&lt;br /&gt;
  /etc/rc2.d/S20xend&lt;br /&gt;
  /etc/rc2.d/S23ntp&lt;br /&gt;
  /etc/rc2.d/S25mdadm&lt;br /&gt;
  /etc/rc2.d/S89atd&lt;br /&gt;
  /etc/rc2.d/S89cron&lt;br /&gt;
  /etc/rc2.d/S99rc.local&lt;br /&gt;
  /etc/rc2.d/S99rmnologin&lt;br /&gt;
  /etc/rc2.d/S99stop-bootlogd&lt;br /&gt;
&lt;br /&gt;
===Süsteemi peatamine===&lt;br /&gt;
&lt;br /&gt;
===TODO===&lt;br /&gt;
&lt;br /&gt;
* hibernate and resume&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Tuuma_kasutamine&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Alglaadija_GRUB&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Plokkseadme_LUKS_formaadis_krüptimine&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/LVM&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Tarkvaraline_RAID_-_mdadm&lt;/div&gt;</summary>
		<author><name>MeelisRoos</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Debiani_alglaadimine&amp;diff=10565</id>
		<title>Debiani alglaadimine</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Debiani_alglaadimine&amp;diff=10565"/>
		<updated>2009-04-06T14:48:11Z</updated>

		<summary type="html">&lt;p&gt;MeelisRoos: /* initrd init skripti täitmise protseduur */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Arvuti, õieti operatsioonisüsteemi kasutamine algab arvuti käivitamisega, tavaliselt toite sisselülitamise teel, seejärel toimub operatsioonisüsteemi nn alglaadimine (ingl. k. booting, bootup, boot) ja lõpuks saab kasutaja süsteemi sisse logida ja hakata arvutit nö tavapärasel viisil kasutama.&lt;br /&gt;
&lt;br /&gt;
Käesolevas tekstis on kirjeldatud seda järgnevust, mille arvuti läbib alglaadimisel&lt;br /&gt;
&lt;br /&gt;
* toite sisselülitamise järel omandab kontrolli püsimälus olev firmware (PC puhul BIOS)&lt;br /&gt;
* BIOS laadib ja käivitab alglaaduri (nt GRUB - GRand Unified Bootloader)&lt;br /&gt;
* GRUB laadib tuuma ja initrd/initramfs (initial ramdisk/initial ram file system)&lt;br /&gt;
* GRUB käivitab tuuma&lt;br /&gt;
* tuum käivitab esialgse init-programmi initramfs pealt&lt;br /&gt;
* initramfs teeb oma töö ära ja monteerib juurfailisüsteemi&lt;br /&gt;
* initramfs annab juhtimise üle operatsioonisüsteemi programmile init&lt;br /&gt;
* operatsioonisüsteemi init käivitab süsteemis protsessid&lt;br /&gt;
* süsteem on kasutamiseks valmis (nt saab kasutaja sisse logida)&lt;br /&gt;
&lt;br /&gt;
Kuigi Debiani kasutamine ei eelda otseselt kasutaja sekkumist alglaadimise protseduuri ja sündmused toimuvad automaatselt, aitab alglaadimisel toimuvatest sündmustest aru saamine paremini tulla toime nt sellistel juhtumitel&lt;br /&gt;
&lt;br /&gt;
* süsteemi automaatne alglaadimine on tarvis peatada enne lõpulejõudmist (nt millegi kontrolliks soovitakse peatuda enne operatsioonisüsteemi init programmi käivitamist)&lt;br /&gt;
* operatsioonisüsteem on kopeeritud teisele riistvarale, kus ta ei käivitu automaatselt (tõenäoliselt on põhjuseks, et initramfs ei laadi kõvaketta kasutamiseks vajalikke mooduleid)&lt;br /&gt;
&lt;br /&gt;
===BIOS===&lt;br /&gt;
&lt;br /&gt;
Arvuti alglaadimise seisukohast on BIOS&#039;is (Basic Input Output System) tarvis näidata, milliselt ressursilt toimub alglaaduri kasutamine. Tavaliselt on see lokaalne kõvaketas, kuid võib olla ka nt PXE võimelise võrgukaardi abil tftp server.&lt;br /&gt;
&lt;br /&gt;
===Alglaadur===&lt;br /&gt;
&lt;br /&gt;
Alglaaduri (ingl. k. bootloader) ülesanne on laadida sobivate parameetritega operatsioonisüsteemi tuum ja initrd, st käivitada operatsioonisüsteem. Levinud on mitmeid erinevad alglaadurid, Debiani paigaldamisel pakutakse kasutajale valikut paigaldada GRUB, aga Debiani saab käivitada ka teiste alglaaduritega, nt LILO sh alglaadida võrgust.&lt;br /&gt;
&lt;br /&gt;
Alglaadur GRUB koosseisu kuulub mitu komponenti ja alglaaduri töö toimub mitmeastmeliselt&lt;br /&gt;
&lt;br /&gt;
* esmalt laadib BIOS alglaaduri nn esimene taseme (ingl. k. stage 1) kõvaketta alguses paiknevalt MBR&#039;ilt (ingl. k. Master Boot Record); esimese taseme laadimise järel kasutajal tavaliselt ei ole veel võimalik sekkuda, automaatselt järgneb suundumine teise taseme juurde; selleks loeb esimene taseme alglaadur alglaaduri paigaldamisel kindlaks määratud kohast kõvakettal alglaaduri teise taseme (ingl. k. stage 2); teise taseme paiknemine on kirjas MBR&#039;is ning on määratud nö füüsilise sektori asukohaga, mitte kasutades failisüsteemi mõisteid, kuna esimene tase ei oska kasutada failisüsteemi&lt;br /&gt;
* teise taseme laadimise järel on kasutajal ees /boot/grub/menu.lst faili alusel genereeritud menüü, kust saab teha edasisi valikuid; oluline on tähele panna, et teise taseme juures on alglaaduril oskus kasutada enamlevinud failisüsteeme, sh ext3; teise taseme töö tulemusena saab kasutaja määrata millist tuuma ja ramdiski ta kasutama hakkab ning näidata tuuma juures erinevaid parameetreid (reeglina juurfailisüsteemi asukoha)&lt;br /&gt;
* alglaadur annab juhtimise üle operatsioonisüsteemi tuumale, laaditakse tuum; siinkohal on oluline, et kuni tuuma laadimisele eelnenud perioodil olid kasutuses nn BIOSi seadmed, nüüd kontrollib seadmeid operatsioonisüsteemi tuum (ja tuuma moodulid); sellise asenduse tulemusena võib vahel esineda nähtus, kus kuni tuuma laadimiseni töötas USB klaviatuur ning oli kasutatav CD seade, seejärel aga enam mitte, arusaadavalt on põhjuseks, et tuumas sel juhul puudub vastavate seadmete toetus&lt;br /&gt;
&lt;br /&gt;
Alglaaduri GRUB paketi koosseisu kuuluvate failide nimekirja saab vaadata öeldes&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L grub&lt;br /&gt;
&lt;br /&gt;
===Tuum ja initrd===&lt;br /&gt;
&lt;br /&gt;
Kuigi praktiliselt on võimalik süsteem ettevalmistada ka nii, et alglaadur laadib tuuma ning tuuma laadimise lõpus käivitatakse otse operatsioonisüsteemi init programm, toimub reeglina Debiani puhul alglaadimisel selline järgnevus&lt;br /&gt;
&lt;br /&gt;
* alglaadur laadib tuuma ja initramfs kujutise&lt;br /&gt;
* tuum pakib initramfs kujutisest mällu lahti spetsiaalselt ettevalmistatud nn. init-failisüsteemi (ingl. k. initramfs ehk initramfs)&lt;br /&gt;
* initramfs peal on iseenesest miniatuurse operatsioonisüsteemi juurfailisüsteem, millelt käivitatakse init skript&lt;br /&gt;
* init skripti töö tulemusena toimub rida täiendavaid initsialiseerimisi (nt plokkseadmete st kõvaketaste, tarkvaralise raidi, krüptitud plokkseadmete või lvm kasutamise jaoks vastavate tuuma moodulite laadimine ja nende ressursside kasutuselevõtmine)&lt;br /&gt;
* ühendatakse külge nö päris operatsioonisüsteemi juurfailisüsteem&lt;br /&gt;
* operatsioonisüsteemi juurfailisüsteemilt käivitatakse init programm&lt;br /&gt;
&lt;br /&gt;
Tavaliselt paigaldatakse tuum ja initramfs operatsioonisüsteemi paigaldamise käigus. Asjassepuutuvate failide nimekirja saab vaadata öeldes nii&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L linux-image-2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
  /boot/vmlinuz-2.6.26-1-xen-amd64&lt;br /&gt;
&lt;br /&gt;
ja&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L linux-modules-2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
  /boot/System.map-2.6.26-1-xen-amd64&lt;br /&gt;
  /boot/config-2.6.26-1-xen-amd64&lt;br /&gt;
  /lib/modules/2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Oluline on tähele panne, et initramfs&lt;br /&gt;
&lt;br /&gt;
  /boot/initrd.img-2.6.26-1-xen-amd64&lt;br /&gt;
&lt;br /&gt;
ei paigaldata otseselt paketihaldusest, vaid konstrueeritakse seadistusfailide abil automaatselt kohapeal programmi update-initramfs abil. Samuti võbi siit tähele panna, et failinimi on ajaloolistel põhjustel endiselt initrd. Initrd oli varasem viis esialgse juurfailisüsteemi ette andmiseks, mis kasutas mäluketast (ramdisk), tänapäeval on selle asemele tulnud initramfs, mis on mälukasutuse suhtes efektiivsem.&lt;br /&gt;
&lt;br /&gt;
Alltoodud näidetes on kasutatud Debiani paketihalduse tuuma ja operatsioonisüsteemi alglaadimisel mitte füüsilist arvutit vaid Xeni domU virtuaalset operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
====initrd init skripti täitmise protseduur====&lt;br /&gt;
&lt;br /&gt;
initramfs arhiiv on nn newc formaadis cpio arhiiv, mis on gzip&#039;ga kokku pakitud. Olemasolevad initramfs lahtipakkimiseks tuleb öelda&lt;br /&gt;
&lt;br /&gt;
  # mkdir /tmp/initrd &amp;amp;&amp;amp; cd /tmp/initrd&lt;br /&gt;
  # gunzip -c /boot/initrd.img-2.6.26-1-xen-amd64 | cpio -dmi&lt;br /&gt;
  42750 blocks&lt;br /&gt;
  # ls -l&lt;br /&gt;
  total 36&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 bin&lt;br /&gt;
  drwxr-xr-x 3 root root 4096 2009-04-04 15:50 conf&lt;br /&gt;
  drwxr-xr-x 5 root root 4096 2009-04-04 15:50 etc&lt;br /&gt;
  -rwxr-xr-x 1 root root 4238 2009-01-07 16:14 init&lt;br /&gt;
  drwxr-xr-x 4 root root 4096 2009-04-04 15:50 lib&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 lib64&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 sbin&lt;br /&gt;
  drwxr-xr-x 7 root root 4096 2009-04-04 15:50 scripts&lt;br /&gt;
&lt;br /&gt;
Kokkupakkimiseks sobib öelda, arusaadavalt peab olema ettevaatlik, et mitte töötavat initramfs arhiivi üle kirjutada&lt;br /&gt;
&lt;br /&gt;
  # find . | cpio -H newc -o | gzip &amp;gt; /boot/initrd.img&lt;br /&gt;
&lt;br /&gt;
uue initramfs ahiivi kasutamiseks tuleb Xeni domU seadistusfailis kasutada rida&lt;br /&gt;
&lt;br /&gt;
  ramdisk=&#039;/boot/initrd.img&#039;&lt;br /&gt;
&lt;br /&gt;
Peale tuuma bootimist laaditakse alglaaduri seadistusfailis näidatud initramfs ning käivitatakse sealt skript init. See skript on suhtliselt hästi loetav, tegevused toimuvad sellises järjekorras&lt;br /&gt;
&lt;br /&gt;
* moodustatakse kataloogid /dev, /root, /sys, /proc ja /tmp&lt;br /&gt;
* ühendatakse külge failisüsteemid /sys a /proc&lt;br /&gt;
* moodustatakse seadmed /dev/console ja /dev/null&lt;br /&gt;
* kirjeldatakse ja algvääärtustatakse muutujad ROOT, break, init, BOOT jt&lt;br /&gt;
* laaditakse sisse funktsioonid skriptist ./scripts/functions&lt;br /&gt;
* väärtustatakse veel muutujaid kerneli parameetritega antud andmete abil&lt;br /&gt;
* käivitatakse scripts/init-top skriptid&lt;br /&gt;
&lt;br /&gt;
  scripts/init-top/all_generic_ide&lt;br /&gt;
  scripts/init-top/framebuffer&lt;br /&gt;
  scripts/init-top/keymap&lt;br /&gt;
&lt;br /&gt;
* laaditakse tuuma moodulid&lt;br /&gt;
* käivitatakse scripts/init-premount skriptid&lt;br /&gt;
&lt;br /&gt;
  scripts/init-premount/blacklist&lt;br /&gt;
  scripts/init-premount/udev&lt;br /&gt;
  scripts/init-premount/thermal&lt;br /&gt;
&lt;br /&gt;
* loetakse sisse funktsioonid skriptist /scripts/${BOOT}, antud juhul /scripts/local&lt;br /&gt;
* ühendatakse külge nö päris juurfailisüsteem&lt;br /&gt;
&lt;br /&gt;
  /scripts/local-top&lt;br /&gt;
  /scripts/local-premount&lt;br /&gt;
  /scripts/local-bottom&lt;br /&gt;
&lt;br /&gt;
* käivitatakse /scripts/init-bottom skriptid, tapetakse initramfs udev protsess&lt;br /&gt;
&lt;br /&gt;
  scripts/init-bottom/udev&lt;br /&gt;
&lt;br /&gt;
* liigutatakse /sys ja /proc failisüsteemi päris juurfailisüsteemi alla&lt;br /&gt;
&lt;br /&gt;
  mount -n -o move /sys ${rootmnt}/sys&lt;br /&gt;
  mount -n -o move /proc ${rootmnt}/proc&lt;br /&gt;
&lt;br /&gt;
* käivitatakse nö päris operatsioonisüsteemi init&lt;br /&gt;
&lt;br /&gt;
  exec run-init ${rootmnt} ${init} &amp;quot;$@&amp;quot; &amp;lt;${rootmnt}/dev/console &amp;gt;${rootmnt}/dev/console&lt;br /&gt;
&lt;br /&gt;
initramfs init skripti täitmisega kaasneb konsoolil selline logi, nagu näha on mõned teated Xeni spetsiifilised, ilmselt aitaks fan ja thermal mooduli blacklistimine&lt;br /&gt;
&lt;br /&gt;
  Loading, please wait...&lt;br /&gt;
  Begin: Loading essential drivers ... done.&lt;br /&gt;
  Begin: Running /scripts/init-premount ... FATAL: Error inserting fan \&lt;br /&gt;
    (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/fan.ko): No such device&lt;br /&gt;
  WARNING: Error inserting processor (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/processor.ko): \&lt;br /&gt;
    No such device&lt;br /&gt;
  [    1.216595] thermal: Unknown symbol acpi_processor_set_thermal_limit&lt;br /&gt;
  FATAL: Error inserting thermal (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/thermal.ko): \&lt;br /&gt;
    Unknown symbol in module, or unknown parameter (see dmesg)&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Mounting root file system ... Begin: Running /scripts/local-top ... &lt;br /&gt;
  [    1.396075] device-mapper: uevent: version 1.0.3&lt;br /&gt;
  [    1.396752] device-mapper: ioctl: 4.13.0-ioctl (2007-10-18) initialised: dm-devel@redhat.com&lt;br /&gt;
  Volume group &amp;quot;system&amp;quot; not found&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Running /scripts/local-premount ... done.&lt;br /&gt;
  [    1.537167] kjournald starting.  Commit interval 5 seconds&lt;br /&gt;
  [    1.537182] EXT3-fs: mounted filesystem with ordered data mode.&lt;br /&gt;
  Begin: Running /scripts/local-bottom ... done.&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Running /scripts/init-bottom ... done.&lt;br /&gt;
  INIT: version 2.86 booting&lt;br /&gt;
&lt;br /&gt;
====initrd init skripti täitmise peatamine====&lt;br /&gt;
&lt;br /&gt;
Üks huvipakkuv initrd&#039;ga tegelemise rakendus on peatada initrd täitmine kasutades tuuma parameetrit break. Nt peatame enne initrd udev protsessi tapmist, kusjuures päris juurikas on siis juba külge ühendatud, selleks tuleb kasutada domU seadistusfailis rida (xencons=tty on Xeni spetsiifiline)&lt;br /&gt;
&lt;br /&gt;
  extra=&#039;break=bottom xencons=tty&#039;&lt;br /&gt;
&lt;br /&gt;
Tulemusena sattuma nn initramfs shelli, mis on tegelikult ash shell&lt;br /&gt;
&lt;br /&gt;
  ...&lt;br /&gt;
  Begin: Running /scripts/local-bottom ... done.&lt;br /&gt;
  done.&lt;br /&gt;
  Spawning shell within the initramfs&lt;br /&gt;
  &lt;br /&gt;
  BusyBox v1.10.2 (Debian 1:1.10.2-2) built-in shell (ash)&lt;br /&gt;
  Enter &#039;help&#039; for a list of built-in commands.&lt;br /&gt;
  &lt;br /&gt;
  /bin/sh: can&#039;t access tty; job control turned off&lt;br /&gt;
  (initramfs) &lt;br /&gt;
&lt;br /&gt;
ning selles shellis saab kasutada neid käske mis on initrd poolt toetatud, nt&lt;br /&gt;
&lt;br /&gt;
  (initramfs) ifconfig eth0&lt;br /&gt;
  eth0      Link encap:Ethernet  HWaddr 70:01:68:01:00:51  &lt;br /&gt;
          BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000 &lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
või&lt;br /&gt;
&lt;br /&gt;
  (initramfs) df -h  &lt;br /&gt;
  Filesystem                Size      Used Available Use% Mounted on&lt;br /&gt;
  udev                     10.0M      8.0k     10.0M   0% /dev&lt;br /&gt;
  /dev/sda1                31.7G      2.4G     27.8G   8% /root&lt;br /&gt;
&lt;br /&gt;
Kuna päris juurfailisüsteem on ühendatud, siis on võimalik seda kasutada&lt;br /&gt;
&lt;br /&gt;
  (initramfs) mount -t proc /proc /root/proc&lt;br /&gt;
  (initramfs) mount -t sysfs /sys /root/sys&lt;br /&gt;
  (initramfs) chroot /root&lt;br /&gt;
&lt;br /&gt;
Edasi saab juba täielisemalt arvutit kasutada, nt peale võrgu seadistamist käivitada ssh serveri.&lt;br /&gt;
&lt;br /&gt;
initramfs promptist väljumiseks tuleb valida Ctrl+D või kirjutada nt &#039;exit&#039;, seejärel jätkub init skripti järgnevus ja operatsioonisüsteemi alglaadimine jätkub.&lt;br /&gt;
&lt;br /&gt;
====initrd seadistamine====&lt;br /&gt;
&lt;br /&gt;
initrd genereerimiseks tuleb öelda nt&lt;br /&gt;
&lt;br /&gt;
  # update-initramfs -u -k all&lt;br /&gt;
&lt;br /&gt;
initrd moodustamist saab juhtida seadistusfailiga /etc/initramfs-tools/initramfs.conf ning kontrollides kataloogi sisu&lt;br /&gt;
&lt;br /&gt;
  /usr/share/initramfs-tools/scripts&lt;br /&gt;
&lt;br /&gt;
Sinna kataloogi kopeerivad ka teised paketid oma skripte, nt&lt;br /&gt;
&lt;br /&gt;
  # dpkg -S /usr/share/initramfs-tools/scripts/local-top/mdadm &lt;br /&gt;
  mdadm: /usr/share/initramfs-tools/scripts/local-top/mdadm&lt;br /&gt;
  # dpkg -S /usr/share/initramfs-tools/scripts/local-top/lvm2&lt;br /&gt;
  lvm2: /usr/share/initramfs-tools/scripts/local-top/lvm2&lt;br /&gt;
&lt;br /&gt;
===Operatsioonisüsteemi init===&lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteemi init programmi käivitamisel tekib esimene süsteemis töötav protsess, kõik muud protsessid on selle protsessi poolt otseselt või kaudselt käivitatud. init programmi tööd kontrollib seadistusfail /etc/inittab, mille alguses on kirjas&lt;br /&gt;
&lt;br /&gt;
  # egrep -v &amp;quot;^#|^$&amp;quot; /etc/inittab&lt;br /&gt;
  id:2:initdefault:&lt;br /&gt;
  si::sysinit:/etc/init.d/rcS&lt;br /&gt;
  ~~:S:wait:/sbin/sulogin&lt;br /&gt;
  l0:0:wait:/etc/init.d/rc 0&lt;br /&gt;
  l1:1:wait:/etc/init.d/rc 1&lt;br /&gt;
  l2:2:wait:/etc/init.d/rc 2&lt;br /&gt;
  l3:3:wait:/etc/init.d/rc 3&lt;br /&gt;
  l4:4:wait:/etc/init.d/rc 4&lt;br /&gt;
  l5:5:wait:/etc/init.d/rc 5&lt;br /&gt;
  l6:6:wait:/etc/init.d/rc 6&lt;br /&gt;
  z6:6:respawn:/sbin/sulogin&lt;br /&gt;
  ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now&lt;br /&gt;
  pf::powerwait:/etc/init.d/powerfail start&lt;br /&gt;
  pn::powerfailnow:/etc/init.d/powerfail now&lt;br /&gt;
  po::powerokwait:/etc/init.d/powerfail stop&lt;br /&gt;
  1:2345:respawn:/sbin/getty 38400 tty1&lt;br /&gt;
  2:23:respawn:/sbin/getty 38400 tty2&lt;br /&gt;
  3:23:respawn:/sbin/getty 38400 tty3&lt;br /&gt;
  4:23:respawn:/sbin/getty 38400 tty4&lt;br /&gt;
  5:23:respawn:/sbin/getty 38400 tty5&lt;br /&gt;
  6:23:respawn:/sbin/getty 38400 tty6&lt;br /&gt;
&lt;br /&gt;
ja mis vaikimisi korraldab sellises järjekorras edasise süngmuste toimumise&lt;br /&gt;
&lt;br /&gt;
* käivitatakse skript /etc/init.d/rcS&lt;br /&gt;
&lt;br /&gt;
  #! /bin/sh&lt;br /&gt;
  #&lt;br /&gt;
  # rcS&lt;br /&gt;
  #&lt;br /&gt;
  # Call all S??* scripts in /etc/rcS.d/ in numerical/alphabetical order&lt;br /&gt;
  #&lt;br /&gt;
  &lt;br /&gt;
  exec /etc/init.d/rc S&lt;br /&gt;
&lt;br /&gt;
* tähestikulises järjekorras käivitatakse skriptid kataloogist /etc/rcS.d, tegelikult on need lingid /etc/init.d kataloogi skriptidele&lt;br /&gt;
&lt;br /&gt;
  # find /etc/rcS.d -type l | sort&lt;br /&gt;
  /etc/rcS.d/S01glibc.sh&lt;br /&gt;
  /etc/rcS.d/S02hostname.sh&lt;br /&gt;
  /etc/rcS.d/S02mountkernfs.sh&lt;br /&gt;
  /etc/rcS.d/S03udev&lt;br /&gt;
  /etc/rcS.d/S04mountdevsubfs.sh&lt;br /&gt;
  /etc/rcS.d/S05bootlogd&lt;br /&gt;
  /etc/rcS.d/S05keymap.sh&lt;br /&gt;
  /etc/rcS.d/S08hwclockfirst.sh&lt;br /&gt;
  /etc/rcS.d/S10checkroot.sh&lt;br /&gt;
  /etc/rcS.d/S11hwclock.sh&lt;br /&gt;
  /etc/rcS.d/S12mtab.sh&lt;br /&gt;
  /etc/rcS.d/S18ifupdown-clean&lt;br /&gt;
  /etc/rcS.d/S20module-init-tools&lt;br /&gt;
  /etc/rcS.d/S25mdadm-raid&lt;br /&gt;
  /etc/rcS.d/S26cryptdisks-early&lt;br /&gt;
  /etc/rcS.d/S26lvm2&lt;br /&gt;
  /etc/rcS.d/S28cryptdisks&lt;br /&gt;
  /etc/rcS.d/S30checkfs.sh&lt;br /&gt;
  /etc/rcS.d/S30procps&lt;br /&gt;
  /etc/rcS.d/S35mountall.sh&lt;br /&gt;
  /etc/rcS.d/S36mountall-bootclean.sh&lt;br /&gt;
  /etc/rcS.d/S36udev-mtab&lt;br /&gt;
  /etc/rcS.d/S37mountoverflowtmp&lt;br /&gt;
  /etc/rcS.d/S39ifupdown&lt;br /&gt;
  /etc/rcS.d/S40networking&lt;br /&gt;
  /etc/rcS.d/S43portmap&lt;br /&gt;
  /etc/rcS.d/S44nfs-common&lt;br /&gt;
  /etc/rcS.d/S45mountnfs.sh&lt;br /&gt;
  /etc/rcS.d/S46mountnfs-bootclean.sh&lt;br /&gt;
  /etc/rcS.d/S48console-screen.sh&lt;br /&gt;
  /etc/rcS.d/S55bootmisc.sh&lt;br /&gt;
  /etc/rcS.d/S55urandom&lt;br /&gt;
  /etc/rcS.d/S70x11-common&lt;br /&gt;
  /etc/rcS.d/S99stop-bootlogd-single&lt;br /&gt;
&lt;br /&gt;
* tähestikulises järjekorras käivitatakse skriptid kataloogist /etc/rc2.d, tegelikult on need lingid /etc/init.d kataloogi skriptidele&lt;br /&gt;
&lt;br /&gt;
  # find /etc/rc2.d -type l | sort&lt;br /&gt;
  /etc/rc2.d/S10rsyslog&lt;br /&gt;
  /etc/rc2.d/S12acpid&lt;br /&gt;
  /etc/rc2.d/S16ssh&lt;br /&gt;
  /etc/rc2.d/S20exim4&lt;br /&gt;
  /etc/rc2.d/S20nfs-common&lt;br /&gt;
  /etc/rc2.d/S20openbsd-inetd&lt;br /&gt;
  /etc/rc2.d/S20rsync&lt;br /&gt;
  /etc/rc2.d/S20smartmontools&lt;br /&gt;
  /etc/rc2.d/S20sysstat&lt;br /&gt;
  /etc/rc2.d/S20xend&lt;br /&gt;
  /etc/rc2.d/S23ntp&lt;br /&gt;
  /etc/rc2.d/S25mdadm&lt;br /&gt;
  /etc/rc2.d/S89atd&lt;br /&gt;
  /etc/rc2.d/S89cron&lt;br /&gt;
  /etc/rc2.d/S99rc.local&lt;br /&gt;
  /etc/rc2.d/S99rmnologin&lt;br /&gt;
  /etc/rc2.d/S99stop-bootlogd&lt;br /&gt;
&lt;br /&gt;
===Süsteemi peatamine===&lt;br /&gt;
&lt;br /&gt;
===TODO===&lt;br /&gt;
&lt;br /&gt;
* hibernate and resume&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Tuuma_kasutamine&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Alglaadija_GRUB&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Plokkseadme_LUKS_formaadis_krüptimine&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/LVM&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Tarkvaraline_RAID_-_mdadm&lt;/div&gt;</summary>
		<author><name>MeelisRoos</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Debiani_alglaadimine&amp;diff=10564</id>
		<title>Debiani alglaadimine</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Debiani_alglaadimine&amp;diff=10564"/>
		<updated>2009-04-06T14:46:53Z</updated>

		<summary type="html">&lt;p&gt;MeelisRoos: /* Tuum ja initrd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Arvuti, õieti operatsioonisüsteemi kasutamine algab arvuti käivitamisega, tavaliselt toite sisselülitamise teel, seejärel toimub operatsioonisüsteemi nn alglaadimine (ingl. k. booting, bootup, boot) ja lõpuks saab kasutaja süsteemi sisse logida ja hakata arvutit nö tavapärasel viisil kasutama.&lt;br /&gt;
&lt;br /&gt;
Käesolevas tekstis on kirjeldatud seda järgnevust, mille arvuti läbib alglaadimisel&lt;br /&gt;
&lt;br /&gt;
* toite sisselülitamise järel omandab kontrolli püsimälus olev firmware (PC puhul BIOS)&lt;br /&gt;
* BIOS laadib ja käivitab alglaaduri (nt GRUB - GRand Unified Bootloader)&lt;br /&gt;
* GRUB laadib tuuma ja initrd/initramfs (initial ramdisk/initial ram file system)&lt;br /&gt;
* GRUB käivitab tuuma&lt;br /&gt;
* tuum käivitab esialgse init-programmi initramfs pealt&lt;br /&gt;
* initramfs teeb oma töö ära ja monteerib juurfailisüsteemi&lt;br /&gt;
* initramfs annab juhtimise üle operatsioonisüsteemi programmile init&lt;br /&gt;
* operatsioonisüsteemi init käivitab süsteemis protsessid&lt;br /&gt;
* süsteem on kasutamiseks valmis (nt saab kasutaja sisse logida)&lt;br /&gt;
&lt;br /&gt;
Kuigi Debiani kasutamine ei eelda otseselt kasutaja sekkumist alglaadimise protseduuri ja sündmused toimuvad automaatselt, aitab alglaadimisel toimuvatest sündmustest aru saamine paremini tulla toime nt sellistel juhtumitel&lt;br /&gt;
&lt;br /&gt;
* süsteemi automaatne alglaadimine on tarvis peatada enne lõpulejõudmist (nt millegi kontrolliks soovitakse peatuda enne operatsioonisüsteemi init programmi käivitamist)&lt;br /&gt;
* operatsioonisüsteem on kopeeritud teisele riistvarale, kus ta ei käivitu automaatselt (tõenäoliselt on põhjuseks, et initramfs ei laadi kõvaketta kasutamiseks vajalikke mooduleid)&lt;br /&gt;
&lt;br /&gt;
===BIOS===&lt;br /&gt;
&lt;br /&gt;
Arvuti alglaadimise seisukohast on BIOS&#039;is (Basic Input Output System) tarvis näidata, milliselt ressursilt toimub alglaaduri kasutamine. Tavaliselt on see lokaalne kõvaketas, kuid võib olla ka nt PXE võimelise võrgukaardi abil tftp server.&lt;br /&gt;
&lt;br /&gt;
===Alglaadur===&lt;br /&gt;
&lt;br /&gt;
Alglaaduri (ingl. k. bootloader) ülesanne on laadida sobivate parameetritega operatsioonisüsteemi tuum ja initrd, st käivitada operatsioonisüsteem. Levinud on mitmeid erinevad alglaadurid, Debiani paigaldamisel pakutakse kasutajale valikut paigaldada GRUB, aga Debiani saab käivitada ka teiste alglaaduritega, nt LILO sh alglaadida võrgust.&lt;br /&gt;
&lt;br /&gt;
Alglaadur GRUB koosseisu kuulub mitu komponenti ja alglaaduri töö toimub mitmeastmeliselt&lt;br /&gt;
&lt;br /&gt;
* esmalt laadib BIOS alglaaduri nn esimene taseme (ingl. k. stage 1) kõvaketta alguses paiknevalt MBR&#039;ilt (ingl. k. Master Boot Record); esimese taseme laadimise järel kasutajal tavaliselt ei ole veel võimalik sekkuda, automaatselt järgneb suundumine teise taseme juurde; selleks loeb esimene taseme alglaadur alglaaduri paigaldamisel kindlaks määratud kohast kõvakettal alglaaduri teise taseme (ingl. k. stage 2); teise taseme paiknemine on kirjas MBR&#039;is ning on määratud nö füüsilise sektori asukohaga, mitte kasutades failisüsteemi mõisteid, kuna esimene tase ei oska kasutada failisüsteemi&lt;br /&gt;
* teise taseme laadimise järel on kasutajal ees /boot/grub/menu.lst faili alusel genereeritud menüü, kust saab teha edasisi valikuid; oluline on tähele panna, et teise taseme juures on alglaaduril oskus kasutada enamlevinud failisüsteeme, sh ext3; teise taseme töö tulemusena saab kasutaja määrata millist tuuma ja ramdiski ta kasutama hakkab ning näidata tuuma juures erinevaid parameetreid (reeglina juurfailisüsteemi asukoha)&lt;br /&gt;
* alglaadur annab juhtimise üle operatsioonisüsteemi tuumale, laaditakse tuum; siinkohal on oluline, et kuni tuuma laadimisele eelnenud perioodil olid kasutuses nn BIOSi seadmed, nüüd kontrollib seadmeid operatsioonisüsteemi tuum (ja tuuma moodulid); sellise asenduse tulemusena võib vahel esineda nähtus, kus kuni tuuma laadimiseni töötas USB klaviatuur ning oli kasutatav CD seade, seejärel aga enam mitte, arusaadavalt on põhjuseks, et tuumas sel juhul puudub vastavate seadmete toetus&lt;br /&gt;
&lt;br /&gt;
Alglaaduri GRUB paketi koosseisu kuuluvate failide nimekirja saab vaadata öeldes&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L grub&lt;br /&gt;
&lt;br /&gt;
===Tuum ja initrd===&lt;br /&gt;
&lt;br /&gt;
Kuigi praktiliselt on võimalik süsteem ettevalmistada ka nii, et alglaadur laadib tuuma ning tuuma laadimise lõpus käivitatakse otse operatsioonisüsteemi init programm, toimub reeglina Debiani puhul alglaadimisel selline järgnevus&lt;br /&gt;
&lt;br /&gt;
* alglaadur laadib tuuma ja initramfs kujutise&lt;br /&gt;
* tuum pakib initramfs kujutisest mällu lahti spetsiaalselt ettevalmistatud nn. init-failisüsteemi (ingl. k. initramfs ehk initramfs)&lt;br /&gt;
* initramfs peal on iseenesest miniatuurse operatsioonisüsteemi juurfailisüsteem, millelt käivitatakse init skript&lt;br /&gt;
* init skripti töö tulemusena toimub rida täiendavaid initsialiseerimisi (nt plokkseadmete st kõvaketaste, tarkvaralise raidi, krüptitud plokkseadmete või lvm kasutamise jaoks vastavate tuuma moodulite laadimine ja nende ressursside kasutuselevõtmine)&lt;br /&gt;
* ühendatakse külge nö päris operatsioonisüsteemi juurfailisüsteem&lt;br /&gt;
* operatsioonisüsteemi juurfailisüsteemilt käivitatakse init programm&lt;br /&gt;
&lt;br /&gt;
Tavaliselt paigaldatakse tuum ja initramfs operatsioonisüsteemi paigaldamise käigus. Asjassepuutuvate failide nimekirja saab vaadata öeldes nii&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L linux-image-2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
  /boot/vmlinuz-2.6.26-1-xen-amd64&lt;br /&gt;
&lt;br /&gt;
ja&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L linux-modules-2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
  /boot/System.map-2.6.26-1-xen-amd64&lt;br /&gt;
  /boot/config-2.6.26-1-xen-amd64&lt;br /&gt;
  /lib/modules/2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Oluline on tähele panne, et initramfs&lt;br /&gt;
&lt;br /&gt;
  /boot/initrd.img-2.6.26-1-xen-amd64&lt;br /&gt;
&lt;br /&gt;
ei paigaldata otseselt paketihaldusest, vaid konstrueeritakse seadistusfailide abil automaatselt kohapeal programmi update-initramfs abil. Samuti võbi siit tähele panna, et failinimi on ajaloolistel põhjustel endiselt initrd. Initrd oli varasem viis esialgse juurfailisüsteemi ette andmiseks, mis kasutas mäluketast (ramdisk), tänapäeval on selle asemele tulnud initramfs, mis on mälukasutuse suhtes efektiivsem.&lt;br /&gt;
&lt;br /&gt;
Alltoodud näidetes on kasutatud Debiani paketihalduse tuuma ja operatsioonisüsteemi alglaadimisel mitte füüsilist arvutit vaid Xeni domU virtuaalset operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
====initrd init skripti täitmise protseduur====&lt;br /&gt;
&lt;br /&gt;
initrd arhiiv on nn newc formaadis cpio arhiiv, mis on gzip&#039;ga kokkupakitud. Olemasolevad initrd lahtipakkimiseks tuleb öelda&lt;br /&gt;
&lt;br /&gt;
  # mkdir /tmp/initrd &amp;amp;&amp;amp; cd /tmp/initrd&lt;br /&gt;
  # gunzip -c /boot/initrd.img-2.6.26-1-xen-amd64 | cpio -dmi&lt;br /&gt;
  42750 blocks&lt;br /&gt;
  # ls -l&lt;br /&gt;
  total 36&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 bin&lt;br /&gt;
  drwxr-xr-x 3 root root 4096 2009-04-04 15:50 conf&lt;br /&gt;
  drwxr-xr-x 5 root root 4096 2009-04-04 15:50 etc&lt;br /&gt;
  -rwxr-xr-x 1 root root 4238 2009-01-07 16:14 init&lt;br /&gt;
  drwxr-xr-x 4 root root 4096 2009-04-04 15:50 lib&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 lib64&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 sbin&lt;br /&gt;
  drwxr-xr-x 7 root root 4096 2009-04-04 15:50 scripts&lt;br /&gt;
&lt;br /&gt;
Kokkupakkimiseks sobib öelda, arusaadavalt peab olema ettevaatlik, et mitte töötavat initrd arhiivi üle kirjutada&lt;br /&gt;
&lt;br /&gt;
  # find . | cpio -H newc -o | gzip &amp;gt; /boot/initrd.img&lt;br /&gt;
&lt;br /&gt;
uue initrd ahiivi kasutamiseks tuleb Xeni domU seadistusfailis kasutada rida&lt;br /&gt;
&lt;br /&gt;
  ramdisk=&#039;/boot/initrd.img&#039;&lt;br /&gt;
&lt;br /&gt;
Peale tuuma bootimist laaditakse alglaaduri seadistusfailis näidatud initrd ning käivitatakse sealt skript init. See skript on suhtliselt hästi loetav, tegevused toimuvad sellises järjekorras&lt;br /&gt;
&lt;br /&gt;
* moodustatakse kataloogid /dev, /root, /sys, /proc ja /tmp&lt;br /&gt;
* ühendatakse külge failisüsteemid /sys a /proc&lt;br /&gt;
* moodustatakse seadmed /dev/console ja /dev/null&lt;br /&gt;
* kirjeldatakse ja algvääärtustatakse muutujad ROOT, break, init, BOOT jt&lt;br /&gt;
* laaditakse sisse funktsioonid skriptist ./scripts/functions&lt;br /&gt;
* väärtustatakse veel muutujaid kerneli parameetritega antud andmete abil&lt;br /&gt;
* käivitatakse scripts/init-top skriptid&lt;br /&gt;
&lt;br /&gt;
  scripts/init-top/all_generic_ide&lt;br /&gt;
  scripts/init-top/framebuffer&lt;br /&gt;
  scripts/init-top/keymap&lt;br /&gt;
&lt;br /&gt;
* laaditakse tuuma moodulid&lt;br /&gt;
* käivitatakse scripts/init-premount skriptid&lt;br /&gt;
&lt;br /&gt;
  scripts/init-premount/blacklist&lt;br /&gt;
  scripts/init-premount/udev&lt;br /&gt;
  scripts/init-premount/thermal&lt;br /&gt;
&lt;br /&gt;
* loetakse sisse funktsioonid skriptist /scripts/${BOOT}, antud juhul /scripts/local&lt;br /&gt;
* ühendatakse külge nö päris juurfailisüsteem&lt;br /&gt;
&lt;br /&gt;
  /scripts/local-top&lt;br /&gt;
  /scripts/local-premount&lt;br /&gt;
  /scripts/local-bottom&lt;br /&gt;
&lt;br /&gt;
* käivitatakse /scripts/init-bottom skriptid, tapetakse initrd udev protsess&lt;br /&gt;
&lt;br /&gt;
  scripts/init-bottom/udev&lt;br /&gt;
&lt;br /&gt;
* liigutatakse /sys ja /proc failisüsteemi päris juurfailisüsteemi alla&lt;br /&gt;
&lt;br /&gt;
  mount -n -o move /sys ${rootmnt}/sys&lt;br /&gt;
  mount -n -o move /proc ${rootmnt}/proc&lt;br /&gt;
&lt;br /&gt;
* käivitatakse nö päris operatsioonisüsteemi init&lt;br /&gt;
&lt;br /&gt;
  exec run-init ${rootmnt} ${init} &amp;quot;$@&amp;quot; &amp;lt;${rootmnt}/dev/console &amp;gt;${rootmnt}/dev/console&lt;br /&gt;
&lt;br /&gt;
initrd init skripti täitmisega kaasneb konsoolil selline logi, nagu näha on mõned teated Xeni spetsiifilised, ilmselt aitaks fan ja thermal mooduli blacklistimine&lt;br /&gt;
&lt;br /&gt;
  Loading, please wait...&lt;br /&gt;
  Begin: Loading essential drivers ... done.&lt;br /&gt;
  Begin: Running /scripts/init-premount ... FATAL: Error inserting fan \&lt;br /&gt;
    (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/fan.ko): No such device&lt;br /&gt;
  WARNING: Error inserting processor (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/processor.ko): \&lt;br /&gt;
    No such device&lt;br /&gt;
  [    1.216595] thermal: Unknown symbol acpi_processor_set_thermal_limit&lt;br /&gt;
  FATAL: Error inserting thermal (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/thermal.ko): \&lt;br /&gt;
    Unknown symbol in module, or unknown parameter (see dmesg)&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Mounting root file system ... Begin: Running /scripts/local-top ... &lt;br /&gt;
  [    1.396075] device-mapper: uevent: version 1.0.3&lt;br /&gt;
  [    1.396752] device-mapper: ioctl: 4.13.0-ioctl (2007-10-18) initialised: dm-devel@redhat.com&lt;br /&gt;
  Volume group &amp;quot;system&amp;quot; not found&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Running /scripts/local-premount ... done.&lt;br /&gt;
  [    1.537167] kjournald starting.  Commit interval 5 seconds&lt;br /&gt;
  [    1.537182] EXT3-fs: mounted filesystem with ordered data mode.&lt;br /&gt;
  Begin: Running /scripts/local-bottom ... done.&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Running /scripts/init-bottom ... done.&lt;br /&gt;
  INIT: version 2.86 booting&lt;br /&gt;
&lt;br /&gt;
====initrd init skripti täitmise peatamine====&lt;br /&gt;
&lt;br /&gt;
Üks huvipakkuv initrd&#039;ga tegelemise rakendus on peatada initrd täitmine kasutades tuuma parameetrit break. Nt peatame enne initrd udev protsessi tapmist, kusjuures päris juurikas on siis juba külge ühendatud, selleks tuleb kasutada domU seadistusfailis rida (xencons=tty on Xeni spetsiifiline)&lt;br /&gt;
&lt;br /&gt;
  extra=&#039;break=bottom xencons=tty&#039;&lt;br /&gt;
&lt;br /&gt;
Tulemusena sattuma nn initramfs shelli, mis on tegelikult ash shell&lt;br /&gt;
&lt;br /&gt;
  ...&lt;br /&gt;
  Begin: Running /scripts/local-bottom ... done.&lt;br /&gt;
  done.&lt;br /&gt;
  Spawning shell within the initramfs&lt;br /&gt;
  &lt;br /&gt;
  BusyBox v1.10.2 (Debian 1:1.10.2-2) built-in shell (ash)&lt;br /&gt;
  Enter &#039;help&#039; for a list of built-in commands.&lt;br /&gt;
  &lt;br /&gt;
  /bin/sh: can&#039;t access tty; job control turned off&lt;br /&gt;
  (initramfs) &lt;br /&gt;
&lt;br /&gt;
ning selles shellis saab kasutada neid käske mis on initrd poolt toetatud, nt&lt;br /&gt;
&lt;br /&gt;
  (initramfs) ifconfig eth0&lt;br /&gt;
  eth0      Link encap:Ethernet  HWaddr 70:01:68:01:00:51  &lt;br /&gt;
          BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000 &lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
või&lt;br /&gt;
&lt;br /&gt;
  (initramfs) df -h  &lt;br /&gt;
  Filesystem                Size      Used Available Use% Mounted on&lt;br /&gt;
  udev                     10.0M      8.0k     10.0M   0% /dev&lt;br /&gt;
  /dev/sda1                31.7G      2.4G     27.8G   8% /root&lt;br /&gt;
&lt;br /&gt;
Kuna päris juurfailisüsteem on ühendatud, siis on võimalik seda kasutada&lt;br /&gt;
&lt;br /&gt;
  (initramfs) mount -t proc /proc /root/proc&lt;br /&gt;
  (initramfs) mount -t sysfs /sys /root/sys&lt;br /&gt;
  (initramfs) chroot /root&lt;br /&gt;
&lt;br /&gt;
Edasi saab juba täielisemalt arvutit kasutada, nt peale võrgu seadistamist käivitada ssh serveri.&lt;br /&gt;
&lt;br /&gt;
initramfs promptist väljumiseks tuleb valida Ctrl+D või kirjutada nt &#039;exit&#039;, seejärel jätkub init skripti järgnevus ja operatsioonisüsteemi alglaadimine jätkub.&lt;br /&gt;
&lt;br /&gt;
====initrd seadistamine====&lt;br /&gt;
&lt;br /&gt;
initrd genereerimiseks tuleb öelda nt&lt;br /&gt;
&lt;br /&gt;
  # update-initramfs -u -k all&lt;br /&gt;
&lt;br /&gt;
initrd moodustamist saab juhtida seadistusfailiga /etc/initramfs-tools/initramfs.conf ning kontrollides kataloogi sisu&lt;br /&gt;
&lt;br /&gt;
  /usr/share/initramfs-tools/scripts&lt;br /&gt;
&lt;br /&gt;
Sinna kataloogi kopeerivad ka teised paketid oma skripte, nt&lt;br /&gt;
&lt;br /&gt;
  # dpkg -S /usr/share/initramfs-tools/scripts/local-top/mdadm &lt;br /&gt;
  mdadm: /usr/share/initramfs-tools/scripts/local-top/mdadm&lt;br /&gt;
  # dpkg -S /usr/share/initramfs-tools/scripts/local-top/lvm2&lt;br /&gt;
  lvm2: /usr/share/initramfs-tools/scripts/local-top/lvm2&lt;br /&gt;
&lt;br /&gt;
===Operatsioonisüsteemi init===&lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteemi init programmi käivitamisel tekib esimene süsteemis töötav protsess, kõik muud protsessid on selle protsessi poolt otseselt või kaudselt käivitatud. init programmi tööd kontrollib seadistusfail /etc/inittab, mille alguses on kirjas&lt;br /&gt;
&lt;br /&gt;
  # egrep -v &amp;quot;^#|^$&amp;quot; /etc/inittab&lt;br /&gt;
  id:2:initdefault:&lt;br /&gt;
  si::sysinit:/etc/init.d/rcS&lt;br /&gt;
  ~~:S:wait:/sbin/sulogin&lt;br /&gt;
  l0:0:wait:/etc/init.d/rc 0&lt;br /&gt;
  l1:1:wait:/etc/init.d/rc 1&lt;br /&gt;
  l2:2:wait:/etc/init.d/rc 2&lt;br /&gt;
  l3:3:wait:/etc/init.d/rc 3&lt;br /&gt;
  l4:4:wait:/etc/init.d/rc 4&lt;br /&gt;
  l5:5:wait:/etc/init.d/rc 5&lt;br /&gt;
  l6:6:wait:/etc/init.d/rc 6&lt;br /&gt;
  z6:6:respawn:/sbin/sulogin&lt;br /&gt;
  ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now&lt;br /&gt;
  pf::powerwait:/etc/init.d/powerfail start&lt;br /&gt;
  pn::powerfailnow:/etc/init.d/powerfail now&lt;br /&gt;
  po::powerokwait:/etc/init.d/powerfail stop&lt;br /&gt;
  1:2345:respawn:/sbin/getty 38400 tty1&lt;br /&gt;
  2:23:respawn:/sbin/getty 38400 tty2&lt;br /&gt;
  3:23:respawn:/sbin/getty 38400 tty3&lt;br /&gt;
  4:23:respawn:/sbin/getty 38400 tty4&lt;br /&gt;
  5:23:respawn:/sbin/getty 38400 tty5&lt;br /&gt;
  6:23:respawn:/sbin/getty 38400 tty6&lt;br /&gt;
&lt;br /&gt;
ja mis vaikimisi korraldab sellises järjekorras edasise süngmuste toimumise&lt;br /&gt;
&lt;br /&gt;
* käivitatakse skript /etc/init.d/rcS&lt;br /&gt;
&lt;br /&gt;
  #! /bin/sh&lt;br /&gt;
  #&lt;br /&gt;
  # rcS&lt;br /&gt;
  #&lt;br /&gt;
  # Call all S??* scripts in /etc/rcS.d/ in numerical/alphabetical order&lt;br /&gt;
  #&lt;br /&gt;
  &lt;br /&gt;
  exec /etc/init.d/rc S&lt;br /&gt;
&lt;br /&gt;
* tähestikulises järjekorras käivitatakse skriptid kataloogist /etc/rcS.d, tegelikult on need lingid /etc/init.d kataloogi skriptidele&lt;br /&gt;
&lt;br /&gt;
  # find /etc/rcS.d -type l | sort&lt;br /&gt;
  /etc/rcS.d/S01glibc.sh&lt;br /&gt;
  /etc/rcS.d/S02hostname.sh&lt;br /&gt;
  /etc/rcS.d/S02mountkernfs.sh&lt;br /&gt;
  /etc/rcS.d/S03udev&lt;br /&gt;
  /etc/rcS.d/S04mountdevsubfs.sh&lt;br /&gt;
  /etc/rcS.d/S05bootlogd&lt;br /&gt;
  /etc/rcS.d/S05keymap.sh&lt;br /&gt;
  /etc/rcS.d/S08hwclockfirst.sh&lt;br /&gt;
  /etc/rcS.d/S10checkroot.sh&lt;br /&gt;
  /etc/rcS.d/S11hwclock.sh&lt;br /&gt;
  /etc/rcS.d/S12mtab.sh&lt;br /&gt;
  /etc/rcS.d/S18ifupdown-clean&lt;br /&gt;
  /etc/rcS.d/S20module-init-tools&lt;br /&gt;
  /etc/rcS.d/S25mdadm-raid&lt;br /&gt;
  /etc/rcS.d/S26cryptdisks-early&lt;br /&gt;
  /etc/rcS.d/S26lvm2&lt;br /&gt;
  /etc/rcS.d/S28cryptdisks&lt;br /&gt;
  /etc/rcS.d/S30checkfs.sh&lt;br /&gt;
  /etc/rcS.d/S30procps&lt;br /&gt;
  /etc/rcS.d/S35mountall.sh&lt;br /&gt;
  /etc/rcS.d/S36mountall-bootclean.sh&lt;br /&gt;
  /etc/rcS.d/S36udev-mtab&lt;br /&gt;
  /etc/rcS.d/S37mountoverflowtmp&lt;br /&gt;
  /etc/rcS.d/S39ifupdown&lt;br /&gt;
  /etc/rcS.d/S40networking&lt;br /&gt;
  /etc/rcS.d/S43portmap&lt;br /&gt;
  /etc/rcS.d/S44nfs-common&lt;br /&gt;
  /etc/rcS.d/S45mountnfs.sh&lt;br /&gt;
  /etc/rcS.d/S46mountnfs-bootclean.sh&lt;br /&gt;
  /etc/rcS.d/S48console-screen.sh&lt;br /&gt;
  /etc/rcS.d/S55bootmisc.sh&lt;br /&gt;
  /etc/rcS.d/S55urandom&lt;br /&gt;
  /etc/rcS.d/S70x11-common&lt;br /&gt;
  /etc/rcS.d/S99stop-bootlogd-single&lt;br /&gt;
&lt;br /&gt;
* tähestikulises järjekorras käivitatakse skriptid kataloogist /etc/rc2.d, tegelikult on need lingid /etc/init.d kataloogi skriptidele&lt;br /&gt;
&lt;br /&gt;
  # find /etc/rc2.d -type l | sort&lt;br /&gt;
  /etc/rc2.d/S10rsyslog&lt;br /&gt;
  /etc/rc2.d/S12acpid&lt;br /&gt;
  /etc/rc2.d/S16ssh&lt;br /&gt;
  /etc/rc2.d/S20exim4&lt;br /&gt;
  /etc/rc2.d/S20nfs-common&lt;br /&gt;
  /etc/rc2.d/S20openbsd-inetd&lt;br /&gt;
  /etc/rc2.d/S20rsync&lt;br /&gt;
  /etc/rc2.d/S20smartmontools&lt;br /&gt;
  /etc/rc2.d/S20sysstat&lt;br /&gt;
  /etc/rc2.d/S20xend&lt;br /&gt;
  /etc/rc2.d/S23ntp&lt;br /&gt;
  /etc/rc2.d/S25mdadm&lt;br /&gt;
  /etc/rc2.d/S89atd&lt;br /&gt;
  /etc/rc2.d/S89cron&lt;br /&gt;
  /etc/rc2.d/S99rc.local&lt;br /&gt;
  /etc/rc2.d/S99rmnologin&lt;br /&gt;
  /etc/rc2.d/S99stop-bootlogd&lt;br /&gt;
&lt;br /&gt;
===Süsteemi peatamine===&lt;br /&gt;
&lt;br /&gt;
===TODO===&lt;br /&gt;
&lt;br /&gt;
* hibernate and resume&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Tuuma_kasutamine&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Alglaadija_GRUB&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Plokkseadme_LUKS_formaadis_krüptimine&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/LVM&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Tarkvaraline_RAID_-_mdadm&lt;/div&gt;</summary>
		<author><name>MeelisRoos</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Debiani_alglaadimine&amp;diff=10563</id>
		<title>Debiani alglaadimine</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Debiani_alglaadimine&amp;diff=10563"/>
		<updated>2009-04-06T14:38:22Z</updated>

		<summary type="html">&lt;p&gt;MeelisRoos: natuke toimetamist&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Arvuti, õieti operatsioonisüsteemi kasutamine algab arvuti käivitamisega, tavaliselt toite sisselülitamise teel, seejärel toimub operatsioonisüsteemi nn alglaadimine (ingl. k. booting, bootup, boot) ja lõpuks saab kasutaja süsteemi sisse logida ja hakata arvutit nö tavapärasel viisil kasutama.&lt;br /&gt;
&lt;br /&gt;
Käesolevas tekstis on kirjeldatud seda järgnevust, mille arvuti läbib alglaadimisel&lt;br /&gt;
&lt;br /&gt;
* toite sisselülitamise järel omandab kontrolli püsimälus olev firmware (PC puhul BIOS)&lt;br /&gt;
* BIOS laadib ja käivitab alglaaduri (nt GRUB - GRand Unified Bootloader)&lt;br /&gt;
* GRUB laadib tuuma ja initrd/initramfs (initial ramdisk/initial ram file system)&lt;br /&gt;
* GRUB käivitab tuuma&lt;br /&gt;
* tuum käivitab esialgse init-programmi initramfs pealt&lt;br /&gt;
* initramfs teeb oma töö ära ja monteerib juurfailisüsteemi&lt;br /&gt;
* initramfs annab juhtimise üle operatsioonisüsteemi programmile init&lt;br /&gt;
* operatsioonisüsteemi init käivitab süsteemis protsessid&lt;br /&gt;
* süsteem on kasutamiseks valmis (nt saab kasutaja sisse logida)&lt;br /&gt;
&lt;br /&gt;
Kuigi Debiani kasutamine ei eelda otseselt kasutaja sekkumist alglaadimise protseduuri ja sündmused toimuvad automaatselt, aitab alglaadimisel toimuvatest sündmustest aru saamine paremini tulla toime nt sellistel juhtumitel&lt;br /&gt;
&lt;br /&gt;
* süsteemi automaatne alglaadimine on tarvis peatada enne lõpulejõudmist (nt millegi kontrolliks soovitakse peatuda enne operatsioonisüsteemi init programmi käivitamist)&lt;br /&gt;
* operatsioonisüsteem on kopeeritud teisele riistvarale, kus ta ei käivitu automaatselt (tõenäoliselt on põhjuseks, et initramfs ei laadi kõvaketta kasutamiseks vajalikke mooduleid)&lt;br /&gt;
&lt;br /&gt;
===BIOS===&lt;br /&gt;
&lt;br /&gt;
Arvuti alglaadimise seisukohast on BIOS&#039;is (Basic Input Output System) tarvis näidata, milliselt ressursilt toimub alglaaduri kasutamine. Tavaliselt on see lokaalne kõvaketas, kuid võib olla ka nt PXE võimelise võrgukaardi abil tftp server.&lt;br /&gt;
&lt;br /&gt;
===Alglaadur===&lt;br /&gt;
&lt;br /&gt;
Alglaaduri (ingl. k. bootloader) ülesanne on laadida sobivate parameetritega operatsioonisüsteemi tuum ja initrd, st käivitada operatsioonisüsteem. Levinud on mitmeid erinevad alglaadurid, Debiani paigaldamisel pakutakse kasutajale valikut paigaldada GRUB, aga Debiani saab käivitada ka teiste alglaaduritega, nt LILO sh alglaadida võrgust.&lt;br /&gt;
&lt;br /&gt;
Alglaadur GRUB koosseisu kuulub mitu komponenti ja alglaaduri töö toimub mitmeastmeliselt&lt;br /&gt;
&lt;br /&gt;
* esmalt laadib BIOS alglaaduri nn esimene taseme (ingl. k. stage 1) kõvaketta alguses paiknevalt MBR&#039;ilt (ingl. k. Master Boot Record); esimese taseme laadimise järel kasutajal tavaliselt ei ole veel võimalik sekkuda, automaatselt järgneb suundumine teise taseme juurde; selleks loeb esimene taseme alglaadur alglaaduri paigaldamisel kindlaks määratud kohast kõvakettal alglaaduri teise taseme (ingl. k. stage 2); teise taseme paiknemine on kirjas MBR&#039;is ning on määratud nö füüsilise sektori asukohaga, mitte kasutades failisüsteemi mõisteid, kuna esimene tase ei oska kasutada failisüsteemi&lt;br /&gt;
* teise taseme laadimise järel on kasutajal ees /boot/grub/menu.lst faili alusel genereeritud menüü, kust saab teha edasisi valikuid; oluline on tähele panna, et teise taseme juures on alglaaduril oskus kasutada enamlevinud failisüsteeme, sh ext3; teise taseme töö tulemusena saab kasutaja määrata millist tuuma ja ramdiski ta kasutama hakkab ning näidata tuuma juures erinevaid parameetreid (reeglina juurfailisüsteemi asukoha)&lt;br /&gt;
* alglaadur annab juhtimise üle operatsioonisüsteemi tuumale, laaditakse tuum; siinkohal on oluline, et kuni tuuma laadimisele eelnenud perioodil olid kasutuses nn BIOSi seadmed, nüüd kontrollib seadmeid operatsioonisüsteemi tuum (ja tuuma moodulid); sellise asenduse tulemusena võib vahel esineda nähtus, kus kuni tuuma laadimiseni töötas USB klaviatuur ning oli kasutatav CD seade, seejärel aga enam mitte, arusaadavalt on põhjuseks, et tuumas sel juhul puudub vastavate seadmete toetus&lt;br /&gt;
&lt;br /&gt;
Alglaaduri GRUB paketi koosseisu kuuluvate failide nimekirja saab vaadata öeldes&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L grub&lt;br /&gt;
&lt;br /&gt;
===Tuum ja initrd===&lt;br /&gt;
&lt;br /&gt;
Kuigi praktiliselt on võimalik süsteem ettevalmistada ka nii, et alglaadur laadib tuuma ning tuuma laadimise lõpus käivitatakse otse operatsioonisüsteemi init programm, toimub reeglina Debiani puhul alglaadimisel selline järgnevus&lt;br /&gt;
&lt;br /&gt;
* alglaadur laadib tuuma&lt;br /&gt;
* tuum moodustab mällu spetsiaalselt ettevalmistatud nn initrd arhiivist failisüsteemi (ingl. k. initramdisk ehk initrd)&lt;br /&gt;
* initrd on iseenesest miniatuurse operatsioonisüsteemi juurfailisüsteem, millelt käivitatakse init skript&lt;br /&gt;
* init skripti töö tulemusena toimub rida täiendavaid initsialiseerimisi (nt plokkseadmete st kõvaketaste, tarkvaralise raidi, krüptitud plokkseadmete või lvm kasutamise jaoks vastavate tuuma moodulite laadimine ja nende ressursside kasutuselevõtmine)&lt;br /&gt;
* ühendatakse külge nö päris operatsioonisüsteemi juurfailisüsteem&lt;br /&gt;
* operatsioonisüsteemi juurfailisüsteemilt käivitatakse init programm&lt;br /&gt;
&lt;br /&gt;
Tavaliselt paigaldatakse tuum ja initrd operatsioonisüsteemi paigaldamise käigus. Asjassepuutuvate failide nimekirja saab vaadata öeldes nii&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L linux-image-2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
  /boot/vmlinuz-2.6.26-1-xen-amd64&lt;br /&gt;
&lt;br /&gt;
ja&lt;br /&gt;
&lt;br /&gt;
  # dpkg -L linux-modules-2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
  /boot/System.map-2.6.26-1-xen-amd64&lt;br /&gt;
  /boot/config-2.6.26-1-xen-amd64&lt;br /&gt;
  /lib/modules/2.6.26-1-xen-amd64&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Oluline on tähele panne, et initrd&lt;br /&gt;
&lt;br /&gt;
  /boot/initrd.img-2.6.26-1-xen-amd64&lt;br /&gt;
&lt;br /&gt;
ei paigaldata otseselt paketihaldusest, vaid konstrueeritakse seadistusfailide abil automaatselt kohapeal programmi update-initramfs abil.&lt;br /&gt;
&lt;br /&gt;
Alltoodud näidetes on kasutatud Debiani paketihalduse tuuma ja operatsioonisüsteemi alglaadimisel mitte füüsilist arvutit vaid Xeni domU virtaalset operatsioonisüsteemi.&lt;br /&gt;
&lt;br /&gt;
====initrd init skripti täitmise protseduur====&lt;br /&gt;
&lt;br /&gt;
initrd arhiiv on nn newc formaadis cpio arhiiv, mis on gzip&#039;ga kokkupakitud. Olemasolevad initrd lahtipakkimiseks tuleb öelda&lt;br /&gt;
&lt;br /&gt;
  # mkdir /tmp/initrd &amp;amp;&amp;amp; cd /tmp/initrd&lt;br /&gt;
  # gunzip -c /boot/initrd.img-2.6.26-1-xen-amd64 | cpio -dmi&lt;br /&gt;
  42750 blocks&lt;br /&gt;
  # ls -l&lt;br /&gt;
  total 36&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 bin&lt;br /&gt;
  drwxr-xr-x 3 root root 4096 2009-04-04 15:50 conf&lt;br /&gt;
  drwxr-xr-x 5 root root 4096 2009-04-04 15:50 etc&lt;br /&gt;
  -rwxr-xr-x 1 root root 4238 2009-01-07 16:14 init&lt;br /&gt;
  drwxr-xr-x 4 root root 4096 2009-04-04 15:50 lib&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 lib64&lt;br /&gt;
  drwxr-xr-x 2 root root 4096 2009-04-04 15:50 sbin&lt;br /&gt;
  drwxr-xr-x 7 root root 4096 2009-04-04 15:50 scripts&lt;br /&gt;
&lt;br /&gt;
Kokkupakkimiseks sobib öelda, arusaadavalt peab olema ettevaatlik, et mitte töötavat initrd arhiivi üle kirjutada&lt;br /&gt;
&lt;br /&gt;
  # find . | cpio -H newc -o | gzip &amp;gt; /boot/initrd.img&lt;br /&gt;
&lt;br /&gt;
uue initrd ahiivi kasutamiseks tuleb Xeni domU seadistusfailis kasutada rida&lt;br /&gt;
&lt;br /&gt;
  ramdisk=&#039;/boot/initrd.img&#039;&lt;br /&gt;
&lt;br /&gt;
Peale tuuma bootimist laaditakse alglaaduri seadistusfailis näidatud initrd ning käivitatakse sealt skript init. See skript on suhtliselt hästi loetav, tegevused toimuvad sellises järjekorras&lt;br /&gt;
&lt;br /&gt;
* moodustatakse kataloogid /dev, /root, /sys, /proc ja /tmp&lt;br /&gt;
* ühendatakse külge failisüsteemid /sys a /proc&lt;br /&gt;
* moodustatakse seadmed /dev/console ja /dev/null&lt;br /&gt;
* kirjeldatakse ja algvääärtustatakse muutujad ROOT, break, init, BOOT jt&lt;br /&gt;
* laaditakse sisse funktsioonid skriptist ./scripts/functions&lt;br /&gt;
* väärtustatakse veel muutujaid kerneli parameetritega antud andmete abil&lt;br /&gt;
* käivitatakse scripts/init-top skriptid&lt;br /&gt;
&lt;br /&gt;
  scripts/init-top/all_generic_ide&lt;br /&gt;
  scripts/init-top/framebuffer&lt;br /&gt;
  scripts/init-top/keymap&lt;br /&gt;
&lt;br /&gt;
* laaditakse tuuma moodulid&lt;br /&gt;
* käivitatakse scripts/init-premount skriptid&lt;br /&gt;
&lt;br /&gt;
  scripts/init-premount/blacklist&lt;br /&gt;
  scripts/init-premount/udev&lt;br /&gt;
  scripts/init-premount/thermal&lt;br /&gt;
&lt;br /&gt;
* loetakse sisse funktsioonid skriptist /scripts/${BOOT}, antud juhul /scripts/local&lt;br /&gt;
* ühendatakse külge nö päris juurfailisüsteem&lt;br /&gt;
&lt;br /&gt;
  /scripts/local-top&lt;br /&gt;
  /scripts/local-premount&lt;br /&gt;
  /scripts/local-bottom&lt;br /&gt;
&lt;br /&gt;
* käivitatakse /scripts/init-bottom skriptid, tapetakse initrd udev protsess&lt;br /&gt;
&lt;br /&gt;
  scripts/init-bottom/udev&lt;br /&gt;
&lt;br /&gt;
* liigutatakse /sys ja /proc failisüsteemi päris juurfailisüsteemi alla&lt;br /&gt;
&lt;br /&gt;
  mount -n -o move /sys ${rootmnt}/sys&lt;br /&gt;
  mount -n -o move /proc ${rootmnt}/proc&lt;br /&gt;
&lt;br /&gt;
* käivitatakse nö päris operatsioonisüsteemi init&lt;br /&gt;
&lt;br /&gt;
  exec run-init ${rootmnt} ${init} &amp;quot;$@&amp;quot; &amp;lt;${rootmnt}/dev/console &amp;gt;${rootmnt}/dev/console&lt;br /&gt;
&lt;br /&gt;
initrd init skripti täitmisega kaasneb konsoolil selline logi, nagu näha on mõned teated Xeni spetsiifilised, ilmselt aitaks fan ja thermal mooduli blacklistimine&lt;br /&gt;
&lt;br /&gt;
  Loading, please wait...&lt;br /&gt;
  Begin: Loading essential drivers ... done.&lt;br /&gt;
  Begin: Running /scripts/init-premount ... FATAL: Error inserting fan \&lt;br /&gt;
    (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/fan.ko): No such device&lt;br /&gt;
  WARNING: Error inserting processor (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/processor.ko): \&lt;br /&gt;
    No such device&lt;br /&gt;
  [    1.216595] thermal: Unknown symbol acpi_processor_set_thermal_limit&lt;br /&gt;
  FATAL: Error inserting thermal (/lib/modules/2.6.26-1-xen-amd64/kernel/drivers/acpi/thermal.ko): \&lt;br /&gt;
    Unknown symbol in module, or unknown parameter (see dmesg)&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Mounting root file system ... Begin: Running /scripts/local-top ... &lt;br /&gt;
  [    1.396075] device-mapper: uevent: version 1.0.3&lt;br /&gt;
  [    1.396752] device-mapper: ioctl: 4.13.0-ioctl (2007-10-18) initialised: dm-devel@redhat.com&lt;br /&gt;
  Volume group &amp;quot;system&amp;quot; not found&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Running /scripts/local-premount ... done.&lt;br /&gt;
  [    1.537167] kjournald starting.  Commit interval 5 seconds&lt;br /&gt;
  [    1.537182] EXT3-fs: mounted filesystem with ordered data mode.&lt;br /&gt;
  Begin: Running /scripts/local-bottom ... done.&lt;br /&gt;
  done.&lt;br /&gt;
  Begin: Running /scripts/init-bottom ... done.&lt;br /&gt;
  INIT: version 2.86 booting&lt;br /&gt;
&lt;br /&gt;
====initrd init skripti täitmise peatamine====&lt;br /&gt;
&lt;br /&gt;
Üks huvipakkuv initrd&#039;ga tegelemise rakendus on peatada initrd täitmine kasutades tuuma parameetrit break. Nt peatame enne initrd udev protsessi tapmist, kusjuures päris juurikas on siis juba külge ühendatud, selleks tuleb kasutada domU seadistusfailis rida (xencons=tty on Xeni spetsiifiline)&lt;br /&gt;
&lt;br /&gt;
  extra=&#039;break=bottom xencons=tty&#039;&lt;br /&gt;
&lt;br /&gt;
Tulemusena sattuma nn initramfs shelli, mis on tegelikult ash shell&lt;br /&gt;
&lt;br /&gt;
  ...&lt;br /&gt;
  Begin: Running /scripts/local-bottom ... done.&lt;br /&gt;
  done.&lt;br /&gt;
  Spawning shell within the initramfs&lt;br /&gt;
  &lt;br /&gt;
  BusyBox v1.10.2 (Debian 1:1.10.2-2) built-in shell (ash)&lt;br /&gt;
  Enter &#039;help&#039; for a list of built-in commands.&lt;br /&gt;
  &lt;br /&gt;
  /bin/sh: can&#039;t access tty; job control turned off&lt;br /&gt;
  (initramfs) &lt;br /&gt;
&lt;br /&gt;
ning selles shellis saab kasutada neid käske mis on initrd poolt toetatud, nt&lt;br /&gt;
&lt;br /&gt;
  (initramfs) ifconfig eth0&lt;br /&gt;
  eth0      Link encap:Ethernet  HWaddr 70:01:68:01:00:51  &lt;br /&gt;
          BROADCAST MULTICAST  MTU:1500  Metric:1&lt;br /&gt;
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;
          collisions:0 txqueuelen:1000 &lt;br /&gt;
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)&lt;br /&gt;
&lt;br /&gt;
või&lt;br /&gt;
&lt;br /&gt;
  (initramfs) df -h  &lt;br /&gt;
  Filesystem                Size      Used Available Use% Mounted on&lt;br /&gt;
  udev                     10.0M      8.0k     10.0M   0% /dev&lt;br /&gt;
  /dev/sda1                31.7G      2.4G     27.8G   8% /root&lt;br /&gt;
&lt;br /&gt;
Kuna päris juurfailisüsteem on ühendatud, siis on võimalik seda kasutada&lt;br /&gt;
&lt;br /&gt;
  (initramfs) mount -t proc /proc /root/proc&lt;br /&gt;
  (initramfs) mount -t sysfs /sys /root/sys&lt;br /&gt;
  (initramfs) chroot /root&lt;br /&gt;
&lt;br /&gt;
Edasi saab juba täielisemalt arvutit kasutada, nt peale võrgu seadistamist käivitada ssh serveri.&lt;br /&gt;
&lt;br /&gt;
initramfs promptist väljumiseks tuleb valida Ctrl+D või kirjutada nt &#039;exit&#039;, seejärel jätkub init skripti järgnevus ja operatsioonisüsteemi alglaadimine jätkub.&lt;br /&gt;
&lt;br /&gt;
====initrd seadistamine====&lt;br /&gt;
&lt;br /&gt;
initrd genereerimiseks tuleb öelda nt&lt;br /&gt;
&lt;br /&gt;
  # update-initramfs -u -k all&lt;br /&gt;
&lt;br /&gt;
initrd moodustamist saab juhtida seadistusfailiga /etc/initramfs-tools/initramfs.conf ning kontrollides kataloogi sisu&lt;br /&gt;
&lt;br /&gt;
  /usr/share/initramfs-tools/scripts&lt;br /&gt;
&lt;br /&gt;
Sinna kataloogi kopeerivad ka teised paketid oma skripte, nt&lt;br /&gt;
&lt;br /&gt;
  # dpkg -S /usr/share/initramfs-tools/scripts/local-top/mdadm &lt;br /&gt;
  mdadm: /usr/share/initramfs-tools/scripts/local-top/mdadm&lt;br /&gt;
  # dpkg -S /usr/share/initramfs-tools/scripts/local-top/lvm2&lt;br /&gt;
  lvm2: /usr/share/initramfs-tools/scripts/local-top/lvm2&lt;br /&gt;
&lt;br /&gt;
===Operatsioonisüsteemi init===&lt;br /&gt;
&lt;br /&gt;
Operatsioonisüsteemi init programmi käivitamisel tekib esimene süsteemis töötav protsess, kõik muud protsessid on selle protsessi poolt otseselt või kaudselt käivitatud. init programmi tööd kontrollib seadistusfail /etc/inittab, mille alguses on kirjas&lt;br /&gt;
&lt;br /&gt;
  # egrep -v &amp;quot;^#|^$&amp;quot; /etc/inittab&lt;br /&gt;
  id:2:initdefault:&lt;br /&gt;
  si::sysinit:/etc/init.d/rcS&lt;br /&gt;
  ~~:S:wait:/sbin/sulogin&lt;br /&gt;
  l0:0:wait:/etc/init.d/rc 0&lt;br /&gt;
  l1:1:wait:/etc/init.d/rc 1&lt;br /&gt;
  l2:2:wait:/etc/init.d/rc 2&lt;br /&gt;
  l3:3:wait:/etc/init.d/rc 3&lt;br /&gt;
  l4:4:wait:/etc/init.d/rc 4&lt;br /&gt;
  l5:5:wait:/etc/init.d/rc 5&lt;br /&gt;
  l6:6:wait:/etc/init.d/rc 6&lt;br /&gt;
  z6:6:respawn:/sbin/sulogin&lt;br /&gt;
  ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now&lt;br /&gt;
  pf::powerwait:/etc/init.d/powerfail start&lt;br /&gt;
  pn::powerfailnow:/etc/init.d/powerfail now&lt;br /&gt;
  po::powerokwait:/etc/init.d/powerfail stop&lt;br /&gt;
  1:2345:respawn:/sbin/getty 38400 tty1&lt;br /&gt;
  2:23:respawn:/sbin/getty 38400 tty2&lt;br /&gt;
  3:23:respawn:/sbin/getty 38400 tty3&lt;br /&gt;
  4:23:respawn:/sbin/getty 38400 tty4&lt;br /&gt;
  5:23:respawn:/sbin/getty 38400 tty5&lt;br /&gt;
  6:23:respawn:/sbin/getty 38400 tty6&lt;br /&gt;
&lt;br /&gt;
ja mis vaikimisi korraldab sellises järjekorras edasise süngmuste toimumise&lt;br /&gt;
&lt;br /&gt;
* käivitatakse skript /etc/init.d/rcS&lt;br /&gt;
&lt;br /&gt;
  #! /bin/sh&lt;br /&gt;
  #&lt;br /&gt;
  # rcS&lt;br /&gt;
  #&lt;br /&gt;
  # Call all S??* scripts in /etc/rcS.d/ in numerical/alphabetical order&lt;br /&gt;
  #&lt;br /&gt;
  &lt;br /&gt;
  exec /etc/init.d/rc S&lt;br /&gt;
&lt;br /&gt;
* tähestikulises järjekorras käivitatakse skriptid kataloogist /etc/rcS.d, tegelikult on need lingid /etc/init.d kataloogi skriptidele&lt;br /&gt;
&lt;br /&gt;
  # find /etc/rcS.d -type l | sort&lt;br /&gt;
  /etc/rcS.d/S01glibc.sh&lt;br /&gt;
  /etc/rcS.d/S02hostname.sh&lt;br /&gt;
  /etc/rcS.d/S02mountkernfs.sh&lt;br /&gt;
  /etc/rcS.d/S03udev&lt;br /&gt;
  /etc/rcS.d/S04mountdevsubfs.sh&lt;br /&gt;
  /etc/rcS.d/S05bootlogd&lt;br /&gt;
  /etc/rcS.d/S05keymap.sh&lt;br /&gt;
  /etc/rcS.d/S08hwclockfirst.sh&lt;br /&gt;
  /etc/rcS.d/S10checkroot.sh&lt;br /&gt;
  /etc/rcS.d/S11hwclock.sh&lt;br /&gt;
  /etc/rcS.d/S12mtab.sh&lt;br /&gt;
  /etc/rcS.d/S18ifupdown-clean&lt;br /&gt;
  /etc/rcS.d/S20module-init-tools&lt;br /&gt;
  /etc/rcS.d/S25mdadm-raid&lt;br /&gt;
  /etc/rcS.d/S26cryptdisks-early&lt;br /&gt;
  /etc/rcS.d/S26lvm2&lt;br /&gt;
  /etc/rcS.d/S28cryptdisks&lt;br /&gt;
  /etc/rcS.d/S30checkfs.sh&lt;br /&gt;
  /etc/rcS.d/S30procps&lt;br /&gt;
  /etc/rcS.d/S35mountall.sh&lt;br /&gt;
  /etc/rcS.d/S36mountall-bootclean.sh&lt;br /&gt;
  /etc/rcS.d/S36udev-mtab&lt;br /&gt;
  /etc/rcS.d/S37mountoverflowtmp&lt;br /&gt;
  /etc/rcS.d/S39ifupdown&lt;br /&gt;
  /etc/rcS.d/S40networking&lt;br /&gt;
  /etc/rcS.d/S43portmap&lt;br /&gt;
  /etc/rcS.d/S44nfs-common&lt;br /&gt;
  /etc/rcS.d/S45mountnfs.sh&lt;br /&gt;
  /etc/rcS.d/S46mountnfs-bootclean.sh&lt;br /&gt;
  /etc/rcS.d/S48console-screen.sh&lt;br /&gt;
  /etc/rcS.d/S55bootmisc.sh&lt;br /&gt;
  /etc/rcS.d/S55urandom&lt;br /&gt;
  /etc/rcS.d/S70x11-common&lt;br /&gt;
  /etc/rcS.d/S99stop-bootlogd-single&lt;br /&gt;
&lt;br /&gt;
* tähestikulises järjekorras käivitatakse skriptid kataloogist /etc/rc2.d, tegelikult on need lingid /etc/init.d kataloogi skriptidele&lt;br /&gt;
&lt;br /&gt;
  # find /etc/rc2.d -type l | sort&lt;br /&gt;
  /etc/rc2.d/S10rsyslog&lt;br /&gt;
  /etc/rc2.d/S12acpid&lt;br /&gt;
  /etc/rc2.d/S16ssh&lt;br /&gt;
  /etc/rc2.d/S20exim4&lt;br /&gt;
  /etc/rc2.d/S20nfs-common&lt;br /&gt;
  /etc/rc2.d/S20openbsd-inetd&lt;br /&gt;
  /etc/rc2.d/S20rsync&lt;br /&gt;
  /etc/rc2.d/S20smartmontools&lt;br /&gt;
  /etc/rc2.d/S20sysstat&lt;br /&gt;
  /etc/rc2.d/S20xend&lt;br /&gt;
  /etc/rc2.d/S23ntp&lt;br /&gt;
  /etc/rc2.d/S25mdadm&lt;br /&gt;
  /etc/rc2.d/S89atd&lt;br /&gt;
  /etc/rc2.d/S89cron&lt;br /&gt;
  /etc/rc2.d/S99rc.local&lt;br /&gt;
  /etc/rc2.d/S99rmnologin&lt;br /&gt;
  /etc/rc2.d/S99stop-bootlogd&lt;br /&gt;
&lt;br /&gt;
===Süsteemi peatamine===&lt;br /&gt;
&lt;br /&gt;
===TODO===&lt;br /&gt;
&lt;br /&gt;
* hibernate and resume&lt;br /&gt;
&lt;br /&gt;
===Kasulikud lisamaterjalid===&lt;br /&gt;
&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Tuuma_kasutamine&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Alglaadija_GRUB&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Plokkseadme_LUKS_formaadis_krüptimine&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/LVM&lt;br /&gt;
* http://kuutorvaja.eenet.ee/wiki/Tarkvaraline_RAID_-_mdadm&lt;/div&gt;</summary>
		<author><name>MeelisRoos</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Serial_konsool&amp;diff=5862</id>
		<title>Serial konsool</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Serial_konsool&amp;diff=5862"/>
		<updated>2008-01-09T16:37:36Z</updated>

		<summary type="html">&lt;p&gt;MeelisRoos: typod&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Sõnaga konsool tähistatakse arvuti külge füüsiliselt ühendatud monitori ja klaviatuuri. Konsooli eripära võrreldes nt ssh ligipääsust shellile seisneb selles, et arvuti tööd saab hakata juhtima suhteliselt kohe peale voolu sisselülitamist. Nt saab teha firmware (x86 arhitektuuril BIOS, Sparc arhitektuuril OBP ehk OpenBoot PROM) vahendite abil seadistusi ning määrata operatsioonisüsteemi alglaadimisel kasutatavaid parameetreid. Konsooli saab kasutada enne Etherneti ühenduse käivitumist ning ka jätkuvalt siis kui arvuti juba on täieliselt käivitunud ning saab pääseda ligi ka nö tavapäraste kaugligipääsu vahendite abil.&lt;br /&gt;
&lt;br /&gt;
Praktiliselt samaväärse kontrolli arvuti üle saab korraldada pöördudes füüsilise konsooli asemel tema poole teisest arvutist üle serial pordi, kuid sellise eelisega, et kõnelause arvuti juures ei ole vajadust enam pidada füüsilist monitori ega klaviatuuri. Arusaadavalt peab olema kasutada sobiv riistvara, mis sellist asjakorraldust toetab, mida spetsiifilisemalt, seda parem; ning vastavalt seadistatud tarkvara.&lt;br /&gt;
&lt;br /&gt;
x86 arhitektuuril põhinevate arvutite puhul reeglina ei saa BIOS funktsioonidele üle serial pordi ligi, seda saab teha vaid füüsiliselt konsoolilt. Siiski leidub ka x86 arhitektuuriga servreid, mis toetavad juurdepääsu BIOSile üle serial pordi ja isegi modemi. Aga alates bootloaderist (nt GRUB) saab juba edasisi sündmusi kontrollida. Sparc-arhitektuuril on olukord selles mõttes oluliselt parem, et OBP promptile saab ligi üle serial pordi ning lisaks on populaarsed spetsiaalsed RSC (Remote System Control) / LOM (Lights Out Management) / ALOM / ILOM kaardid, mille abil saab ka arvuti toidet sisse ja välja lülitada.&lt;br /&gt;
&lt;br /&gt;
Üle serial pordi teise arvuti konsooli poole pöördumiseks peavad arvutid olema omavahel serial porte pidi ühendatud nullmodemkaabliga.&lt;br /&gt;
&lt;br /&gt;
===x86 arhitektuuril operatsioonisüsteemiga Linux serial konsooli ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS&#039;st kasutamiseks lubatud ning kernelis on serial pordi tugi. Viimast saab teha kindlaks käsuga&lt;br /&gt;
&lt;br /&gt;
  bash# dmesg | grep ttyS&lt;br /&gt;
  serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
  00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
&lt;br /&gt;
Linuxi puhul peab arvutis, mille konsooli poole pöördutakse, olema kirjeldatud kolmes kohas, et konsool on seostatud serial pordiga:&lt;br /&gt;
&lt;br /&gt;
# GRUB bootloader - et saaks üle serial konsooli teha bootloaderis valikuid&lt;br /&gt;
# Bootloaderis kernel parameetri option - et tuuma käivitumisel esitatud tekst esitataks serial konsoolile&lt;br /&gt;
# /etc/inittab - et serial pordil kuulaks getty selleks, et saaks sisse logida&lt;br /&gt;
&lt;br /&gt;
GRUB bootloaderi menüüfailis /boot/grub/menu.lst tuleb kasutada üldosas ridu&lt;br /&gt;
&lt;br /&gt;
  serial --unit=0 --speed=9600&lt;br /&gt;
  terminal --timeout=15 serial console&lt;br /&gt;
&lt;br /&gt;
ning tuuma reale lisada &#039;console=ttyS1,9600&#039;, nt selliselt&lt;br /&gt;
&lt;br /&gt;
  title debian&lt;br /&gt;
  root (hd0,1)&lt;br /&gt;
  kernel /boot/vmlinuz-2.6.18-5-686 root=/dev/hda2 ro panic=60 console=ttyS0,9600&lt;br /&gt;
  initrd /boot/initrd.img-2.6.18-5-686&lt;br /&gt;
  savedefault&lt;br /&gt;
  boot&lt;br /&gt;
&lt;br /&gt;
ja /etc/inittab failis peab olema sarnane rida, vastasel korral ei saa juurkasutajana sisse logida&lt;br /&gt;
&lt;br /&gt;
  T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100&lt;br /&gt;
&lt;br /&gt;
Lisaks peaks veenduma, et failis /etc/securetty sisaldub rida&lt;br /&gt;
&lt;br /&gt;
  ttyS0&lt;br /&gt;
&lt;br /&gt;
===x86 arhitektuuril operatsioonisüsteemiga OpenBSD serial konsooli ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS&#039;st kasutamiseks lubatud ning kernelis on serial pordi tugi. Viimast saab teha kindlaks käsuga&lt;br /&gt;
&lt;br /&gt;
  # grep pccom /var/run/dmesg.boot  &lt;br /&gt;
  pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo&lt;br /&gt;
&lt;br /&gt;
OpenBSD puhul peab arvutis, mille konsooli poole pöördutakse, olema kirjeldatud, et konsool on seostatud serial pordiga failis /etc/boot.conf&lt;br /&gt;
&lt;br /&gt;
  set tty com0&lt;br /&gt;
&lt;br /&gt;
ning /etc/ttys failis sisalduma rida&lt;br /&gt;
&lt;br /&gt;
  tty00   &amp;quot;/usr/libexec/getty std.9600&amp;quot;   vt220   on secure&lt;br /&gt;
&lt;br /&gt;
===Serial konsooli poole pöördumine===&lt;br /&gt;
&lt;br /&gt;
Kui ühes arvutis on serial konsool ette valmistatud, siis teisest arvutist peaks saama tema poole pöörduda nt programmiga minicom või cu. Minicom on mugavam igasuguste seadete käigu pealt muutmiseks kuid sisaldab mitte kõige kvaliteetsemat terminaliemulaatorit, samas kui cu puhul tuleb anda kõik parameetrid käsurealt ning terminaliemulaatoriks kasutatakse olemasolevat terminali, seega saab kasutada näiteks kogu xtermi võimalusi. Pöördumisel peab jälgima, et klientprogrammis on kasutatud sama kiirust, mida kasutab serial konsool. Katsed näitavad, et võib kasutada edukalt ka suuremaid kiirusi kui 9600 bitti sekundis - 38400, 57600, 115200 - ning 9600 on enamasti kasutusel seepärast, et see on paljudes erinevates firmwaredes vakimisi kiiruseks. Lisaks kiirusele peavad olema korrektselt määratud ka muud ühenduse parameetrid, üks tüüpiline komplekt võiks olla Linuxi puhul selline, parameetrite tähenduste vastu sügavama huvi korral saab juurde lugeda nt Wikipediast, http://en.wikipedia.org/wiki/Serial_port&lt;br /&gt;
  &lt;br /&gt;
  Serial Device - /dev/ttyS0&lt;br /&gt;
  Bps/Par/Bits - 9600 8N1&lt;br /&gt;
  Hardware Flow Control : Yes&lt;br /&gt;
  Sofware Flow Control : No&lt;br /&gt;
&lt;br /&gt;
OpenBSD arvutist välja pöördumisel on seadme nimi /dev/cua00.&lt;br /&gt;
&lt;br /&gt;
Sparc-arhitektuuriga arvuti serial konsooli poole pöördumisel omab erilist tähendust break signaali saatmine (minicom abil Ctrl+A, F ning cu abil ~#) mille tulemusena satutakse OBP prompti. Kui seda tehakse operatsioonisüsteemi töötamise ajal, siis kaasneb sellega tuuma seiskamine ja jätkata saab käsuga &amp;quot;go&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Turvalisus===&lt;br /&gt;
&lt;br /&gt;
Kui on hirm, et serial pordi kaudu võib toimuda volituseta ligipääs, võib konsooli lülitada seriali peale vaid ajaks, kui on ette näha tavapärasel viisil ligipääsemisele takistusi. GRUB bootloaderit saab kaitsta lisaks ka parooliga. Tuleb arvestada, et kui ligipääs töötava x86 arvuti serial konsoolile ei kujuta iseenesest oluliselt suuremat ohtu kui niisama avatud ssh port internetis, siis bootimise ajal saaks pahalane korraldada nt arvuti bootimise single user režiimi ning muuta ära root kasutaja parool ja sealt edasi tegutseda.&lt;br /&gt;
&lt;br /&gt;
===Nullmodemi kaabel===&lt;br /&gt;
&lt;br /&gt;
Serial pordid on arvutitel tavaliselt 9 või 25 kontaktiga, nullmodem kaabli abil saab neid omavahel ühendada kõigis kombinatsioonides, kusjuures kasutusel on rohkem kui üks nö õige nullmodemi skeem. Tundub, et kõige leivinumad on sellisid variandid&lt;br /&gt;
&lt;br /&gt;
9 - 9 ühendus&lt;br /&gt;
&lt;br /&gt;
  3 - 2&lt;br /&gt;
  2 - 3&lt;br /&gt;
  7 - 8&lt;br /&gt;
  8 - 7&lt;br /&gt;
  5 - 5&lt;br /&gt;
  6 - 4&lt;br /&gt;
  1 - 4&lt;br /&gt;
  4 - 1&lt;br /&gt;
  4 - 6&lt;br /&gt;
&lt;br /&gt;
25 - 9 ühendus&lt;br /&gt;
&lt;br /&gt;
  2 - 3&lt;br /&gt;
  3 - 3&lt;br /&gt;
  4 - 8&lt;br /&gt;
  5 - 7&lt;br /&gt;
  7 - 5&lt;br /&gt;
  6 - 4&lt;br /&gt;
  8 - 4&lt;br /&gt;
  20 - 1&lt;br /&gt;
  20 - 6&lt;br /&gt;
&lt;br /&gt;
Kaabli pikkuseks märgivad erinevad allikad kuni kümmekond meetrit, ilmselt lühemate kaablite kasutamisel on võimalik saavutada suuremaid kiirusi.&lt;br /&gt;
&lt;br /&gt;
===Nõuandeid kasutusjuhtudeks===&lt;br /&gt;
&lt;br /&gt;
# Ühes keskmises Eesti kodus on koridoris ikka kaks arvutit: OpenBSD tulemüür ning Linuxil töötav teenuste server. Need kaks oleks siis nt hea ühendada omavahel serial porti pidi kokku, et sooritada vastastikku haldusprotseduure, millega kaasneb võrguühenduse katkemine. Siinjuures peab kasutaja ise otsustama, milline on selle tegevuse tähendus turvalisuse seisukohalt.&lt;br /&gt;
# Runlevelite kasutamiseks, millega kaasneb võrguühenduse kadumine.&lt;br /&gt;
# Tuuma debugimiseks, nt minicom võimaldab hõlpsasti logi salvestada.&lt;br /&gt;
# Kasutamisel tuleb arvestada, et kui port on kasutuses serial konsooli jaoks, siis samal ajal ei saa üle selle klientprogrammiga välja pöörduda.&lt;br /&gt;
# Operatsioonisüsteemi alglaadimisel erinevate tuumade ja tuuma parameetrite kasutamine.&lt;br /&gt;
# Kaabli ühes otsas oleva arvuti sisse või välja lülitamine võib paista teisele poole break&#039;i saatmisena, seega tasub ka sellega ettevaatlik olla.&lt;br /&gt;
# Probleeme võib tulla ka getty&#039;ga, mis &amp;quot;vastab&amp;quot; teise poole boot promptile valesti ja teeb katki ülesbuutimise.&lt;br /&gt;
&lt;br /&gt;
===USB-serial üleminek===&lt;br /&gt;
&lt;br /&gt;
Kui sellele arvutil, millega pöörduda serial konsooli poole, puudub klassikaline serial port, on võimalik kasutada USB-serial üleminekut. Eriti sageli läheb seda vaja tänapäevaste sülearvutite puhul. Peale seadme ühendamist peaks tekkima nt Linuxi logisse sarnaseid teateid ning seadmeks oleks antud juhul /dev/ttyUSB0&lt;br /&gt;
&lt;br /&gt;
  usb 3-1: new full speed USB device using uhci_hcd and address 2&lt;br /&gt;
  usb 3-1: new device found, idVendor=067b, idProduct=2303&lt;br /&gt;
  usb 3-1: new device strings: Mfr=0, Product=0, SerialNumber=0&lt;br /&gt;
  usb 3-1: configuration #1 chosen from 1 choice&lt;br /&gt;
  usbcore: registered new driver usbserial&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial support registered for generic&lt;br /&gt;
  usbcore: registered new driver usbserial_generic&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial Driver core&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303&lt;br /&gt;
  pl2303 3-1:1.0: pl2303 converter detected&lt;br /&gt;
  usb 3-1: pl2303 converter now attached to ttyUSB0&lt;br /&gt;
  usbcore: registered new driver pl2303&lt;br /&gt;
  drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver&lt;br /&gt;
&lt;br /&gt;
Ja vastupidi, ilma päris serial pordita arvuti USB-serial pordile saab konsooli suunata tõenäoliselt alles getty abil.&lt;/div&gt;</summary>
		<author><name>MeelisRoos</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Serial_konsool&amp;diff=5861</id>
		<title>Serial konsool</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Serial_konsool&amp;diff=5861"/>
		<updated>2008-01-09T16:36:09Z</updated>

		<summary type="html">&lt;p&gt;MeelisRoos: minicom vs cu&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Sõnaga konsool tähistatakse arvuti külge füüsiliselt ühendatud monitori ja klaviatuuri. Konsooli eripära võrreldes nt ssh ligipääsust shellile seisneb selles, et arvuti tööd saab hakata juhtima suhteliselt kohe peale voolu sisselülitamist. Nt saab teha firmware (x86 arhitektuuril BIOS, Sparc arhitektuuril OBP ehk OpenBoot PROM) vahendite abil seadistusi ning määrata operatsioonisüsteemi alglaadimisel kasutatavaid parameetreid. Konsooli saab kasutada enne Etherneti ühenduse käivitumist ning ka jätkuvalt siis kui arvuti juba on täieliselt käivitunud ning saab pääseda ligi ka nö tavapäraste kaugligipääsu vahendite abil.&lt;br /&gt;
&lt;br /&gt;
Praktiliselt samaväärse kontrolli arvuti üle saab korraldada pöördudes füüsilise konsooli asemel tema poole teisest arvutist üle serial pordi, kuid sellise eelisega, et kõnelause arvuti juures ei ole vajadust enam pidada füüsilist monitori ega klaviatuuri. Arusaadavalt peab olema kasutada sobiv riistvara, mis sellist asjakorraldust toetab, mida spetsiifilisemalt, seda parem; ning vastavalt seadistatud tarkvara.&lt;br /&gt;
&lt;br /&gt;
x86 arhitektuuril põhinevate arvutite puhul reeglina ei saa BIOS funktsioonidele üle serial pordi ligi, seda saab teha vaid füüsiliselt konsoolilt. Siiski leidub ka x86 arhitektuuriga servreid, mis toetavad juurdepääsu BIOSile üle serial pordi ja isegi modemi. Aga alates bootloaderist (nt GRUB) saab juba edasisi sündmusi kontrollida. Sparc-arhitektuuril on olukord selles mõttes oluliselt parem, et OBP promptile saab ligi üle serial pordi ning lisaks on populaarsed spetsiaalsed RSC (Remote System Control) / LOM (Lights Out Management) / ALOM / ILOM kaardid, mille abil saab ka arvuti toidet sisse ja välja lülitada.&lt;br /&gt;
&lt;br /&gt;
Üle serial pordi teise arvuti konsooli poole pöördumiseks peavad arvutid olema omavahel serial porte pidi ühendatud nullmodemkaabliga.&lt;br /&gt;
&lt;br /&gt;
===x86 arhitektuuril operatsioonisüsteemiga Linux serial konsooli ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS&#039;st kasutamiseks lubatud ning kernelis on serial pordi tugi. Viimast saab teha kindlaks käsuga&lt;br /&gt;
&lt;br /&gt;
  bash# dmesg | grep ttyS&lt;br /&gt;
  serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
  00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
&lt;br /&gt;
Linuxi puhul peab arvutis, mille konsooli poole pöördutakse, olema kirjeldatud kolmes kohas, et konsool on seostatud serial pordiga:&lt;br /&gt;
&lt;br /&gt;
# GRUB bootloader - et saaks üle serial konsooli teha bootloaderis valikuid&lt;br /&gt;
# Bootloaderis kernel parameetri option - et tuuma käivitumisel esitatud tekst esitataks serial konsoolile&lt;br /&gt;
# /etc/inittab - et serial pordil kuulaks getty selleks, et saaks sisse logida&lt;br /&gt;
&lt;br /&gt;
GRUB bootloaderi menüüfailis /boot/grub/menu.lst tuleb kasutada üldosas ridu&lt;br /&gt;
&lt;br /&gt;
  serial --unit=0 --speed=9600&lt;br /&gt;
  terminal --timeout=15 serial console&lt;br /&gt;
&lt;br /&gt;
ning tuuma reale lisada &#039;console=ttyS1,9600&#039;, nt selliselt&lt;br /&gt;
&lt;br /&gt;
  title debian&lt;br /&gt;
  root (hd0,1)&lt;br /&gt;
  kernel /boot/vmlinuz-2.6.18-5-686 root=/dev/hda2 ro panic=60 console=ttyS0,9600&lt;br /&gt;
  initrd /boot/initrd.img-2.6.18-5-686&lt;br /&gt;
  savedefault&lt;br /&gt;
  boot&lt;br /&gt;
&lt;br /&gt;
ja /etc/inittab failis peab olema sarnane rida, vastasel korral ei saa juurkasutajana sisse logida&lt;br /&gt;
&lt;br /&gt;
  T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100&lt;br /&gt;
&lt;br /&gt;
Lisaks peaks veenduma, et failis /etc/securetty sisaldub rida&lt;br /&gt;
&lt;br /&gt;
  ttyS0&lt;br /&gt;
&lt;br /&gt;
===x86 arhitektuuril operatsioonisüsteemiga OpenBSD serial konsooli ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS&#039;st kasutamiseks lubatud ning kernelis on serial pordi tugi. Viimast saab teha kindlaks käsuga&lt;br /&gt;
&lt;br /&gt;
  # grep pccom /var/run/dmesg.boot  &lt;br /&gt;
  pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo&lt;br /&gt;
&lt;br /&gt;
OpenBSD puhul peab arvutis, mille konsooli poole pöördutakse, olema kirjeldatud, et konsool on seostatud serial pordiga failis /etc/boot.conf&lt;br /&gt;
&lt;br /&gt;
  set tty com0&lt;br /&gt;
&lt;br /&gt;
ning /etc/ttys failis sisalduma rida&lt;br /&gt;
&lt;br /&gt;
  tty00   &amp;quot;/usr/libexec/getty std.9600&amp;quot;   vt220   on secure&lt;br /&gt;
&lt;br /&gt;
===Serial konsooli poole pöördumine===&lt;br /&gt;
&lt;br /&gt;
Kui ühes arvutis on serial konsool ette valmistatud, siis teisest arvutist peaks saama tema poole pöörduda nt programmiga minicom või cu. Minicom on mugavam igasuguste seadete käigu pealt muutmiseks kuid sisaldab mitte kõige kvaliteetsemat terminaliemulaatorit, samas kui cu puhul tuleb anda kõik parameetrid käsurealt ning terminaliemulaatoriks kasutatakse olemasolevat terminali, seega saab kasutada näiteks kogu xtermi võimalusi. Pöördumisel peab jälgima, et klientprogrammis on kasutatud sama kiirust, mida kasutab serial konsool. Katsed näitavad, et võib kasutada edukalt ka suuremaid kiirusi kui 9600 bitti sekundis - 38400, 57600, 115200 - ning 9600 on enamasti kasutusel seepärast, et see on paljudes erinevates firmwaredes vakimisi kiiruseks. Lisaks kiirusele peavad olema korrektselt määratud ka muud ühenduse parameetrid, üks tüüpiline komplekt võiks olla Linuxi puhul selline, parameetrite tähenduste vastu sügavama huvi korral saab juurde lugeda nt Wikipediast, http://en.wikipedia.org/wiki/Serial_port&lt;br /&gt;
  &lt;br /&gt;
  Serial Device - /dev/ttyS0&lt;br /&gt;
  Bps/Par/Bits - 9600 8N1&lt;br /&gt;
  Hardware Flow Control : Yes&lt;br /&gt;
  Sofware Flow Control : No&lt;br /&gt;
&lt;br /&gt;
OpenBSD arvutist välja pöördumisel on seadme nimi /dev/cua00.&lt;br /&gt;
&lt;br /&gt;
Sparc-arhitektuuriga arvuti serial konsooli poole pöördumisel omab erilist tähendust break signaali saatmine (minicom abil Ctrl+A, F ning cu abil ~#) mille tulemusena satutakse OBP prompti. Kui seda tehakse operatsioonisüsteemi töötamise ajal, siis kaasneb sellega tuuma seiskamine ja jätkata saab käsuga &amp;quot;go&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Turvalisus===&lt;br /&gt;
&lt;br /&gt;
Kui on hirm, et serial pordi kaudu võib toimuda volituseta ligipääs, võib konsooli lülitada seriali peale vaid ajaks, kui on ette näha tavapärasel viisil ligipääsemisele takistusi. GRUB bootloaderit saab kaitsta lisaks ka parooliga. Tuleb arvestada, et kui ligipääs töötava x86 arvuti serial konsoolile ei kujuta iseenesest oluliselt suuremat ohtu kui niisama avatud ssh port internetis, siis bootimise ajal saaks pahalane korraldada nt arvuti bootimise single user režiimi ning muuta ära root kasutaja parool ja sealt edasi tegutseda.&lt;br /&gt;
&lt;br /&gt;
===Nullmodemi kaabel===&lt;br /&gt;
&lt;br /&gt;
Serial pordid on arvutitel tavaliselt 9 või 25 kontaktiga, nullmodem kaabli abil saab neid omavahel ühendada kõigis kombinatsioonides, kusjuures kasutusel on rohkem kui üks nö õige nullmodemi skeem. Tundub, et kõige leivinumad on sellisid variandid&lt;br /&gt;
&lt;br /&gt;
9 - 9 ühendus&lt;br /&gt;
&lt;br /&gt;
  3 - 2&lt;br /&gt;
  2 - 3&lt;br /&gt;
  7 - 8&lt;br /&gt;
  8 - 7&lt;br /&gt;
  5 - 5&lt;br /&gt;
  6 - 4&lt;br /&gt;
  1 - 4&lt;br /&gt;
  4 - 1&lt;br /&gt;
  4 - 6&lt;br /&gt;
&lt;br /&gt;
25 - 9 ühendus&lt;br /&gt;
&lt;br /&gt;
  2 - 3&lt;br /&gt;
  3 - 3&lt;br /&gt;
  4 - 8&lt;br /&gt;
  5 - 7&lt;br /&gt;
  7 - 5&lt;br /&gt;
  6 - 4&lt;br /&gt;
  8 - 4&lt;br /&gt;
  20 - 1&lt;br /&gt;
  20 - 6&lt;br /&gt;
&lt;br /&gt;
Kaabli pikkuseks märgivad erinevad allikad kuni kümmekond meetrit, ilmselt lühemate kaablite kasutamisel on võimalik saavutada suuremaid kiirusi.&lt;br /&gt;
&lt;br /&gt;
===Nõuandeid kasutusjuhtudeks===&lt;br /&gt;
&lt;br /&gt;
# Ühes keskmises Eesti kodus on koridoris ikka kaks arvutit: OpenBSD tulemüür ning Linuxil töötav teenuste server. Need kaks oleks siis nt hea ühendada omavahel serial porti pidi kokku, et sooritada vastastikku haldusprotseduure, millega kaasneb võrguühenduse katkemine. Siinjuures peab kasutaja ise otsustama, milline on selle tegevuse tähendus turvalisuse seisukohalt.&lt;br /&gt;
# Runlevelite kasutamiseks, millega kaasneb võrguühenduse kadumine.&lt;br /&gt;
# Tuuma debugimiseks, nt minicom võimaldab hõlpsasti logi salvestada.&lt;br /&gt;
# Kasutamisel tuleb arvestada, et kui port on kasutuses serial konsooli jaoks, siis samal ajal ei saa üle selle klientprogrammiga välja pöörduda.&lt;br /&gt;
# Operatsioonisüsteemi alglaadimisel erinevate tuumade ja tuuma parameetrite kasutamine.&lt;br /&gt;
# Kaabli ühes otsas oleva arvuti sisse või välja lülitamine võib paista teisele poole break&#039;i saatmisena, seega tasub ka sellega ettevaatlik olla.&lt;br /&gt;
# Probleeme võib tulla ka getty&#039;ga, mis &amp;quot;vastab&amp;quot; teise poole bott prompptile valesti ja teeb katki ülesbuutimise.&lt;br /&gt;
&lt;br /&gt;
===USB-serial üleminek===&lt;br /&gt;
&lt;br /&gt;
Kui sellele arvutil, millega pöörduda serial konsooli poole, puudub klassikaline serial port, on võimalik kasutada USB-serial üleminekut. Eriti sageli läheb seda vaja tänapäevaste sülearvutite puhul. Peale seadme ühendamist peaks tekkima nt Linuxi logisse sarnaseid teateid ning seadmeks oleks antud juhul /dev/ttyUSB0&lt;br /&gt;
&lt;br /&gt;
  usb 3-1: new full speed USB device using uhci_hcd and address 2&lt;br /&gt;
  usb 3-1: new device found, idVendor=067b, idProduct=2303&lt;br /&gt;
  usb 3-1: new device strings: Mfr=0, Product=0, SerialNumber=0&lt;br /&gt;
  usb 3-1: configuration #1 chosen from 1 choice&lt;br /&gt;
  usbcore: registered new driver usbserial&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial support registered for generic&lt;br /&gt;
  usbcore: registered new driver usbserial_generic&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial Driver core&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303&lt;br /&gt;
  pl2303 3-1:1.0: pl2303 converter detected&lt;br /&gt;
  usb 3-1: pl2303 converter now attached to ttyUSB0&lt;br /&gt;
  usbcore: registered new driver pl2303&lt;br /&gt;
  drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver&lt;br /&gt;
&lt;br /&gt;
Ja vastupidi, ilma päris serial pordita arvuti USB-serial pordile saab konsooli suunata tõenäoliselt alles getty abil.&lt;/div&gt;</summary>
		<author><name>MeelisRoos</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Serial_konsool&amp;diff=5860</id>
		<title>Serial konsool</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Serial_konsool&amp;diff=5860"/>
		<updated>2008-01-09T16:32:07Z</updated>

		<summary type="html">&lt;p&gt;MeelisRoos: pisiparandused&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Sõnaga konsool tähistatakse arvuti külge füüsiliselt ühendatud monitori ja klaviatuuri. Konsooli eripära võrreldes nt ssh ligipääsust shellile seisneb selles, et arvuti tööd saab hakata juhtima suhteliselt kohe peale voolu sisselülitamist. Nt saab teha firmware (x86 arhitektuuril BIOS, Sparc arhitektuuril OBP ehk OpenBoot PROM) vahendite abil seadistusi ning määrata operatsioonisüsteemi alglaadimisel kasutatavaid parameetreid. Konsooli saab kasutada enne Etherneti ühenduse käivitumist ning ka jätkuvalt siis kui arvuti juba on täieliselt käivitunud ning saab pääseda ligi ka nö tavapäraste kaugligipääsu vahendite abil.&lt;br /&gt;
&lt;br /&gt;
Praktiliselt samaväärse kontrolli arvuti üle saab korraldada pöördudes füüsilise konsooli asemel tema poole teisest arvutist üle serial pordi, kuid sellise eelisega, et kõnelause arvuti juures ei ole vajadust enam pidada füüsilist monitori ega klaviatuuri. Arusaadavalt peab olema kasutada sobiv riistvara, mis sellist asjakorraldust toetab, mida spetsiifilisemalt, seda parem; ning vastavalt seadistatud tarkvara.&lt;br /&gt;
&lt;br /&gt;
x86 arhitektuuril põhinevate arvutite puhul reeglina ei saa BIOS funktsioonidele üle serial pordi ligi, seda saab teha vaid füüsiliselt konsoolilt. Siiski leidub ka x86 arhitektuuriga servreid, mis toetavad juurdepääsu BIOSile üle serial pordi ja isegi modemi. Aga alates bootloaderist (nt GRUB) saab juba edasisi sündmusi kontrollida. Sparc-arhitektuuril on olukord selles mõttes oluliselt parem, et OBP promptile saab ligi üle serial pordi ning lisaks on populaarsed spetsiaalsed RSC (Remote System Control) / LOM (Lights Out Management) / ALOM / ILOM kaardid, mille abil saab ka arvuti toidet sisse ja välja lülitada.&lt;br /&gt;
&lt;br /&gt;
Üle serial pordi teise arvuti konsooli poole pöördumiseks peavad arvutid olema omavahel serial porte pidi ühendatud nullmodemkaabliga.&lt;br /&gt;
&lt;br /&gt;
===x86 arhitektuuril operatsioonisüsteemiga Linux serial konsooli ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS&#039;st kasutamiseks lubatud ning kernelis on serial pordi tugi. Viimast saab teha kindlaks käsuga&lt;br /&gt;
&lt;br /&gt;
  bash# dmesg | grep ttyS&lt;br /&gt;
  serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
  00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
&lt;br /&gt;
Linuxi puhul peab arvutis, mille konsooli poole pöördutakse, olema kirjeldatud kolmes kohas, et konsool on seostatud serial pordiga:&lt;br /&gt;
&lt;br /&gt;
# GRUB bootloader - et saaks üle serial konsooli teha bootloaderis valikuid&lt;br /&gt;
# Bootloaderis kernel parameetri option - et tuuma käivitumisel esitatud tekst esitataks serial konsoolile&lt;br /&gt;
# /etc/inittab - et serial pordil kuulaks getty selleks, et saaks sisse logida&lt;br /&gt;
&lt;br /&gt;
GRUB bootloaderi menüüfailis /boot/grub/menu.lst tuleb kasutada üldosas ridu&lt;br /&gt;
&lt;br /&gt;
  serial --unit=0 --speed=9600&lt;br /&gt;
  terminal --timeout=15 serial console&lt;br /&gt;
&lt;br /&gt;
ning tuuma reale lisada &#039;console=ttyS1,9600&#039;, nt selliselt&lt;br /&gt;
&lt;br /&gt;
  title debian&lt;br /&gt;
  root (hd0,1)&lt;br /&gt;
  kernel /boot/vmlinuz-2.6.18-5-686 root=/dev/hda2 ro panic=60 console=ttyS0,9600&lt;br /&gt;
  initrd /boot/initrd.img-2.6.18-5-686&lt;br /&gt;
  savedefault&lt;br /&gt;
  boot&lt;br /&gt;
&lt;br /&gt;
ja /etc/inittab failis peab olema sarnane rida, vastasel korral ei saa juurkasutajana sisse logida&lt;br /&gt;
&lt;br /&gt;
  T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100&lt;br /&gt;
&lt;br /&gt;
Lisaks peaks veenduma, et failis /etc/securetty sisaldub rida&lt;br /&gt;
&lt;br /&gt;
  ttyS0&lt;br /&gt;
&lt;br /&gt;
===x86 arhitektuuril operatsioonisüsteemiga OpenBSD serial konsooli ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS&#039;st kasutamiseks lubatud ning kernelis on serial pordi tugi. Viimast saab teha kindlaks käsuga&lt;br /&gt;
&lt;br /&gt;
  # grep pccom /var/run/dmesg.boot  &lt;br /&gt;
  pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo&lt;br /&gt;
&lt;br /&gt;
OpenBSD puhul peab arvutis, mille konsooli poole pöördutakse, olema kirjeldatud, et konsool on seostatud serial pordiga failis /etc/boot.conf&lt;br /&gt;
&lt;br /&gt;
  set tty com0&lt;br /&gt;
&lt;br /&gt;
ning /etc/ttys failis sisalduma rida&lt;br /&gt;
&lt;br /&gt;
  tty00   &amp;quot;/usr/libexec/getty std.9600&amp;quot;   vt220   on secure&lt;br /&gt;
&lt;br /&gt;
===Serial konsooli poole pöördumine===&lt;br /&gt;
&lt;br /&gt;
Kui ühes arvutis on serial konsool ette valmistatud, siis teisest arvutist peaks saama tema poole pöörduda nt programmiga minicom või cu. Pöördumisel peab jälgima, et klientprogrammis on kasutatud sama kiirust, mida kasutab serial konsool. Katsed näitavad, et võib kasutada edukalt ka suuremaid kiirusi kui 9600 bitti sekundis - 38400, 57600, 115200 - ning 9600 on enamasti kasutusel seepärast, et see on paljudes erinevates firmwaredes vakimisi kiiruseks. Lisaks kiirusele peavad olema korrektselt määratud ka muud ühenduse parameetrid, üks tüüpiline komplekt võiks olla Linuxi puhul selline, parameetrite tähenduste vastu sügavama huvi korral saab juurde lugeda nt Wikipediast, http://en.wikipedia.org/wiki/Serial_port&lt;br /&gt;
  &lt;br /&gt;
  Serial Device - /dev/ttyS0&lt;br /&gt;
  Bps/Par/Bits - 9600 8N1&lt;br /&gt;
  Hardware Flow Control : Yes&lt;br /&gt;
  Sofware Flow Control : No&lt;br /&gt;
&lt;br /&gt;
OpenBSD arvutist välja pöördumisel on seadme nimi /dev/cua00.&lt;br /&gt;
&lt;br /&gt;
Sparc-arhitektuuriga arvuti serial konsooli poole pöördumisel omab erilist tähendust break signaali saatmine (minicom abil Ctrl+A, F ning cu abil ~#) mille tulemusena satutakse OBP prompti. Kui seda tehakse operatsioonisüsteemi töötamise ajal, siis kaasneb sellega tuuma seiskamine ja jätkata saab käsuga &amp;quot;go&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Turvalisus===&lt;br /&gt;
&lt;br /&gt;
Kui on hirm, et serial pordi kaudu võib toimuda volituseta ligipääs, võib konsooli lülitada seriali peale vaid ajaks, kui on ette näha tavapärasel viisil ligipääsemisele takistusi. GRUB bootloaderit saab kaitsta lisaks ka parooliga. Tuleb arvestada, et kui ligipääs töötava x86 arvuti serial konsoolile ei kujuta iseenesest oluliselt suuremat ohtu kui niisama avatud ssh port internetis, siis bootimise ajal saaks pahalane korraldada nt arvuti bootimise single user režiimi ning muuta ära root kasutaja parool ja sealt edasi tegutseda.&lt;br /&gt;
&lt;br /&gt;
===Nullmodemi kaabel===&lt;br /&gt;
&lt;br /&gt;
Serial pordid on arvutitel tavaliselt 9 või 25 kontaktiga, nullmodem kaabli abil saab neid omavahel ühendada kõigis kombinatsioonides, kusjuures kasutusel on rohkem kui üks nö õige nullmodemi skeem. Tundub, et kõige leivinumad on sellisid variandid&lt;br /&gt;
&lt;br /&gt;
9 - 9 ühendus&lt;br /&gt;
&lt;br /&gt;
  3 - 2&lt;br /&gt;
  2 - 3&lt;br /&gt;
  7 - 8&lt;br /&gt;
  8 - 7&lt;br /&gt;
  5 - 5&lt;br /&gt;
  6 - 4&lt;br /&gt;
  1 - 4&lt;br /&gt;
  4 - 1&lt;br /&gt;
  4 - 6&lt;br /&gt;
&lt;br /&gt;
25 - 9 ühendus&lt;br /&gt;
&lt;br /&gt;
  2 - 3&lt;br /&gt;
  3 - 3&lt;br /&gt;
  4 - 8&lt;br /&gt;
  5 - 7&lt;br /&gt;
  7 - 5&lt;br /&gt;
  6 - 4&lt;br /&gt;
  8 - 4&lt;br /&gt;
  20 - 1&lt;br /&gt;
  20 - 6&lt;br /&gt;
&lt;br /&gt;
Kaabli pikkuseks märgivad erinevad allikad kuni kümmekond meetrit, ilmselt lühemate kaablite kasutamisel on võimalik saavutada suuremaid kiirusi.&lt;br /&gt;
&lt;br /&gt;
===Nõuandeid kasutusjuhtudeks===&lt;br /&gt;
&lt;br /&gt;
# Ühes keskmises Eesti kodus on koridoris ikka kaks arvutit: OpenBSD tulemüür ning Linuxil töötav teenuste server. Need kaks oleks siis nt hea ühendada omavahel serial porti pidi kokku, et sooritada vastastikku haldusprotseduure, millega kaasneb võrguühenduse katkemine. Siinjuures peab kasutaja ise otsustama, milline on selle tegevuse tähendus turvalisuse seisukohalt.&lt;br /&gt;
# Runlevelite kasutamiseks, millega kaasneb võrguühenduse kadumine.&lt;br /&gt;
# Tuuma debugimiseks, nt minicom võimaldab hõlpsasti logi salvestada.&lt;br /&gt;
# Kasutamisel tuleb arvestada, et kui port on kasutuses serial konsooli jaoks, siis samal ajal ei saa üle selle klientprogrammiga välja pöörduda.&lt;br /&gt;
# Operatsioonisüsteemi alglaadimisel erinevate tuumade ja tuuma parameetrite kasutamine.&lt;br /&gt;
# Kaabli ühes otsas oleva arvuti sisse või välja lülitamine võib paista teisele poole break&#039;i saatmisena, seega tasub ka sellega ettevaatlik olla.&lt;br /&gt;
# Probleeme võib tulla ka getty&#039;ga, mis &amp;quot;vastab&amp;quot; teise poole bott prompptile valesti ja teeb katki ülesbuutimise.&lt;br /&gt;
&lt;br /&gt;
===USB-serial üleminek===&lt;br /&gt;
&lt;br /&gt;
Kui sellele arvutil, millega pöörduda serial konsooli poole, puudub klassikaline serial port, on võimalik kasutada USB-serial üleminekut. Eriti sageli läheb seda vaja tänapäevaste sülearvutite puhul. Peale seadme ühendamist peaks tekkima nt Linuxi logisse sarnaseid teateid ning seadmeks oleks antud juhul /dev/ttyUSB0&lt;br /&gt;
&lt;br /&gt;
  usb 3-1: new full speed USB device using uhci_hcd and address 2&lt;br /&gt;
  usb 3-1: new device found, idVendor=067b, idProduct=2303&lt;br /&gt;
  usb 3-1: new device strings: Mfr=0, Product=0, SerialNumber=0&lt;br /&gt;
  usb 3-1: configuration #1 chosen from 1 choice&lt;br /&gt;
  usbcore: registered new driver usbserial&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial support registered for generic&lt;br /&gt;
  usbcore: registered new driver usbserial_generic&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial Driver core&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303&lt;br /&gt;
  pl2303 3-1:1.0: pl2303 converter detected&lt;br /&gt;
  usb 3-1: pl2303 converter now attached to ttyUSB0&lt;br /&gt;
  usbcore: registered new driver pl2303&lt;br /&gt;
  drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver&lt;br /&gt;
&lt;br /&gt;
Ja vastupidi, ilma päris serial pordita arvuti USB-serial pordile saab konsooli suunata tõenäoliselt alles getty abil.&lt;/div&gt;</summary>
		<author><name>MeelisRoos</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Serial_konsool&amp;diff=5859</id>
		<title>Serial konsool</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Serial_konsool&amp;diff=5859"/>
		<updated>2008-01-09T16:30:16Z</updated>

		<summary type="html">&lt;p&gt;MeelisRoos: pisiparandused&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Sõnaga konsool tähistatakse arvuti külge füüsiliselt ühendatud monitori ja klaviatuuri. Konsooli eripära võrreldes nt ssh ligipääsust shellile seisneb selles, et arvuti tööd saab hakata juhtima suhteliselt kohe peale voolu sisselülitamist. Nt saab teha firmware (x86 arhitektuuril BIOS, Sparc arhitektuuril OBP ehk OpenBoot PROM) vahendite abil seadistusi ning määrata operatsioonisüsteemi alglaadimisel kasutatavaid parameetreid. Konsooli saab kasutada enne Etherneti ühenduse käivitumist ning ka jätkuvalt siis kui arvuti juba on täieliselt käivitunud ning saab pääseda ligi ka nö tavapäraste kaugligipääsu vahendite abil.&lt;br /&gt;
&lt;br /&gt;
Praktiliselt samaväärse kontrolli arvuti üle saab korraldada pöördudes füüsilise konsooli asemel tema poole teisest arvutist üle serial pordi, kuid sellise eelisega, et kõnelause arvuti juures ei ole vajadust enam pidada füüsilist monitori ega klaviatuuri. Arusaadavalt peab olema kasutada sobiv riistvara, mis sellist asjakorraldust toetab, mida spetsiifilisemalt, seda parem; ning vastavalt seadistatud tarkvara.&lt;br /&gt;
&lt;br /&gt;
x86 arhitektuuril põhinevate arvutite puhul reeglina ei saa BIOS funktsioonidele üle serial pordi ligi, seda saab teha vaid füüsiliselt konsoolilt. Siiski leidub ka x86 arhitektuuriga servreid, mis toetavad juurdepääsu BIOSile üle serial pordi ja isegi modemi. Aga alates bootloaderist (nt GRUB) saab juba edasisi sündmusi kontrollida. Sparc-arhitektuuril on olukord selles mõttes oluliselt parem, et OBP promptile saab ligi üle serial pordi ning lisaks on populaarsed spetsiaalsed RSC (Remote System Control) / LOM (Lights Out Management) / ALOM / ILOM kaardid, mille abil saab ka arvuti toidet sisse ja välja lülitada.&lt;br /&gt;
&lt;br /&gt;
Üle serial pordi teise arvuti konsooli poole pöördumiseks peavad arvutid olema omavahel serial porte pidi ühendatud nullmodemkaabliga.&lt;br /&gt;
&lt;br /&gt;
===x86 arhitektuuril operatsioonisüsteemiga Linux serial konsooli ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS&#039;st kasutamiseks lubatud ning kernelis on serial pordi tugi. Viimast saab teha kindlaks käsuga&lt;br /&gt;
&lt;br /&gt;
  bash# dmesg | grep ttyS&lt;br /&gt;
  serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
  00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
&lt;br /&gt;
Linuxi puhul peab arvutis, mille konsooli poole pöördutakse, olema kirjeldatud kolmes kohas, et konsool on seostatud serial pordiga:&lt;br /&gt;
&lt;br /&gt;
# GRUB bootloader - et saaks üle serial konsooli teha bootloaderis valikuid&lt;br /&gt;
# Bootloaderis kernel parameetri option - et tuuma käivitumisel esitatud tekst esitataks serial konsoolile&lt;br /&gt;
# /etc/inittab - et serial pordil kuulaks getty selleks, et saaks sisse logida&lt;br /&gt;
&lt;br /&gt;
GRUB bootloaderi menüüfailis /boot/grub/menu.lst tuleb kasutada üldosas ridu&lt;br /&gt;
&lt;br /&gt;
  serial --unit=0 --speed=9600&lt;br /&gt;
  terminal --timeout=15 serial console&lt;br /&gt;
&lt;br /&gt;
ning tuuma reale lisada &#039;console=ttyS1,9600&#039;, nt selliselt&lt;br /&gt;
&lt;br /&gt;
  title debian&lt;br /&gt;
  root (hd0,1)&lt;br /&gt;
  kernel /boot/vmlinuz-2.6.18-5-686 root=/dev/hda2 ro panic=60 console=ttyS0,9600&lt;br /&gt;
  initrd /boot/initrd.img-2.6.18-5-686&lt;br /&gt;
  savedefault&lt;br /&gt;
  boot&lt;br /&gt;
&lt;br /&gt;
ja /etc/inittab failis peab olema sarnane rida, vastasel korral ei saa juurkasutajana sisse logida&lt;br /&gt;
&lt;br /&gt;
  T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100&lt;br /&gt;
&lt;br /&gt;
Lisaks peaks veenduma, et failis /etc/securetty sisaldub rida&lt;br /&gt;
&lt;br /&gt;
  ttyS0&lt;br /&gt;
&lt;br /&gt;
===x86 arhitektuuril operatsioonisüsteemiga OpenBSD serial konsooli ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS&#039;st kasutamiseks lubatud ning kernelis on serial pordi tugi. Viimast saab teha kindlaks käsuga&lt;br /&gt;
&lt;br /&gt;
  # grep pccom /var/run/dmesg.boot  &lt;br /&gt;
  pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo&lt;br /&gt;
&lt;br /&gt;
OpenBSD puhul peab arvutis, mille konsooli poole pöördutakse, olema kirjeldatud, et konsool on seostatud serial pordiga failis /etc/boot.conf&lt;br /&gt;
&lt;br /&gt;
  set tty com0&lt;br /&gt;
&lt;br /&gt;
ning /etc/ttys failis sisalduma rida&lt;br /&gt;
&lt;br /&gt;
  tty00   &amp;quot;/usr/libexec/getty std.9600&amp;quot;   vt220   on secure&lt;br /&gt;
&lt;br /&gt;
===Serial konsooli poole pöördumine===&lt;br /&gt;
&lt;br /&gt;
Kui ühes arvutis on serial konsool ette valmistatud, siis teisest arvutist peaks saama tema poole pöörduda nt programmiga minicom või cu. Pöördumisel peab jälgima, et klientprogrammis on kasutatud sama kiirust, mida kasutab serial konsool. Katsed näitavad, et võib kasutada edukalt ka suuremaid kiirusi kui 9600 bitti sekundis - 38400, 57600, 115200. Lisaks kiirusele peavad olema korrektselt määratud ka muud ühenduse parameetrid, üks tüüpiline komplekt võiks olla Linuxi puhul selline, parameetrite tähenduste vastu sügavama huvi korral saab juurde lugeda nt Wikipediast, http://en.wikipedia.org/wiki/Serial_port&lt;br /&gt;
  &lt;br /&gt;
  Serial Device - /dev/ttyS0&lt;br /&gt;
  Bps/Par/Bits - 9600 8N1&lt;br /&gt;
  Hardware Flow Control : Yes&lt;br /&gt;
  Sofware Flow Control : No&lt;br /&gt;
&lt;br /&gt;
OpenBSD arvutist välja pöördumisel on seadme nimi /dev/cua00.&lt;br /&gt;
&lt;br /&gt;
Sparc-arhitektuuriga arvuti serial konsooli poole pöördumisel omab erilist tähendust break signaali saatmine (minicom abil Ctrl+A, F ning cu abil ~#) mille tulemusena satutakse OBP prompti. Kui seda tehakse operatsioonisüsteemi töötamise ajal, siis kaasneb sellega tuuma seiskamine ja jätkata saab käsuga &amp;quot;go&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Turvalisus===&lt;br /&gt;
&lt;br /&gt;
Kui on hirm, et serial pordi kaudu võib toimuda volituseta ligipääs, võib konsooli lülitada seriali peale vaid ajaks, kui on ette näha tavapärasel viisil ligipääsemisele takistusi. GRUB bootloaderit saab kaitsta lisaks ka parooliga. Tuleb arvestada, et kui ligipääs töötava x86 arvuti serial konsoolile ei kujuta iseenesest oluliselt suuremat ohtu kui niisama avatud ssh port internetis, siis bootimise ajal saaks pahalane korraldada nt arvuti bootimise single user režiimi ning muuta ära root kasutaja parool ja sealt edasi tegutseda.&lt;br /&gt;
&lt;br /&gt;
===Nullmodemi kaabel===&lt;br /&gt;
&lt;br /&gt;
Serial pordid on arvutitel tavaliselt 9 või 25 kontaktiga, nullmodem kaabli abil saab neid omavahel ühendada kõigis kombinatsioonides, kusjuures kasutusel on rohkem kui üks nö õige nullmodemi skeem. Tundub, et kõige leivinumad on sellisid variandid&lt;br /&gt;
&lt;br /&gt;
9 - 9 ühendus&lt;br /&gt;
&lt;br /&gt;
  3 - 2&lt;br /&gt;
  2 - 3&lt;br /&gt;
  7 - 8&lt;br /&gt;
  8 - 7&lt;br /&gt;
  5 - 5&lt;br /&gt;
  6 - 4&lt;br /&gt;
  1 - 4&lt;br /&gt;
  4 - 1&lt;br /&gt;
  4 - 6&lt;br /&gt;
&lt;br /&gt;
25 - 9 ühendus&lt;br /&gt;
&lt;br /&gt;
  2 - 3&lt;br /&gt;
  3 - 3&lt;br /&gt;
  4 - 8&lt;br /&gt;
  5 - 7&lt;br /&gt;
  7 - 5&lt;br /&gt;
  6 - 4&lt;br /&gt;
  8 - 4&lt;br /&gt;
  20 - 1&lt;br /&gt;
  20 - 6&lt;br /&gt;
&lt;br /&gt;
Kaabli pikkuseks märgivad erinevad allikad kuni kümmekond meetrit, ilmselt lühemate kaablite kasutamisel on võimalik saavutada suuremaid kiirusi.&lt;br /&gt;
&lt;br /&gt;
===Nõuandeid kasutusjuhtudeks===&lt;br /&gt;
&lt;br /&gt;
# Ühes keskmises Eesti kodus on koridoris ikka kaks arvutit: OpenBSD tulemüür ning Linuxil töötav teenuste server. Need kaks oleks siis nt hea ühendada omavahel serial porti pidi kokku, et sooritada vastastikku haldusprotseduure, millega kaasneb võrguühenduse katkemine. Siinjuures peab kasutaja ise otsustama, milline on selle tegevuse tähendus turvalisuse seisukohalt.&lt;br /&gt;
# Runlevelite kasutamiseks, millega kaasneb võrguühenduse kadumine.&lt;br /&gt;
# Tuuma debugimiseks, nt minicom võimaldab hõlpsasti logi salvestada.&lt;br /&gt;
# Kasutamisel tuleb arvestada, et kui port on kasutuses serial konsooli jaoks, siis samal ajal ei saa üle selle klientprogrammiga välja pöörduda.&lt;br /&gt;
# Operatsioonisüsteemi alglaadimisel erinevate tuumade ja tuuma parameetrite kasutamine.&lt;br /&gt;
# Kaabli ühes otsas oleva arvuti sisse või välja lülitamine võib paista teisele poole break&#039;i saatmisena, seega tasub ka sellega ettevaatlik olla.&lt;br /&gt;
# Probleeme võib tulla ka getty&#039;ga, mis &amp;quot;vastab&amp;quot; teise poole bott prompptile valesti ja teeb katki ülesbuutimise.&lt;br /&gt;
&lt;br /&gt;
===USB-serial üleminek===&lt;br /&gt;
&lt;br /&gt;
Kui sellele arvutil, millega pöörduda serial konsooli poole, puudub klassikaline serial port, on võimalik kasutada USB-serial üleminekut. Eriti sageli läheb seda vaja tänapäevaste sülearvutite puhul. Peale seadme ühendamist peaks tekkima nt Linuxi logisse sarnaseid teateid ning seadmeks oleks antud juhul /dev/ttyUSB0&lt;br /&gt;
&lt;br /&gt;
  usb 3-1: new full speed USB device using uhci_hcd and address 2&lt;br /&gt;
  usb 3-1: new device found, idVendor=067b, idProduct=2303&lt;br /&gt;
  usb 3-1: new device strings: Mfr=0, Product=0, SerialNumber=0&lt;br /&gt;
  usb 3-1: configuration #1 chosen from 1 choice&lt;br /&gt;
  usbcore: registered new driver usbserial&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial support registered for generic&lt;br /&gt;
  usbcore: registered new driver usbserial_generic&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial Driver core&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303&lt;br /&gt;
  pl2303 3-1:1.0: pl2303 converter detected&lt;br /&gt;
  usb 3-1: pl2303 converter now attached to ttyUSB0&lt;br /&gt;
  usbcore: registered new driver pl2303&lt;br /&gt;
  drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver&lt;br /&gt;
&lt;br /&gt;
Ja vastupidi, ilma päris serial pordita arvuti USB-serial pordile saab konsooli suunata tõenäoliselt alles getty abil.&lt;/div&gt;</summary>
		<author><name>MeelisRoos</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Serial_konsool&amp;diff=5858</id>
		<title>Serial konsool</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Serial_konsool&amp;diff=5858"/>
		<updated>2008-01-09T16:21:35Z</updated>

		<summary type="html">&lt;p&gt;MeelisRoos: pisiparandused&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Sõnaga konsool tähistatakse arvuti külge füüsiliselt ühendatud monitori ja klaviatuuri. Konsooli eripära võrreldes nt ssh ligipääsust shellile seisneb selles, et arvuti tööd saab hakata juhtima suhteliselt kohe peale voolu sisselülitamist. Nt saab teha firmware (x86 arhitektuuril BIOS, Sparc arhitektuuril OBP ehk OpenBoot PROM) vahendite abil seadistusi ning määrata operatsioonisüsteemi alglaadimisel kasutatavaid parameetreid. Konsooli saab kasutada enne Etherneti ühenduse käivitumist ning ka jätkuvalt siis kui arvuti juba on täieliselt käivitunud ning saab pääseda ligi ka nö tavapäraste kaugligipääsu vahendite abil.&lt;br /&gt;
&lt;br /&gt;
Praktiliselt samaväärse kontrolli arvuti üle saab korraldada pöördudes füüsilise konsooli asemel tema poole teisest arvutist üle serial pordi, kuid sellise eelisega, et kõnelause arvuti juures ei ole vajadust enam pidada füüsilist monitori ega klaviatuuri. Arusaadavalt peab olema kasutada sobiv riistvara, mis sellist asjakorraldust toetab, mida spetsiifilisemalt, seda parem; ning vastavalt seadistatud tarkvara.&lt;br /&gt;
&lt;br /&gt;
x86 arhitektuuril põhinevate arvutite puhul reeglina ei saa BIOS funktsioonidele üle serial pordi ligi, seda saab teha vaid füüsiliselt konsoolilt. Siiski leidub ka x86 arhitektuuriga servreid, mis toetavad juurdepääsu BIOSile üle serial pordi ja isegi modemi. Aga alates bootloaderist (nt GRUB) saab juba edasisi sündmusi kontrollida. Sparc-arhitektuuril on olukord selles mõttes oluliselt parem, et OBP promptile saab ligi üle serial pordi ning lisaks on populaarsed spetsiaalsed RSC (Remote System Control) / LOM (Lights Out Management) / ALOM / ILOM kaardid, mille abil saab ka arvuti toidet sisse ja välja lülitada.&lt;br /&gt;
&lt;br /&gt;
Üle serial pordi teise arvuti konsooli poole pöördumiseks peavad arvutid olema omavahel serial porte pidi ühendatud nullmodemkaabliga.&lt;br /&gt;
&lt;br /&gt;
===x86 arhitektuuril operatsioonisüsteemiga Linux serial konsooli ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS&#039;st kasutamiseks lubatud ning kernelis on serial pordi tugi. Viimast saab teha kindlaks käsuga&lt;br /&gt;
&lt;br /&gt;
  bash# dmesg | grep ttyS&lt;br /&gt;
  serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
  00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
&lt;br /&gt;
Linuxi puhul peab arvutis, mille konsooli poole pöördutakse, olema kirjeldatud kolmes kohas, et konsool on seostatud serial pordiga:&lt;br /&gt;
&lt;br /&gt;
# GRUB bootloader - et saaks üle serial konsooli teha bootloaderis valikuid&lt;br /&gt;
# Bootloaderis kernel parameetri option - et tuuma käivitumisel esitatud tekst esitataks serial konsoolile&lt;br /&gt;
# /etc/inittab - et serial pordil kuulaks getty selleks, et saaks sisse logida&lt;br /&gt;
&lt;br /&gt;
GRUB bootloaderi menüüfailis /boot/grub/menu.lst tuleb kasutada üldosas ridu&lt;br /&gt;
&lt;br /&gt;
  serial --unit=0 --speed=9600&lt;br /&gt;
  terminal --timeout=15 serial console&lt;br /&gt;
&lt;br /&gt;
ning tuuma reale lisada &#039;console=ttyS1,9600&#039;, nt selliselt&lt;br /&gt;
&lt;br /&gt;
  title debian&lt;br /&gt;
  root (hd0,1)&lt;br /&gt;
  kernel /boot/vmlinuz-2.6.18-5-686 root=/dev/hda2 ro panic=60 console=ttyS0,9600&lt;br /&gt;
  initrd /boot/initrd.img-2.6.18-5-686&lt;br /&gt;
  savedefault&lt;br /&gt;
  boot&lt;br /&gt;
&lt;br /&gt;
ja /etc/inittab failis peab olema sarnane rida, vastasel korral ei saa juurkasutajana sisse logida&lt;br /&gt;
&lt;br /&gt;
  T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100&lt;br /&gt;
&lt;br /&gt;
Lisaks peaks veenduma, et failis /etc/securetty sisaldub rida&lt;br /&gt;
&lt;br /&gt;
  ttyS0&lt;br /&gt;
&lt;br /&gt;
===x86 arhitektuuril operatsioonisüsteemiga OpenBSD serial konsooli ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS&#039;st kasutamiseks lubatud ning kernelis on serial pordi tugi. Viimast saab teha kindlaks käsuga&lt;br /&gt;
&lt;br /&gt;
  # grep pccom /var/run/dmesg.boot  &lt;br /&gt;
  pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo&lt;br /&gt;
&lt;br /&gt;
OpenBSD puhul peab arvutis, mille konsooli poole pöördutakse, olema kirjeldatud, et konsool on seostatud serial pordiga failis /etc/boot.conf&lt;br /&gt;
&lt;br /&gt;
  set tty com0&lt;br /&gt;
&lt;br /&gt;
ning /etc/ttys failis sisalduma rida&lt;br /&gt;
&lt;br /&gt;
  tty00   &amp;quot;/usr/libexec/getty std.9600&amp;quot;   vt220   on secure&lt;br /&gt;
&lt;br /&gt;
===Serial konsooli poole pöördumine===&lt;br /&gt;
&lt;br /&gt;
Kui ühes arvutis on serial konsool ettevalmistatud, siis teisest arvutist peaks saama tema poole pöörduda nt programmiga minicom või cu. Pöördumisel peab jälgima, et klientprogrammis on kasutatud sama kiirust mida kasutab serial konsool. Katsed näitavad, et võib kasutada edukalt ka suuremaid kiirusi kui 9600 bitti sekundis. Lisaks kiirusele peavad olema korrektselt määratud ka muud ühenduse parameetrid, üks tüüpiline komplekt võiks olla Linuxi puhul selline, parameetrite tähenduste vastu sügavama huvi korral saab juurde lugeda nt Wikipediast, http://en.wikipedia.org/wiki/Serial_port&lt;br /&gt;
  &lt;br /&gt;
  Serial Device - /dev/ttyS0&lt;br /&gt;
  Bps/Par/Bits - 9600 8N1&lt;br /&gt;
  Hardware Flow Control : Yes&lt;br /&gt;
  Sofware Flow Control : No&lt;br /&gt;
&lt;br /&gt;
OpenBSD arvutist välja pöördumisel on seadme nimi /dev/cua00.&lt;br /&gt;
&lt;br /&gt;
Sparc arhitektuuril arvuti serial konsooli poole pöördumisel omab erilist tähendust break signaali saatmine (minicom abil Ctrl+A, F) mille tulemusena satutakse OBP prompti. Kui seda tehakse operatsioonisüsteemi töötamise ajal, siis kaasneb sellega tuuma seiskamine.&lt;br /&gt;
&lt;br /&gt;
===Turvalisus===&lt;br /&gt;
&lt;br /&gt;
Kui on hirm, et serial pordi kaudu võib toimuda volituseta ligipääs võib konsool lülitada seriali peale vaid ajaks, kui on ette näha tavapärasel viisil ligipääsemisele takistusi. Grub bootloaderit saab kaitsta lisaks parooliga. Tuleb arvestada, et kui töötava x86 arvuti serial konsool ligipääs ei kujuta iseenesest oluliselt suuremat ohtu kui niisama avatud ssh port internetis, siis bootimise ajal saaks pahalane korraldada nt arvuti bootida single user rezhiimi ning muuta ära root kasutaja parooli ja sealt edasi tegutseda.&lt;br /&gt;
&lt;br /&gt;
===Nullmodemi kaabel===&lt;br /&gt;
&lt;br /&gt;
Serial pordid on arvutitel tavaliselt 9 või 25 kontaktiga, nullmodem kaabli abil saab neid omavahel ühendada kõigis kombinatsioonides, kusjuures kasutusel on rohkem kui üks nö õige nullmodemi skeem. Tundub, et kõige leivinumad on sellisid variandid&lt;br /&gt;
&lt;br /&gt;
9 - 9 ühendus&lt;br /&gt;
&lt;br /&gt;
  3 - 2&lt;br /&gt;
  2 - 3&lt;br /&gt;
  7 - 8&lt;br /&gt;
  8 - 7&lt;br /&gt;
  5 - 5&lt;br /&gt;
  6 - 4&lt;br /&gt;
  1 - 4&lt;br /&gt;
  4 - 1&lt;br /&gt;
  4 - 6&lt;br /&gt;
&lt;br /&gt;
25 - 9 ühendus&lt;br /&gt;
&lt;br /&gt;
  2 - 3&lt;br /&gt;
  3 - 3&lt;br /&gt;
  4 - 8&lt;br /&gt;
  5 - 7&lt;br /&gt;
  7 - 5&lt;br /&gt;
  6 - 4&lt;br /&gt;
  8 - 4&lt;br /&gt;
  20 - 1&lt;br /&gt;
  20 - 6&lt;br /&gt;
&lt;br /&gt;
Kaabli pikkuseks märgivad erinevad allikad kuni kümmekond meetrit, ilmselt lühemate kaablite kasutamisel on võimalik saavutada paremaid kiirusi.&lt;br /&gt;
&lt;br /&gt;
===Nõuandeid kasutusjuhtudeks===&lt;br /&gt;
&lt;br /&gt;
# Ühes keskmise eesti kodus on koridoris ikka kaks arvutit: OpenBSD tulemüür ning Linuxil töötav teenuste server. Need kaks oleks siis nt hea ühendada omavahel serial porti pidi kokku, et sooritada vastastikku haldusprotseduure, millega kaasneb võrguühenduse katkemine. Siinjuures peab kasutaja ise otsustama milline on selle tegevuse tähendus turvalisuse seisukohalt.&lt;br /&gt;
# Runlevelite kasutamiseks, millega kaasneb võrguühenduse kadumine.&lt;br /&gt;
# Tuuma debugimiseks, nt minicom võimaldab hõlpsasti logi salvestada.&lt;br /&gt;
# Kasutamisel tuleb arvestada, et kui port on kasutuses serial konsooli jaoks, siis samal ajal ei saa üle selle klientprogrammiga välja pöörduda.&lt;br /&gt;
# Operatsioonisüsteemi alglaadimisel erinevate tuumade ja tuuma parameetrite kasutamine.&lt;br /&gt;
&lt;br /&gt;
===USB-serial üleminek===&lt;br /&gt;
&lt;br /&gt;
Kui sellele arvutil, millega pöörduda serial konsooli poole puudub klassikaline serial port, on võimalik kasutada USB-serial üleminekut. Peale seadme ühendamist peaks tekkima nt Linuxi logisse sarnaseid teateid ning seadmeks oleks antud juhul /dev/ttyUSB0&lt;br /&gt;
&lt;br /&gt;
  usb 3-1: new full speed USB device using uhci_hcd and address 2&lt;br /&gt;
  usb 3-1: new device found, idVendor=067b, idProduct=2303&lt;br /&gt;
  usb 3-1: new device strings: Mfr=0, Product=0, SerialNumber=0&lt;br /&gt;
  usb 3-1: configuration #1 chosen from 1 choice&lt;br /&gt;
  usbcore: registered new driver usbserial&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial support registered for generic&lt;br /&gt;
  usbcore: registered new driver usbserial_generic&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial Driver core&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303&lt;br /&gt;
  pl2303 3-1:1.0: pl2303 converter detected&lt;br /&gt;
  usb 3-1: pl2303 converter now attached to ttyUSB0&lt;br /&gt;
  usbcore: registered new driver pl2303&lt;br /&gt;
  drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver&lt;br /&gt;
&lt;br /&gt;
Ja vastupidi, ilma päris serial pordita arvuti USB-serial pordile saab konsooli suunata tõenäoliselt alles getty abil.&lt;/div&gt;</summary>
		<author><name>MeelisRoos</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Serial_konsool&amp;diff=5857</id>
		<title>Serial konsool</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Serial_konsool&amp;diff=5857"/>
		<updated>2008-01-09T16:20:37Z</updated>

		<summary type="html">&lt;p&gt;MeelisRoos: pisiparandused&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Sõnaga konsool tähistatakse arvuti külge füüsiliselt ühendatud monitori ja klaviatuuri. Konsooli eripära võrreldes nt ssh ligipääsust shellile seisneb selles, et arvuti tööd saab hakata juhtima suhteliselt kohe peale voolu sisselülitamist. Nt saab teha firmware (x86 arhitektuuril BIOS, Sparc arhitektuuril OBP ehk OpenBoot PROM) vahendite abil seadistusi ning määrata operatsioonisüsteemi alglaadimisel kasutatavaid parameetreid. Konsooli saab kasutada enne Etherneti ühenduse käivitumist ning ka jätkuvalt siis kui arvuti juba on täieliselt käivitunud ning saab pääseda ligi ka nö tavapäraste kaugligipääsu vahendite abil.&lt;br /&gt;
&lt;br /&gt;
Praktiliselt samaväärse kontrolli arvuti üle saab korraldada pöördudes füüsilise konsooli asemel tema poole teisest arvutist üle serial pordi, kuid sellise eelisega, et kõnelause arvuti juures ei ole vajadust enam pidada füüsilist monitori ega klaviatuuri. Arusaadavalt peab olema kasutada sobiv riistvara, mis sellist asjakorraldust toetab, mida spetsiifilisemalt, seda parem; ning vastavalt seadistatud tarkvara.&lt;br /&gt;
&lt;br /&gt;
x86 arhitektuuril põhinevate arvutite puhul reeglina ei saa BIOS funktsioonidele üle serial pordi ligi, seda saab teha vaid füüsiliselt konsoolilt. Siiski leidub ka x86 arhitektuuriga servreid, mis toetavad juurdepääsu BIOSile üle serial pordi ja isegi modemi. Aga alates bootloaderist (nt GRUB) saab juba edasisi sündmusi kontrollida. Sparc-arhitektuuril on olukord selles mõttes oluliselt parem, et OBP promptile saab ligi üle serial pordi ning lisaks on populaarsed spetsiaalsed RSC (Remote System Control) / LOM (Lights Out Management) / ALOM / ILOM kaardid, mille abil saab ka arvuti toidet sisse ja välja lülitada.&lt;br /&gt;
&lt;br /&gt;
Üle serial pordi teise arvuti konsooli poole pöördumiseks peavad arvutid olema omavahel serial porte pidi ühendatud nullmodemkaabliga.&lt;br /&gt;
&lt;br /&gt;
===x86 arhitektuuril operatsioonisüsteemiga Linux serial konsooli ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS&#039;st kasutamiseks lubatud ning kernelis on serial pordi tugi. Viimast saab teha kindlaks käsuga&lt;br /&gt;
&lt;br /&gt;
  bash# dmesg | grep ttyS&lt;br /&gt;
  serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
  00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
&lt;br /&gt;
Linuxi puhul peab arvutis, mille konsooli poole pöördutakse, olema kirjeldatud kolmes kohas, et konsool on seostatud serial pordiga:&lt;br /&gt;
&lt;br /&gt;
# GRUB bootloader - et saaks üle serial konsooli teha bootloaderis valikuid&lt;br /&gt;
# Bootloaderis kernel parameetri option - et tuuma käivitumisel esitatud tekst esitataks serial konsoolile&lt;br /&gt;
# /etc/inittab - et serial pordil kuulaks getty selleks, et saaks sisse logida&lt;br /&gt;
&lt;br /&gt;
GRUB bootloaderi menüüfailis /boot/grub/menu.lst tuleb kasutada üldosas ridu&lt;br /&gt;
&lt;br /&gt;
  serial --unit=0 --speed=9600&lt;br /&gt;
  terminal --timeout=15 serial console&lt;br /&gt;
&lt;br /&gt;
ning tuuma reale lisada &#039;console=ttyS1,9600&#039;, nt selliselt&lt;br /&gt;
&lt;br /&gt;
  title debian&lt;br /&gt;
  root (hd0,1)&lt;br /&gt;
  kernel /boot/vmlinuz-2.6.18-5-686 root=/dev/hda2 ro panic=60 console=ttyS0,9600&lt;br /&gt;
  initrd /boot/initrd.img-2.6.18-5-686&lt;br /&gt;
  savedefault&lt;br /&gt;
  boot&lt;br /&gt;
&lt;br /&gt;
ja /etc/inittab failis peab olema sarnane rida, vastasel korral ei saa juurkasutajana sisse logida&lt;br /&gt;
&lt;br /&gt;
  T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100&lt;br /&gt;
&lt;br /&gt;
Lisaks peaks veenduma, et failis /etc/securetty sisaldub rida&lt;br /&gt;
&lt;br /&gt;
  ttyS0&lt;br /&gt;
&lt;br /&gt;
===x86 arhitektuuril operatsioonisüsteemiga OpenBSD serial konsooli ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS&#039;st kasutamiseks lubatud ning kernelis oleks serial pordi tugi. Viimast saab teha kindlaks käsuga&lt;br /&gt;
&lt;br /&gt;
  # grep pccom /var/run/dmesg.boot  &lt;br /&gt;
  pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo&lt;br /&gt;
&lt;br /&gt;
OpenBSD puhul peab arvutis, mille konsooli poole pöördutakse olema kirjeldatud, et konsool on seostatud serial pordiga failis /etc/boot.conf&lt;br /&gt;
&lt;br /&gt;
  set tty com0&lt;br /&gt;
&lt;br /&gt;
ning /etc/ttys failis sisalduma rida&lt;br /&gt;
&lt;br /&gt;
  tty00   &amp;quot;/usr/libexec/getty std.9600&amp;quot;   vt220   on secure&lt;br /&gt;
&lt;br /&gt;
===Serial konsooli poole pöördumine===&lt;br /&gt;
&lt;br /&gt;
Kui ühes arvutis on serial konsool ettevalmistatud, siis teisest arvutist peaks saama tema poole pöörduda nt programmiga minicom või cu. Pöördumisel peab jälgima, et klientprogrammis on kasutatud sama kiirust mida kasutab serial konsool. Katsed näitavad, et võib kasutada edukalt ka suuremaid kiirusi kui 9600 bitti sekundis. Lisaks kiirusele peavad olema korrektselt määratud ka muud ühenduse parameetrid, üks tüüpiline komplekt võiks olla Linuxi puhul selline, parameetrite tähenduste vastu sügavama huvi korral saab juurde lugeda nt Wikipediast, http://en.wikipedia.org/wiki/Serial_port&lt;br /&gt;
  &lt;br /&gt;
  Serial Device - /dev/ttyS0&lt;br /&gt;
  Bps/Par/Bits - 9600 8N1&lt;br /&gt;
  Hardware Flow Control : Yes&lt;br /&gt;
  Sofware Flow Control : No&lt;br /&gt;
&lt;br /&gt;
OpenBSD arvutist välja pöördumisel on seadme nimi /dev/cua00.&lt;br /&gt;
&lt;br /&gt;
Sparc arhitektuuril arvuti serial konsooli poole pöördumisel omab erilist tähendust break signaali saatmine (minicom abil Ctrl+A, F) mille tulemusena satutakse OBP prompti. Kui seda tehakse operatsioonisüsteemi töötamise ajal, siis kaasneb sellega tuuma seiskamine.&lt;br /&gt;
&lt;br /&gt;
===Turvalisus===&lt;br /&gt;
&lt;br /&gt;
Kui on hirm, et serial pordi kaudu võib toimuda volituseta ligipääs võib konsool lülitada seriali peale vaid ajaks, kui on ette näha tavapärasel viisil ligipääsemisele takistusi. Grub bootloaderit saab kaitsta lisaks parooliga. Tuleb arvestada, et kui töötava x86 arvuti serial konsool ligipääs ei kujuta iseenesest oluliselt suuremat ohtu kui niisama avatud ssh port internetis, siis bootimise ajal saaks pahalane korraldada nt arvuti bootida single user rezhiimi ning muuta ära root kasutaja parooli ja sealt edasi tegutseda.&lt;br /&gt;
&lt;br /&gt;
===Nullmodemi kaabel===&lt;br /&gt;
&lt;br /&gt;
Serial pordid on arvutitel tavaliselt 9 või 25 kontaktiga, nullmodem kaabli abil saab neid omavahel ühendada kõigis kombinatsioonides, kusjuures kasutusel on rohkem kui üks nö õige nullmodemi skeem. Tundub, et kõige leivinumad on sellisid variandid&lt;br /&gt;
&lt;br /&gt;
9 - 9 ühendus&lt;br /&gt;
&lt;br /&gt;
  3 - 2&lt;br /&gt;
  2 - 3&lt;br /&gt;
  7 - 8&lt;br /&gt;
  8 - 7&lt;br /&gt;
  5 - 5&lt;br /&gt;
  6 - 4&lt;br /&gt;
  1 - 4&lt;br /&gt;
  4 - 1&lt;br /&gt;
  4 - 6&lt;br /&gt;
&lt;br /&gt;
25 - 9 ühendus&lt;br /&gt;
&lt;br /&gt;
  2 - 3&lt;br /&gt;
  3 - 3&lt;br /&gt;
  4 - 8&lt;br /&gt;
  5 - 7&lt;br /&gt;
  7 - 5&lt;br /&gt;
  6 - 4&lt;br /&gt;
  8 - 4&lt;br /&gt;
  20 - 1&lt;br /&gt;
  20 - 6&lt;br /&gt;
&lt;br /&gt;
Kaabli pikkuseks märgivad erinevad allikad kuni kümmekond meetrit, ilmselt lühemate kaablite kasutamisel on võimalik saavutada paremaid kiirusi.&lt;br /&gt;
&lt;br /&gt;
===Nõuandeid kasutusjuhtudeks===&lt;br /&gt;
&lt;br /&gt;
# Ühes keskmise eesti kodus on koridoris ikka kaks arvutit: OpenBSD tulemüür ning Linuxil töötav teenuste server. Need kaks oleks siis nt hea ühendada omavahel serial porti pidi kokku, et sooritada vastastikku haldusprotseduure, millega kaasneb võrguühenduse katkemine. Siinjuures peab kasutaja ise otsustama milline on selle tegevuse tähendus turvalisuse seisukohalt.&lt;br /&gt;
# Runlevelite kasutamiseks, millega kaasneb võrguühenduse kadumine.&lt;br /&gt;
# Tuuma debugimiseks, nt minicom võimaldab hõlpsasti logi salvestada.&lt;br /&gt;
# Kasutamisel tuleb arvestada, et kui port on kasutuses serial konsooli jaoks, siis samal ajal ei saa üle selle klientprogrammiga välja pöörduda.&lt;br /&gt;
# Operatsioonisüsteemi alglaadimisel erinevate tuumade ja tuuma parameetrite kasutamine.&lt;br /&gt;
&lt;br /&gt;
===USB-serial üleminek===&lt;br /&gt;
&lt;br /&gt;
Kui sellele arvutil, millega pöörduda serial konsooli poole puudub klassikaline serial port, on võimalik kasutada USB-serial üleminekut. Peale seadme ühendamist peaks tekkima nt Linuxi logisse sarnaseid teateid ning seadmeks oleks antud juhul /dev/ttyUSB0&lt;br /&gt;
&lt;br /&gt;
  usb 3-1: new full speed USB device using uhci_hcd and address 2&lt;br /&gt;
  usb 3-1: new device found, idVendor=067b, idProduct=2303&lt;br /&gt;
  usb 3-1: new device strings: Mfr=0, Product=0, SerialNumber=0&lt;br /&gt;
  usb 3-1: configuration #1 chosen from 1 choice&lt;br /&gt;
  usbcore: registered new driver usbserial&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial support registered for generic&lt;br /&gt;
  usbcore: registered new driver usbserial_generic&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial Driver core&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303&lt;br /&gt;
  pl2303 3-1:1.0: pl2303 converter detected&lt;br /&gt;
  usb 3-1: pl2303 converter now attached to ttyUSB0&lt;br /&gt;
  usbcore: registered new driver pl2303&lt;br /&gt;
  drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver&lt;br /&gt;
&lt;br /&gt;
Ja vastupidi, ilma päris serial pordita arvuti USB-serial pordile saab konsooli suunata tõenäoliselt alles getty abil.&lt;/div&gt;</summary>
		<author><name>MeelisRoos</name></author>
	</entry>
	<entry>
		<id>https://kuutorvaja.eenet.ee/w/index.php?title=Serial_konsool&amp;diff=5856</id>
		<title>Serial konsool</title>
		<link rel="alternate" type="text/html" href="https://kuutorvaja.eenet.ee/w/index.php?title=Serial_konsool&amp;diff=5856"/>
		<updated>2008-01-09T16:18:50Z</updated>

		<summary type="html">&lt;p&gt;MeelisRoos: pisiparandused&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Sissejuhatus===&lt;br /&gt;
&lt;br /&gt;
Sõnaga konsool tähistatakse arvuti külge füüsiliselt ühendatud monitori ja klaviatuuri. Konsooli eripära võrreldes nt ssh ligipääsust shellile seisneb selles, et arvuti tööd saab hakata juhtima suhteliselt kohe peale voolu sisselülitamist. Nt saab teha firmware (x86 arhitektuuril BIOS, Sparc arhitektuuril OBP ehk OpenBoot PROM) vahendite abil seadistusi ning määrata operatsioonisüsteemi alglaadimisel kasutatavaid parameetreid. Konsooli saab kasutada enne Etherneti ühenduse käivitumist ning ka jätkuvalt siis kui arvuti juba on täieliselt käivitunud ning saab pääseda ligi ka nö tavapäraste kaugligipääsu vahendite abil.&lt;br /&gt;
&lt;br /&gt;
Praktiliselt samaväärse kontrolli arvuti üle saab korraldada pöördudes füüsilise konsooli asemel tema poole teisest arvutist üle serial pordi, kuid sellise eelisega, et kõnelause arvuti juures ei ole vajadust enam pidada füüsilist monitori ega klaviatuuri. Arusaadavalt peab olema kasutada sobiv riistvara, mis sellist asjakorraldust toetab, mida spetsiifilisemalt, seda parem; ning vastavalt seadistatud tarkvara.&lt;br /&gt;
&lt;br /&gt;
x86 arhitektuuril põhinevate arvutite puhul reeglina ei saa BIOS funktsioonidele üle serial pordi ligi, seda saab teha vaid füüsiliselt konsoolilt. Siiski leidub ka x86 arhitektuuriga servreid, mis toetavad juurdepääsu BIOSile üle serial pordi ja isegi modemi. Aga alates bootloaderist (nt GRUB) saab juba edasisi sündmusi kontrollida. Sparc-arhitektuuril on olukord selles mõttes oluliselt parem, et OBP promptile saab ligi üle serial pordi ning lisaks on populaarsed spetsiaalsed RSC (Remote System Control) / LOM (Lights Out Management) / ALOM / ILOM kaardid, mille abil saab ka arvuti toidet sisse ja välja lülitada.&lt;br /&gt;
&lt;br /&gt;
Üle serial pordi teise arvuti konsooli poole pöördumiseks peavad arvutid olema omavahel serial porte pidi ühendatud nullmodemkaabliga.&lt;br /&gt;
&lt;br /&gt;
===x86 arhitektuuril operatsioonisüsteemiga Linux serial konsooli ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS&#039;st kasutamiseks lubatud ning kernelis oleks serial pordi tugi. Viimast saab teha kindlaks käsuga&lt;br /&gt;
&lt;br /&gt;
  bash# dmesg | grep ttyS&lt;br /&gt;
  serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
  00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A&lt;br /&gt;
&lt;br /&gt;
Linuxi puhul peab arvutis, mille konsooli poole pöördutakse olema kirjeldatud kolmes kohas, et konsool on seostatud serial pordiga&lt;br /&gt;
&lt;br /&gt;
# Grub bootloader - et saaks üle serial konsooli teha bootloaderis valikuid&lt;br /&gt;
# Bootloaderis kernel parameetri option - et tuuma käivitumisel esitatud tekst esitataks serial konsoolile&lt;br /&gt;
# /etc/inittab - et serial pordil kuulaks getty selleks, et saaks sisse logida&lt;br /&gt;
&lt;br /&gt;
Grub bootloaderi menüüfailis /boot/grub/menu.lst tuleb kasutada üldosas ridu&lt;br /&gt;
&lt;br /&gt;
  serial --unit=0 --speed=9600&lt;br /&gt;
  terminal --timeout=15 serial console&lt;br /&gt;
&lt;br /&gt;
ning tuuma reale lisada &#039;console=ttyS1,9600&#039;, nt selliselt&lt;br /&gt;
&lt;br /&gt;
  title debian&lt;br /&gt;
  root (hd0,1)&lt;br /&gt;
  kernel /boot/vmlinuz-2.6.18-5-686 root=/dev/hda2 ro panic=60 console=ttyS0,9600&lt;br /&gt;
  initrd /boot/initrd.img-2.6.18-5-686&lt;br /&gt;
  savedefault&lt;br /&gt;
  boot&lt;br /&gt;
&lt;br /&gt;
ja /etc/inittab failis peab olema sarnane rida, vastasel korral ei saa juurkasutajana sisse logida&lt;br /&gt;
&lt;br /&gt;
  T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100&lt;br /&gt;
&lt;br /&gt;
Lisaks peaks veenduma, et failis /etc/securetty sisaldub rida&lt;br /&gt;
&lt;br /&gt;
  ttyS0&lt;br /&gt;
&lt;br /&gt;
===x86 arhitektuuril operatsioonisüsteemiga OpenBSD serial konsooli ettevalmistamine===&lt;br /&gt;
&lt;br /&gt;
Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS&#039;st kasutamiseks lubatud ning kernelis oleks serial pordi tugi. Viimast saab teha kindlaks käsuga&lt;br /&gt;
&lt;br /&gt;
  # grep pccom /var/run/dmesg.boot  &lt;br /&gt;
  pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo&lt;br /&gt;
&lt;br /&gt;
OpenBSD puhul peab arvutis, mille konsooli poole pöördutakse olema kirjeldatud, et konsool on seostatud serial pordiga failis /etc/boot.conf&lt;br /&gt;
&lt;br /&gt;
  set tty com0&lt;br /&gt;
&lt;br /&gt;
ning /etc/ttys failis sisalduma rida&lt;br /&gt;
&lt;br /&gt;
  tty00   &amp;quot;/usr/libexec/getty std.9600&amp;quot;   vt220   on secure&lt;br /&gt;
&lt;br /&gt;
===Serial konsooli poole pöördumine===&lt;br /&gt;
&lt;br /&gt;
Kui ühes arvutis on serial konsool ettevalmistatud, siis teisest arvutist peaks saama tema poole pöörduda nt programmiga minicom või cu. Pöördumisel peab jälgima, et klientprogrammis on kasutatud sama kiirust mida kasutab serial konsool. Katsed näitavad, et võib kasutada edukalt ka suuremaid kiirusi kui 9600 bitti sekundis. Lisaks kiirusele peavad olema korrektselt määratud ka muud ühenduse parameetrid, üks tüüpiline komplekt võiks olla Linuxi puhul selline, parameetrite tähenduste vastu sügavama huvi korral saab juurde lugeda nt Wikipediast, http://en.wikipedia.org/wiki/Serial_port&lt;br /&gt;
  &lt;br /&gt;
  Serial Device - /dev/ttyS0&lt;br /&gt;
  Bps/Par/Bits - 9600 8N1&lt;br /&gt;
  Hardware Flow Control : Yes&lt;br /&gt;
  Sofware Flow Control : No&lt;br /&gt;
&lt;br /&gt;
OpenBSD arvutist välja pöördumisel on seadme nimi /dev/cua00.&lt;br /&gt;
&lt;br /&gt;
Sparc arhitektuuril arvuti serial konsooli poole pöördumisel omab erilist tähendust break signaali saatmine (minicom abil Ctrl+A, F) mille tulemusena satutakse OBP prompti. Kui seda tehakse operatsioonisüsteemi töötamise ajal, siis kaasneb sellega tuuma seiskamine.&lt;br /&gt;
&lt;br /&gt;
===Turvalisus===&lt;br /&gt;
&lt;br /&gt;
Kui on hirm, et serial pordi kaudu võib toimuda volituseta ligipääs võib konsool lülitada seriali peale vaid ajaks, kui on ette näha tavapärasel viisil ligipääsemisele takistusi. Grub bootloaderit saab kaitsta lisaks parooliga. Tuleb arvestada, et kui töötava x86 arvuti serial konsool ligipääs ei kujuta iseenesest oluliselt suuremat ohtu kui niisama avatud ssh port internetis, siis bootimise ajal saaks pahalane korraldada nt arvuti bootida single user rezhiimi ning muuta ära root kasutaja parooli ja sealt edasi tegutseda.&lt;br /&gt;
&lt;br /&gt;
===Nullmodemi kaabel===&lt;br /&gt;
&lt;br /&gt;
Serial pordid on arvutitel tavaliselt 9 või 25 kontaktiga, nullmodem kaabli abil saab neid omavahel ühendada kõigis kombinatsioonides, kusjuures kasutusel on rohkem kui üks nö õige nullmodemi skeem. Tundub, et kõige leivinumad on sellisid variandid&lt;br /&gt;
&lt;br /&gt;
9 - 9 ühendus&lt;br /&gt;
&lt;br /&gt;
  3 - 2&lt;br /&gt;
  2 - 3&lt;br /&gt;
  7 - 8&lt;br /&gt;
  8 - 7&lt;br /&gt;
  5 - 5&lt;br /&gt;
  6 - 4&lt;br /&gt;
  1 - 4&lt;br /&gt;
  4 - 1&lt;br /&gt;
  4 - 6&lt;br /&gt;
&lt;br /&gt;
25 - 9 ühendus&lt;br /&gt;
&lt;br /&gt;
  2 - 3&lt;br /&gt;
  3 - 3&lt;br /&gt;
  4 - 8&lt;br /&gt;
  5 - 7&lt;br /&gt;
  7 - 5&lt;br /&gt;
  6 - 4&lt;br /&gt;
  8 - 4&lt;br /&gt;
  20 - 1&lt;br /&gt;
  20 - 6&lt;br /&gt;
&lt;br /&gt;
Kaabli pikkuseks märgivad erinevad allikad kuni kümmekond meetrit, ilmselt lühemate kaablite kasutamisel on võimalik saavutada paremaid kiirusi.&lt;br /&gt;
&lt;br /&gt;
===Nõuandeid kasutusjuhtudeks===&lt;br /&gt;
&lt;br /&gt;
# Ühes keskmise eesti kodus on koridoris ikka kaks arvutit: OpenBSD tulemüür ning Linuxil töötav teenuste server. Need kaks oleks siis nt hea ühendada omavahel serial porti pidi kokku, et sooritada vastastikku haldusprotseduure, millega kaasneb võrguühenduse katkemine. Siinjuures peab kasutaja ise otsustama milline on selle tegevuse tähendus turvalisuse seisukohalt.&lt;br /&gt;
# Runlevelite kasutamiseks, millega kaasneb võrguühenduse kadumine.&lt;br /&gt;
# Tuuma debugimiseks, nt minicom võimaldab hõlpsasti logi salvestada.&lt;br /&gt;
# Kasutamisel tuleb arvestada, et kui port on kasutuses serial konsooli jaoks, siis samal ajal ei saa üle selle klientprogrammiga välja pöörduda.&lt;br /&gt;
# Operatsioonisüsteemi alglaadimisel erinevate tuumade ja tuuma parameetrite kasutamine.&lt;br /&gt;
&lt;br /&gt;
===USB-serial üleminek===&lt;br /&gt;
&lt;br /&gt;
Kui sellele arvutil, millega pöörduda serial konsooli poole puudub klassikaline serial port, on võimalik kasutada USB-serial üleminekut. Peale seadme ühendamist peaks tekkima nt Linuxi logisse sarnaseid teateid ning seadmeks oleks antud juhul /dev/ttyUSB0&lt;br /&gt;
&lt;br /&gt;
  usb 3-1: new full speed USB device using uhci_hcd and address 2&lt;br /&gt;
  usb 3-1: new device found, idVendor=067b, idProduct=2303&lt;br /&gt;
  usb 3-1: new device strings: Mfr=0, Product=0, SerialNumber=0&lt;br /&gt;
  usb 3-1: configuration #1 chosen from 1 choice&lt;br /&gt;
  usbcore: registered new driver usbserial&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial support registered for generic&lt;br /&gt;
  usbcore: registered new driver usbserial_generic&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial Driver core&lt;br /&gt;
  drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303&lt;br /&gt;
  pl2303 3-1:1.0: pl2303 converter detected&lt;br /&gt;
  usb 3-1: pl2303 converter now attached to ttyUSB0&lt;br /&gt;
  usbcore: registered new driver pl2303&lt;br /&gt;
  drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver&lt;br /&gt;
&lt;br /&gt;
Ja vastupidi, ilma päris serial pordita arvuti USB-serial pordile saab konsooli suunata tõenäoliselt alles getty abil.&lt;/div&gt;</summary>
		<author><name>MeelisRoos</name></author>
	</entry>
</feed>