Upgrading firmware LOM and SB in SUN E2900



Been a while since my last posting in this blog :D Now, I'm gonna show you how to upgrade firmware LOM and SB in SUN E2900. Even though these server no longer available to get the new one (end-of-life); here, in my project, there are lots of E2900 to be maintained. The user requested for an upgrade on the firmware ILOM due to the compatibility issue.

First, we need to check on the existing version

lom>showboards -p v

Component Compatible Version
--------- ---------- -------
SSC1 Reference 5.20.3 Build_03
/N0/IB6 Yes 5.20.3 Build_03
/N0/SB0 Yes 5.20.13 Build_01
/N0/SB2 Yes 5.20.3 Build_03
/N0/SB4 Yes 5.20.6 Build_02

lom>showsc -v

SC: SSC1
System Controller V2

SC date: Fri Jan 15 02:16:00 PST 2008
PST GMT-08:00 Pacific Standard Time
SC uptime: 6 minutes 26 seconds

ScApp version: 5.20.3 Build_03
Version build: 3.0
Version String: 5.20.3
RTOS version: 46

SC POST diag level: max

Clock source is: 75MHz

Solaris Host Status: Powered Off

Chassis HostID: 845xxxxx
PROC RTUs installed: 0
PROC Headroom Quantity: 0

lom>


lom>showboards -p version -v

Component Segment Compatible In Date Time Build Version
--------- ------- ---------- -- ---- ---- ----- -------
SSC1/FP0 - - - - - - RTOS version: 46
SSC1/FP1 ScApp Reference 12 10/21/2006 06:38 3.0 5.20.3
SSC1/FP1 Ver - - 10/21/2006 06:38 3.0 5.20.3 Build_03
/N0/IB6/FP0 iPOST Yes 12 10/21/2006 06:36 3.0 5.20.3
/N0/IB6/FP0 Ver - - 10/21/2006 06:38 3.0 5.20.3 Build_03
/N0/IB6/FP0 Info - 12 10/21/2006 06:38 3.0 5.20.3
/N0/SB0/FP0 POST Yes 12 06/04/2009 02:44 1.0 5.20.13
/N0/SB0/FP0 OBP Yes 12 06/04/2009 02:43 1.0 5.20.13
/N0/SB0/FP0 Ver - - 06/04/2009 02:46 1.0 5.20.13 Build_01
/N0/SB0/FP0 Info - 12 06/04/2009 02:46 1.0 5.20.13
/N0/SB0/FP1 POST Yes 12 06/04/2009 02:44 1.0 5.20.13
/N0/SB0/FP1 OBP Yes 12 06/04/2009 02:43 1.0 5.20.13
/N0/SB0/FP1 Ver - - 06/04/2009 02:46 1.0 5.20.13 Build_01
/N0/SB0/FP1 Info - 12 06/04/2009 02:46 1.0 5.20.13
/N0/SB2/FP0 POST Yes 12 10/21/2006 06:25 3.0 5.20.3
/N0/SB2/FP0 OBP Yes 12 10/21/2006 06:21 3.0 5.20.3
/N0/SB2/FP0 Ver - - 10/21/2006 06:29 3.0 5.20.3 Build_03
/N0/SB2/FP0 Info - 12 10/21/2006 06:29 3.0 5.20.3
/N0/SB2/FP1 POST Yes 12 10/21/2006 06:25 3.0 5.20.3
/N0/SB2/FP1 OBP Yes 12 10/21/2006 06:21 3.0 5.20.3
/N0/SB2/FP1 Ver - - 10/21/2006 06:29 3.0 5.20.3 Build_03
/N0/SB2/FP1 Info - 12 10/21/2006 06:29 3.0 5.20.3
/N0/SB4/FP0 POST Yes 12 05/23/2007 08:56 2.0 5.20.6
/N0/SB4/FP0 OBP Yes 12 05/23/2007 08:54 2.0 5.20.6
/N0/SB4/FP0 Ver - - 05/23/2007 08:57 2.0 5.20.6 Build_02
/N0/SB4/FP0 Info - 12 05/23/2007 08:57 2.0 5.20.6
/N0/SB4/FP1 POST Yes 12 05/23/2007 08:56 2.0 5.20.6
/N0/SB4/FP1 OBP Yes 12 05/23/2007 08:54 2.0 5.20.6
/N0/SB4/FP1 Ver - - 05/23/2007 08:57 2.0 5.20.6 Build_02
/N0/SB4/FP1 Info - 12 05/23/2007 08:57 2.0 5.20.6


Based on the info, we can see that the SB0 have version 5.20.13, SB2 have version 5.20.3 and SB4 have 5.20.6 firmware version. RTOS has firmware version 5.20.3 as well. In this case, i'm upgrading all the version to 5.20.14.

1. Download Patch 114527-15

2. Save the file on an internal server (the server that is still a network with the server firmware to be upgraded.

3. flashupdate -f ftp://root:root_password@ip_address_ftp_server///tmp/114527-15/114527-15 scapp rtos

As part of this update, the system controller will automatically reboot.
RTOS will be upgraded automatically during the next boot.
ScApp will be upgraded automatically during the next boot.
Rebooting will interrupt any current operations.
This includes keyswitch changes, Solaris reboots
and all current connections.

Do you want to continue? [no] yes

Waiting for critical processes to finish. This may take a while.
Critical processes have finished.
No boards can be updated.

Rebooting the SC to automatically complete the upgrade.

Rebooting. All network client connections closed. Reestablish any needed connections.



Software Reset...


@(#) SYSTEM CONTROLLER(SC) POST 46 2006/09/26 07:52
PSR = 0x044010e5
PCR = 0x04004000

Memory size = 128MB

SelfTest running at DiagLevel:0x20

SC Boot PROM Test
BootPROM CheckSum Test
IU Test
IU instruction set Test
Little endian access Test
FPU Test
FPU instruction set Test
SparcReferenceMMU Test
SRMMU TLB RAM Test
SRMMU TLB Read miss Test
SRMMU page probe Test
SRMMU segment probe Test
SRMMU region probe Test
SRMMU context probe Test
IIep Internal Cache Test
DCACHE RAM access Test
DCACHE TAG access Test
DCACHE Read miss Test
DCACHE Read hit Test
DCACHE Write miss Test
DCACHE Write hit Test
ICACHE RAM access Test
ICACHE TAG access Test
ICACHE miss Test
ICACHE hit Test
ICACHE TAG flush Test
PCIC Test
PCIC Probe Test
PCIC Config Register Access Test
PCI Master Abort Test
PCIC Init Test
Memory Test
Memory Address Test
MemBankAddrTest: start address = 0x00010000
MemBankAddrTest: start address = 0x04000000
MemBankAddrTest: start address = 0x08000000
MemBankAddrTest: start address = 0x0c000000
RIO Ebus Test
Rio Ebus Probe Test
RIO Ethernet Test
Rio Enet Probe Test
Rio Ethernet Int Loopbacks Test
DUART(16552) InterSC Test
Loopback Test
COM3 port
COM4 port
Interrupt Test
COM3 port _ Intr #2

COM4 port _ Intr #2

System Clock Test
System Clock verify Test
Board0 Clock is selected
75MHZ Fixed Crystal is the selected Clock Source
CLK(Self) :0x0000ffff CLK(Other) : 0x00000000
REF : 0x00002229
CLOCK(SELF) FREQ : 74.99 MHZ
CLOCK(OTHER) FREQ : 0.0 MHZ
SBBC PCI Controller Test
SBBC PCI Config Space probe Test
SBBC Internal Reg Access Test
SBBC Interrupts Test
Port1 interrupt generation Tests INTR #14

Port0 interrupt generation Tests INTR #14

SBBC Device0 Test
PS Fail Reg(SBBC Dev0) Test
SBBC Device1 Test
SRAM (SBBC Dev1) Test
Memory Address Test (Non-destructive)
SBBC Device2 Test
BId&MFG Reg (SBBC Dev2) Test
SBBC Device3 Test
FRU Prsnt Reg (SBBC Dev3) Test
SBBC Device5 Test
EPLD (SBBC Dev5) Test
TOD(M48T59) Test
TOD Init Test
TOD Functional Test
TOD NVRAM(Non-Destructive) Test
TOD Interrupts Test
I2C Register Access Test
Enable Mux Register Test
Channel Mux Register Test
Add Command Register Test
Data Register Test
Local I2C AT24C64 Test
EEPROM Device Test
performing eeprom sequential read

Local I2C PCF8591 Test
VOLT_AD Device Test
channel[00000001] Voltage(0x0000009B) :1.51
channel[00000002] Voltage(0x0000009C) :3.35
channel[00000003] Voltage(0x0000009A) :5.1
channel[00000004] Voltage(0x00000000) :0.0
Local I2C LM75 Test
TEMP0(IIep) Device Test
Temperature : 24.0 Degree(C)

Local I2C LM75 Test
TEMP1(Rio) Device Test
Temperature : 22.50 Degree(C)

Local I2C LM75 Test
TEMP2(CBH) Device Test
Temperature : 29.50 Degree(C)

Local I2C PCF8574 Test
Sc CSR Device Test
Console Bus Hub Test
CBH Register Access Test
POST Complete.
ERI Device Present
Using SCC MAC address
MAC address is 0:13:4e:5a:2a:6f
Hostname: mylom
Address: 192.168.22.10
Netmask: 255.255.255.0
Attached TCP/IP interface to eri unit 0
Attaching interface lo0...done
Gateway: 192.168.22.1
interrupt: 100 Mbps full duplex link up



Flashupdate
Verifying network connectivity to 192.168.12.101... Passed.
Connecting to 192.168.12.101...
Transferring sgrtos.flash via FTP : 2048 Transferring sgrtos.flash via FTP : 4608
-------- truncated -------

Validating RTOS flash image...
Updating flashprom sectors at address 0x20000000: 0/11 = 100%
ok

Connecting to 192.168.12.101...
Transferring sgsc.flash via FTP : 2048 Transferring sgsc.flash via FTP : 4608
------------truncated file ------------
Transferring sgsc.flash via FTP : 6553876
Validating ScApp flash image...
Updating flashprom sectors at address 0x36000000: 0/101 = 0%
----------- truncated -----------
Updating flashprom sectors at address 0x36000000: 101/101 = 100%
ok



Software Reset...


@(#) SYSTEM CONTROLLER(SC) POST 49 2009/08/28 05:26
PSR = 0x044010e5
PCR = 0x04004000

Memory size = 128MB

SelfTest running at DiagLevel:0x20

SC Boot PROM Test
BootPROM CheckSum Test
IU Test
IU instruction set Test
Little endian access Test
FPU Test
FPU instruction set Test
SparcReferenceMMU Test
SRMMU TLB RAM Test
SRMMU TLB Read miss Test
SRMMU page probe Test
SRMMU segment probe Test
SRMMU region probe Test
SRMMU context probe Test
IIep Internal Cache Test
DCACHE RAM access Test
DCACHE TAG access Test
DCACHE Read miss Test
DCACHE Read hit Test
DCACHE Write miss Test
DCACHE Write hit Test
ICACHE RAM access Test
ICACHE TAG access Test
ICACHE miss Test
ICACHE hit Test
ICACHE TAG flush Test
PCIC Test
PCIC Probe Test
PCIC Config Register Access Test
PCI Master Abort Test
PCIC Init Test
Memory Test
Memory Address Test
MemBankAddrTest: start address = 0x00010000
MemBankAddrTest: start address = 0x04000000
MemBankAddrTest: start address = 0x08000000
MemBankAddrTest: start address = 0x0c000000
RIO Ebus Test
Rio Ebus Probe Test
RIO Ethernet Test
Rio Enet Probe Test
Rio Ethernet Int Loopbacks Test
DUART(16552) InterSC Test
Loopback Test
COM3 port
COM4 port
Interrupt Test
COM3 port _ Intr #2

COM4 port _ Intr #2

System Clock Test
System Clock verify Test
Board0 Clock is selected
75MHZ Fixed Crystal is the selected Clock Source
CLK(Self) :0x0000ffff CLK(Other) : 0x00000000
REF : 0x00002229
CLOCK(SELF) FREQ : 74.99 MHZ
CLOCK(OTHER) FREQ : 0.0 MHZ
SBBC PCI Controller Test
SBBC PCI Config Space probe Test
SBBC Internal Reg Access Test
SBBC Interrupts Test
Port1 interrupt generation Tests INTR #14

Port0 interrupt generation Tests INTR #14

SBBC Device0 Test
PS Fail Reg(SBBC Dev0) Test
SBBC Device1 Test
SRAM (SBBC Dev1) Test
Memory Address Test (Non-destructive)
SBBC Device2 Test
BId&MFG Reg (SBBC Dev2) Test
SBBC Device3 Test
FRU Prsnt Reg (SBBC Dev3) Test
SBBC Device5 Test
EPLD (SBBC Dev5) Test
TOD(M48T59) Test
TOD Init Test
TOD Functional Test
TOD NVRAM(Non-Destructive) Test
TOD Interrupts Test
I2C Register Access Test
Enable Mux Register Test
Channel Mux Register Test
Add Command Register Test
Data Register Test
Local I2C AT24C64 Test
EEPROM Device Test
performing eeprom sequential read

Local I2C PCF8591 Test
VOLT_AD Device Test
channel[00000001] Voltage(0x0000009B) :1.51
channel[00000002] Voltage(0x0000009C) :3.35
channel[00000003] Voltage(0x0000009A) :5.1
channel[00000004] Voltage(0x00000000) :0.0
Local I2C LM75 Test
TEMP0(IIep) Device Test
Temperature : 24.50 Degree(C)

Local I2C LM75 Test
TEMP1(Rio) Device Test
Temperature : 23.0 Degree(C)

Local I2C LM75 Test
TEMP2(CBH) Device Test
Temperature : 30.0 Degree(C)

Local I2C PCF8574 Test
Sc CSR Device Test
Console Bus Hub Test
CBH Register Access Test
POST Complete.
ERI Device Present
Using SCC MAC address
MAC address is 0:13:4e:5a:2a:6f
Hostname: mylom
Address: 192.168.22.10
Netmask: 255.255.255.0
Attached TCP/IP interface to eri unit 0
Attaching interface lo0...done
Gateway: 192.168.22.1
interrupt: 100 Mbps full duplex link up


Copyright 2009 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.

Sun Fire System Firmware
RTOS version: 49
ScApp version: 5.20.14 Build_02
SC POST diag level: min

Enter Password:
Connected.
lom>

4. Verify output
lom>showsc
SC: SSC1
System Controller V2

SC date: Fri Jan 14 02:33:10 PST 2008
SC uptime: 3 minutes 22 seconds

ScApp version: 5.20.14 Build_02
RTOS version: 49

Solaris Host Status: Powered Off

Chassis HostID: 845xxxx
PROC RTUs installed: 0
PROC Headroom Quantity: 0
lom>showboards -p v

Component Compatible Version
--------- ---------- -------
SSC1 Reference 5.20.14 Build_02
/N0/IB6 Yes 5.20.3 Build_03
/N0/SB0 Yes 5.20.13 Build_01
/N0/SB2 Yes 5.20.3 Build_03
/N0/SB4 Yes 5.20.6 Build_02

5. Upgrade Component SB and IB
lom>flashupdate -f ftp://root:root_password@ip_address_ftp_server///tmp/114527-15/114527-15 all rtos

As part of this update, the system controller will automatically reboot.
RTOS will be upgraded automatically during the next boot.
ScApp will be upgraded automatically during the next boot.

After this update you must reboot each active domain that was upgraded.

Rebooting will interrupt any current operations.
This includes keyswitch changes, Solaris reboots
and all current connections.
Do you want to continue? [no] y
Waiting for critical processes to finish. This may take a while.
Critical processes have finished.

Retrieving: flashupdate -f ftp://root:root_password@ip_address_ftp_server///tmp/114527-15/114527-15/lw8cpu.flash
Validating ................... Done

Programming PROM /N0/SB0/FP0
Erasing .................. Done
Programming .................. Done
Verifying .................. Done

Programming PROM /N0/SB0/FP1
Erasing .................. Done
Programming .................. Done
Verifying .................. Done

Programming PROM /N0/SB2/FP0
Erasing .................. Done
Programming .................. Done
Verifying .................. Done

Programming PROM /N0/SB2/FP1
Erasing .................. Done
Programming .................. Done
Verifying .................. Done

Programming PROM /N0/SB4/FP0
Erasing .................. Done
Programming .................. Done
Verifying .................. Done

Programming PROM /N0/SB4/FP1
Erasing .................. Done
Programming .................. Done
Verifying .................. Done

Retrieving: flashupdate -f ftp://root:root_password@ip_address_ftp_server///tmp/114527-15/114527-15/lw8pci.flash
Validating ........ Done

Programming PROM /N0/IB6/FP0
Erasing ....... Done
Programming ....... Done
Verifying ....... Done

Rebooting the SC to automatically complete the upgrade.

Rebooting. All network client connections closed. Reestablish any needed connections.
Fri Jan 15 02:40:15 app1lom lom: Stopping all services on this SC
Fri Jan 15 02:40:15 app1lom lom: All services on this SC have been stopped.


Software Reset...


@(#) SYSTEM CONTROLLER(SC) POST 49 2009/08/28 05:26
PSR = 0x044010e5
PCR = 0x04004000

Memory size = 128MB

SelfTest running at DiagLevel:0x20

SC Boot PROM Test
BootPROM CheckSum Test
IU Test
IU instruction set Test
Little endian access Test
FPU Test
FPU instruction set Test
SparcReferenceMMU Test
SRMMU TLB RAM Test
SRMMU TLB Read miss Test
SRMMU page probe Test
SRMMU segment probe Test
SRMMU region probe Test
SRMMU context probe Test
IIep Internal Cache Test
DCACHE RAM access Test
DCACHE TAG access Test
DCACHE Read miss Test
DCACHE Read hit Test
DCACHE Write miss Test
DCACHE Write hit Test
ICACHE RAM access Test
ICACHE TAG access Test
ICACHE miss Test
ICACHE hit Test
ICACHE TAG flush Test
PCIC Test
PCIC Probe Test
PCIC Config Register Access Test
PCI Master Abort Test
PCIC Init Test
Memory Test
Memory Address Test
MemBankAddrTest: start address = 0x00010000
MemBankAddrTest: start address = 0x04000000
MemBankAddrTest: start address = 0x08000000
MemBankAddrTest: start address = 0x0c000000
RIO Ebus Test
Rio Ebus Probe Test
RIO Ethernet Test
Rio Enet Probe Test
Rio Ethernet Int Loopbacks Test
DUART(16552) InterSC Test
Loopback Test
COM3 port
COM4 port
Interrupt Test
COM3 port _ Intr #2

COM4 port _ Intr #2

System Clock Test
System Clock verify Test
Board0 Clock is selected
75MHZ Fixed Crystal is the selected Clock Source
CLK(Self) :0x0000ffff CLK(Other) : 0x00000000
REF : 0x00002228
CLOCK(SELF) FREQ : 75.0 MHZ
CLOCK(OTHER) FREQ : 0.0 MHZ
SBBC PCI Controller Test
SBBC PCI Config Space probe Test
SBBC Internal Reg Access Test
SBBC Interrupts Test
Port1 interrupt generation Tests INTR #14

Port0 interrupt generation Tests INTR #14

SBBC Device0 Test
PS Fail Reg(SBBC Dev0) Test
SBBC Device1 Test
SRAM (SBBC Dev1) Test
Memory Address Test (Non-destructive)
SBBC Device2 Test
BId&MFG Reg (SBBC Dev2) Test
SBBC Device3 Test
FRU Prsnt Reg (SBBC Dev3) Test
SBBC Device5 Test
EPLD (SBBC Dev5) Test
TOD(M48T59) Test
TOD Init Test
TOD Functional Test
TOD NVRAM(Non-Destructive) Test
TOD Interrupts Test
I2C Register Access Test
Enable Mux Register Test
Channel Mux Register Test
Add Command Register Test
Data Register Test
Local I2C AT24C64 Test
EEPROM Device Test
performing eeprom sequential read

Local I2C PCF8591 Test
VOLT_AD Device Test
channel[00000001] Voltage(0x0000009B) :1.51
channel[00000002] Voltage(0x0000009C) :3.35
channel[00000003] Voltage(0x0000009A) :5.1
channel[00000004] Voltage(0x00000000) :0.0
Local I2C LM75 Test
TEMP0(IIep) Device Test
Temperature : 25.0 Degree(C)

Local I2C LM75 Test
TEMP1(Rio) Device Test
Temperature : 23.50 Degree(C)

Local I2C LM75 Test
TEMP2(CBH) Device Test
Temperature : 31.50 Degree(C)

Local I2C PCF8574 Test
Sc CSR Device Test
Console Bus Hub Test
CBH Register Access Test
POST Complete.
ERI Device Present
Using SCC MAC address
MAC address is 0:13:4e:5a:2a:6f
Hostname: mylom
Address: 192.168.22.10
Netmask: 255.255.255.0
Attached TCP/IP interface to eri unit 0
Attaching interface lo0...done
Gateway: 192.168.22.1
interrupt: 100 Mbps full duplex link up


Flashupdate
Verifying network connectivity to 192.168.12.101... Passed.
Connecting to 192.168.12.101...
Transferring sgrtos.flash via FTP : 2048
---- Truncated -----
Transferring sgrtos.flash via FTP : 696120
Validating RTOS flash image...
Updating flashprom sectors at address 0x20000000: 0/11 = 0%Updating flashprom sectors at address 0x20000000: 11/11 = 100%
ok

Connecting to 192.168.12.101...
Transferring sgsc.flash via FTP : 2048
------------truncated --------------
Transferring sgsc.flash via FTP : 6553876
Validating ScApp flash image...
Updating flashprom sectors at address 0x36000000: 0/101 = 0%Updating flashprom sectors at address 0x36000000: 9/101 = 8%Updating flashprom sectors at address 0x36000000: 40/101 = 39%Updating flashprom sectors at address 0x36000000: 65/101 = 64%Updating flashprom sectors at address 0x36000000: 89/101 = 88%Updating flashprom sectors at address 0x36000000: 101/101 = 100%
ok



Software Reset...


@(#) SYSTEM CONTROLLER(SC) POST 49 2009/08/28 05:26
PSR = 0x044010e5
PCR = 0x04004000

Memory size = 128MB

SelfTest running at DiagLevel:0x20

SC Boot PROM Test
BootPROM CheckSum Test
IU Test
IU instruction set Test
Little endian access Test
FPU Test
FPU instruction set Test
SparcReferenceMMU Test
SRMMU TLB RAM Test
SRMMU TLB Read miss Test
SRMMU page probe Test
SRMMU segment probe Test
SRMMU region probe Test
SRMMU context probe Test
IIep Internal Cache Test
DCACHE RAM access Test
DCACHE TAG access Test
DCACHE Read miss Test
DCACHE Read hit Test
DCACHE Write miss Test
DCACHE Write hit Test
ICACHE RAM access Test
ICACHE TAG access Test
ICACHE miss Test
ICACHE hit Test
ICACHE TAG flush Test
PCIC Test
PCIC Probe Test
PCIC Config Register Access Test
PCI Master Abort Test
PCIC Init Test
Memory Test
Memory Address Test
MemBankAddrTest: start address = 0x00010000
MemBankAddrTest: start address = 0x04000000
MemBankAddrTest: start address = 0x08000000
MemBankAddrTest: start address = 0x0c000000
RIO Ebus Test
Rio Ebus Probe Test
RIO Ethernet Test
Rio Enet Probe Test
Rio Ethernet Int Loopbacks Test
DUART(16552) InterSC Test
Loopback Test
COM3 port
COM4 port
Interrupt Test
COM3 port _ Intr #2

COM4 port _ Intr #2

System Clock Test
System Clock verify Test
Board0 Clock is selected
75MHZ Fixed Crystal is the selected Clock Source
CLK(Self) :0x0000ffff CLK(Other) : 0x00000000
REF : 0x00002228
CLOCK(SELF) FREQ : 75.0 MHZ
CLOCK(OTHER) FREQ : 0.0 MHZ
SBBC PCI Controller Test
SBBC PCI Config Space probe Test
SBBC Internal Reg Access Test
SBBC Interrupts Test
Port1 interrupt generation Tests INTR #14

Port0 interrupt generation Tests INTR #14

SBBC Device0 Test
PS Fail Reg(SBBC Dev0) Test
SBBC Device1 Test
SRAM (SBBC Dev1) Test
Memory Address Test (Non-destructive)
SBBC Device2 Test
BId&MFG Reg (SBBC Dev2) Test
SBBC Device3 Test
FRU Prsnt Reg (SBBC Dev3) Test
SBBC Device5 Test
EPLD (SBBC Dev5) Test
TOD(M48T59) Test
TOD Init Test
TOD Functional Test
TOD NVRAM(Non-Destructive) Test
TOD Interrupts Test
I2C Register Access Test
Enable Mux Register Test
Channel Mux Register Test
Add Command Register Test
Data Register Test
Local I2C AT24C64 Test
EEPROM Device Test
performing eeprom sequential read

Local I2C PCF8591 Test
VOLT_AD Device Test
channel[00000001] Voltage(0x0000009B) :1.51
channel[00000002] Voltage(0x0000009C) :3.35
channel[00000003] Voltage(0x0000009A) :5.1
channel[00000004] Voltage(0x00000000) :0.0
Local I2C LM75 Test
TEMP0(IIep) Device Test
Temperature : 25.0 Degree(C)

Local I2C LM75 Test
TEMP1(Rio) Device Test
Temperature : 23.0 Degree(C)

Local I2C LM75 Test
TEMP2(CBH) Device Test
Temperature : 31.50 Degree(C)

Local I2C PCF8574 Test
Sc CSR Device Test
Console Bus Hub Test
CBH Register Access Test
POST Complete.
ERI Device Present
Using SCC MAC address
MAC address is 0:13:4e:5a:2a:6f
Hostname: mylom
Address: 192.168.22.10
Netmask: 255.255.255.0
Attached TCP/IP interface to eri unit 0
Attaching interface lo0...done
Gateway: 192.168.22.1
interrupt: 100 Mbps full duplex link up


Copyright 2009 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.

Sun Fire System Firmware
RTOS version: 49
ScApp version: 5.20.14 Build_02
SC POST diag level: min

Enter Password:
Connected.

lom>

6. Verify output
lom>showboards -p v

Component Compatible Version
--------- ---------- -------
SSC1 Reference 5.20.14 Build_02
/N0/IB6 Yes 5.20.14 Build_02
/N0/SB0 Yes 5.20.14 Build_02
/N0/SB2 Yes 5.20.14 Build_02
/N0/SB4 Yes 5.20.14 Build_02

Read more... »»

The History of SPARC Processor

When we talk about Sun Microsystem’s hardware, SPARC will always be the first that come directly into our mind. Indeed, SPARC (Scalable Processor ARChitecture) has been Sun Microsystem’s flagship processor architecture for over note years.
With Sun’s dedication to innovation and flexibility, the processor had gone through many revisions over the years in an endeavor to stay on the cutting edge. Eighty-eight of the 500 super-computers in the world used SPARC by June 2002.

In 1985, the SPARC microprocessor instruction set architecture was originally designed, but quickly underwent a 32-bit revision in 1986 (SPARC Version 7) They first designed for use in Sun-4 workstation and server systems, replacing the Motorola 68000 family. SPARC processors apace gained in popularity, and were utilized in SMP servers built by, among others, Sun, Solbourne, and Fujitsu.
Even though the processor was designed for and used in SunOS (Solaris), SPARC processor can be used with other operating systems, such as FreeBSD,OpenBSD,NetBSD and Linux. In attempt to increase processing speed as much as possible, The SPARC instruction set was designed to be minimalist, with as few feature as possible (including the inability to multiply or divide)
The SPARC processor was also designed to be scalable by allowing all types of processor from tiny dedicated processors to huge server-level ones to use the same core instruction set. The first example of SPARC processor contained 128 general-purpose registers-eight global, 32 available to software, and 24 for a run window to transfer duty call parameters and return values.
The SPARC Version 8 (V8), the enhancement architecture, was released in 1990. Adding 16 highly flexible double-precision registers instead of the previous 32. Its instruction set regained the multiply and divide. Every double-precision register, could be utilized as either two single-precision registers (for a total of 32 single-precision registers) or, by using an odd-even pair of double precisions-registers, be utilized as a quad-precision run (resulting in 8 sib precision registers
In 1993, SPARC Version 9 (56-bit data and addressing), also known as SPARC64, was released. Adding sixteen more double-precision registers that could be combined and used as eight quad-precision registers. But could not be used a 32 single-precision registers.
In third-quarter of 2005, Sun Microsystem released the UltraSPARC T1 source code to an open-source project called OpenSPARC. Nowadays, three fully open source versions of the SPARC architecture exists. LEON, a 32-bit, single thread SPARC V8 version, OpenSPARC T1, a 64-bit, 32-thread version of SPARC V9, and OpenSPARC T2, a 64-bit, 64-thread version of SPARC V9.
Read more... »»

SCSA Certification

Just like linux, Solaris is another “ derivative product” of UNIX. Even though Linux is more popular in UNIX market, having a SCSA (SUN Certified System Administration) certification will make you have a better income and grow professionally.
The SCSA holders are in high demand in larger sectors such as Telecommunication, Financial firms, Oil or even in Military and so on. It means that the will make some money more easily.
This certification, in general, measure the essential system-administration-management skills of Solaris operating system. And it’s also useful for technical application support staff who responsible for administering and maintaining a network server running on the Solaris operating system.

Off course, an IT professionals working as a system administration (sys-admin) in a UNIX environment must have this kind of certification. Solaris 8, 9 and 10 SCSA program are offered by SUN Microsystem. It consists of two parts. And the candidates must have passed both part to acquires claim their certificate
If you have already had the previous version of this certificate, you must upgrade it by taking an upgrade exam.This certificate has their own lifetime. It is only valid for two years from the date of certification.

Even though there are some mandatory requirements, it’s better for you to have at least six months of experience in the field of system administration before taking the first part of the exam. And you’ll need one more year experience before appearing for the second part of the exam.Besides that, you must have a basic understanding, if not a master, of UNIX fundamental and good knowledge of Solaris OE commands before you can take the SCSA certification.
SCSA exam is quite easy, for the person who is well prepared course :D.

Lots of book and study guide you can find nowadays. You can search it here amazon or anywhere else.
Or maybe you want to order some certification package, it’s a comprehensive study-guide made exclusively made for the purpose. Even there are many SCSA workshops available.
Those simulations will not only sharpen your knowledge but also will give you great understanding on the subject so you can get a 100% in the exams.
Read more... »»

A Brief History of Solaris

Solaris, the UNIX-based operating system developed by SUN Microsystem, was born in 1987. AT&T and SUN Microsystem tried to combine the leading Unix versions (BSD, XENIX, and System V) into one operating system.
In 1991, SUN Microsystem replaced it's existing Unix operating system (SunOS 4) with one based on SVR4, called Solaris 2.
Contained with many new advances, including use of the Open Network Computing (ONC) functionality, NIS+ and OpenWindows graphical user interface, Solaris 2 was specially designed for symmetric multiprocessing.

And now, for more than twenty-years, numerous versions of Solaris has been released with great innovations to adapt the changing of the computer environment, trying to anticipate where the computer world is going.
Innovations that Solaris OS has made will takes pages to be described. I’ll show you some of the most important milestones:
1. 1996 – Solaris 2.5.1 – NFSv3 file system and NFS/TCP, CDE (Common Desktop Environment), included support for the Macintosh PowerPC and the CDE (Common Desktop Environment), expanded user and group IDs to 32 bits.
2. 1997 – Solaris 2.6 – Kerberos 5 security encryption, WebNFS file system and large file support to increase Solaris internet performance
3. 1998 – Solaris 2.7 (renamed just Solaris 7) – 64-bit released, dramatically increased its performance, capacity, and scalability. Native support for file system meta-data logging (UFS logging)
4. 2000 – Solaris 8 – first OS to combine datecentre and dot-com requirements, offering support for IPMP, IPv6 and IPSEC, Multipath I/O.
5. 2002 – Solaris 9 – OpenWindows (in favour of Linux compatibility), and added a Resource Manager, the Solaris Volume Manager, extended file attributes, and the iPlanet Directory Server
6. 2005 – Solaris 10 – free of charge, more compatible with Linux and IBM system, Dynamic Tracing (DTrace), NFSv4, Java Desktop System based on GNOME, ZFS (later in 2006)
7. 2006 – OpenSolaris Project – In the first year, the community had grown to 29 user groups globally with over than 14,000 members, working on 31 active projects.
The “evolution” of the Solaris OS shows the capacity of Sun Microsystem to be on the cutting edge of the computing world without losing touch with the current computing environment. New versions of Solaris is regularly released incorporated the latest development in computer technology and also included more cross-platform compatibility and incorporating the advances of other systems.
Read more... »»

UNIX in a nutshell


An operating system (or “OS”) is a set of programs that controls a computer. It controls both the hardware (things you can touch – keyboards, displays and disk drives) and the sotfware (application program that you run, such as a word processor).
Some computers have a single-user OS, which means only one person can use the computer at a time. Many older OSes (like DOS) can also do only one job at a time. But almost any computer can do a lot more if it has a multiuser, multitasking operating system like UNIX. These powerful OSes let many people use the computer at the same time and let each user run several jobs at once.Unix operating systems are widely used in both servers and workstations. The Unix environment and the client-server program model were essential elements in the development of the Internet and the reshaping of computing as centered in networks rather than in individual computers

As mentioned above, Unix was designed to be portable, multi-tasking and multi-user in a time-sharing configuration. Unix systems are characterized by various concepts: the use of plain text for storing data; a hierarchical file system; treating devices and certain types of inter-process communication (IPC) as files; and the use of a large number of software tools, small programs that can be strung together through a command line interpreter using pipes, as opposed to using a single monolithic program that includes all of the same functionality. These concepts are known as the Unix philosophy.

There are many different versions of UNIX . Until few years ago, there were just two main versions: the line of UNIX releases that started at the AT&T, and the other line from the University of California at Berkeley. Some other major commercial versions include SunOS, Solaris, AIX, HP/UX and ULTRIX. Some of the freely available versions include LINUX and FreeBSD.
Read more... »»

Basic UNIX Command (part I)

UNIX is an operating system developed by AT&T Bell LABS in 1969. Today the term Unix is used to describe any operating system that conforms to Unix standards, meaning the core operating system operates the same as the original Unix operating system. During the late 1970s and early 1980s, the influence of Unix in academic circles led to large-scale adoption of Unix (particularly of the BSD variant, originating from the University of California, Berkeley) by commercial startups, the most notable of which are Solaris, HP-UX and AIX.

And I think, in order to mastering the SUN Solaris OS, we definitely need to know some of the very basic UNIX commands :D

First thing to remember: UNIX is case-sensitive.
COMMAND and command are not the same
FILES













































































ls lists your files
ls -l lists your files in 'long format', which contains lots of useful information, e.g. the exact size of the file, who owns the file and who has the right to look at it, and when it was last modified
ls -a lists all files, including the ones whose filenames begin in a dot, which you do not always want to see
more filename shows the first part of a file, just as much as will fit on one screen
emacs filename is an editor that lets you create and edit a file
mv filename1 filename2 moves a file
cp filename1 filename2 copies a file
rm filename removes a file. It is wise to use the option rm -i, which will ask you for confirmation
diff filename1 filename2 compares files, and shows where they differ
wc filename tells you how many lines, words, and characters there are in a file
chmod options filename change the read, write, and execute permissions on your files
gzip filename compresses files
gunzip filename uncompresses files compressed by gzip
gzcat filename lets you look at a gzipped file without actually having to gunzip it
lpr filename print
lpq check out the printer queue
lprm jobnumber remove something from the printer queue
genscript converts plain text files into postscript for printing
dvips filename print .dvi files


For further explanation check the manual page.

root@ult10 # man command

...to be continued
Read more... »»

WEBMIN

Webmin is a web-based system configuration and administration tool for any Operating System, such as OpenSolaris, Linux and other *NIX-flavor systems, even now, Webmin can be installed and run on Microsoft Windows. You can configure many operating system internals, such as users, disk quotas, services, configuration files etc., as well as modify and control many open source apps, such as the Apache HTTP Server, PHP, MySQL, DNS, file sharing and much more.
Webmin removes the need to manually edit Unix configuration files like /etc/passwd, /etc/inet.d.conf, and lets you manage a system from the console or remotely

Webmin is based on Perl, running as its own process and web server. It defaults to TCP port 10000 for communicating, and can be configured to use SSL if OpenSSL is installed with additional required Perl Modules.
It is built around modules, which have an interface to the configuration files and the Webmin server. This makes it easy to add new functionality without much work. Due to Webmin's modular design, it would be possible for anyone who is interested to write plugins for desktop configuration.
Webmin also allows for controlling many machines through a single interface, or seamless login on other webmin hosts on the same subnet or LAN.
Webmin is primarily coded by Australian Jamie Cameron and released under the BSD license

I'll show you how to install and use the tool. First, you should have the installer package, You can download the latest version here
I'm running the Webmin-tool inside SUN Ultra10 with Solaris 10 11/06

After you get the package, unzip it.

root@ult10 # cd package/
root@ult10 # ls
CSKamp_1.3.1_sparc.pkg CSKruntime_1.3.1_sparc.pkg webmin-1.490.pkg.gz
root@ult10 # gunzip webmin-1.490.pkg.gz
root@ult10 # ls
CSKamp_1.3.1_sparc.pkg CSKruntime_1.3.1_sparc.pkg webmin-1.490.pkg


Add the package and follow the next instruction until the package is installed completely.

root@ult10 # pkgadd -d webmin-1.490.pkg

The following packages are available:
1 WSwebmin Webmin - Web-based system administration
(all) 1.490

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: 1

Processing package instance from

Webmin - Web-based system administration(all) 1.490
Webmin Software

The selected base directory must exist before
installation is attempted.

Do you want this directory created now [y,n,?,q] y
Using as the package base directory.
## Processing package information.
## Processing system information.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.

This package contains scripts which will be executed with super-user
permission during the process of installing this package.

Do you want to continue with the installation of [y,n,?] y

Installing Webmin - Web-based system administration as

## Installing part 1 of 1.
/etc/init.d/webmin
/opt/webmin/LICENCE
/opt/webmin/LICENCE.ja
/opt/webmin/README
/opt/webmin/Webmin/All.pm
/opt/webmin/Webmin/Button.pm
/opt/webmin/Webmin/Checkbox.pm
/opt/webmin/Webmin/Checkboxes.pm
/opt/webmin/Webmin/Columns.pm
/opt/webmin/Webmin/ConfirmPage.pm
.
.
.
(output truncated)

Running postinstall scripts ..
sh: syslog-ng: not found
..done

Attempting to start Webmin mini web server..
Starting Webmin server in /opt/webmin
Pre-loaded WebminCore
..done

***********************************************************************
Webmin has been installed and started successfully. Use your web
browser to go to

http://ult10:10000/

and login with the name and password you entered previously.


Installation of was successful.
root@ult10 #


After that, point your browser to http://webmin-installed-box:10000



Login as root


Read more... »»

Configuring Apache, PHP and MySql in SOlaris 10

I spent my whole week trying how to use file-sharing application such as Oliver webshare, PHP file mahager and bfExplorer. Those application are based on PHP (and MySql on bfExplorer) My box has apache2 in it. At the first time i thought Apache2 is enough to run those applications. But then I realized, THOSE APPLICATIONS ARE BASED ON PHP :D
Not just Apache, but also I need to install PHP on it (MySQL is just a bonus :D) Lots of tutorial on how-to configure PHP on Solaris, but these time I'm gonna use a package called coolstack http://cooltools.sunsource.net/coolstack/index.html or you can get it here

First, login into your Solaris box as root
1. Connecting to 192.168.1.150:23...
Connection established.
Escape character is '^@]'.
login: root
Password:
Last login: Wed Nov 4 12:35:45 from 192.168.1.192
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
You have mail.
Sourcing //.profile-EIS.....
root@u10 #


2. Install the Coolstack package. CSKruntime first.
root@u10 # bunzip CSKruntime_1.3.1_i386.pkg.bz2
root@u10 # pkgadd -d CSKruntime_1.3.1_i386.pkg


3. Install the CSKamp package.
root@u10 # bunzip CSKamp_1.3.1_i386.pkg.bz2
root@u10 # pkgadd -d CSKamp_1.3.1_i386.pkg


4. Once the installation is completed, we can start to configure.
Let's begin with the APACHE

> The root document is located at /opt/coolstack/apache2/htdocs
> The configuration file, binary, lib and so on are located at /opt/coolstack/apache2
> At first, there is no file such httpd.conf, what exists is httpd.conf-example
> Rename the file to http.conf
> You can customize the configuration file at /etc/coolstack/apache2/conf/httpd.conf
> Start it

root@u10 # svcadm enable apache22

> Check the service

root@u10 # svcs | grep apache22
online 10:34:47 svc:/network/http:apache22-csk


> Open your browser, go to http://your-solaris-box

Now, configuring MySql
> Export the PATH

root@u10 # export PATH=/opt/coolstack/mysql_32bit/bin:$PATH

> Install the database and create the user and the group

root@u10 # /opt/coolstack/mysql_32bit/bin/mysql_install_db

root@u10 # groupadd mysql

root@u10 # useradd -c “MySQL Server” -g mysql mysql


> Change the owner of the directory

root@u10 # chown -R mysql:mysql /opt/coolstack/mysql_32bit

root@u10 # cp /opt/coolstack/mysql_32bit/share/mysql/my-large.cnf /etc/my.cnf


> Run it

root@u10 # /opt/coolstack/mysql_32bit/bin/mysqld_safe &

> Check the service

root@u10 # ps -ef | grep mysql
root 8530 15420 0 13:23:53 pts/2 0:00 grep mysql

mysql 7341 7270 1 13:23:10 pts/3 0:01 /opt/coolstack/mysql_32bit/bin/mysqld --basedir=/opt/coolstack/mysql_32bit --da

root 7270 23464 0 13:23:09 pts/3 0:00 /bin/sh /opt/coolstack/mysql_32bit/bin/mysqld_safe


> Set the root password for MySql

root@u10 # /opt/coolstack/mysql_32bit
/bin/mysqladmin -u root password ‘yourpassword’


> Try to login into the MySql

root@u10 # /opt/coolstack/mysql_32bit/bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.25-rc-standard-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>


> Try to create a database

mysql> create database mydata;
Query OK, 1 row affected (0.12 sec)

mysql> quit
Bye


Finally, the PHP5

> PHP5 automatically installed by the CSKampx.x.x
> the directory is located at /opt/coolstack/php5
Read more... »»

Implementing Quota in Solaris 10

In Solaris, system administrator can control the size of the UFS file system by limiting the amount of disk space using quota. For this reason, quotas are especially useful on the file systems where user home directories reside. As a rule, public and /tmp file systems usually do not benefit as much from the establishment of quotas.

Take a look at my example..

root@fileserver # df -h
Filesystem size used avail capacity Mounted on
/dev/dsk/c1t0d0s0 53G 667M 52G 2% /
/devices 0K 0K 0K 0% /devices
ctfs 0K 0K 0K 0% /system/contract
proc 0K 0K 0K 0% /proc
mnttab 0K 0K 0K 0% /etc/mnttab
swap 3.2G 1.6M 3.2G 1% /etc/svc/volatile
objfs 0K 0K 0K 0% /system/object
sharefs 0K 0K 0K 0% /etc/dfs/sharetab
/dev/dsk/c1t0d0s4 4.8G 3.5G 1.2G 75% /usr
/platform/sun4u-us3/lib/libc_psr/libc_psr_hwcap1.so.1
53G 667M 52G 2% /platform/sun4u-us3/lib/libc_psr.so.1
/platform/sun4u-us3/lib/sparcv9/libc_psr/libc_psr_hwcap1.so.1
53G 667M 52G 2% /platform/sun4u-us3/lib/sparcv9/libc_psr.so.1
fd 0K 0K 0K 0% /dev/fd
swap 3.2G 0K 3.2G 0% /tmp
swap 3.2G 48K 3.2G 1% /var/run
/dev/dsk/c1t0d0s5 4.8G 435M 4.3G 9% /opt
/dev/dsk/c1t0d0s6 4.8G 4.9M 4.8G 1% /export/home
/dev/md/dsk/d10 202G 64M 200G 1% /data


There are 30 users will be using the /data directory. Each of the them will have 5GB disk space. To implement the quota on /data slice, first you need to make a file called qoutas under /data directory

1. Change directory to /data
root@fileserver # cd /data

2. Create file called quotas
root@fileserver # touch quotas

3. Edit the /etc/vfstab file and add rq to the mount options field for each UFS file system that will have quotas.
root@fileserver # vi /etc/vfstab
/dev/md/dsk/d10 /dev/md/rdsk/d10/data ufs 3 yes rq

4. Change permissions to read/write for root access only on quotas
root@fileserver # chmod 600 quotas

5. Set quotas for a user
root@fileserver # edquota kks

You'll see a file containing a description about the quotas allocation.
fs /files blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0)

I'm gonna set the quotas for each user around 5GB each.
fs /files blocks (soft = 4500000, hard = 5000000) inodes (soft = 0, hard = 0)
We call that user kks as a prototype to make another quotas for the rest of the users.

6. root@fileserver # edquota -p kks trs ppa djk bsk ksn opr usk ren umm sdm umn wem tek usy int mar lpn kmp spi kpi jal huk kpn jdi cmo kpd dlk pku drk

7. Check the quotas
root@fileserver # quotacheck -va
*** Checking quotas for /dev/md/rdsk/d10 (/data)
/dev/md/rdsk/d10: trs fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: ppa fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: djk fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: bsk fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: ksn fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: opr fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: usk fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: ren fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: umm fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: sdm fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: umn fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: wem fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: tek fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: usy fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: int fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: mar fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: lpn fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: kmp fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: spi fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: kpi fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: jal fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: huk fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: kpn fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: jdi fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: cmo fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: kpd fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: dlk fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: pku fixed: files 0 -> 5 blocks 0 -> 10
/dev/md/rdsk/d10: drk fixed: files 0 -> 5 blocks 0 -> 10


8. Turning on the quotas
root@fileserver # quotaon -v /dev/md/dsk/d10
/data: quotas turned on

9. Check for exceeded quotas
root@fileserver # quota -v trs
Disk quotas for trs (uid 101):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v ppa
Disk quotas for ppa (uid 102):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v djk
Disk quotas for djk (uid 103):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v bsk
Disk quotas for bsk (uid 104):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v ksn
Disk quotas for ksn (uid 105):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v opr
Disk quotas for opr (uid 106):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v usk
Disk quotas for usk (uid 107):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v ren
Disk quotas for ren (uid 108):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v umm
Disk quotas for umm (uid 109):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v sdm
Disk quotas for sdm (uid 110):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v umn
Disk quotas for umn (uid 111):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v wem
Disk quotas for wem (uid 112):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v tek
Disk quotas for tek (uid 113):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v usy
Disk quotas for usy (uid 114):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v int
Disk quotas for int (uid 115):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v mar
Disk quotas for mar (uid 116):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v lpn
Disk quotas for lpn (uid 117):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v kmp
Disk quotas for kmp (uid 118):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v spi
Disk quotas for spi (uid 119):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v kpi
Disk quotas for kpi (uid 120):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v jal
Disk quotas for jal (uid 121):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v huk
Disk quotas for huk (uid 122):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v kpn
Disk quotas for kpn (uid 123):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v jdi
Disk quotas for jdi (uid 124):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v cmo
Disk quotas for cmo (uid 125):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v kpd
Disk quotas for kpd (uid 126):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v dlk
Disk quotas for dlk (uid 127):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v pku
Disk quotas for pku (uid 128):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0
root@fileserver # quota -v drk
Disk quotas for drk (uid 129):
Filesystem usage quota limit timeleft files quota limit timeleft
/data 5 4500000 5000000 5 0 0


10. Check quotas on the filesystem
root@fileserver # repquota -va
/dev/md/dsk/d10 (/data):
Block limits File limits
User used soft hard timeleft used soft hard timeleft
kks -- 5 4500000 5000000 5 0 0
trs -- 5 4500000 5000000 5 0 0
ppa -- 5 4500000 5000000 5 0 0
djk -- 5 4500000 5000000 5 0 0
bsk -- 5 4500000 5000000 5 0 0
ksn -- 5 4500000 5000000 5 0 0
opr -- 5 4500000 5000000 5 0 0
usk -- 5 4500000 5000000 5 0 0
ren -- 5 4500000 5000000 5 0 0
umm -- 5 4500000 5000000 5 0 0
sdm -- 5 4500000 5000000 5 0 0
umn -- 5 4500000 5000000 5 0 0
wem -- 5 4500000 5000000 5 0 0
tek -- 5 4500000 5000000 5 0 0
usy -- 5 4500000 5000000 5 0 0
int -- 5 4500000 5000000 5 0 0
mar -- 5 4500000 5000000 5 0 0
lpn -- 5 4500000 5000000 5 0 0
kmp -- 5 4500000 5000000 5 0 0
spi -- 5 4500000 5000000 5 0 0
kpi -- 5 4500000 5000000 5 0 0
jal -- 5 4500000 5000000 5 0 0
huk -- 5 4500000 5000000 5 0 0
kpn -- 5 4500000 5000000 5 0 0
jdi -- 5 4500000 5000000 5 0 0
cmo -- 5 4500000 5000000 5 0 0
kpd -- 5 4500000 5000000 5 0 0
dlk -- 5 4500000 5000000 5 0 0
pku -- 5 4500000 5000000 5 0 0
drk -- 5 4500000 5000000 5 0 0

Read more... »»

RAID 0 in Solaris (Concate)

A Redundant Array of Independent Disks (RAID) configuration enables you to expand the characteristics od a storage volume beyond the physical limitations of a single disk. You can use a RAID configuration to increase disk capacity as well as to improve disk performance and fault tolerance.


The Solaris Volume Manager software provides a graphical user interface (GUI) tool to simplify system administration tasks on storage devices. But I'm not gonna use GUI to perform the task. RAID is a classification of methods to back up and to store data on multiple disk drives. There are six levels of RAID as well as a non-redundant array of independent disks (RAID 0).

The Solaris Volume Manager software uses metadevices, which are product-specific definitions of logical storage volumes, to implement RAID 0, RADI 1 and RAID 5 :
> RAID 0 : Non-redundant disk array (concatenation and striping)
> RAID 1 : Mirrored disk array
> RAID 5 : Block-interleaved distributed-parity

RAID-0 volumes, including both stripes and concatenations, are composed of slices and let you expand disk storage capacity. You can either use RAID-0 volumes directly or use the volumes as the building blocks for RAID-1 volume (mirrors). RAID-0 volumes allow you to expand disk storage capacity efficiently. These volumes do not provide data redundancy. If a single slice fails on a RAID-0 volume, there is a loss of data.There are two types of RAID-0 volumes:

> Concatenated volumes (or concatenations)
A concatenated volume writes data to the first available slice. When the first slice
is full, the volume writes data to the next available slice.
> Striped volumes (or stripes)
A stripe distributes data equally across all slices in the stripe

I've written a tutorial on how to implement RAID 1 (Mirrored disk array) and now I'm gonna show you how to implement RAID 0 (in this case, the concatenation)

Hardware specification:
1. SUN Fire V240
2. 4 x Disk (@ 72 GB)

As you can see, I have a box along with 4 internal disks. On disk No. 1 I'll install the Operating System, and on the other disks, I'm gonna "unite" it logically so the system will read it as a one physical disk. One more thing, since we're using the Solaris Volume Manager, don't forget to spare some space in any slice (usually slice-7) to store the metadb file. Just around 128 Mb.

1. Create initial state database replica.
root@fileserver # metadb -a -f c1t0d0s7

2. Verify the creation
root@fileserver # metadb
flags first blk block count
a u 16 8192 /dev/dsk/c1t0d0s7


3. Configure the metadevice
root@fileserver # metainit d10 3 1 c1t1d0s2 1 c1t2d0s2 1 c1t3d0s2
d10: Concat/Stripe is setup

- d10 is just the name
- 3 means that we're gonna make it using 3 slices
- 1 (from) c1t1d0s2, 1 (from) c1t2d0s2 and 1 (from) c1t3d0s2
- we use the slice 2 because we want to use all the three physical disks read as one logical disk.

4. Don't forget to create a new file-system on the concatenated disk.
root@fileserver # newfs /dev/md/rdsk/d10
/dev/md/rdsk/d10: Unable to find Media type. Proceeding with system determined parameters.
newfs: /dev/md/rdsk/d10 last mounted as /data
newfs: construct a new file system /dev/md/rdsk/d10: (y/n)? y
/dev/md/rdsk/d10: Unable to find Media type. Proceeding with system determined parameters.
Warning: 3264 sector(s) in last cylinder unallocated
/dev/md/rdsk/d10: 430027584 sectors in 69992 cylinders of 48 tracks, 128 sectors
209974.4MB in 4375 cyl groups (16 c/g, 48.00MB/g, 5824 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 98464, 196896, 295328, 393760, 492192, 590624, 689056, 787488, 885920,
Initializing cylinder groups:
...............................................................................
........
super-block backups for last 10 cylinder groups at:
429098656, 429197088, 429295520, 429393952, 429492384, 429590816, 429689248,
429787680, 429886112, 429984544


5. Check the filesystem
root@fileserver # fsck /dev/md/rdsk/d10
** /dev/md/rdsk/d10
** Last Mounted on
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3a - Check Connectivity
** Phase 3b - Verify Shadows/ACLs
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cylinder Groups
2 files, 9 used, 211758698 free (10 frags, 26469836 blocks, 0.0% fragmentation)


6. See the information about the disk
root@fileserver # df -h
Filesystem size used avail capacity Mounted on
/dev/dsk/c1t0d0s0 53G 667M 52G 2% /
/devices 0K 0K 0K 0% /devices
ctfs 0K 0K 0K 0% /system/contract
proc 0K 0K 0K 0% /proc
mnttab 0K 0K 0K 0% /etc/mnttab
swap 3.2G 1.6M 3.2G 1% /etc/svc/volatile
objfs 0K 0K 0K 0% /system/object
sharefs 0K 0K 0K 0% /etc/dfs/sharetab
/dev/dsk/c1t0d0s4 4.8G 3.5G 1.2G 75% /usr
/platform/sun4u-us3/lib/libc_psr/libc_psr_hwcap1.so.1
53G 667M 52G 2% /platform/sun4u-us3/lib/libc_psr.so.1
/platform/sun4u-us3/lib/sparcv9/libc_psr/libc_psr_hwcap1.so.1
53G 667M 52G 2% /platform/sun4u-us3/lib/sparcv9/libc_psr.so.1
fd 0K 0K 0K 0% /dev/fd
swap 3.2G 0K 3.2G 0% /tmp
swap 3.2G 48K 3.2G 1% /var/run
/dev/dsk/c1t0d0s5 4.8G 435M 4.3G 9% /opt
/dev/dsk/c1t0d0s6 4.8G 4.9M 4.8G 1% /export/home
/dev/md/dsk/d10 202G 64M 200G 1% /data


You can see the concatenated disk is 202Gb

PS: Don't forget to edit the /etc/vfstab
Read more... »»

Service Management Facility

UNIX operating systems have traditionally included a set of services. Services can be described as a software programs not associated with any interactive user login that listen for and respond to request to perform certain tasks, such as webmin service, delivering email, responding to ssh request or permitting command execution.

These services are usually individual applications that executed as a single process that started at boot time and executed continuously while a system was up and running, servicing any request that were received.

Here, I'll show you some of services and how to enable it.

List all services known to system and current status

root@ultra60 # svcs -a
disabled 9:52:26 svc:/application/x11/xvnc-inetd:default
disabled 9:52:26 svc:/network/swat:default
online 9:51:32 svc:/system/svc/restarter:default
online 9:51:34 svc:/network/loopback:default
online 9:51:37 svc:/network/pfil:default
online 9:51:37 svc:/network/tnctl:default
online 9:51:39 svc:/system/installupdates:default
online 9:51:40 svc:/milestone/name-services:default
online 9:51:43 svc:/network/physical:default
You'll see something like that (it's a long list, sorry... :D )

Enable the webmin service (long FMRI)
root@ultra60 # svcadm svc:/application/management/webmin:default

Disable the webmin service (short name)
root@ultra60 # svcadm disable webmin

List details of the ssh(d) service
root@ultra60 # svcs -l ssh

fmri svc:/network/ssh:default
name SSH server
enabled true
state online
next_state none
state_time Thu Jun 18 09:52:28 2009
logfile /var/svc/log/network-ssh:default.log
restarter svc:/system/svc/restarter:default
contract_id 61
dependency require_all/none svc:/system/filesystem/local (online)
dependency optional_all/none svc:/system/filesystem/autofs (online)
dependency require_all/none svc:/network/loopback (online)
dependency require_all/none svc:/network/physical (online)
dependency require_all/none svc:/system/cryptosvc (online)
dependency require_all/none svc:/system/utmp (online)
dependency require_all/restart file://localhost/etc/ssh/sshd_config (online)


Restart the ssh(d) service
root@ultra60 # svcadm restart ssh

Verify that the AutoFS service is running
root@ultra60 # svcs system/filesystem/autofs

STATE STIME FMRI
online 9:52:28 svc:/system/filesystem/autofs:default


Verify that the multiuser server milestone has been reached
root@ultra60 # svcs multi-user-server

STATE STIME FMRI
online 9:56:22 svc:/milestone/multi-user-server:default


Disable the telnetd service (Use -e for enable)
root@ultra60 # inetadm -d telnet

Read more... »»

Complete vi command

In Solaris, everything is treated as file. If you want to configure the network, you need to edit a file. Add a user, you need to edit a file as well. Or maybe you want to create a script, you definitely need to write it in a file.
Solaris provides an editor called "vi" Very powerful editor. The format may not be the same like any other editor (such as: notepad or maybe editplus) So difficult at the first, but when you're getting used to, you'll find that the vi editor will make you feel like the real command-liner.


Notes:

* denotes the Esc key, and denotes the Enter key.

* The expression means that you should enter a command, means that you should enter a filename, and means that you should enter a character or number.

* The symbol ^ (caret) means that you should hold down the Ctrl key while pressing the indicated letter.

Here are the complete vi command, categorized by function...

Cutting and Pasting / Deleting text

"
Specify a buffer to be used any of the commands using buffers. Follow the " with a letter or a number, which corresponds to a buffer.
D
Delete to the end of the line from the current cursor position.
P
Paste the specified buffer before the current cursor position or line. If no buffer is specified (with the " command.) then 'P' uses the general buffer.
X
Delete the character before the cursor.
Y
Yank the current line into the specified buffer. If no buffer is specified, then the general buffer is used.
d
Delete until where. "dd" deletes the current line. A count deletes that many lines. Whatever is deleted is placed into the buffer specified with the " command. If no buffer is specified, then the general buffer is used.
p
Paste the specified buffer after the current cursor position or line. If no buffer is specified (with the " command.) then 'p' uses the general buffer.
x
Delete character under the cursor. A count tells how many characters to delete. The characters will be deleted after the cursor.
y
Yank until , putting the result into a buffer. "yy" yanks the current line. a count yanks that many lines. The buffer can be specified with the " command. If no buffer is specified, then the general buffer is used.

Inserting new text
A
Append at the end of the current line.
I
Insert from the beginning of a line.
O
(letter oh) Enter insert mode in a new line above the current cursor position.
a
Enter insert mode, the characters typed in will be inserted after the current cursor position. A count inserts all the text that had been inserted that many times.
i
Enter insert mode, the characters typed in will be inserted before the current cursor position. A count inserts all the text that had been inserted that many times.
o
Enter insert mode in a new line below the current cursor position.

Moving the cursor within the file
^B
Scroll backwards one page. A count scrolls that many pages.
^D
Scroll forwards half a window. A count scrolls that many lines.
^F
Scroll forwards one page. A count scrolls that many pages.
^H
Move the cursor one space to the left. A count moves that many spaces.
^J
Move the cursor down one line in the same column. A count moves that many lines down.
^M
Move to the first character on the next line.
^N
Move the cursor down one line in the same column. A count moves that many lines down.
^P
Move the cursor up one line in the same column. A count moves that many lines up.
^U
Scroll backwards half a window. A count scrolls that many lines.
$
Move the cursor to the end of the current line. A count moves to the end of the following lines.
%
Move the cursor to the matching parenthesis or brace.
^
Move the cursor to the first non-whitespace character.
(
Move the cursor to the beginning of a sentence.
)
Move the cursor to the beginning of the next sentence.
{
Move the cursor to the preceding paragraph.
}
Move the cursor to the next paragraph.
|
Move the cursor to the column specified by the count.
+
Move the cursor to the first non-whitespace character in the next line.
-
Move the cursor to the first non-whitespace character in the previous line.
_
Move the cursor to the first non-whitespace character in the current line.
0
(Zero) Move the cursor to the first column of the current line.
B
Move the cursor back one word, skipping over punctuation.
E
Move forward to the end of a word, skipping over punctuation.
G
Go to the line number specified as the count. If no count is given, then go to the end of the file.
H
Move the cursor to the first non-whitespace character on the top of the screen.
L
Move the cursor to the first non-whitespace character on the bottom of the screen.
M
Move the cursor to the first non-whitespace character on the middle of the screen.
W
Move forward to the beginning of a word, skipping over punctuation.
b
Move the cursor back one word. If the cursor is in the middle of a word, move the cursor to the first character of that word.
e
Move the cursor forward one word. If the cursor is in the middle of a word, move the cursor to the last character of that word.
h
Move the cursor to the left one character position.
j
Move the cursor down one line.
k
Move the cursor up one line.
l
Move the cursor to the right one character position.
w
Move the cursor forward one word. If the cursor is in the middle of a word, move the cursor to the first character of the next word.

Moving the cursor around the screen
^E
Scroll forwards one line. A count scrolls that many lines.
^Y
Scroll backwards one line. A count scrolls that many lines.
z
Redraw the screen with the following options. "z" puts the current line on the top of the screen; "z." puts the current line on the center of the screen; and "z-" puts the current line on the bottom of the screen. If you specify a count before the 'z' command, it changes the current line to the line specified. For example, "16z." puts line 16 on the center of the screen.

Replacing text

C
Change to the end of the line from the current cursor position.
R
Replace characters on the screen with a set of characters entered, ending with the Escape key.
S
Change an entire line.
c
Change until . "cc" changes the current line. A count changes that many lines.
r
Replace one character under the cursor. Specify a count to replace a number of characters.
s
Substitute one character under the cursor, and go into insert mode. Specify a count to substitute a number of characters. A dollar sign ($) will be put at the last character to be substituted.

Searching for text or characters
,
Repeat the last f, F, t or T command in the reverse direction.
/
Search the file downwards for the string specified after the /.
;
Repeat the last f, F, t or T command.
?
Search the file upwards for the string specified after the ?.
F
Search the current line backwards for the character specified after the 'F' command. If found, move the cursor to the position.
N
Repeat the last search given by '/' or '?', except in the reverse direction.
T
Search the current line backwards for the character specified after the 'T' command, and move to the column after the if it's found.
f
Search the current line for the character specified after the 'f' command. If found, move the cursor to the position.
n
Repeat last search given by '/' or '?'.
t
Search the current line for the character specified after the 't' command, and move to the column before the character if it's found.

Manipulating character or line formatting

~
Switch the case of the character under the cursor.
<
Shift the lines up to where to the left by one shiftwidth. "<<" shifts the current line to the left, and can be specified with a count.
>
Shift the lines up to where to the right by one shiftwidth. ">>" shifts the current line to the right, and can be specified with a count.
J
Join the current line with the next one. A count joins that many lines.

Saving and quitting
^\
Quit out of "VI" mode and go into "EX" mode. The EX editor is the line editor VI is build upon. The EX command to get back into VI is ":vi".
Q
Quit out of "VI" mode and go into "EX" mode. The ex editor is a line-by-line editor. The EX command to get back into VI is ":vi".
ZZ
Exit the editor, saving if any changes were made.

Miscellany
^G
Show the current filename and the status.
^L
Clear and redraw the screen.
^R
Redraw the screen removing false lines.
^[
Escape key. Cancels partially formed command.
^^
Go back to the last file edited.
!
Execute a shell. If a is specified, the program which is executed using ! uses the specified line(s) as standard input, and will replace those lines with the standard output of the program executed. "!!" executes a program using the current line as input. For example, "!4jsort" will take five lines from the current cursor position and execute sort. After typing the command, there will be a single exclamation point where you can type the command in.
&
Repeat the previous ":s" command.
.
Repeat the last command that modified the file.
:
Begin typing an EX editor command. The command is executed once the user types return. (See section below.)
@
Type the command stored in the specified buffer.
U
Restore the current line to the state it was in before the cursor entered the line.
m
Mark the current position with the character specified after the 'm' command.
u
Undo the last change to the file. Typing 'u' again will re-do the change.

EX commands
The VI editor is built upon another editor, called EX. The EX editor only edits by line. From the VI editor you use the : command to start entering an EX command. This list given here is not complete, but the commands given are the more commonly used. If more than one line is to be modified by certain commands (such as ":s" and ":w" ) the range must be specified before the command. For example, to substitute lines 3 through 15, the command is ":3,15s/from/this/g".

:ab string strings
Abbreviation. If a word is typed in VI corresponding to string1, the editor automatically inserts the corresponding words. For example, the abbreviation ":ab usa United States of America" would insert the words, "United States of America" whenever the word "usa" is typed in.
:map keys new_seq
Mapping. This lets you map a key or a sequence of keys to another key or a sequence of keys.
:q
Quit VI. If there have been changes made, the editor will issue a warning message.
:q!
Quit VI without saving changes.
:s/pattern/to_pattern/options
Substitute. This substitutes the specified pattern with the string in the to_pattern. Without options, it only substitutes the first occurence of the pattern. If a 'g' is specified, then all occurences are substituted. For example, the command ":1,$s/Dwayne/Dwight/g" substitutes all occurences of "Dwayne" to "Dwight".
:set [all]
Sets some customizing options to VI and EX. The ":set all" command gives all the possible options. (See the section on customizing VI for some options.)
:una string
Removes the abbreviation previously defined by ":ab".
:unm keys
Removes the remove mapping defined by ":map".
:vi filename
Starts editing a new file. If changes have not been saved, the editor will give you a warning.
:w
Write out the current file.
:w filename
Write the buffer to the filename specified.
:w >> filename
Append the contents of the buffer to the filename.
:wq
Write the buffer and quit.

http://www.eng.hawaii.edu/Tutor/vi.html
Read more... »»

Solaris Networking

Just a little note on Solaris networking..

dladm show-dev : show network interfaces currently installed on system, speed and duplex
ifconfig -aZ : list network interfaces from the global zone only


/etc/defaultdomain : Set the default NIS domain name, if any, if it changed.
/etc/defaultrouter : Set the default router's IP address, if it changed.
/etc/hostname.le0 : (or .hme0 or ?) Update if the hostname changed.
/etc/hostname6.le0 : (or .hme0 or ?) Ditto, if you use IPv6.
/etc/dhcp.le0 : Touch or remove, if you are (or are not) using DHCP
/etc/hostname6.ip.tun0 : Update if you use a IPv4/IPv6 tunnel (e.g., 6bone)
/etc/nodename : Update if the hostname changed.
/etc/nsswitch.conf : Update if your name resolution method/order changed.
Copy /etc/nsswitch.dns to /etc/nsswitch.conf if you
use DNS instead of (rarely used) NIS.
/etc/resolv.conf : Update if your name servers/domain changed (DNS only).
/etc/inet/hosts : Make sure your IP address is updated or added here.
List your FQDN is first, before the short hostname.
E.g., "192.168.128.64 foo.bar.com foo"
/etc/inet/ipnodes : IPv6 version of hosts file (Solaris 8+).
/etc/inet/netmasks : Set your network number & netmask, if it changed.
/etc/inet/networks : Set your network name, if it changed.
/etc/net/ticlts/hosts : For the streams-level loopback interface.
/etc/net/ticots/hosts : For the streams-level loopback interface.
/etc/net/ticotsord/hosts : For the streams-level loopback interface.
Read more... »»

Solaris 10 Zone

Zone is a virtual operating system environment created within a single instance of the Solaris operating system.
Zone allow virtual environments to run on the same physical system. If you are familliar with VMWare or SUN xVM Virtual box then you know the concept.

1. login to a terminal as root

root@ultra60 #

2. check the current status of the zones using zoneadm command

root@ultra60 # zoneadm list -v
ID NAME STATUS PATH BRAND IP
0 global running / native shared

As you can see, the box has non-global zone installed

3. I'll create a non-global zone called zone1

root@ultra60 # zonecfg -z zone1

zone1: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:zone1> create
zonecfg:zone1> set zonepath=/export/zone/1
zonecfg:zone1> set autoboot=true
zonecfg:zone1> add net
zonecfg:zone1:net> set address=192.168.1.179
zonecfg:zone1:net> set physical qfe0
zonecfg:zone1:net> end
zonecfg:zone1>
zonecfg:zone1> verify
zonecfg:zone1> commit
zonecfg:zone1> exit


4. After the 'exit' step, the zone1 zone is now in 'configured' state.

root@ultra60 # zoneadm list -vc
ID NAME STATUS PATH BRAND IP
0 global running / native shared
- zone1 configured /export/zone/1 native shared


5. You can see the information about the zone

root@ultra60 # zonecfg -z zone1 info
zonename: zone1
zonepath: /export/zone/1
brand: native
autoboot: true
bootargs:
pool:
limitpriv:
scheduling-class:
ip-type: shared
inherit-pkg-dir:
dir: /lib
inherit-pkg-dir:
dir: /platform
inherit-pkg-dir:
dir: /sbin
inherit-pkg-dir:
dir: /usr
net:
address: 192.168.1.179
physical: hme1
defrouter not specified


6. The next step is to install the zone.

root@ultra60 # zoneadm -z zone1 install
Preparing to install zone .
Creating list of files to copy from the global zone.
Copying <7753> files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize <1189> packages on the zone.
Initializing package <0> of <1189>: percent complete: 0%
Initializing package <1> of <1189>: percent complete: 0%
Initializing package <2> of <1189>: percent complete: 0%
Initializing package <3> of <1189>: percent complete: 0%
.
.
.
Initializing package <1187> of <1189>: percent complete: 99%
Initializing package <1188> of <1189>: percent complete: 99%
Initialized <1189> packages on zone.
Zone is initialized.
Installation of <2> packages was skipped.
Installation of these packages generated warnings:
The file contains a log of the zone installation.


7. Check the status

root@ultra60 # zoneadm list -vc
ID NAME STATUS PATH BRAND IP
0 global running / native shared
- zone1 installed /export/zone/1 native shared

8. Boot the zone

root@ultra60 # zoneadm -z zone1 boot

9. Login into the zone

root@ultra60 # zlogin -C zone1

10. Since this is the first time that this zone is being booted up, some initial configurations needs to be performed

------------------------------------------Begin------------------------------------------------

What type of terminal are you using?
1) ANSI Standard CRT
2) DEC VT52
3) DEC VT100
4) Heathkit 19
5) Lear Siegler ADM31
6) PC Console
7) Sun Command Tool
8) Sun Workstation
9) Televideo 910
10) Televideo 925
11) Wyse Model 50
12) X Terminal Emulator (xterms)
13) CDE Terminal Emulator (dtterm)
14) Other
Type the number of your choice and press Return: 3

Creating new rsa public/private host key pair

Creating new dsa public/private host key pair

Configuring network interface addresses: qfe0.

Host Name for qfe0:1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Enter the host name which identifies this system on the network.
The name must be unique within your domain; creating a duplicate host name will cause
problems on the network after you install Solaris.
A host name must have at least one character; it can contain letters,
digits, and minus signs (-).
Host name for qfe0:1 zone
F2_Continue F6_zone
Confirm Information for qfe0:1


... and so on...
------------------------------------------End----------------------------------------------------

11. After the reboot, the root prompt will appear and ready for login

[NOTICE: Zone rebooting]
SunOS Release 5.10 Version Generic_137137-09 64-bit
Copyright 1983-2008 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Hostname: zone1
Reading ZFS config: done.


zone1 console login: root
Password:
Jun 11 12:42:41 zone login: ROOT LOGIN /dev/console

Sun Microsystems Inc. SunOS 5.10 Generic January 2005
#


12. Close the session using 'tilde' then 'dot'

zone1 console login: ~.

[Connection to zone 'zone1' console closed]

13. To shutdown the zone, issue the command (assuming from global zone):

root@ultra60# zlogin zone1 shutdown -y -i0 -g0

root@ultra60# zlogin -C zone1

[Connected to zone 'zone1' console]

svc.startd: The system is coming down. Please wait.

svc.startd: 58 system services are now being stopped.

Jun 11 12:58:58 zone1-zone syslogd: going down on signal 15

svc.startd: The system is down.

[NOTICE: Zone halted]


Read more... »»