Tag Archives: opensolaris

Guest under VMware Server on Win 7 Cannot Network

While running VMware Server 2.0.2-203138 on Windows 7, I experienced the following issue:

  • Installed guests assigned to VMnet0 can not ping or access any hosts aside from other VMware guests.
  • My NIC is a: Realtek RTL8168C(P)/8111C(P) Family PCI-E Gigabit Ethernet NIC (NDIS 6.20)
  • In the NIC properties, the VMware Bridge Protocol is enabled.

Guests could see each other and communicate on VMnet0, but cannot ping the host or anything beyond the host.

In Windows 7’s Network and Sharing center, only NIC is listed under “Internet Access”, and VMnet1 and VMnet8 are listed under “No network access,” but this seems to be normal.

From the Start menu, I opened Manage Virtual Networks, and the Summary page told me VMnet0 was supposed to automatically bridge to some adapter.  Apparently, it wasn’t doing so.

At the Host Virtual Network Mapping tab, I was able to specify that I wanted VMnet0 to use the Realtek NIC.

After clicking Apply/OK and waiting a bit for VMware and the guests to figure out just what in tarnation had just changed, guest networking began working as expected.

Within my Solaris 10 guest, I then created /etc/resolv.conf, added the two Google DNS servers, and copied /etc/nsswitch.dns to /etc/nsswitch.conf:

# touch /etc/resolv.conf
# vi /etc/resolv.conf

Add the text:

search myhouse.net
nameserver 192.168.0.1 # my router
nameserver 8.8.8.8 # google
nameserver 8.8.4.4 # google

And lastly:

# cp nsswitch.dns nsswitch.conf

Done!

Oracle Outlines SPARC, Solaris 11 Plans

I’m looking forward to a new version of OpenSolaris:

Six months after completing the deal for Sun, Oracle officials say Solaris 11 will arrive in 2011, and that SPARC performance will at least double every other year through 2015.

Oracle will release the next version of the Solaris operating system next year, and will double the performance of its SPARC processors every other year.

via Oracle Outlines SPARC, Solaris 11 Plans – IT Infrastructure from eWeek.

Building KeePassX 0.4.3 on OpenSolaris 2009.06

This build took a lot of headscratching and research, as I couldn’t easily find any single resource describing how to do the build, and KeePassX requires quite a bit of pre-work before it will build.

Starting from a fresh CD install of 2009.06

Hit http://www.keepassx.org/downloads to download the current source code tarball. I got 0.4.3.

Unzip it to /usr/src

cd /usr/src/keepassx-0.4.3

cat INSTALL to read the amazingly terse installation instructions:

Installation instructions for *nix:
———————————–
qmake-qt4 / qmake

You have to use qmake of Qt >= 4.3.0, depending on your distro it is called qmake or qmake-qt4.
By default KeePassX is installed to /usr, you can change that by adding PREFIX=[PATH] to the qmake command.
You can also add DEBUG=1 to build KeePassX with debug symbols.
2. make
3. make install

Qt didn’t come in the default 2009.06 install, but is available packaged from the Bionicmutton repository:

sudo pkg set-authority -O http://solaris.bionicmutton.org:10002/ Bionicmutton

I then attempted to install the Qt package, but it required SUNWdbus@0.5.11,5.11-0.132.  This was available through the Package Manager, by clicking Refresh to get the list of newest packages available, then Updating everything.

Upon reboot, I was hit by two bugs.  They combine to make X somewhat unstable, and Xterms nearly unusable.

http://defect.opensolaris.org/bz/show_bug.cgi?id=13437

Could not update ICEauthority file /.ICEauthority
There is a problem with the configuration server.
(/usr/lib/gconf-sanity-check-2 exited with status 256)

To fix it, you must give gdm a real home directory in the passwd file

sudo vi /etc/passwd

find the line

gdm:x:50:50:GDM Reserved UID:/:

Change it to:

gdm:x:50:50:GDM Reserved UID:/var/lib/gdm:

http://defect.opensolaris.org/bz/show_bug.cgi?id=12380

Xterm text is all wacky; carriage returns without line feeds produces text all over the screen and makes everything hard to read. Text typed at the command prompt often isn’t echoed, so I had  to type very carefully with no typos because I could not see what I was typing.  The solution is to fix permissions on /dev/ptmx and add a line to /etc/minor_perm:

sudo chmod 666 /dev/ptmx

vi  /etc/minor_perm

(add the line) clone:ptmx 0666 root sys

With everything working, I was able to install Qt from repository:

sudo pkg install qt@4.6.2-6

Set up the environment for compiling:

PATH=$PATH:/opt/foss/qt4/bin:/usr/local/bin:usr/css/bin;export PATH
CXX=/usr/bin/g++
CC=/usr/bin/gcc
cc=/usr/bin/gcc
QMAKESPEC=solaris-cc; export QMAKESPEC
qmake
make

And unfortunately, make crashes with

make[1]: CC: Command not found

Tried adding a symbolic link from CC to gcc:

ln -s ../../sfw/bin/gcc /usr/gnu/bin/CC

And the error changed to:

CC: ccfe: No such file or directory
CC: ccfe: No such file or directory
CC: ccfe: No such file or directory
CC: ++boolflag:sunwcch=false: No such file or directory
CC: unrecognized option `-template=geninlinefuncs’
CC: unrecognized option `-Qoption’
CC: unrecognized option `-Qoption’
CC: unrecognized option `-Qoption’
CC: -library=no%Cstd: linker input file unused because linking not done
CC: -library=Crun: linker input file unused because linking not done
CC: -library=no%Cstd: linker input file unused because linking not done
CC: -library=Crun: linker input file unused because linking not done
CC: -lstdcxx4: linker input file unused because linking not done
CC: language annotate=no not recognized
CC: lib/HelperX11.cpp: linker input file unused because linking not done
gmake[1]: *** [../build/HelperX11.o] Error 1
gmake[1]: Leaving directory `/usr/share/src/keepassx-0.4.3/src’
gmake: *** [sub-src-make_default] Error 2

And so here I am stuck.  I’ve discovered another fellow has an unresolved error building KeePassX on Opensolaris, with an unanswered post from Oct 2009 on the boards.

Since I use KeePass constantly at work, I needed to get this going.  After two days of futzing around trying to get it to build, I was getting a bit frustrated.  So I weighed my options:

  • Reload my PC with Ubuntu.  KeePass installs happily via apt on Ubuntu.
  • Create a VM in which to run KeePass.  In any case, if I switched back to Ubuntu, I’d create an OpenSolaris VM and keep working on getting KeePassX to compile.
  • Install KeePass for Windows, in Wine, on my OpenSolaris machine.

For now, I’ve decided to run KeePass for Windows in Wine.  It was a cinch!

  1. Download Classic Edition from http://keepass.info/download.html.  I saved it to the desktop.
  2. I had already installed Wine via Package Manager
  3. Right-click the KeePass installation executable, Open with Wine Windows Program Loader
  4. Run through the installation steps
  5. Done!

Wow, that was easy.  However, it runs with the oddity that the actual data columns for the Password and URL fields are swapped underneath the title column headers.  Also, double-clicking a field copies it to memory, but clicking the middle mouse button does not paste it — I must right-click and paste.  Both <shift-insert> and the middle mouse button paste the last bit of text copied by mouse highlight, rather than the KeePass password entries.

References:

Adobe Flash Player on OpenSolaris

Getting Flash to work with Firefox on OpenSolaris was fairly simple.

NOTE – this installs the plugin for all users.

  1. First, download the Flash plugin package from Adobe – Adobe Flash Player.
  2. I prefer to unzip anything I’m about to install to /usr/src
    cd /usr/src
  3. Unpack the plugin
    sudo tar zxvf /path/to/flash_player_10_solaris_x86.tar.bz2
  4. Find the Firefox plugins directory
    find / -name plugins
  5. Copy the Flash library to that directory
    sudo cp flash_player_10_solaris_r45_2_x86/libflashplayer.so /usr/lib/firefox/plugins/
  6. Restart Firefox, and verify that Flash works.

AdBlock Plus on OpenSolaris with Firefox 3.1 Beta 3

While trying to install AdBlock Plus on Firefox 3.1, I encountered an error similar to this guy:

Firefox: Firefox could not install the file at ‘URL’ because: Signing could not be verified.

I was able to follow those steps, but with a bit of variation:

  1. Made a temp folder
    mkdir /tmp/adblock
  2. Get the extention (I copied the URL from the failed install error message):
    wget https://addons.mozilla.org/downloads/file/74835/adblock_plus-1.1.3-fx+sm+tb+fn.xpi?src=api --no-check-certificate
  3. Unzip the package:
    unzip adblock_plus-1.1.3-fx+sm+tb+fn.xpi
  4. The first bit of output showed the RSA file he looks for in Step 5:
    Archive:  adblock_plus-1.1.3-fx+sm+tb+fn.xpi
    inflating: META-INF/zigbert.rsa
  5. Search for the Certificate Authority info:
    mikes@nerdherd-opensol:/tmp/adblock$ strings ./META-INF/zigbert.rsa | egrep -i "sign|cert"
    "Secure Digital Certificate Signing1806
    $StartCom Verified Certificate Member1
    "Secure Digital Certificate Signing1)0'
    StartCom Certification Authority
    Limited Liability, read the section *Legal Limitations* of the StartCom Certification Authority Policy available at http://www.startssl.com/policy.pdf0c
    4http://www.startssl.com/certs/sub.class2.code.ca.crt0#
    "Secure Digital Certificate Signing1)0'
    StartCom Certification Authority0
    "Secure Digital Certificate Signing1806
    "Secure Digital Certificate Signing1)0'
    StartCom Certification Authority
    &http://cert.startcom.org/sfsca-crl.crl0'
    #http://cert.startcom.org/policy.pdf05
    )http://cert.startcom.org/intermediate.pdf0
    AStartCom Class 2 Primary Intermediate Object Signing Certificates0
    "Secure Digital Certificate Signing1806
  6. Unlike his Step 7, in Firefox / Preferences / Advanced / Encryption / View Certificates / Authorities, that cert wasn’t listed.  So I imported it.
  7. Click the Import button on the Authorities tab.  Browse to the /tmp/adblock/META-INF folder created when AdBlock was unzipped.
  8. Change the file type selector from Certificate Files to All Files; select zigbert.rsa; click Open.
  9. Check the box, “This certificate can identify software makers.”
  10. Click OK until enough dialog boxes are closed that you can re-try the AdBlock Plus install.

It then installed without issue.  Restart Firefox to enable the add-on.

Microsoft Remote Desktop and vncviewer for OpenSolaris

After a constantly recurring conflict between Ubuntu and my desktop’s nVidia card, I decided to switch operating systems.  OpenSolaris has nice, built-in support for nVidia, so I decided to give it a try. I used Solaris for close to a decade at Cisco, and it’s still one of my favorite OSs.

First, I went to sun.com, was shocked to be redirected to oracle.com, found the Download page, got the x86 ISO, and burned it to CD.  It’s a Live CD, meaning you can boot from it and run the OS “on” your machine without actually installing it to your hard disk.

Running the Live CD, I was able to confirm that OpenSolaris recognized all my PC’s hardware: the network worked, and video was good.  Nice!  I rebooted into Ubuntu, copied all my files onto a USB stick, and then proceeded with the install.

Now, I’m back to getting everything reinstalled and my environment back how I like it.

First up: A Windows administrator needs to be able to remote to Windows servers!  This requires the rdesktop package, which is not installed by default.

To Install VNC client and rdesktop Client with IPS under OpenSolaris

# pkg install SUNWvncviewer
# pkg install SUNWrdesktop

To Run Microsoft Remote Desktop Client
# rdesktop <hostname_or_IP_address>

via Microsoft Remote Desktop and vncviewer for OpenSolaris : JB French OpenSolaris User.

I wrote a script called rdesk to connect to various Windows and VMware hosts:

#!/bin/bash

host=$1
resolution='1162x768'

case $host in
201 | 211 | 212 | 213 | 216)
hostname=192.168.249.$host
user=administrator
;;

101 | 102)
#VMware Remote Console Information:
#Usage: vmware-console <flags> [[user@]host:]vm
#where <flags> are:
#-h host        connect to HOST
#-P port        port on HOST
#-u user        connect as USER
#-p password    password for USER@HOST
#-c vm        name of virtual machine to connect to
#-v           print program version
vmware-console -h 10.5.10.$host -u root -p
exit
;;

*)
hostname=$host
domain='-d OURDOMAIN'
user=me

esac

rdesktop $domain -u $user -p $pass -g $resolution -r clipboard:PRIMARYCLIPBOARD -T $hostname $hostname

This allows me to run ‘rdesk hostname‘ or ‘rdesk ip‘ and open a rdesktop window to that machine, asking for a password.

Next step: installing KeePassX