Erinevus lehekülje "OpenBSD kasutamine Sparc64 platvormil" redaktsioonide vahel

Allikas: Kuutõrvaja
(Sissejuhatus)
(Eesmärk)
17. rida: 17. rida:
 
===Eesmärk===
 
===Eesmärk===
  
Käesolev teksti eesmärgiks on
+
Käesoleva teksti eesmärgiks on
  
 
* paigaldada ilma lokaalset füüsilist konsooli (monitori ja klaviatuuri) kasutamata võrgust dual-boot Solaris/OpenBSD arvutile OpenBSD operatsioonisüsteemi osa
 
* paigaldada ilma lokaalset füüsilist konsooli (monitori ja klaviatuuri) kasutamata võrgust dual-boot Solaris/OpenBSD arvutile OpenBSD operatsioonisüsteemi osa

Redaktsioon: 20. september 2009, kell 10:12

Sissejuhatus

Üks populaarne platvorm, kus OpenBSD tarkvara töötab on 32 ja 64 bit Sun Sparc riistvara, nt

  • Enterprise E250 - vanema põlvkonna UltraSparc II protsessoreid kasutav arvuti
  • Fujitsu Siemens PRIMEPOWER450 - uuema põlvkonna SPARC64 V protsessoreid kasutav arvuti

Populaarsusest annab tunnistust nt asjaolu, et Sparc platvormile on ports kollektsioonis enam-vähem sama palju programme kui i386 ning amd64 jaoks. Kusjuures, enne OpenBSD loomist töötas Theo de Raadt muu hulgas NetBSD meeskonnas Sparc arhitektuuriga.

Käesolev tekst on koostatud Fujitsu Siemens PRIMEPOWER450 arvuti kasutamise näitel, aga põhimõtteliselt toimub protseduur sarnaselt ka teistel Sparc arvutitel. Töötav Sparc64 arvuti ütleb enda arhitektuuri kohta nii

 # uname -a
 OpenBSD fuji.avalik 4.5 GENERIC.MP#634 sparc64

Alates versioonist 4.3 (1. mai 2008) on sparc arhitektuuril olemas mitme protsessori tugi.

Eesmärk

Käesoleva teksti eesmärgiks on

  • paigaldada ilma lokaalset füüsilist konsooli (monitori ja klaviatuuri) kasutamata võrgust dual-boot Solaris/OpenBSD arvutile OpenBSD operatsioonisüsteemi osa
  • tutvustada kuidas sellist arvutit kasutada, eriti OpenBSD osa

Eeldame, et alguspunktiks on arvuti ühel kõvakettal töötav Solaris operatsioonisüsteem juba olemas. Kuigi OpenBSD seisukohast ei ole Solarise oluline, võib olla tarvis nt sõltuvalt riistavaralise XSCF kaughaldusliidese seadistuste olekust tarvis seal teha muudatusi ning seda on tõenäoliselt kõige otsekohesem sooritada Solarisest.

Riistvara ettevalmistamine

Eeldame, et Fujitsu Siemens PRIMEPOWER450 arvutil on olemas

  • XSCF kaughaldusliides - mis muu hulgas võimaldab lülitada arvuti toidet sisse ja välja veebipõhise liidese kaudu ning üle etherneti pöörduda nt telneti või ssh abil arvuti konsooli poole (sh firmware prompti)
  • ühele kõvakettale on paigaldatud Solaris operatsioonisüsteem ning riistvarale spetsiifilised nn madmin utiliidid XSCF seadistamisks
  • vähemalt kaks füüsilist kõvaketast
  • vähemalt üks operatsioonisüsteemi jaoks kasutada olev etherneti võrgukaart

Kui XSCF kaudu ei ole võimalik nt telnet abil arvuti konsoolile jõuda peaks esmalt kasutama teksti Fujitsu Siemens PRIMEPOWER450 ja sellise võimaluse tekitama. Vastasel korral ei ole võimalik arvutit

Kasutaja jaoks silmnähtavat erinevust pole, millisel platvormil OpenBSD töötab, aga süsteemi administreerimise seisukohtast on see loomulikult oluline. Sparc platvorm kasutamisega kaasnevad mõned iseloomulikud asjaolud, nt operatsioonisüsteemi alglaadimine, serial konsooli abil saab kontrollida arvuti tegevust juba enne bootloaderi laadimist ning utiliidiga eeprom saab kontrollida nn EEPROM või OpenPROM sisu.

Operatsioonisüsteemi paigaldamine

Kuna Sparc arvutitel reeglina puudub videokaart, pehmeketta seade ning CD seade, siis on kõige otsekohesem operatsioonisüsteemi paigaldamiseks alustada tegevust arvuti konsoolilt (nt üle XSCF kaughaldusliidese telnetiga) nn OpenPROMi firmware promptist

 {0} ok

Töötavast Solarisest saab sinna öeldes

 # shutdown -y -g 0 -i 0

Üldiselt toimub operatsioonisüsteemi paigaldamine sellise järgnevusena

  • arvuti lahendab rpard abil endale võrgust oma mac aadressi järgi ip aadressi
  • kopeerib võrgust TFTP serverilt bootloaderi
  • saab võrgust rpc.bootparamd serverilt teada bsd.rd installerit sisaldava tuuma asukoha (millisel NFS serveril ja kus seal serveri failisüsteemis)
  • arvuti algaaditakse ja kävitub installer
  • jätkub tavaline operatsioonisüsteemi paigaldamise protseduur, kus kasutatakse failikomplektide võrgust kopeerimist
  • paigaldamise lõpul süsteem alglaaditakse ja saab hakata arvutit tavapäraselt kasutama

Esmalt on vajalik teha kindlaks etherneti võrguseadme MAC aadress, selleks võib nt öelda korra 'boot net' (või 'boot net1' jne, tasub uurida kaabeldust ja '{0} ok devalias' käsu väljundit)

 {0} ok boot net 
 Resetting ... 
 
 Fujitsu Siemens PRIMEPOWER450 4x SPARC64 V, Keyboard Present
 OpenBoot 3.17.1-1, 16384 MB memory installed
 Ethernet address 0:e0:00:c4:e1:36, Host ID: 80f3e136.

Järgnevalt tuleb ettevalmistada rarpd, tftpd, rpc.bootparamd ning nfs serverid, sarnaselt diskless OpenBSD kasutamisjuhule. rarpd jaoks tuleb faili /etc/ethers kirjutada seos mac aadressi ja paigaldatava arvuti nime vahel

 0:e0:00:c4:e1:36 fuji

Lisaks peab olema /etc/hosts failis sissekanne

 192.168.10.211 fuji

Selleks, et paigaldatav arvuti saaks võrgust bootida, tuleb tftp serverisse paigutada sobiv bootloader. Sparc puhul on selleks fail ofwboot.net, mida aga küsitakse tftp serverilt oma ip aadressist tuletatud nimega. Selle nime saab tuletada ip aadressist käsuga

 # echo 192.168.10.211 | awk -F . '{ printf "%02X%02X%02X%02X\n", $1, $2, $3 ,$4 }'                                                                                                                    
 C0A80AD3

kusjuures, mõnel juhul tuleb lisada sellele nimele veel järele nö laiendiks arhitektuuri nimi, nt C0A80AD3.SUN4

Alternatiiviks on bootloaderi nime kuulata võrgust peale käsu 'boot net' andmist, antud juhul on näha, et see on tõepoolest C0A80AD3

 # tcpdump -nttti em0 host 192.168.10.211
 ...
 May 01 17:39:35.726458 192.168.10.211.41641 > 255.255.255.255.69: 17 RRQ "C0A80AD3"
 May 01 17:39:35.743151 192.168.10.210.33400 > 192.168.10.211.41641: udp 19
 May 01 17:39:35.752772 192.168.10.210.40320 > 192.168.10.211.41641: udp 19
 May 01 17:39:35.759240 192.168.10.210.25963 > 192.168.10.211.41641: udp 19
 May 01 17:39:35.764098 192.168.10.210.5770 > 192.168.10.211.41641: udp 19

Kui bootloader õnnestub võrgust leida, siis annab sellest tunnistust selline väljund serial konsoolil

 Rebooting with command: boot net                                      
 Boot device: /pci@1f,4000/network@1,1  File and args: 
 Timeout waiting for ARP/RARP packet
 10600 >> OpenBSD BOOT 1.2
 Trying bsd...

Järgnevalt asub bootloader kopeerima nfs serverist tuuma, mille asukoha ta teeb kindlaks bootparams protokolli abil, selleks peab serveris olema sobivalt käima seadistatud rpc.bootparamd server, rpc.bootparamd jaoks tuleb kirjutada faili /etc/bootparams rida

 fuji root=192.168.10.210:/data/nfs-toostus/root

kus on näidatud, et 192.168.10.210 on nfs serveri aadress ning /data/nfs-toostus/root on kliendi juurkataloog, kust otsib paigaldatav arvuti bsd.rd tuuma. Serveri kataloogi /data/nfs-toostus/root peab Sparc64 installatsioonimaterjali kataloogist olema kopeeritud fail bsd.rd ning tehtud link bsd

 server:/data/nfs-toostus# find root -ls          
 2703751    4 drwxr-xr-x    2 root     wheel         512 May  1 16:42 root
 2703752 3904 -rw-r--r--    1 root     wheel     1970275 May  1 16:42 root/bsd.rd
 2703753    0 lrwxr-xr-x    1 root     wheel           6 May  1 16:42 root/bsd -> bsd.rd

ning failis nfs serveri seadistusfailis /etc/exports peab olema rida

/data/nfs-toostus/root -maproot=root -alldirs toostus 192.168.10.211

Kui kirjeldatud tingimused on täidetud, siis bootitakse bsd.rd tuumaga arvuti üles OpenBSD installerisse, tulemuseks on mälukettalt iseseisvalt töötav arvuti, millel ei ole enam sidet tftp, nfs ega muude alglaadimist abistanud teenustega võrgust

 Using BOOTPARAMS protocol: ip address: 192.168.10.211, hostname: toostus
 root addr=192.168.10.210 path=/data/nfs-toostus/root
 Booting /pci@1f,4000/network@1,1/bsd
 2590536@0x1000000+3236576@0x1800000+957728@0x1b162e0 
 symbols @ 0xfff561c0 36 start=0x1000000
 prom_get_msgbuf: Cannot recover msgbuf on E250/450
 prom_get_msgbuf: allocated new buf at 00000000
 prom_get_msgbuf: claiming new buf at 00000000
 console is /pci@1f,4000/ebus@1/se@14,400000:a
 Copyright (c) 1982, 1986, 1989, 1991, 1993
       The Regents of the University of California.  All rights reserved.
 Copyright (c) 1995-2008 OpenBSD. All rights reserved.  http://www.OpenBSD.org
 
 OpenBSD 4.3 (RAMDISK) #248: Wed Mar 12 11:57:24 MDT 2008
     deraadt@sparc64.openbsd.org:/usr/src/sys/arch/sparc64/compile/RAMDISK
 real mem = 1879048192 (1792MB)
 avail mem = 1809752064 (1725MB)
 ...
 bootpath: /pci@1f,4000/network@1,1
 root on rd0a swap on rd0b dump on rd0b
 erase ^?, werase ^W, kill ^U, intr ^C, status ^T
 (I)nstall, (U)pgrade or (S)hell?

Edasi järgneb OpenBSD paigaldus suhteliselt tavapärasel moel.

Operatsioonisüsteemi kasutamine

Pakettide paigaldamisel tuleb tarkvara kopeerida sparc64 arhitektuurile, nt

 export PKG_PATH=ftp://ftp.aso.ee/pub/OpenBSD/4.5/packages/sparc64/

OpenBSD promptist halt ütlemisel jõuab arvuti nn {0} ok prompti.

Sparc64 riistvara kirjeldus

Erinevalt i386 ja amd64 arhitektuurist ei ole sparc64 all probleeme kümnete GB mälu kasutuselevõtmisega.

Platvormi üldised omadused

 # sysctl hw
 hw.machine=sparc64
 hw.model=FJSV,SPARC64-V (rev 5.0) @ 1869 MHz
 hw.ncpu=4
 hw.byteorder=4321
 hw.pagesize=8192
 hw.disknames=sd0,sd1,sd2,sd3,cd0
 hw.diskcount=5
 hw.cpuspeed=1869
 hw.vendor=Fujitsu
 hw.product=FJSV,GPUZC-M
 hw.physmem=17179869184
 hw.usermem=17179852800

Kettaseadmed

 # bioctl sd2
 sd2: <FUJITSU, MAP3147NC, 3701>, serial UP58PxxxxD4K

OpenBSD

 mpi0 at pci0 dev 2 function 1 "Symbios Logic 53c1030" rev 0x07: ivec 0xe0
 scsibus0 at mpi0: 16 targets, initiator 7
 sd0 at scsibus0 targ 0 lun 0: <FUJITSU, MAP3147NC, 3701> SCSI3 0/direct fixed
 sd0: 140201MB, 512 bytes/sec, 287132440 sec total
 sd1 at scsibus0 targ 1 lun 0: <FUJITSU, MAW3147NC, 3701> SCSI3 0/direct fixed
 sd1: 140201MB, 512 bytes/sec, 287132440 sec total
 mpi0: target 0 Sync at 160MHz width 16bit offset 127 QAS 1 DT 1 IU 1
 mpi0: target 1 Sync at 160MHz width 16bit offset 127 QAS 1 DT 1 IU 1
 
 mpi1 at pci0 dev 2 function 0 "Symbios Logic 53c1030" rev 0x07: ivec 0xe6
 scsibus1 at mpi1: 16 targets, initiator 7
 sd2 at scsibus1 targ 0 lun 0: <FUJITSU, MAP3147NC, 3701> SCSI3 0/direct fixed
 sd2: 140201MB, 512 bytes/sec, 287132440 sec total
 sd3 at scsibus1 targ 1 lun 0: <FUJITSU, MAW3147NC, 3701> SCSI3 0/direct fixed
 sd3: 140201MB, 512 bytes/sec, 287132440 sec total
 mpi1: target 0 Sync at 160MHz width 16bit offset 127 QAS 1 DT 1 IU 1
 mpi1: target 1 Sync at 160MHz width 16bit offset 127 QAS 1 DT 1 IU 1

Solaris

 AVAILABLE DISK SELECTIONS:
      0. c0t0d0 <FUJITSU-MAP3147NC-3701 cyl 38343 alt 2 hd 8 sec 936>
         /pci@83,4000/FJSV,ulsa@2,1/sd@0,0
      1. c0t1d0 <FUJITSU-MAW3147NC-3701 cyl 38343 alt 2 hd 8 sec 936>
         /pci@83,4000/FJSV,ulsa@2,1/sd@1,0
 
      2. c1t0d0 <FUJITSU-MAP3147NC-3701 cyl 38343 alt 2 hd 8 sec 936>
         /pci@83,4000/FJSV,ulsa@2/sd@0,0
      3. c1t1d0 <FUJITSU-MAW3147NC-3701 cyl 38343 alt 2 hd 8 sec 936>
         /pci@83,4000/FJSV,ulsa@2/sd@1,0

Erinevate operatsioonisüsteemide all paistvate plokkseadmete kokkuviimiseks sobib kontrollida nt seadme 512 baidi kontrollsummasid

 solaris # digest -a md5 /tmp/c0t0d0s2.512
 47f32ec024a01981a7d4405c1d3627f2
 solaris # digest -a md5 /tmp/c0t1d0s2.512
 12d28b4bca3a772fae60a4a544ec0ead
 
 solaris # digest -a md5 /tmp/c1t0d0s2.512
 47f32ec024a01981a7d4405c1d3627f2
 solaris # digest -a md5 /tmp/c1t1d0s2.512
 66b8eff20063ca735d6d83b5cc21535e

OpenPROMiga arvutilt saab küsida seadmepuud, sarnaselt kui Solaris operatsioonisüsteemi puhul on see võimalik

 # eeprom -p

Solaris/OpenBSD dual-boot

Erinevalt i386 ja amd64 platvormist ei leia Sparc platvormil kasutust GRUB alglaadur, millega erinevaid arvutisse paigaldatud operatsioonisüsteeme käivitada. Üheks võimalusest seda teha on öelda nn firmware promptis, milliselt kõvakettaseadmelt alglaadida süsteem, nt

 {0} boot disk1

Kõige seadmete nimekirja näeb küsides

 {0} devalias

Kasulikud lisamaterjalid