OpenBSD kasutamine Sparc64 platvormil
Sissejuhatus
Üks populaarseid platvorme, kus OpenBSD tarkvara töötab on Sun Sparc, nii 32 kui 64 bit arvutid. Sellest annab tunnistust nt asjaolu, et Sparc platvormile on ports kolletsioonis enam-vähem sama palju programme kui i386 ning amd64 jaoks.
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 konsooliga abil saab kontrollida arvuti tegevust juba enne bootloaderi laadimist ning utiliidiga eeprom saab kontrollida nn eeprom muutujate väärtusi.
Operatsioonisüsteemi võrgust paigaldamine
Kuna Sparc arvutitel reeglina ei ole videokaarti, floppy ketast ega CD seadet, siis on kõige otsekohesem sinna operatsioonisüsteem paigaldada kasutades OpenPROM ehk nn promptile
{0} ok
ligipääsuks serial konsooli ning seejärel kopeerides võrgust bootloaderi ja tuuma. Iseenesest sarnane järgnevust diskless OpenBSD kasutmisele, kuid bootimiseks kasutatakse bsd.rd tuuma.
Esmalt on vajalik teha kindlaks etherneti võrguseadme MAC aadress, selleks võib nt öelda korra 'boot net'
{0} ok boot net Resetting ... Sun (TM) Enterprise 250 (2 X UltraSPARC-II 296MHz), No Keyboard OpenBoot 3.30, 1792 MB memory installed, Serial #11647647. Ethernet address 8:0:20:b1:ba:9f, Host ID: 80b1ba9f.
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
8:0:20:b1:ba:9f toostus
Lisaks peab olema /etc/hosts failis sissekanne
192.168.10.211 toostus
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 arvutada 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
toostus 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
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.