Erinevus lehekülje "Serial konsool" redaktsioonide vahel

Allikas: Kuutõrvaja
(Sissejuhatus)
P (pisiparandused)
1. rida: 1. rida:
 
===Sissejuhatus===
 
===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 hakata kontrollima suhteliselt kohe peale voolu sisselülitamist. Nt saab teha BIOS (x86 arhitektuuril) või OBP (OpenBoot PROM, Sparc arhitektuuril) 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.
+
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.
  
Paktiliselt 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.
+
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.
  
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 (Remote System Control) kaardid, mille abil saab ka arvuti toidet sisse ja välja lülitada.
+
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.
  
Üle serial pordi teise arvuti konsooli poole pöördumiseks peavad arvutid olema omavahel serial porte pidi ühendatud nullmodem kaabliga.
+
Üle serial pordi teise arvuti konsooli poole pöördumiseks peavad arvutid olema omavahel serial porte pidi ühendatud nullmodemkaabliga.
  
 
===x86 arhitektuuril operatsioonisüsteemiga Linux serial konsooli ettevalmistamine===
 
===x86 arhitektuuril operatsioonisüsteemiga Linux serial konsooli ettevalmistamine===

Redaktsioon: 9. jaanuar 2008, kell 19:18

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 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.

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.

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.

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

x86 arhitektuuril operatsioonisüsteemiga Linux serial konsooli ettevalmistamine

Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS'st kasutamiseks lubatud ning kernelis oleks serial pordi tugi. Viimast saab teha kindlaks käsuga

 bash# dmesg | grep ttyS
 serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

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, vastasel korral ei saa juurkasutajana sisse logida

 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

Eelduseks on, et arvutis on serial port füüsiliselt olemas, et ta on BIOS'st kasutamiseks lubatud ning kernelis oleks serial pordi tugi. Viimast saab teha kindlaks käsuga

 # grep pccom /var/run/dmesg.boot  
 pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo

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. 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

 Serial Device - /dev/ttyS0
 Bps/Par/Bits - 9600 8N1
 Hardware Flow Control : Yes
 Sofware Flow Control : No

OpenBSD arvutist välja pöördumisel on seadme nimi /dev/cua00.

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.

Turvalisus

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.

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

25 - 9 ühendus

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

Kaabli pikkuseks märgivad erinevad allikad kuni kümmekond meetrit, ilmselt lühemate kaablite kasutamisel on võimalik saavutada paremaid kiirusi.

Nõuandeid kasutusjuhtudeks

  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. Siinjuures peab kasutaja ise otsustama milline on selle tegevuse tähendus turvalisuse seisukohalt.
  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.

USB-serial üleminek

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

 usb 3-1: new full speed USB device using uhci_hcd and address 2
 usb 3-1: new device found, idVendor=067b, idProduct=2303
 usb 3-1: new device strings: Mfr=0, Product=0, SerialNumber=0
 usb 3-1: configuration #1 chosen from 1 choice
 usbcore: registered new driver usbserial
 drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
 usbcore: registered new driver usbserial_generic
 drivers/usb/serial/usb-serial.c: USB Serial Driver core
 drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303
 pl2303 3-1:1.0: pl2303 converter detected
 usb 3-1: pl2303 converter now attached to ttyUSB0
 usbcore: registered new driver pl2303
 drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver

Ja vastupidi, ilma päris serial pordita arvuti USB-serial pordile saab konsooli suunata tõenäoliselt alles getty abil.