Serial konsool

Allikas: Kuutõrvaja
Redaktsioon seisuga 9. jaanuar 2008, kell 10:00 kasutajalt Imre (arutelu | kaastöö)

Sissejuhatus

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 kontrollida suhteliselt kohe peale voolu sisselülitamist. Nt saab teha BIOS (x86 arhitektuuril) või OBP (Sparc arhitektuuril) vahendite abil seadistusi ning kontrollida operatsioonisüsteemi alglaadimisel kasutatavaid parameetreid. Konsooli saab kasutada ennem kui etherneti ühendus käivitub 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, nt SSH.

Osutub, et praktiliselt samaväärse kontrolli kõnealuse arvuti üle saab saavutada pöördudes tema poole teisest arvutist üle serial pordi, kuid selle eelisega, et kõnelause arvuti juures ei ole vajadust enam pidada füüsilist monitori ega klaviatuuri. Arusaadavalt peab olema kasutusel sobiv tarkvara, mis on vastavalt seadistatud ning hea kui seda võimalust ka riistvara spetsiifiliselt lisaks toetab.

x86 arhitektuuril põhinevate arvutite puhul reeglina ei saa BIOS funktsioonidele üle serial pordi ligi, seda saab teha vaid füüsiliselt konsoolilt. Aga alates bootloaderist, nt Grub saab juba edasisi sündmusi kontrollida. Sparc arhitektuuril on olukord selles mõttes oluliselt parem, OBP promptile saab ligi üle serial pordi ning lisaks on populaarsed spetsiaalsed RSC kaardid, mille abil saab ka arvuti toidet sisse ja välja lülitada.

Üle serial pordi teise arvuti konsooli poole pöördumiseks peavad arvutid olema omavahel serial porte pidi ühendatud nullmodem kaabliga.

x86 arhitektuuril operatsioonisüsteemiga Linux serial konsooli ettevalmistamine

Linuxi puhul peab arvutis, mille konsooli poole pöördutakse olema kirjeldatud kolmes kohas, et konsool on seostatud serial pordiga

  1. Grub bootloader - et saaks üle serial konsooli teha bootloaderis valikuid
  2. Bootloaderis kernel parameetri option - et tuuma käivitumisel esitatud tekst esitataks serial konsoolile
  3. /etc/inittab - et serial pordil kuulaks getty selleks, et saaks sisse logida

Grub bootloaderi menüüfailis /boot/grub/menu.lst tuleb kasutada üldosas ridu

 serial --unit=0 --speed=9600
 terminal --timeout=15 serial console

ning tuuma reale lisada 'console=ttyS1,9600', nt selliselt

 title debian
 root (hd0,1)
 kernel /boot/vmlinuz-2.6.18-5-686 root=/dev/hda2 ro panic=60 console=ttyS0,9600
 initrd /boot/initrd.img-2.6.18-5-686
 savedefault
 boot

ja /etc/inittab failis peab olema sarnane rida

T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100

Lisaks peaks veenduma, et failis /etc/securetty sisaldub rida

 ttyS0

x86 arhitektuuril operatsioonisüsteemiga OpenBSD serial konsooli ettevalmistamine

OpenBSD puhul peab arvutis, mille konsooli poole pöördutakse olema kirjeldatud, et konsool on seostatud serial pordiga failis /etc/boot.conf

 set tty com0

ning /etc/ttys failis sisalduma rida

 tty00   "/usr/libexec/getty std.9600"   vt220   on secure

Serial konsooli poole pöördumine

Kui ühes arvutis on serial konsool ettevalmistatud, siis teisest arvutist peaks saama tema poole pöörduda nt programmiga minicom või cu.

Turvalisus

Kui on hirm, et serial pordi kaudu võib toimuda volituseta ligipääs, siis lihtne moodus selle vastu on Grub bootloader kaitsta parooliga

 ...

või lihtsalt konsool lülitada seriali peale vaid ajaks, kui on ette näha tavapärasel viisil ligipääsemisele takistusi.

Nullmodemi kaabel

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

9 - 9 ühendus

 3 - 2
 2 - 3
 7 - 8
 8 - 7
 5 - 5
 6 - 4
 1 - 4
 4 - 1
 4 - 6

9 - 25 ühendus

 2 - 3
 3 - 3
 4 - 8
 5 - 7
 7 - 5
 6 - 4
 8 - 4
 20 - 1
 20 - 6

Nõuandeid kasutamiseks

  1. Ü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.
  2. Runlevelite kasutamiseks, millega kaasneb võrguühenduse kadumine.
  3. Tuuma debugimiseks, nt minicom võimaldab hõlpsasti logi salvestada.
  4. Kasutamisel tuleb arvestada, et kui port on kasutuses serial konsooli jaoks, siis samal ajal ei saa üle selle klientprogrammiga välja pöörduda.
  5. Operatsioonisüsteemi alglaadimisel erinevate tuumade ja tuuma parameetrite kasutamine.