<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>unixpowered.com &#187; openboot</title>
	<atom:link href="http://www.unixpowered.com/blog/category/openboot/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.unixpowered.com/blog</link>
	<description></description>
	<lastBuildDate>Wed, 21 Jul 2010 13:42:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Forcing network speed and duplex in Open Boot prompt</title>
		<link>http://www.unixpowered.com/blog/2008/08/03/forcing-network-speed-and-duplex-in-open-boot-prompt/</link>
		<comments>http://www.unixpowered.com/blog/2008/08/03/forcing-network-speed-and-duplex-in-open-boot-prompt/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 20:04:31 +0000</pubDate>
		<dc:creator>somedude</dc:creator>
				<category><![CDATA[jumpstart]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[openboot]]></category>

		<guid isPermaLink="false">http://wayciak.wordpress.com/?p=43</guid>
		<description><![CDATA[I had a Sun box attached to a switch I had not control over and I needed to jumpstart it. Unfortunately, I was getting nowhere. After crosschecking everything in my setup the only thing I did not try was to force speed and duplex on the Sun box to see if it would start booting.
I [...]]]></description>
			<content:encoded><![CDATA[<p>I had a Sun box attached to a switch I had not control over and I needed to jumpstart it. Unfortunately, I was getting nowhere. After crosschecking everything in my setup the only thing I did not try was to force speed and duplex on the Sun box to see if it would start booting.</p>
<p>I wondered if it would be possible to do so in Open Boot prompt. So I fired up the most logical man page in the given situation &#8211; the <a title="boot man page" href="http://docs.sun.com/app/docs/doc/817-3937/boot-1m?l=en&amp;q=coreadm&amp;a=view" target="_self">boot man page</a>. Sure enough it is possible to force speed and duplex from <em>ok</em> prompt:</p>
<p><code>{1} ok <strong>boot net:speed=100,duplex=full - install</strong></code></p>
<p>And off it went happily booting&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixpowered.com/blog/2008/08/03/forcing-network-speed-and-duplex-in-open-boot-prompt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mirroring root disk using SVM</title>
		<link>http://www.unixpowered.com/blog/2008/07/02/mirroring-root-disk-using-svm/</link>
		<comments>http://www.unixpowered.com/blog/2008/07/02/mirroring-root-disk-using-svm/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 19:39:37 +0000</pubDate>
		<dc:creator>somedude</dc:creator>
				<category><![CDATA[openboot]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[solaris tips]]></category>
		<category><![CDATA[solaris utilities]]></category>
		<category><![CDATA[solaris volume manager]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://wayciak.wordpress.com/?p=25</guid>
		<description><![CDATA[There are about 487359 documents on the Internet about how to mirror root disk in Solaris. So, here is 487360th.
The assumptions are following: the first disk has Solaris already installed, root slice is slice 1, and the disks are identical with the same size and geometry. If they have different cylinder, head, sector count or [...]]]></description>
			<content:encoded><![CDATA[<p>There are about 487359 documents on the Internet about how to mirror root disk in Solaris. So, here is 487360th.</p>
<p>The assumptions are following: the first disk has Solaris already installed, root slice is slice 1, and the disks are identical with the same size and geometry. If they have different cylinder, head, sector count or different size you will have to fiddle with sizing slices more.</p>
<p>The first step is to recreate the same slice arrangement on the second disk:</p>
<p><code>bash-3.00# <strong>prtvtoc /dev/rdsk/c1t0d0s2 | fmthard -s - /dev/rdsk/c1t1d0s2</strong><br />
fmthard:  New volume table of contents now in place.</code></p>
<p>You can check both disks have the same <acronym title="Volume Table of Contents">VTOC</acronym> using <em>prtvtoc</em> command</p>
<p><code>bash-3.00# <strong>prtvtoc /dev/rdsk/c1t0d0s2</strong><br />
* /dev/rdsk/c1t0d0s2 partition map<br />
*<br />
* Dimensions:<br />
*     512 bytes/sector<br />
*     424 sectors/track<br />
*      24 tracks/cylinder<br />
*   10176 sectors/cylinder<br />
*   14089 cylinders<br />
*   14087 accessible cylinders<br />
*<br />
* Flags:<br />
*   1: unmountable<br />
*  10: read-only<br />
*<br />
*                          First     Sector    Last<br />
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory<br />
0      3    01          0   4100928   4100927<br />
1      2    00    4100928  20484288  24585215<br />
2      5    00          0 143349312 143349311<br />
3      8    00   24585216 118672512 143257727<br />
7      0    00  143257728     91584 143349311</code></p>
<p>Now we have to create state database replicas on slice 7. We will be adding two replicas to each slice:</p>
<p><code>bash-3.00# <strong>metadb -a -f -c3 /dev/dsk/c1t0d0s7</strong><br />
bash-3.00# <strong>metadb -a -f -c3 /dev/dsk/c1t1d0s7</strong></code></p>
<p>Database replicas are crucial part of <acronym title="Solaris Volume Manager">SVM</acronym>. <a title="State Database Overview" href="http://docs.sun.com/app/docs/doc/816-4520/about-state-db-replicas-1?a=view" target="_self">Here</a> is some important information about how they work, how many you need, etc.</p>
<p>Since the database replicas are in place we can start creating metadevices. The following commands will create metadevice <em>d31</em> from slice <em>c1t0d0s3</em>, and metadevice <em>d32</em> from slice <em>c1t1d0s3</em>. Then we create mirror <em>d30</em> with <em>d31</em> attached as a submirror. Finally we will attach submirror <em>d32</em> to mirror <em>d30</em>. Once <em>d32</em> is attached, the mirror <em>d30</em> will automatically start syncing.</p>
<p><code>bash-3.00# <strong>metainit -f d31 1 1 c1t0d0s3</strong><br />
d31: Concat/Stripe is setup<br />
bash-3.00# <strong>metainit -f d32 1 1 c1t1d0s3</strong><br />
d32: Concat/Stripe is setup<br />
bash-3.00# <strong>metainit d30 -m d31</strong><br />
d30: Mirror is setup<br />
bash-3.00# <strong>metattach d30 d32</strong><br />
d30: submirror d32 is attached</code></p>
<p>The procedure is the same for all other mirrors you might want to create. Root filesystem is slightly different. First you will have to create your submirrors. Then you will have to attach submirror with existing root filesystem, in this case <em>d11, </em>to the new mirror metadevice <em>d10</em>. Then you will have to run <em>metaroot</em> command. It will alter <em>/</em> entry in <em>/etc/vfstab</em>. Finally, you flush the filesystem using <em>lockfs</em> command and reboot.</p>
<p><code>bash-3.00# <strong>metainit -f d11 1 1 c1t0d0s1</strong><br />
d31: Concat/Stripe is setup<br />
bash-3.00# <strong>metainit -f d12 1 1 c1t1d0s1</strong><br />
d32: Concat/Stripe is setup<br />
bash-3.00# <strong>metainit d10 -m d11</strong><br />
d30: Mirror is setup<br />
bash-3.00# <strong>metaroot d10</strong><br />
bash-3.00# <strong>lockfs -fa</strong><br />
bash-3.00# <strong>reboot</strong></code></p>
<p>When the system reboots, you can attach the second submirror to <em>d10</em> as follows:</p>
<p><code>bash-3.00# <strong>metattach d10 d12</strong></code></p>
<p>You can check the sync progress using <em>metastat</em> command. Once all mirrors are synced up the next step is to configure the new swap metadevice, in my case <em>d0</em>, to be crash dump device. This is done using <em>dumpadm</em> command:</p>
<p><code>bash-3.00# <strong>dumpadm</strong><br />
Dump content: kernel pages<br />
Dump device: /dev/dsk/c1t0d0s0 (dedicated)<br />
Savecore directory: /var/crash/ultra<br />
Savecore enabled: yes<br />
bash-3.00# <strong>dumpadm -d /dev/md/dsk/d0</strong></code></p>
<p>The final step is to modify PROM. First we need to find out which two physical devices <em>c1t0d0</em> and <em>c1t1d0</em> refer to:</p>
<p><code>bash-3.00# <strong>ls -l /dev/dsk/c1t0d0s1</strong><br />
lrwxrwxrwx   1 root     root          43 Mar  4 14:38 /dev/dsk/c1t0d0s1 -&gt; ../../devices/pci@1c,600000/scsi@2/sd@0,0:b<br />
bash-3.00# <strong>ls -l /dev/dsk/c1t1d0s1</strong><br />
lrwxrwxrwx   1 root     root          43 Mar  4 14:38 /dev/dsk/c1t1d0s1 -&gt; ../../devices/pci@1c,600000/scsi@2/sd@1,0:b</code></p>
<p>The physical device path is everything starting from <em>/pci&#8230;</em>. Please make a note of <em>sd</em> towards the end of the device string. When creating device aliases below, <em>sd</em> will have to be changed to <em>disk</em>.</p>
<p>Now we create two device aliases called <em>root</em> and <em>backup_root</em>. Then we set <em>boot-device</em> to be <em>root</em> and <em>backup_root</em>. The <em>:b</em> refers to slice 1(root) on that particular disk.</p>
<p><code>bash-3.00# <strong>eeprom "use-nvramrc?=true"</strong><br />
bash-3.00# <strong>eeprom "nvramrc=devalias root /pci@1c,600000/scsi@2/disk@0,0 devalias backup_root /pci@1c,600000/scsi@2/disk@1,0"</strong><br />
bash-3.00# <strong>eeprom "boot-device=root:b backup_root:b net"</strong></code></p>
<p>Now we can test that the system boot from both <em>root</em> and <em>backup_root</em> devices.</p>
<p>There is one more optional step. Adding two kernel tunables to <em>/etc/system</em> file. The first one is <em>md_mirror:md_resync_bufsz</em> which will speed up mirror resync. The second one is <em>md:mirrored_root_flag</em>. When this flag is enabled the system will boot even if less than majority of database replicas is available. Personally, I do not use the second tunable. More on these can be found in <a title="Solaris Tunable Parameters Refernce Guide" href="http://docs.sun.com/app/docs/doc/817-0404/chapter2-156?l=ru&amp;a=view" target="_self">Solaris Tunable Parameters Reference Guide</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixpowered.com/blog/2008/07/02/mirroring-root-disk-using-svm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Determining ethernet MAC address from Open Boot prompt</title>
		<link>http://www.unixpowered.com/blog/2008/06/03/determining-ethernet-mac-address-from-open-boot-prompt/</link>
		<comments>http://www.unixpowered.com/blog/2008/06/03/determining-ethernet-mac-address-from-open-boot-prompt/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 19:02:54 +0000</pubDate>
		<dc:creator>somedude</dc:creator>
				<category><![CDATA[networking]]></category>
		<category><![CDATA[openboot]]></category>

		<guid isPermaLink="false">http://wayciak.wordpress.com/?p=35</guid>
		<description><![CDATA[Today I had a need to jumpstart SunFire V240 using network interface in one of its PCI slots. In order to do that I need to find the MAC address of that interface, preferably with least amount of hassle. There was no Solaris installed and all I had was ok prompt. So I took a [...]]]></description>
			<content:encoded><![CDATA[<p>Today I had a need to jumpstart SunFire V240 using network interface in one of its <acronym title="Peripheral Component Interconnect">PCI</acronym> slots. In order to do that I need to find the <acronym title="Media Access Control">MAC</acronym> address of that interface, preferably with least amount of hassle. There was no Solaris installed and all I had was <em>ok</em> prompt. So I took a quick look at device aliases:</p>
<p><code>{1} ok <strong>devalias</strong><br />
xnet2                    /pci@1d,700000/pci@1/SUNW,hme@0,1:dhcp,<br />
xnet1                    /pci@1e,600000/pci@3/SUNW,hme@0,1:dhcp,<br />
xnet                     /pci@1e,600000/pci@2/SUNW,hme@0,1:dhcp,<br />
net3                     /pci@1d,700000/network@2,1<br />
net2                     /pci@1d,700000/network@2<br />
net1                     /pci@1f,700000/network@2,1<br />
net                      /pci@1f,700000/network@2<br />
cdrom                    /pci@1e,600000/ide@d/cdrom@0,0:f<br />
ide                      /pci@1e,600000/ide@d<br />
disk3                    /pci@1c,600000/scsi@2/disk@3,0<br />
disk2                    /pci@1c,600000/scsi@2/disk@2,0<br />
disk1                    /pci@1c,600000/scsi@2/disk@1,0<br />
disk0                    /pci@1c,600000/scsi@2/disk@0,0<br />
disk                     /pci@1c,600000/scsi@2/disk@0,0<br />
scsi                     /pci@1c,600000/scsi@2<br />
sc-control               /pci@1e,600000/isa@7/rmc-comm@0,3e8<br />
ttyb                     /pci@1e,600000/isa@7/serial@0,2e8<br />
ttya                     /pci@1e,600000/isa@7/serial@0,3f8<br />
name                     aliases</code></p>
<p>Starting with first <em>net*</em> alias I did:</p>
<p><code>{1} ok <strong>cd /pci@1d,700000</strong><br />
{1} ok <strong>ls</strong><br />
f00f8dac network@1<br />
f00b3274 network@2,1<br />
f00acbf4 network@2<br />
{1} ok <strong>cd network@1</strong><br />
{1} ok <strong>ls</strong><br />
{1} ok <strong>pwd</strong><br />
/pci@1d,700000/network@1<br />
{1} ok <strong>.properties</strong><br />
assigned-addresses       82000810 00000000 00600000 00000000 00200000<br />
82000830 00000000 00100000 00000000 00100000<br />
d-fru-len                00000000<br />
d-fru-off                0000e800<br />
d-fru-dev                eeprom<br />
s-fru-len                00000800<br />
s-fru-off                0000e000<br />
s-fru-dev                eeprom<br />
compatible               pci108e,abba.11<br />
pci108e,abba<br />
pciclass,020000<br />
pciclass,0200<br />
reg                      00000800 00000000 00000000 00000000 00000000<br />
02000810 00000000 00000000 00000000 00200000<br />
02000830 00000000 00000000 00000000 00100000<br />
address-bits             00000030<br />
max-frame-size           00004000<br />
device_type              network<br />
name                     network<br />
local-mac-address        00 03 ba 4d b3 3f<br />
version                  Sun PCI Gigaswift Base-X FCode 2.6 01/09/27<br />
phy-type                 pcs<br />
board-model              501-5524<br />
model                    SUNW,pci-ce<br />
fcode-rom-offset         00000000<br />
66mhz-capable<br />
fast-back-to-back<br />
devsel-speed             00000002<br />
latency-timer            00000040<br />
cache-line-size          00000010<br />
max-latency              00000040<br />
min-grant                00000040<br />
interrupts               00000001<br />
00000002<br />
00000003<br />
00000004<br />
class-code               00020000<br />
revision-id              00000011<br />
device-id                0000abba<br />
vendor-id                0000108e</code></p>
<p>The MAC address of the network interface is shown in <em>local-mac-address</em> field above. All it took then was following <em>boot</em> command to get jumpstart going:</p>
<p><code>{1} ok <strong>boot /pci@1d,700000/network@1 -v - install nowin</strong></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixpowered.com/blog/2008/06/03/determining-ethernet-mac-address-from-open-boot-prompt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Viewing devaliases inside Solaris</title>
		<link>http://www.unixpowered.com/blog/2008/01/22/viewing-devaliases-inside-solaris/</link>
		<comments>http://www.unixpowered.com/blog/2008/01/22/viewing-devaliases-inside-solaris/#comments</comments>
		<pubDate>Tue, 22 Jan 2008 19:51:09 +0000</pubDate>
		<dc:creator>somedude</dc:creator>
				<category><![CDATA[openboot]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[solaris utilities]]></category>

		<guid isPermaLink="false">http://wayciak.wordpress.com/2008/01/22/viewing-devaliases-inside-solaris/</guid>
		<description><![CDATA[Usually, when you need to view or manipulate content of EEPROM you can use eeprom command in Solaris. However, it&#8217;s not of much use if you need to view current device aliases. There is a simple way to do so using prtconf command. Just look for section aliases:

bash-3.00# prtconf -vp

&#60;-----------------SNIP-----------------&#62;
Node 0xf002d470
disk:  '/pci@9,600000/SUNW,qlc@2/fp@0,0/disk@0,0:b'
rootdk:  '/pci@9,600000/SUNW,qlc@2/fp@0,0/disk@1,0:b'
disk1: [...]]]></description>
			<content:encoded><![CDATA[<p>Usually, when you need to view or manipulate content of EEPROM you can use <em>eeprom</em> command in Solaris. However, it&#8217;s not of much use if you need to view current device aliases. There is a simple way to do so using <em>prtconf</em> command. Just look for section <em>aliases</em>:</p>
<p><code><br />
bash-3.00# <strong>prtconf -vp</strong><br />
</code></p>
<pre>&lt;-----------------SNIP-----------------&gt;</pre>
<p><code>Node 0xf002d470<br />
disk:  '/pci@9,600000/SUNW,qlc@2/fp@0,0/disk@0,0:b'<br />
rootdk:  '/pci@9,600000/SUNW,qlc@2/fp@0,0/disk@1,0:b'<br />
disk1:  '/pci@9,600000/SUNW,qlc@2/fp@0,0/disk@1,0'<br />
disk0:  '/pci@9,600000/SUNW,qlc@2/fp@0,0/disk@0,0'<br />
ide:  '/pci@8,700000/ide@6'<br />
scsi:  '/pci@9,600000/SUNW,qlc@2'<br />
cdrom:  '/pci@8,700000/ide@6/cdrom@0,0:f'<br />
net:  '/pci@9,700000/network@2'<br />
net1:  '/pci@9,600000/network@1'<br />
net0:  '/pci@9,700000/network@2'<br />
flash:  '/pci@9,700000/ebus@1/flashprom@0,0'<br />
idprom:  '/pci@9,700000/ebus@1/i2c@1,2e/idprom@4,a4'<br />
nvram:  '/pci@9,700000/ebus@1/i2c@1,2e/nvram@4,a4'<br />
i2c1:  '/pci@9,700000/ebus@1/i2c@1,30'<br />
i2c0:  '/pci@9,700000/ebus@1/i2c@1,2e'<br />
bbc:  '/pci@9,700000/ebus@1/bbc@1,0'<br />
rsc-console:  '/pci@9,700000/ebus@1/rsc-console@1,3083f8'<br />
rsc-control:  '/pci@9,700000/ebus@1/rsc-control@1,3062f8'<br />
ttya:  '/pci@9,700000/ebus@1/serial@1,400000:a'<br />
pci9b:  '/pci@9,700000'<br />
pci9a:  '/pci@9,600000'<br />
pci8b:  '/pci@8,700000'<br />
pci8a:  '/pci@8,600000'<br />
ebus:  '/pci@9,700000/ebus@1'<br />
name:  'aliases'<br />
</code></p>
<pre>&lt;-----------------SNIP-----------------&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.unixpowered.com/blog/2008/01/22/viewing-devaliases-inside-solaris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->
