úterý 25. ledna 2011

FreeBSD 8.1 pro Sparc64 a Sun Enterprice 420R

Dostal jsem se k danému HW, který dnes již patří do starého železa. Ale dostat se k plně funkčnímu serveru, který má hodně naběháno, ale spolehlivě stále šlape, zahřeje u srdce. Po novém roce jsem dostal zelenou na něm řádit. Prvím oživením byl boot do LiveCD SystemRescueCD sparc edition, které provedl kolega a zajistil tak pomocí aplikace shred několikanásobné bezpečné přepsání disku. Server je po letech služby k vyřazení.

shred -v /dev/sda

Jakožto příznivce OS FreeBSD jsem doslova toužil na daném železe rozběhat port pro sparc64. Daný server s označením Sun Enterprise 420R je na seznamu podporovaných. A tak jsem si stáhnul potřebné médium FreeBSD-8.1-RELEASE-sparc64-disc1.iso a pustil se do instalace. Ovšem nečekal jsem, jak urputná práce to bude.

Instalátor FreeBSD pro Sparc64 má nějaký problem s frame bufferem a je tedy třeba instalovat pomocí serial konzole. Zde je popsána instalace pomoci serial cable, ne vše je tam ale popsáno. Zde nastal problem s null modem serial cable, který se mi nedařilo posestavovat z redukcí na široký serial konektor, kabelu a USB redukce na serial kvuli notebooku, který již serák nemá. Naštěstí mě bývalý kolega z nejmenované společnosti zapůjčil prověřený a otestovaný kabel, který skutečně na A portu zafungoval.

Takto to zhruba vypadalo:

Sun Enterprise 420R (2 X UltraSPARC-II 450MHz), Keyboard Present
OpenBoot 3.31, 2048 MB memory installed, Serial #16581345.
Ethernet address 8:0:20:fd:2:e1, Host ID: 80fd02e1.

STOP-a # touto kombinací se dostaneme do OpenBootu (BIOS ala i386)

set-defaults # mi nastaví všechny hodnoty na default
printenv # vypíše proměnné
setenv output-device ttya # nastaví výstup na serial A
setenv input-device ttya # nastaví vstup na serial A


Ukázka kde mi končil boot:

STOP-a
{1} ok boot cdrom
Boot device: /pci@1f,4000/scsi@3/disk@6,0:f File and args:

>> FreeBSD/sparc64 boot block
Boot path: /pci@1f,4000/scsi@3/disk@6,0:f
Boot loader: /boot/loader
Consoles: Open Firmware console

Booting with sun4u support.
Boot path set to /pci@1f,4000/scsi@3/disk@6,0:a

FreeBSD/sparc64 bootstrap loader, Revision 1.0
(root@araz.cse.buffalo.edu, Mon Jul 19 03:00:30 UTC 2010)
bootpath="/pci@1f,4000/scsi@3/disk@6,0:a"
Loading /boot/defaults/loader.conf
/boot/kernel/kernel data=0x9b0648+0x75ca8 syms=[0x8+0xa7190+0x8+0x99725]
/
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...
jumping to kernel entry at 0xc0088000.


Jelikož jsem neměl kabel moje instalace s nastavenim output-device screen a input-device keyboard, končila právé touto hláškou. Instalátor posléze přepne svuj výstup na ttya. s Kabelem to již začalo fungovat.

Nejprve jsem použil USB kabel jako redukce na seriak, který se mi v ubuntu detekuje takto.

usb 5-2: new full speed USB device using uhci_hcd and address 2
usb 5-2: configuration #1 chosen from 1 choice
USB Serial support registered for pl2303
pl2303 5-2:1.0: pl2303 converter detected
usb 5-2: pl2303 converter now attached to ttyUSB0
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver

Kabely se mi dostaly do ruky dva, ale chip v sobe měly obdobný.

Pro pripojení se k seriové konzoli jsem užil screen.

screen /dev/ttyUSB0 9600

Posléze jsem již nechtěl pobíhat po serverovně s kabelem a notebookem a seriak jem zapojil na jeden FreeBSD server, kde jsem užil jiný device pro komunikaci.

screen /dev/ttyu0 9600

V tento moment jsem musel řešit situaci, jak zaslat OpenBootu kombinaci kláves STOP-a, což je zaslání příkazu BREAK, který se ve screenu odešle kombinací kláves Ctrl-ab viz man screen. Velmi užitečný je seznam popsaných příkazů zde.

Též jsem se dostal do situace, kdy mi na ttya ani na screen ani na keyboard nešel žádný výstup. Opět radil kolega od Sun serverů Libor B. zaklínadlo STOP-n + press power ON a danou kombinaci stale držet!. Touto volbou se OpenBoot resetuje stejne jako zadáním set-defaults.

Toto laborovaní bylo časově náročné, taky jsem si 3 dny přivstal, abych daný čas získal. FreeBSD 8.1 pro sparc64 na serveru již tepe a vesele kompiluje porty. Uvidím kdy narazím na nějaké omezení portu, který je na stupni 2 = Tier 2 .

Obrazová dokumentace je na Flickru.

Žádné komentáře: