<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Solaris 10: tips and tricks for system administration - SysAdmin</title>
    <link>http://solaris.reys.net/english</link>
    <description>How to use DTrace, ZFS, Solaris Zones and other technologies in Solaris</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.1-alpha7 - http://www.s9y.org/</generator>
    
    

<item>
    <title>Sun Cluster 3.2 is available for download</title>
    <link>http://solaris.reys.net/english/2006/12/sun_cluster_32</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2006/12/sun_cluster_32#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=155</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=155</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    I&#039;ve just read at Ilya Voronin&#039;s blog (&lt;a href=http://blog.curthread.org/&gt;blog.curthread.org&lt;/a&gt;), that for all the &lt;strong&gt;Sun Cluster&lt;/strong&gt; fans, today is definitely a lucky day, because the new version of &lt;strong&gt;Sun Cluster&lt;/strong&gt; - 3.2 - is already available for download.&lt;br /&gt;
&lt;br /&gt;
By the way, looks like from this version on the clustering solution from Sun is called &lt;strong&gt;Solaris Cluster&lt;/strong&gt;, and includes the following components:&lt;br /&gt;
- Sun Cluster&lt;br /&gt;
- Sun Cluster Geographic Edition&lt;br /&gt;
- Sun Cluster Agents&lt;br /&gt;
&lt;br /&gt;
To my shame and regret, I haven&#039;t got a chance to acquire any useful experience with Sun Cluster. In my company I&#039;m working with Veritas Cluster Server, because it&#039;s a historical thing. But I have some theoretical knowledge of Sun Cluster, and would really like to give it a try some day.&lt;br /&gt;
&lt;br /&gt;
Anyway. Here are just some of the Sun Cluster 3.2 features:&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;New command line interface&lt;/strong&gt;&lt;br /&gt;
In new Sun Cluster version, you have separate commands for each type of cluster object, and all of them try to have similar names for command line options where possible. Alsom, both short and long names for each option are supported.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;SMF support&lt;/strong&gt;&lt;br /&gt;
Sun Cluster is now tightly integrated with SMF, and easily supports controlling SMF-managed services as Sun Cluster resources.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Sun Cluster Quorum Server&lt;/strong&gt;&lt;br /&gt;
For any scenarios requiring quorum, you no longer have to use shared storage. Sun Cluster supports using a separate Solaris server running quorum-server module. All the atomic reservations will be done over TCP/IP.&lt;br /&gt;
&lt;br /&gt;
Such an approach allows you to reduce the time needed for failing over from one cluster node to another.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Extended Solaris Zones support&lt;/strong&gt;&lt;br /&gt;
Sun Cluster supports now a plethora of services running within non-global zones.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;ZFS support&lt;/strong&gt;&lt;br /&gt;
Starting from this Sun Cluster version, ZFS is fully supported as a local highly available filesystem (HA FS).&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Multi-Terabyte Disk and EFI (Extensible Firmware Interface) labels&lt;/strong&gt;&lt;br /&gt;
A quite traditional update for many other packages - full support of disks with capacity over 1Tb and new EFI disk labels.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Better support of Veritas products&lt;/strong&gt;&lt;br /&gt;
In particular, components of Veritas Veritas Storage Foundation 5.0 for SPARC are supported, as well as  VxVM 4.1 for x86/x64 (in case you didn&#039;t know, Veritas products of these versions are already Solaris 10 aware).&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Live Upgrade&lt;/strong&gt;&lt;br /&gt;
Now you can use Live Upgrade to update your OS with Sun Cluster on top ot if. From documentation I can see that Live Upgrade supports SVM only at the moment, not VxVM.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Command Logging&lt;/strong&gt;&lt;br /&gt;
You can have all the cluster management commands logged now - this is good for both diagnostics and for reproduction of your cluster environment in a new configuration.&lt;br /&gt;
&lt;br /&gt;
You can download Sun Cluster 3.2 here: &lt;a href=http://www.sun.com/download/products.xml?id=4581ab9e&gt;Sun Cluster 3.2 download&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Also, you might like reading a Sun Cluster blog - &lt;a href=http://blogs.sun.com/SC/&gt;Sun Cluster Oasis&lt;/a&gt;. And, as always. for more information you can consult the Sun Cluster section of docs.sun.com: &lt;a href=http://docs.sun.com/app/docs/prod/sun.cluster.32&gt;Sun Cluster 3.2 Documentation&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Wed, 20 Dec 2006 13:40:02 +0300</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2006/12/sun_cluster_32</guid>
    <category>cluster</category>
<category>solaris 10</category>
<category>solaris cluster</category>
<category>sun cluster</category>
<category>cluster</category>
<category>solaris 10</category>
<category>solaris cluster</category>
<category>sun cluster</category>

</item>
<item>
    <title>Free equivalents to Windows software</title>
    <link>http://solaris.reys.net/english/2006/12/free_equivalents_for_windows_software</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2006/12/free_equivalents_for_windows_software#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=154</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=154</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    I&#039;ve just learned through &lt;a href=http://www.lifehacker.com&gt;Lifehacker&lt;/a&gt; about a great page: &lt;a href=http://www.linuxeq.com/&gt;The Linux Equivalent Project&lt;/a&gt;. Actually, it&#039;s a pretty impressive index of free open-source software, which will work on Solaris, Linux, or any other UNIX OS.&lt;br /&gt;
&lt;br /&gt;
What I really like about this list is that you&#039;re given names of software products Windows, and they a few of open-source equivalents. Very useful, especially for all the beginners who are just switching to Solaris.&lt;br /&gt;
&lt;br /&gt;
If you miss some particular software in Solaris world, please have a look: &lt;a href=http://www.linuxeq.com/&gt;LinuxEq.com&lt;/a&gt; 
    </content:encoded>

    <pubDate>Tue, 19 Dec 2006 03:01:03 +0300</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2006/12/free_equivalents_for_windows_software</guid>
    <category>free software</category>
<category>linux equivalent project</category>
<category>open source</category>
<category>free software</category>
<category>linux equivalent project</category>
<category>open source</category>

</item>
<item>
    <title>Using Solaris 10 as DHCP client</title>
    <link>http://solaris.reys.net/english/2006/04/solaris_10_dhcp_client</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2006/04/solaris_10_dhcp_client#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=129</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=129</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Today I just wanted to document here the quickest and easiest way of setting your Solaris box as a DHCP client.&lt;br /&gt;
&lt;br /&gt;
1) Create the /etc/hostname.&lt;INTERFACE&gt; file&lt;br /&gt;
For instance:&lt;br /&gt;
&lt;div class=code&gt;bash-3.00# &lt;b&gt;touch /etc/hostname.skge0&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
2) Create the /etc/dhcp.&lt;INTERFACE&gt; file&lt;br /&gt;
It can be an empty file, but you can also use it to specify how long &lt;b&gt;ifconfig&lt;/b&gt; should be waiting for a DHCP-server reply before giving up and continuing with Solaris boot.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;bash-3.00# &lt;b&gt;cat /etc/dhcp.skge0&lt;/b&gt;&lt;br /&gt;
  wait 60&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
3) Your system name&lt;br /&gt;
It has to be specified in &lt;b&gt;/etc/nodename&lt;/b&gt;. This name is going to be used as your hostname in case your DHCP-server does not return your hostname in reply to your DHCP-request.&lt;br /&gt;
&lt;br /&gt;
THat&#039;s all. Reboot your system, and it all should work! Enjoy! :) 
    </content:encoded>

    <pubDate>Sat, 29 Apr 2006 16:14:07 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2006/04/solaris_10_dhcp_client</guid>
    <category>client</category>
<category>dhcp</category>
<category>solaris 10</category>
<category>client</category>
<category>dhcp</category>
<category>solaris 10</category>

</item>
<item>
    <title>HOW-TO: X11 forwarding using ssh, putty and Xming</title>
    <link>http://solaris.reys.net/english/2006/04/x11_forwarding</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2006/04/x11_forwarding#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=128</wfw:comment>

    <slash:comments>19</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=128</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    I&#039;ve been using this combination on a daily basis for more than a year now, and I can&#039;t stress enough how really useful it is. I use it both at home and at work, and everything is very easy and - most importantly - absolutely free.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;X11 Forwarding with ssh&lt;/b&gt; is a wonderful feature which allows you get windows of a remotely started applications shown on your own desktop. For Windows, there are lots of pretty good albeit expensive products like Citrix, GoGlobal and XWin32, which allow you access your remote Unix desktop sessions. But in reality, if you don&#039;t need any sessions but only want to remotely start an application and get a window from it on your desktop, you won&#039;t need any of these expensive products - the easiest will be to use X11 forwarding and Xming.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=http://freedesktop.org/wiki/Xming&gt;Xming&lt;/a&gt; is an X Windows port for Microsoft Windows. Essentially it&#039;s an X-server which starts transparently on top of your MS Windows desktop. It allows you to redirect graphical output of applications you run on remote Unix servers and therefore see these applications windows on your  MS Windows desktop.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Xming&lt;/b&gt; is very simple and easy to use. All you have to do is download its distribution archive from the project&#039;s page on SourceForge: &lt;a href=http://sourceforge.net/projects/xming&gt;XMing @ SourceForge&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
After you install it, I recommend you have a quickstart panel shortcut created for it, and have your command line altered to something like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;&quot;C:\Program Files\Xming\Xming.exe&quot; :0 -clipboard -multiwindow&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Now that you have Xming installed, start it and it&#039;s time to take care of the ssh side of things. We have to alter the ssh daemon config file: &lt;b&gt;/etc/ssh/sshd_config&lt;/b&gt;. Just ensure that it has the following:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;# X11 tunneling options&lt;br /&gt;
X11Forwarding yes&lt;br /&gt;
X11DisplayOffset 10&lt;br /&gt;
X11UseLocalhost yes&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
If you already have similar parameters, don&#039;t do anything. But if you had to change the config file, it&#039;s time to restart ssh:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;bash-3.00# &lt;b&gt;svcadm restart svc:/network/ssh&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
All that&#039;s left now is to download the wonderful free &lt;b&gt;Putty&lt;/b&gt; client, that is if you&#039;re not using it yet. You can get it here: &lt;a href=http://www.chiark.greenend.org.uk/~sgtatham/putty/&gt;Putty: a free telnet/ssh client&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
I won&#039;t go into all the Putty configuration details, I&#039;ll only mention that for X11 forwarding, you have to do the following: in the main configuration window of Putty (you get it when you start Putty), select &lt;b&gt;Connection &lt;/b&gt;section, then &lt;b&gt;SSH&lt;/b&gt;, then &lt;b&gt;X11&lt;/b&gt;, and make sure you tick the &lt;b&gt;Enable X11 Forwarding&lt;/b&gt; option.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it, you&#039;re good to go! Good luck! 
    </content:encoded>

    <pubDate>Fri, 21 Apr 2006 12:37:44 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2006/04/x11_forwarding</guid>
    <category>putty</category>
<category>solaris</category>
<category>ssh</category>
<category>x11</category>
<category>putty</category>
<category>solaris</category>
<category>ssh</category>
<category>x11</category>

</item>
<item>
    <title>What would we do without crle?</title>
    <link>http://solaris.reys.net/english/2006/04/crle</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2006/04/crle#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=127</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=127</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    While compiling some of the stuff I use in 64bit lately, I&#039;ve had another chance to use the wonderful &lt;b&gt;crle&lt;/b&gt; tool and to acknowledge once again just how easier it made my life.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what you can read from &lt;b&gt;man crle&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;The crle utility provides for the creation and display of  a&lt;br /&gt;
     runtime  linking  configuration file. The configuration file&lt;br /&gt;
     is read and interpreted by the runtime  linker,  ld.so.1(1),&lt;br /&gt;
     during process start-up. &lt;br /&gt;
&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
The tool does exactly that - it speficies where &lt;b&gt;ld &lt;/b&gt;should look first for the necessary libraries as you start any executable.&lt;br /&gt;
&lt;br /&gt;
What would we do without this tool? The answer&#039;s simple:&lt;br /&gt;
&lt;br /&gt;
1) we&#039;d have to specify libraries directories implicitly every time we compile something - using &lt;b&gt;-L&lt;/b&gt; and &lt;b&gt;-R&lt;/b&gt; parameters.&lt;br /&gt;
2) we&#039;d probably have to use the good old &lt;b&gt;LD_LIBRARY_PATH&lt;/b&gt; environment variable, which again specifies where libraries should first be looked at.&lt;br /&gt;
&lt;br /&gt;
Not only it&#039;s not cool because you have to waste time, but if you want someone else to use the program you&#039;d get compiled using the tricks above, this someone would have to follow your steps and do the same - set &lt;b&gt;LD_LIBRARY_PATH&lt;/b&gt; to the same values.&lt;br /&gt;
&lt;br /&gt;
But with &lt;b&gt;crle &lt;/b&gt; it&#039;s much easier:&lt;br /&gt;
&lt;br /&gt;
to look at the current list of directories used by &lt;b&gt;ld&lt;/b&gt; just do this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;-bash-3.00$ &lt;b&gt;crle&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Default configuration file (/var/ld/ld.config) not found&lt;br /&gt;
  Default Library Path (ELF):   /lib:/usr/lib  (system default)&lt;br /&gt;
  Trusted Directories (ELF):    /lib/secure:/usr/lib/secure  (system default)&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
and for 64-bit objects, do it like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;-bash-3.00$ &lt;b&gt;crle -64&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Configuration file [version 4]: /var/ld/64/ld.config&lt;br /&gt;
  Default Library Path (ELF):   /lib/64:/usr/lib/64:/usr/sfw/lib/64&lt;br /&gt;
  Trusted Directories (ELF):    /lib/secure/64:/usr/lib/secure/64  (system default)&lt;br /&gt;
&lt;br /&gt;
Command line:&lt;br /&gt;
  crle -64 -c /var/ld/64/ld.config -l /lib/64:/usr/lib/64:/usr/sfw/lib/64&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see, adding more directories is quite easy. For instance, if I want to add another library directory of my own, /export/soft/lib/64, this command would help me:&lt;br /&gt;
&lt;div class=code&gt;-bash-3.00$ &lt;b&gt;crle -64 -c /var/ld/64/ld.config -l /lib/64:/usr/lib/64:/usr/sfw/lib/64:/export/soft/lib/64&lt;/b&gt;&lt;/div&gt; 
    </content:encoded>

    <pubDate>Thu, 13 Apr 2006 01:38:28 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2006/04/crle</guid>
    <category>crle</category>
<category>ld</category>
<category>linking</category>
<category>solaris 10</category>
<category>sysadmin</category>
<category>crle</category>
<category>ld</category>
<category>linking</category>
<category>solaris 10</category>
<category>sysadmin</category>

</item>
<item>
    <title>Compiling MySQL for amd64</title>
    <link>http://solaris.reys.net/english/2006/04/compiling_mysql_for_amd64</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2006/04/compiling_mysql_for_amd64#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=126</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=126</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Yesterday I started compiling all the necessary software on my new server. Naturally, I&#039;m trying to make it all 64bit. For lots of software packages I&#039;ve used the same set of &lt;b&gt;CFLAGS&lt;/b&gt; and &lt;b&gt;LDFLAGS&lt;/b&gt; parameters, and everything worked just fine.&lt;br /&gt;
&lt;br /&gt;
So, I&#039;ve used the same &lt;b&gt;configure&lt;/b&gt; script parameters to compile the latest 64-bit version of &lt;b&gt;MySQL&lt;/b&gt; - 5.0.19:&lt;br /&gt;
&lt;div class=code&gt;mysql#MAKE=&quot;/usr/sfw/bin/gmake&quot; CFLAGS=&quot;-m64&quot; LDFLAGS=&quot;-m64 -L/lib/64&quot; ./configure --prefix=/export/soft/mysql-5.0.19 --with-charset=utf8&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
but during the compilation I&#039;ve got this error:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;Making all in sql&lt;br /&gt;
gmake[2]: Entering directory `/export/dist/mysql-5.0.19/sql&#039;&lt;br /&gt;
if g++ -DMYSQL_SERVER -DDEFAULT_MYSQL_HOME=&quot;\&quot;/export/soft/mysql-5.0.19\&quot;&quot; -DDATADIR=&quot;\&quot;/export/soft/mysql-5.0.19/var\&quot;&quot; -DSHAREDIR=&quot;\&quot;/export/soft/mysql-5.0.19/share/mysql\&quot;&quot; -DHAVE_CONFIG_H -I. -I. -I.. -I../zlib -I../innobase/include -I../include -I../include -I../regex -I.      -O3 -DDBUG_OFF    -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T -MT gen_lex_hash.o -MD -MP -MF &quot;.deps/gen_lex_hash.Tpo&quot; -c -o gen_lex_hash.o gen_lex_hash.cc; \&lt;br /&gt;
then mv -f &quot;.deps/gen_lex_hash.Tpo&quot; &quot;.deps/gen_lex_hash.Po&quot;; else rm -f &quot;.deps/gen_lex_hash.Tpo&quot;; exit 1; fi&lt;br /&gt;
/bin/bash ../libtool --preserve-dup-deps --mode=link g++  -O3 -DDBUG_OFF    -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T  -m64 -L/lib/64  -o gen_lex_hash  gen_lex_hash.o ../myisam/libmyisam.a ../myisammrg/libmyisammrg.a ../heap/libheap.a ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a ../zlib/libz.la   -lpthread -lthread -lposix4 -lcrypt -lgen -lsocket -lnsl -lm  -lpthread -lthread&lt;br /&gt;
mkdir .libs&lt;br /&gt;
g++ -O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T -m64 -o .libs/gen_lex_hash gen_lex_hash.o  -L/lib/64 ../myisam/libmyisam.a ../myisammrg/libmyisammrg.a ../heap/libheap.a ../vio/libvio.a ../mysys/libmysys.a ../dbug/libdbug.a ../regex/libregex.a ../strings/libmystrings.a ../zlib/.libs/libz.so -lpthread -lthread -lpthread -lthread -lpthread -lthread -lposix4 -lcrypt -lgen -lsocket -lnsl -lm -lpthread -lthread -Wl,-R -Wl,/export/soft/mysql-5.0.19/lib/mysql&lt;br /&gt;
ld: fatal: file gen_lex_hash.o: wrong ELF class: ELFCLASS32&lt;br /&gt;
ld: fatal: File processing errors. No output written to .libs/gen_lex_hash&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
gmake[2]: *** [gen_lex_hash] Error 1&lt;br /&gt;
gmake[2]: Leaving directory `/export/dist/mysql-5.0.19/sql&#039;&lt;br /&gt;
gmake[1]: *** [all-recursive] Error 1&lt;br /&gt;
gmake[1]: Leaving directory `/export/dist/mysql-5.0.19&#039;&lt;br /&gt;
gmake: *** [all] Error 2&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Attentive reader or a seasoned developer will immediately see what my problem was. Turned out, I&#039;ve forgotten to specify the &lt;b&gt;-m64&lt;/b&gt; parameter for &lt;b&gt;g++&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
So the following parameters worked for me:&lt;br /&gt;
&lt;div class=code&gt;mysql#MAKE=&quot;/usr/sfw/bin/gmake&quot; CFLAGS=&quot;-m64&quot; CXXFLAGS=&quot;-m64&quot; LDFLAGS=&quot;-m64 -L/lib/64&quot; ./configure --prefix=/export/soft/mysql-5.0.19 --with-charset=utf8&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; One more error was found at a later stage of &lt;b&gt;MySQL&lt;/b&gt; compilation (I&#039;ve abridged the command output to save space):&lt;br /&gt;
&lt;br /&gt;
&lt;div class=code&gt;gmake[3]: Entering directory `/export/dist/mysql-5.0.19/server-tools/instance-manager&#039;&lt;br /&gt;
...&lt;br /&gt;
g++ -DDBUG_OFF -m64 -fno-implicit-templates -fno-exceptions -fno-rtti -DHAVE_RWLOCK_T -m64 -o .libs/mysqlmanager command.o mysqlmanager.o manager.o log.o thread_registry.o listener.o protocol.o mysql_connection.o user_map.o messages.o commands.o instance.o instance_map.o instance_options.o buffer.o parse.o guardian.o parse_output.o  -L/lib/64 -L/usr/sfw/lib/amd64 ./.libs/liboptions.a -lpthread -lthread -lpthread -lthread /usr/sfw/lib/amd64/libstdc++.so -lgcc_s libnet.a ../../vio/libvio.a ../../mysys/libmysys.a ../../strings/libmystrings.a ../../dbug/libdbug.a ../../zlib/.libs/libz.so -lpthread -lthread -lpthread -lthread -lpthread -lthread -lposix4 -lcrypt -lgen -lsocket -lnsl -lm -lpthread -lthread -Wl,-R -Wl,/usr/sfw/lib/amd64 -Wl,-R -Wl,/export/soft/mysql-5.0.19/lib/mysql&lt;br /&gt;
ld: fatal: library -lgcc_s: not found&lt;br /&gt;
ld: warning: file /usr/sfw/lib/amd64/libstdc++.so: attempted multiple inclusion of file&lt;br /&gt;
ld: fatal: File processing errors. No output written to .libs/mysqlmanager&lt;br /&gt;
collect2: ld returned 1 exit status&lt;br /&gt;
gmake[3]: *** [mysqlmanager] Error 1&lt;br /&gt;
gmake[3]: Leaving directory `/export/dist/mysql-5.0.19/server-tools/instance-manager&#039;&lt;br /&gt;
gmake[2]: *** [all-recursive] Error 1&lt;br /&gt;
gmake[2]: Leaving directory `/export/dist/mysql-5.0.19/server-tools&#039;&lt;br /&gt;
gmake[1]: *** [all-recursive] Error 1&lt;br /&gt;
gmake[1]: Leaving directory `/export/dist/mysql-5.0.19&#039;&lt;br /&gt;
gmake: *** [all] Error 2&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
So I had to go into &lt;b&gt;/usr/sfw/lib/amd64&lt;/b&gt; and do this:&lt;br /&gt;
&lt;div class=code&gt;ln -s libgcc_s.so.1 libgcc_s.so&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If I come across anything interesting while compiling 64bit things, I&#039;ll be sure to mention it here, but for now I just hope this entry will keep you from making the same mistake. Good luck! 
    </content:encoded>

    <pubDate>Mon, 10 Apr 2006 18:03:52 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2006/04/compiling_mysql_for_amd64</guid>
    <category>amd64</category>
<category>compile</category>
<category>configure</category>
<category>mysql</category>
<category>opensolaris</category>
<category>solaris 10</category>
<category>amd64</category>
<category>compile</category>
<category>configure</category>
<category>mysql</category>
<category>opensolaris</category>
<category>solaris 10</category>

</item>
<item>
    <title>Asus A8N-SLI networking in Solaris</title>
    <link>http://solaris.reys.net/english/2006/04/a8n-sli_networking_in_solaris</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2006/04/a8n-sli_networking_in_solaris#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=125</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=125</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Finally, I&#039;ve found some time to finish off the on-board network adapters configuration in Solaris 10 for my &lt;b&gt;Asus A8N-SLI&lt;/b&gt; motherboard. &lt;br /&gt;
&lt;br /&gt;
As I&#039;ve already told before, this motherboard comes equipped with 2 network adapters:nForce4 and Yukon Gigabit Ethernet 10/100/1000Base-T Adapter. Both adapters are based on Marvell chips - they are Marvell 88E8001-LKJ1 (PCI Gigabit Ethernet) and Marvell 88E1111-RCJ (PHY) respectively.&lt;br /&gt;
&lt;br /&gt;
So, the first one of these adapters is properly found and supported in Solaris 10 out of the box. In fact, Solaris 10 even finds and attempts to configure &lt;b&gt;nge0&lt;/b&gt; during the initial OS install.&lt;br /&gt;
&lt;br /&gt;
To make the &lt;b&gt;Yukon Gigabit (Marvell)&lt;/b&gt; adapter work, you should go to the &lt;b&gt;SysKonnect&lt;/b&gt; website and navigate to the &lt;a href=http://www.skd.de/e_en/support/driver.html&gt;drivers downloads page&lt;/a&gt; (&lt;b&gt;skge&lt;/b&gt; is there as well). What&#039;s REALLY cool is that there is a 64bit driver already! So I&#039;ve got myself this file:  skgesol_x64v8.12.1.3.tar.Z&lt;br /&gt;
&lt;br /&gt;
After you unpack the archive, you should install the &lt;b&gt;SKGEsolx&lt;/b&gt;, and that&#039;s it - the pre-install script even allows you to configure skge0 adapter - set its IP and network mask.&lt;br /&gt;
&lt;br /&gt;
This is where my two network adapters are found (taken from &lt;b&gt;/etc/path_to_inst&lt;/b&gt;):&lt;br /&gt;
&quot;/pci@0,0/pci10de,5c@9/pci1043,811a@c&quot; 0 &quot;skge&quot;&lt;br /&gt;
&quot;/pci@0,0/pci1043,8141@a&quot; 0 &quot;nge&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Attention:&lt;/b&gt; due to unknown reasons, &lt;b&gt;prtconf -vp&lt;/b&gt; clearly shows only one of the adapters - &lt;b&gt;skge&lt;/b&gt;. That&#039;s the one represented by the &quot;Ethernet controller&quot; model name. Don&#039;t know why, but &lt;b&gt;nge&lt;/b&gt; is called &quot;Bridge device&quot; there.  
    </content:encoded>

    <pubDate>Fri, 07 Apr 2006 03:01:27 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2006/04/a8n-sli_networking_in_solaris</guid>
    <category>a8n-sli</category>
<category>marvell</category>
<category>skge</category>
<category>solaris 10</category>
<category>yukon</category>
<category>a8n-sli</category>
<category>marvell</category>
<category>skge</category>
<category>solaris 10</category>
<category>yukon</category>

</item>
<item>
    <title>CISecurity: Solaris 10 security scoring tool</title>
    <link>http://solaris.reys.net/english/2006/04/cisecurity_solaris_scoring_tool</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2006/04/cisecurity_solaris_scoring_tool#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=124</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=124</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    At last! &lt;a href=http://www.cisecurity.org&gt;CISecurity&lt;/a&gt; has finally completed their Solaris 10 securiy scoring tool, and now you can download it here: &lt;a href=http://www.cisecurity.org/bench_solaris.html&gt;Sun Solaris Seecurity Benchmarks&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
pS: There&#039;s probably been a lot of work put into this project, as it certainly took its time - I&#039;ve mentioned about this scoring tool for the first time back in July&#039;05: &lt;a href=http://solaris.reys.net/english/2005/07/solaris_mini_digest_2&gt;Solaris mini-digest, #2&lt;/a&gt; 
    </content:encoded>

    <pubDate>Tue, 04 Apr 2006 16:42:22 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2006/04/cisecurity_solaris_scoring_tool</guid>
    <category>cisecurity</category>
<category>security</category>
<category>solaris 10</category>
<category>cisecurity</category>
<category>security</category>
<category>solaris 10</category>

</item>
<item>
    <title>How to quickly install the Solaris 10 OS</title>
    <link>http://solaris.reys.net/english/2006/03/solaris_10_install_official_howto</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2006/03/solaris_10_install_official_howto#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=117</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=117</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    sun.com has a wonderful how-to on installing the Solaris 10 1/06 OS. The article contains plenty of screenshots and explanations, so it&#039;s very easy to follow. I was going to write a similar how-to myself, so this saves my time as I couldn&#039;t possibly do it better! &lt;br /&gt;
&lt;br /&gt;
Here is the link: &lt;a href=http://www.sun.com/software/solaris/howtoguides/installationhowto.jsp&gt;How to Quickly Install the Solaris 10 1/06 OS&lt;/a&gt; 
    </content:encoded>

    <pubDate>Mon, 13 Mar 2006 12:40:04 +0300</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2006/03/solaris_10_install_official_howto</guid>
    <category>how-to</category>
<category>install</category>
<category>solaris 10</category>
<category>sysadmin</category>
<category>how-to</category>
<category>install</category>
<category>solaris 10</category>
<category>sysadmin</category>

</item>
<item>
    <title>HOW-TO: using truss, ldd and nm to observe binary files</title>
    <link>http://solaris.reys.net/english/2006/03/howto_using_truss_ldd_nm</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2006/03/howto_using_truss_ldd_nm#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=116</wfw:comment>

    <slash:comments>9</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=116</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    I&#039;ve decided to write down a few useful tips on observing binary files in Solaris. The commands used are available since Solaris 8, so hopefully you&#039;ll find these tricks useful.&lt;br /&gt;
&lt;br /&gt;
Quite often it happens that the programs we run don&#039;t work as they should, showing us errors like &quot;referenced symbol not found&quot; or this:&lt;br /&gt;
&lt;code&gt;ld.so.1: ./thunderbird-bin: fatal: libmozjs.so: open failed: No such file or directory&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
So in order for us to find out what exact librabries are being used by a given binary, or where it expects these libraries to be found, and what libraries are not found at all, we have to take the following steps:&lt;br /&gt;
&lt;br /&gt;
1) First we have to see what libraries the ld linker is going to use for our file. For instance, this is how you would find our what libraries are used by the main executable of the Thunderbird mail client:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=code&gt;&lt;code&gt;bash-3.00$ &lt;b&gt;ldd thunderbird-bin&lt;/b&gt;&lt;br /&gt;
        libmozjs.so =&gt;   (file not found)&lt;br /&gt;
        libgtk-x11-2.0.so.0 =&gt;   /usr/lib/libgtk-x11-2.0.so.0&lt;br /&gt;
        libgdk-x11-2.0.so.0 =&gt;   /usr/lib/libgdk-x11-2.0.so.0&lt;br /&gt;
        libatk-1.0.so.0 =&gt;       /usr/lib/libatk-1.0.so.0&lt;br /&gt;
        libgdk_pixbuf-2.0.so.0 =&gt;        /usr/lib/libgdk_pixbuf-2.0.so.0&lt;br /&gt;
        libm.so.2 =&gt;     /lib/libm.so.2&lt;br /&gt;
...&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
As always in my examples, the command output is abridged, but you get the idea. It&#039;s clearly seen that one of the files - the &lt;b&gt;libmozjs.so&lt;/b&gt; library - isn&#039;t found. This means, there is no such file in either of the standard library paths or in the current working directory.&lt;br /&gt;
&lt;br /&gt;
2) Now it&#039;s about time we find our where the linker expects this &lt;b&gt;libmozjs.so&lt;/b&gt; to be found. To do this, we&#039;re going to use the &lt;b&gt;truss&lt;/b&gt; command. All we&#039;re interested in at this stage are the &lt;b&gt;stat&lt;/b&gt; and &lt;b&gt;open&lt;/b&gt; system calls: &lt;b&gt;stat&lt;/b&gt; is used to verify whether some file exists, and &lt;b&gt;open&lt;/b&gt; is used to open this file for the later access.&lt;br /&gt;
&lt;br /&gt;
&lt;div stlye=code&gt;&lt;code&gt;bash-3.00$ &lt;b&gt;truss -f -t stat,open ./thunderbird-bin&lt;/b&gt;&lt;br /&gt;
13070:  stat(&quot;/export/soft/thunderbird/thunderbird-bin&quot;, 0xFFBFFAD0) = 0&lt;br /&gt;
13070:  open(&quot;/var/ld/ld.config&quot;, O_RDONLY)             Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/export/soft/thunderbird/libc.so.1&quot;, 0xFFBFF600) Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/export/soft/thunderbird/../libc.so.1&quot;, 0xFFBFF600) Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/usr/sfw/lib/libc.so.1&quot;, 0xFFBFF600)      Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/opt/sfw/lib/libc.so.1&quot;, 0xFFBFF600)      Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/usr/local/lib/libc.so.1&quot;, 0xFFBFF600)    Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/usr/openwin/lib/libc.so.1&quot;, 0xFFBFF600)  Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/lib/libc.so.1&quot;, 0xFFBFF600)              = 0&lt;br /&gt;
13070:  open(&quot;/lib/libc.so.1&quot;, O_RDONLY)                = 3&lt;br /&gt;
13070:  stat(&quot;/export/soft/thunderbird/libxpcom.so&quot;, 0xFFBFF418) = 0&lt;br /&gt;
13070:  open(&quot;/export/soft/thunderbird/libxpcom.so&quot;, O_RDONLY) = 3&lt;br /&gt;
13070:  stat(&quot;/export/soft/thunderbird/libmozjs.so&quot;, 0xFFBFF398) Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/export/soft/thunderbird/../libmozjs.so&quot;, 0xFFBFF398) Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/usr/sfw/lib/libmozjs.so&quot;, 0xFFBFF398)    Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/opt/sfw/lib/libmozjs.so&quot;, 0xFFBFF398)    Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/usr/local/lib/libmozjs.so&quot;, 0xFFBFF398)  Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/usr/openwin/lib/libmozjs.so&quot;, 0xFFBFF398) Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/lib/libmozjs.so&quot;, 0xFFBFF398)            Err#2 ENOENT&lt;br /&gt;
13070:  stat(&quot;/usr/lib/libmozjs.so&quot;, 0xFFBFF398)        Err#2 ENOENT&lt;br /&gt;
ld.so.1: ./thunderbird-bin: fatal: libmozjs.so: open failed: No such file or directory&lt;br /&gt;
13070:  stat(&quot;/export/soft/thunderbird/libgtk-x11-2.0.so.0&quot;, 0xFFBFF398) Err#2 ENOENT&lt;br /&gt;
...&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
From this output you can see very well how linker goes through one standard libraries directory to another in a cyclic search for ever library our binary needs. And for our &lt;b&gt;libmozjs.so&lt;/b&gt; we can see that logically this library would be found in the current directory where I&#039;m running the &lt;b&gt;thunderbird-bin&lt;/b&gt; from, /export/soft/thunderbird. There is no such file there, simply because I&#039;ve renamed it for this demo. &lt;br /&gt;
&lt;br /&gt;
And this is how the same &lt;b&gt;ldd&lt;/b&gt; command would look when all the files are in place:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=code&gt;&lt;code&gt;bash-3.00$ &lt;b&gt;ldd thunderbird-bin&lt;/b&gt;&lt;br /&gt;
        libmozjs.so =&gt;   /export/soft/thunderbird/libmozjs.so&lt;br /&gt;
        libgtk-x11-2.0.so.0 =&gt;   /usr/lib/libgtk-x11-2.0.so.0&lt;br /&gt;
        libgdk-x11-2.0.so.0 =&gt;   /usr/lib/libgdk-x11-2.0.so.0&lt;br /&gt;
        libatk-1.0.so.0 =&gt;       /usr/lib/libatk-1.0.so.0&lt;br /&gt;
        libgdk_pixbuf-2.0.so.0 =&gt;        /usr/lib/libgdk_pixbuf-2.0.so.0&lt;br /&gt;
        libm.so.2 =&gt;     /lib/libm.so.2&lt;br /&gt;
...&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
So you can be assured now that our library is found and loaded from the /export/soft/thunderbird/libmozjs.so location.&lt;br /&gt;
&lt;br /&gt;
Thus, by using this simple yet very powerful combination of &lt;b&gt;ldd&lt;/b&gt; and &lt;b&gt;truss&lt;/b&gt; commands, you can stop guessing and find out exactly which libraries are loaded in a particular order and where they are loaded from.&lt;br /&gt;
&lt;br /&gt;
3) For the &quot;referenced symbol not found&quot; errors, we have to take one more step. These errors happen mostly because the linker finds the library our binary needs, but this library somehow doesn&#039;t have the functions we&#039;re interested in. So, once we know the exact library file after following the steps 1 and 2 of this manual, it&#039;s time for us to look at this particular file and see what functions are available. Many libraries have thousands of functions accessible, so it would make sense to use &lt;b&gt;grep&lt;/b&gt; if you know the function you&#039;re looking for.&lt;br /&gt;
&lt;br /&gt;
For instance, the following command shows all the functions of the libgdk-x11-2.0 library, which have &lt;b&gt;gdk_threads&lt;/b&gt; in their names:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=code&gt;&lt;code&gt;bash-3.00$ &lt;b&gt;nm /usr/lib/libgdk-x11-2.0.so.0 | grep gdk_threads&lt;/b&gt;&lt;br /&gt;
[3632] | 86512| 68|FUNC |GLOB |0 |11 |gdk_threads_enter&lt;br /&gt;
[219] | 86648| 104|FUNC |LOCL |0 |11 |gdk_threads_impl_lock&lt;br /&gt;
[220] | 86752| 104|FUNC |LOCL |0 |11 |gdk_threads_impl_unlock&lt;br /&gt;
[4329] | 86856| 212|FUNC |GLOB |0 |11 |gdk_threads_init&lt;br /&gt;
[3507] | 86580| 68|FUNC |GLOB |0 |11 |gdk_threads_leave&lt;br /&gt;
[4095] | 532720| 4|OBJT |GLOB |0 |17 |gdk_threads_lock&lt;br /&gt;
[3579] | 532716| 4|OBJT |GLOB |0 |17 |gdk_threads_mutex&lt;br /&gt;
[4391] | 87068| 144|FUNC |GLOB |0 |11 |gdk_threads_set_lock_functions&lt;br /&gt;
[4443] | 532724| 4|OBJT |GLOB |0 |17 |gdk_threads_unlock&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
As you understand, if you get a &quot;referenced symbol not found&quot; error, this is quite often because an incorrect (incompatible) version of some library is used - it could be very old or just too new a version of the library, so the functions your binary is looking for are simply not there anymore or called differently.&lt;br /&gt;
&lt;br /&gt;
Well, that&#039;s all for today. If you have any additional info to add to this short manual, you&#039;re very welcome to leave comments. I&#039;ll be happy to hear your opinion. 
    </content:encoded>

    <pubDate>Fri, 03 Mar 2006 11:07:50 +0300</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2006/03/howto_using_truss_ldd_nm</guid>
    <category>how-to</category>
<category>howto</category>
<category>ldd</category>
<category>nm</category>
<category>solaris</category>
<category>sysadmin</category>
<category>troubleshooting</category>
<category>truss</category>
<category>how-to</category>
<category>howto</category>
<category>ldd</category>
<category>nm</category>
<category>solaris</category>
<category>sysadmin</category>
<category>troubleshooting</category>
<category>truss</category>

</item>
<item>
    <title>Solaris services: replacing SunSSH with OpenSSH</title>
    <link>http://solaris.reys.net/english/2005/06/solaris_replacing_sunssh_with_openssh</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2005/06/solaris_replacing_sunssh_with_openssh#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=70</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=70</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Today I was going to spend some time writing up an example of adding a service to Solaris 10 and explain working with manifest by replacing the standard SSH-server which comes with Solaris 10 FCS with the latest build of OpenSSH - 4.1p1. But after I&#039;d quickly looked into the &lt;b&gt;/var/svc/manifest/network/ssh.xml&lt;/b&gt; file, I realised that I wouldn&#039;t write a really good example today. Things turned out to be much easier than I expected. To replace an SSH server, you simply have to change paths to &lt;b&gt;ssh-keygen&lt;/b&gt; and &lt;b&gt;sshd&lt;/b&gt; files in &lt;b&gt;/lib/svc/method/sshd&lt;/b&gt;. That&#039;s the file used by the manifest &lt;b&gt;ssh.xml&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
pS: of course, you&#039;re going to have to &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=939&amp;amp;entry_id=70&quot; title=&quot;http://www.openbsd.org/openssh/portable.html#mirrors&quot;  onmouseover=&quot;window.status=&#039;http://www.openbsd.org/openssh/portable.html#mirrors&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;download&lt;/a&gt; and compile &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=940&amp;amp;entry_id=70&quot; title=&quot;http://www.openssh.org&quot;  onmouseover=&quot;window.status=&#039;http://www.openssh.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;OpenSSH&lt;/a&gt; before doing anything else. 
    </content:encoded>

    <pubDate>Thu, 23 Jun 2005 02:36:34 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2005/06/solaris_replacing_sunssh_with_openssh</guid>
    <category>opensolaris</category>
<category>openssh</category>
<category>solaris</category>
<category>ssh</category>
<category>opensolaris</category>
<category>openssh</category>
<category>solaris</category>
<category>ssh</category>

</item>
<item>
    <title>NVidia OpenGL driver for Solaris x64/x86</title>
    <link>http://solaris.reys.net/english/2005/06/nvidia_opengl_x86_64bit_driver</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2005/06/nvidia_opengl_x86_64bit_driver#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=64</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=64</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Wonderful news! Finally, we have an OpenGL driver for x86!&lt;br /&gt;
As Alan &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=929&amp;amp;entry_id=64&quot; title=&quot;http://blogs.sun.com/roller/page/tpenta/20050601#nvidia_drivers_available_for_solaris&quot;  onmouseover=&quot;window.status=&#039;http://blogs.sun.com/roller/page/tpenta/20050601#nvidia_drivers_available_for_solaris&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;already said&lt;/a&gt;, NVidia has finally released an OpenGL driver. This driver will work only in Solaris 10 and newer Solaris releases. Everything works just fine, and just like &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=930&amp;amp;entry_id=64&quot; title=&quot;http://blogs.sun.com/roller/page/smg/20050602&quot;  onmouseover=&quot;window.status=&#039;http://blogs.sun.com/roller/page/smg/20050602&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Sean had mentioned&lt;/a&gt;, we&#039;ve already tried it with Quake II! :)&lt;br /&gt;
&lt;br /&gt;
Solaris x86 driver page on NVidia&#039;s website can be &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=931&amp;amp;entry_id=64&quot; title=&quot;http://www.nvidia.com/object/solaris_display_1.0-7664.html&quot;  onmouseover=&quot;window.status=&#039;http://www.nvidia.com/object/solaris_display_1.0-7664.html&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;found here&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Sat, 04 Jun 2005 15:07:49 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2005/06/nvidia_opengl_x86_64bit_driver</guid>
    
</item>
<item>
    <title>HOW-TO: Installing Solaris with PXE/DHCP</title>
    <link>http://solaris.reys.net/english/2005/05/installing_solaris_with_pxe_dhcp</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2005/05/installing_solaris_with_pxe_dhcp#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=63</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=63</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Next &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=932&amp;amp;entry_id=63&quot; title=&quot;http://www.sun.com/software/solaris/solaris-express/get.jsp&quot;  onmouseover=&quot;window.status=&#039;http://www.sun.com/software/solaris/solaris-express/get.jsp&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Solaris Express&lt;/a&gt; build will probably contain one of the long awaited features: Solaris NewBoot architecture for x86 systems. Among other boot architecture improvements, NewBoot introduces &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=933&amp;amp;entry_id=63&quot; title=&quot;http://www.gnu.org/software/grub/&quot;  onmouseover=&quot;window.status=&#039;http://www.gnu.org/software/grub/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;GRUB&lt;/a&gt; with ufs support, and a &lt;b&gt;pxegrub&lt;/b&gt; for PXE booting. Casper Dik describes it here:&lt;br /&gt;
&lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=934&amp;amp;entry_id=63&quot; title=&quot;http://blogs.sun.com/roller/page/casper/20050427#the_end_of_realmode_boot&quot;  onmouseover=&quot;window.status=&#039;http://blogs.sun.com/roller/page/casper/20050427#the_end_of_realmode_boot&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;The End Of Realmode Boot&lt;/a&gt;.&lt;br /&gt;
In this entry I&#039;ll try and explain how to set up an install server to allow you do a network install of Solaris with &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=935&amp;amp;entry_id=63&quot; title=&quot;http://www.pxe.ca/&quot;  onmouseover=&quot;window.status=&#039;http://www.pxe.ca/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;PXE&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The procedure described below describes steps necessary for PXE booting and installing &lt;br /&gt;
a client with Grub bootloader, which is the default one in Solaris since Nevada b14. Obviously, the very first requirement is that you absolutely must have a PXE-enabled network card installed in the client machine you&#039;re about to install.&lt;br /&gt;
&lt;br /&gt;
Here is the full list of server-side components you need to have in order to be able&lt;br /&gt;
to PXE-boot and install a client machine over network:&lt;br /&gt;
&lt;br /&gt;
1. DHCP server setup and configured&lt;br /&gt;
2. Network install OS image&lt;br /&gt;
3. Jumstart configuration files for a given client&lt;br /&gt;
&lt;br /&gt;
I&#039;ll go through this list first, and then will give a list of actions you &lt;br /&gt;
have to take to configure and PXE-boot a client:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1. DHCP SERVER&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1.1. Setup&lt;/b&gt;&lt;br /&gt;
Start off by doing this:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
bash-3.00# dhcpconfig -D -r SUNWbinfiles -p /var/dhcp&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This configures your DHCP server: it creates an empty resources table for&lt;br /&gt;
its use in /var/dhcp, and creates an &lt;b&gt;/etc/inet/dhcpsvc.conf&lt;/b&gt; file with a&lt;br /&gt;
contents like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;DAEMON_ENABLED=TRUE&lt;br /&gt;
RESOURCE=SUNWbinfiles&lt;br /&gt;
RUN_MODE=server&lt;br /&gt;
PATH=/var/dhcp&lt;br /&gt;
CONVER=1&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Your default DHCP daemon (&lt;b&gt;/usr/lib/inet/in.dhcpd&lt;/b&gt;) is started at this stage, and&lt;br /&gt;
the above shown dhcpsvc.conf file ensures your dhcp server gets started up automatically upon reboot from &lt;b&gt;/etc/init.d/dhcp&lt;/b&gt; script.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1.2. Networks&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Here you have to look at your topology and decide, which networks are going to be served by your DHCP server. If you have a DHCP server configured by someone else, here&#039;s how you look at the list of networks served:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;pntadm -L&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
It returns you a list, on our server it looks like this:&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;192.1.3.0&lt;br /&gt;
192.1.4.0&lt;br /&gt;
192.1.1.0&lt;br /&gt;
192.1.2.0&lt;br /&gt;
192.1.9.0&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
To create a table for another network, do this:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;pntadm -C 192.1.10.0&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Make sure you have &lt;b&gt;/etc/netmasks&lt;/b&gt; updated, if your network is subnetted.&lt;br /&gt;
&lt;br /&gt;
Update your &lt;b&gt;/etc/inet/dhcpsvc.conf&lt;/b&gt; file to include a line with all the&lt;br /&gt;
DHCP active interfaces. On our server it looks like this:&lt;br /&gt;
&lt;b&gt;INTERFACES=hme1,qfe0,qfe1,qfe3&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. NETWORK INSTALL OS IMAGE&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Follow the instructions from this page:&lt;br /&gt;
&lt;a href=&quot;http://solaris.reys.net/exit.php?url=aHR0cDovL2RvY3N2aWV3LnNmYmF5L2FwcC9kb2NzL2RvYy84MTctNTUwNC82bWt2NG5oM20/YT12aWV3&amp;amp;entry_id=63&quot; title=&quot;http://docsview.sfbay/app/docs/doc/817-5504/6mkv4nh3m?a=view&quot;  onmouseover=&quot;window.status=&#039;http://docsview.sfbay/app/docs/doc/817-5504/6mkv4nh3m?a=view&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Creating an install server with CD media&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
In short: create a directory for your netinstall image, and use setup_install_server and add_instll_server&lt;br /&gt;
commands to copy necessary files from Solaris_10.1/Tools directory of your install media (CDs or DVD).&lt;br /&gt;
Share your netinstall image out.&lt;br /&gt;
&lt;br /&gt;
Checklist:&lt;br /&gt;
	- make sure the netinstall directory is shared out to your clients&lt;br /&gt;
	- if you have more than one network, make sure all your networks have&lt;br /&gt;
	access to this directory.&lt;br /&gt;
&lt;br /&gt;
Share command should return you something like this for your install directory:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
-               /export/install2   ro=@192.1.1:@192.1.2:@192.1.3:@192.1.4:@192.1.9	&quot;&quot;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. JumpStart CONFIGURATION&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Follow the instructions from this page:&lt;br /&gt;
&lt;a href=&quot;http://solaris.reys.net/exit.php?url=aHR0cDovL2RvY3N2aWV3LnNmYmF5L2FwcC9kb2NzL2RvYy84MTctMjc1My82bWlkNTVsbzg/cT1qdW1wc3RhcnQmYT12aWV3&amp;amp;entry_id=63&quot; title=&quot;http://docsview.sfbay/app/docs/doc/817-2753/6mid55lo8?q=jumpstart&amp;amp;a=view&quot;  onmouseover=&quot;window.status=&#039;http://docsview.sfbay/app/docs/doc/817-2753/6mid55lo8?q=jumpstart&amp;amp;a=view&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Creating a profile for networked system&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
On our server, the JumpStart directory is /export/install/config. Then each machine has a directory there, like /export/install/config/perf-123.&lt;br /&gt;
&lt;br /&gt;
Okay. Assuming you&#039;ve done everything above, you&#039;ve got a DHCP server configured, netinstall image ready and JumpStart files created for your client machine.&lt;br /&gt;
&lt;br /&gt;
Now we&#039;re ready to reinstall your client. Here&#039;s what to do:&lt;br /&gt;
&lt;br /&gt;
1) Generic add_install_client&lt;br /&gt;
&lt;br /&gt;
Go to your netinstall image directory, and go to Solaris_10.1/Tools dir, where you have add_install_script. On our server, for Nevada b14 it&#039;s this directory:&lt;br /&gt;
&lt;br /&gt;
/export/install2/nv/snv_14/Solaris_10.1/Tools&lt;br /&gt;
&lt;br /&gt;
Now, do this:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;./add_install_client -d SUNW.i86pc i86pc&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
It&#039;s a very important commant. It creates, if necessary, &lt;b&gt;/tftpboot&lt;/b&gt; directory, or updates it with generic files for the netinstall OS image we&#039;re using. This command will also enable TFTP server on your machine. At last, it will create a &lt;b&gt;/tftboot/pxegrub.I86PC.Solaris_10.1-1&lt;/b&gt; file, which will be used to PXE boot each client you want to install with this build.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2) Client-specific add_install_client&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Then, for our client, we have to do this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;./add_install_client&amp;#160;-d&amp;#160;-e&amp;#160;$ETHER&amp;#160;\&lt;br /&gt;
				-c&amp;#160;$SERVER&amp;#58;/export/install/config/$SYSNAME&amp;#160;\&lt;br /&gt;
				-p&amp;#160;$SERVER&amp;#58;/export/install/config/$SYSNAME&amp;#160;\&lt;br /&gt;
				-s&amp;#160;$SERVER&amp;#58;$SOLARIS_PATH&amp;#160;\&lt;br /&gt;
				-b&amp;#160;&quot;console=$TTY&quot;&amp;#160;i86pc&amp;#160;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
It&#039;s a line from our script which automates the installation, and it shows clearly what is being passed to the add_install_client command: &lt;b&gt;$ETHER&lt;/b&gt; is an MAC-address of the client box. Bear in mind, that for most MAC-addresses you have to add &quot;01&quot; to the beginning of the address. Also, you&lt;br /&gt;
have to get rid of the colons usually found in MAC address. So, for instance, if your client has this entry in &lt;b&gt;/etc/ethers&lt;/b&gt; file on your server: &lt;br /&gt;
&lt;b&gt;00:09:3d:00:68:f3 perf-123&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The MAC-address you&#039;ll pass to the add_install_client will be this: &lt;b&gt;0100093D0068F3&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
Other parameters are:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;$SERVER&lt;/b&gt; - IP address of your server&#039;s interface on the subnet your client is on&lt;br /&gt;
&lt;b&gt;$SYSNAME&lt;/b&gt; - a hostname of the client&lt;br /&gt;
&lt;b&gt;$SOLARIS_PATH&lt;/b&gt; - is a full path to the netinstall image you&#039;re using. &lt;br /&gt;
&lt;b&gt;$TTY&lt;/b&gt; -  is an input-output device used during pxegrub boot. You can specify ttya/ttyb here to get an output on a console, connected to your client. You may also not specify this parameter at all for the default device to be used (screen/keyboard).&lt;br /&gt;
&lt;br /&gt;
So, for our client perf-123 the final line looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;./add_install_client&amp;#160;-d&amp;#160;-e&amp;#160;0100093D0068F3&amp;#160;\&lt;br /&gt;
				-c&amp;#160;192.1.1.254&amp;#58;/export/install/config/perf-123&amp;#160;\&lt;br /&gt;
				-p&amp;#160;192.1.1.254&amp;#58;/export/install/config/perf-123&amp;#160;\&lt;br /&gt;
				-s&amp;#160;192.1.1.254&amp;#58;/export/install2/nv/snv_14&amp;#160;\&lt;br /&gt;
				-b&amp;#160;&quot;console=ttya&quot;&amp;#160;i86pc&amp;#160;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
This line creates three files in your &lt;b&gt;/tftpboot&lt;/b&gt; directory:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;menu.lst.0100093D0068F3&lt;/b&gt; - grub menu for your client&#039;s PXE boot&lt;br /&gt;
&lt;b&gt;rm.0100093D0068F3&lt;/b&gt; - a standard shell script for cleaning up /tftpboot files for your client&lt;br /&gt;
&lt;b&gt;0100093D0068F3&lt;/b&gt; - a symbolic link to a build&#039;s pxegrub file in /tftpboot&lt;br /&gt;
&lt;br /&gt;
For perf-123, this link looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;bash#&amp;#160;ls&amp;#160;-al&amp;#160;/tftpboot/0100093D0068F3&lt;br /&gt;
lrwxrwxrwx&amp;#160;&amp;#160;&amp;#160;1&amp;#160;root&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;other&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;28&amp;#160;May&amp;#160;23&amp;#160;17&amp;#58;27&amp;#160;\&lt;br /&gt;
/tftpboot/0100093D0068F3&amp;#160;-&amp;#62;&amp;#160;pxegrub.I86PC.Solaris_10.1-1&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
If you check now, the grub menu file will look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;bash#&amp;#160;more&amp;#160;/tftpboot/menu.lst.0100093D0068F3&amp;#160;&lt;br /&gt;
default=0&lt;br /&gt;
timeout=30&lt;br /&gt;
title&amp;#160;Solaris_10.1&amp;#160;Jumpstart&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;kernel&amp;#160;/I86PC.Solaris_10.1-1/multiboot&amp;#160;kernel/unix&amp;#160;-B&amp;#160;\&amp;#160;&lt;br /&gt;
console=ttya,install_config=192.1.1.254&amp;#58;/export/install/config/perf-123,&amp;#160;\&amp;#160;&lt;br /&gt;
sysid_config=192.1.1.254&amp;#58;/export/install/config/perf-123,&amp;#160;\&amp;#160;&lt;br /&gt;
install_media=192.1.1.254&amp;#58;/export/install2/nv/snv_14&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;module&amp;#160;/I86PC.Solaris_10.1-1/x86.miniroot&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Unfortunatelly, at this early stage, we have to manually update this file so that the machine not only boots off the network, but starts JumpStart install automatically. To do this, you have to pass a &quot;- install dhcp&quot; as a boot argument to Solaris kernel. So we update one of the menu file lines to look like this:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bb-code-title&quot;&gt;CODE:&lt;/div&gt;&lt;div class=&quot;bb-code&quot;&gt;	kernel&amp;#160;/I86PC.Solaris_10.1-1/multiboot&amp;#160;kernel/unix&amp;#160;-&amp;#160;install&amp;#160;dhcp&amp;#160;&amp;#160;-B&amp;#160;\&amp;#160;&lt;br /&gt;
console=ttya,install_config=192.1.1.254&amp;#58;/export/install/config/perf-123,&amp;#160;\&amp;#160;&lt;br /&gt;
sysid_config=192.1.1.254&amp;#58;/export/install/config/perf-123,&amp;#160;\&amp;#160;&lt;br /&gt;
install_media=192.1.1.254&amp;#58;/export/install2/nv/snv_14&amp;#160;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
I&#039;m sure later there will be a command line option, so I&#039;ll update this how-to accordingly.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
As you can see, most of the add_install_clients parameters end up in this file. A menu file is also a good way to do basic sanity checks, cause it shows you where your client will try to mount a netinstall image from, and where JumpStart will expect to have your client&#039;s configuration files to be found.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3) DHCP - IP address and a macro for our client&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
First, add a fixed IP for your client, which will be issued to it by your server upon DHCP request:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
pntadm -f 01 -e 12/31/2010 -A $IPADDR -i $ETHER -m $SYSNAME -s $SERVER $NETWORK.0&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Most of the parameters are self-explanatory, and you know most of them from add_install_client command. So I&#039;ll mention only the new ones:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;$IPADDR&lt;/b&gt; is the IP address you want DHCP server to assign to your client&lt;br /&gt;
&lt;b&gt;$NETWORK&lt;/b&gt; is the network your client belongs to. Obviously, $IPADDR should be in this network as well.&lt;br /&gt;
&lt;b&gt;-f 01&lt;/b&gt; means that this IP lease is permanent&lt;br /&gt;
&lt;b&gt;-e 12/31/2010&lt;/b&gt; sets the expiration date for this lease (we sure have got some time before 2010)&lt;br /&gt;
&lt;br /&gt;
Now, what this line does apart from assigning an IP address to our client, is that it also assigns the client a DHCP macro. By following the macro specified, your DHCP server will give the client all the additional info the client needs to PXE boot.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s the line:&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
dhtadm -A -m $SYSNAME -d &quot;:BootSrvA=$SERVER:BootFile=$ETHER:&quot;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This line tells the client to try and PXE boot off a specified server with IP $SERVER, and suggests that the bootfile will be $ETHER. This file, as you remember, essentially points to a pxegrub file for the netinstall build.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it! Make sure your BIOS points to a PXE-enabled network card on your client, reboot the box, and you should see it downloading the Solaris miniroot onto the client and then booting Solaris. As always, &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=938&amp;amp;entry_id=63&quot; title=&quot;http://docs.sun.com/app/docs/doc/817-0690/6mgflntn3?q=snoop&amp;amp;a=view&quot;  onmouseover=&quot;window.status=&#039;http://docs.sun.com/app/docs/doc/817-0690/6mgflntn3?q=snoop&amp;amp;a=view&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;snoop&lt;/a&gt; is your friend with network troubleshooting. 
    </content:encoded>

    <pubDate>Thu, 26 May 2005 14:44:09 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2005/05/installing_solaris_with_pxe_dhcp</guid>
    <category>dhcp</category>
<category>opensolaris</category>
<category>pxe</category>
<category>solaris</category>
<category>dhcp</category>
<category>opensolaris</category>
<category>pxe</category>
<category>solaris</category>

</item>
<item>
    <title>Solaris 10 presentation from the authors of Solaris Internals</title>
    <link>http://solaris.reys.net/english/2005/04/solaris_10_internals_presentation</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2005/04/solaris_10_internals_presentation#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=60</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=60</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=927&amp;amp;entry_id=60&quot; title=&quot;http://www.solarisinternals.com&quot;  onmouseover=&quot;window.status=&#039;http://www.solarisinternals.com&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Solaris Internals&lt;/a&gt;, a website of a famous book with the same name,  has posted a presentation on Solaris 10 inner workings, and I strongly suggest you read it right away.&lt;br /&gt;
&lt;br /&gt;
The authors of this presentation are the highest level engineers of Sun Microsystems, and judging by their book popularity, the presentation is going to be one one of the best information sources on Solaris 10 so far.&lt;br /&gt;
&lt;br /&gt;
The presentation is available as PDF file download &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=928&amp;amp;entry_id=60&quot; title=&quot;http://www.solarisinternals.com/si/reading/t2-solaris-slides.pdf&quot;  onmouseover=&quot;window.status=&#039;http://www.solarisinternals.com/si/reading/t2-solaris-slides.pdf&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;here&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Wed, 06 Apr 2005 18:38:41 +0400</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2005/04/solaris_10_internals_presentation</guid>
    
</item>
<item>
    <title>vim colour schemes</title>
    <link>http://solaris.reys.net/english/2005/01/vim_color_schemes</link>
            <category>SysAdmin</category>
    
    <comments>http://solaris.reys.net/english/2005/01/vim_color_schemes#comments</comments>
    <wfw:comment>http://solaris.reys.net/wfwcomment.php?cid=40</wfw:comment>

    <slash:comments>3</slash:comments>
    <wfw:commentRss>http://solaris.reys.net/rss.php?version=2.0&amp;type=comments&amp;cid=40</wfw:commentRss>
    

    <author>nospam@example.com (Gleb Reys)</author>
    <content:encoded>
    Simply put, I adore &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=924&amp;amp;entry_id=40&quot; title=&quot;http://www.vim.org&quot;  onmouseover=&quot;window.status=&#039;http://www.vim.org&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;vim&lt;/a&gt;!&lt;br /&gt;
&lt;br /&gt;
Today I finally found some time to compile its latest version on my laptop, and it was decided to find some new color sheme for it. I know, I know: there are tons of scripts for &lt;b&gt;vim&lt;/b&gt; which demonstrate different schemes, but to do that it is necessary to download all them schemes files first, and I just didn&#039;t want that. I had spent just few seconds &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=925&amp;amp;entry_id=40&quot; title=&quot;http://www.google.com&quot;  onmouseover=&quot;window.status=&#039;http://www.google.com&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;looking&lt;/a&gt; for it, and found a wonderful page with tons of &lt;b&gt;vim&lt;/b&gt; color sheme tables. What I liked most is that tabled views are so convenient - it really is much easier to compare and pick schemes this way.&lt;br /&gt;
&lt;br /&gt;
So, if you feel like choosing a new scheme for your &lt;b&gt;vim&lt;/b&gt; and got a minute to spare, visit this page: &lt;a href=&quot;http://solaris.reys.net/exit.php?url_id=926&amp;amp;entry_id=40&quot; title=&quot;http://www-2.cs.cmu.edu/~maverick/VimColorSchemeTest/&quot;  onmouseover=&quot;window.status=&#039;http://www-2.cs.cmu.edu/~maverick/VimColorSchemeTest/&#039;;return true;&quot; onmouseout=&quot;window.status=&#039;&#039;;return true;&quot;&gt;Vim Color Scheme Test&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Thu, 06 Jan 2005 15:22:30 +0300</pubDate>
    <guid isPermaLink="false">http:/solaris.reys.net/english/2005/01/vim_color_schemes</guid>
    
</item>

</channel>
</rss>