Installing nexenta (GNU Solaris) on Sun W2100z box

Installing Nexenta OS on Sun W2100z box

This article describes setup and (mostly) configuration of Nexenta OS on an W2100z Opteron box.

Configuration (most important parts):

  • Static IP address
  • Machine is in NIS domain
  • Machine is behind a proxy
I used latest unstable version - alpha 7 test 2, which is based on build 61 of OpenSolaris.

CD image of stable (but still alpha) version can be downloaded from Distrowatch. Latest unstable version of Nexenta is available here:

Before you install

It's good to have all important configuration files printed out before you start installation process. Most important part is network configuration, since once you have your network up and running, all the rest can be found on the web.

This list should suffice:

The following is required only if your machine is in NIS domain:

Nexenta installation process

Not much to say, really. During installer startup, it flooded screen with messages about dying (or failing to start) services. These messages last for about five minutes and then were replaced with installation program interface. See Getting Started page on The only difference in my case was that all characters on the screen were blinking. Tetris worked, however, so I was given an opportunity to test my apparent lack of tetris skills.

I followed recommendations and let installer do auto partitioning, which went well after second try. First one resulted in complaints about some differences in disk or partitions (?) sizes. Second succeeded. By the way, default layout looked like this in my case:

  • / (root) - UFS, ~10%
  • /export/home - ZFS, ~80%
  • the rest is swap (in my case, 1Gb)
  • Nexenta post-install configuration

    Setting up network connection

    Installer has configured everything except for NIS settings well. I don't remember what files needed "manual" attention, but it would be good to check every one from the list above.

    In particular, the following two used instead of real IP next to machine name:

    • /etc/hosts
    • /etc/inet/ipnodes
    This misconfiguration didn't allow me to log in under my NIS account (even after NIS settings were configured correctly).

    Setting up NIS client

    First, I needed to find out which services are responsible for that:

    $ svcs -a | grep nis
    disabled 16:32:49 svc:/network/rpc/nisplus:default
    disabled 16:32:49 svc:/network/nis/client:default

    Okay, so it's nis/client that needs to be enabled. But after issuing

    svcadm enable nis/client
    I still didn't get any output from ypwhich. I used svcs -l command to find out what's wrong:
    # svcs -l nis/client
    fmri svc:/network/nis/client:default
    name NIS (YP) client
    logfile /var/svc/log/network-nis-client:default.log
    restarter svc:/system/svc/restarter:default

    Contents of /var/svc/log/network-nis-client:default.log showed that NIS clients lacks configuration parameters, which I forgot to supply to it:

    $ less /var/svc/log/network-nis-client:default.log]
    /lib/svc/method/yp: /var/yp/binding/ is not a directory

    Configuration of NIS client on Nexenta consisted of the following steps:

    1. Make sure that NIS server name and IP is present in /etc/hosts
    2. Issue ypinit -c
    3. Restart NIS client with svcs restart nis/client
    4. Check /var/yp/binding/<domain>/ypservers and issue ypwhich to make sure your NIS server is what it's supposed to be
    Default automatic mounts configuration (like /etc/auto_home) did suit my needs perfectly and autofs service was enabled by default (if it isn't, enable it with svcadm enable autofs.

    Setting up package handler, apt-get

    My machine is behind proxy, so I needed to provide apt-get with proxy server address. Several attempts of setting http_proxy failed, until I put http:// in front of the address. So, put this in your ~/.bashrc and forget about it:

    export http_proxy="http://my.proxy.server:port/"

    Theoretically, you can write your own apt.conf(5), but there was not default config file in the distribution and setting an environment variable is a lot easier and its also useful for wget, for example.

    NFS configuration for Nexenta

    NFS client works "out of the box", but if you need to share directories on your Nexenta box, you need to enable NFS server, which is disabled by default.

    At first, I tried to

    svcs enable nfs/server
    but with no visible result. Then I shared one direcotory with
    share /export/home
    and NFS server enabled and worked all right.

    However, this shared directory didn't outlive restart and I had to re-share it after that. It appeared that one has to use sharemgr(1M) command in order to create persistent NFS shares. To share /export/home, I used this command:

    sharemgr add-share -s /export/home/ default

    Finally, my shares were remembered after reboot and NFS server stayed enabled.

    P.S. share(1M) says that you need to use -p option to make share persistent. I guess it works, too, as well as sharemgr(1M).

    Updating Nexenta

    /usr/bin/update-manager is supposed to bring the system up to date. However, right after first boot, it complained about something and asked to run apt-get -f install manually, which I did and it completed successfully.

    After that, apt-get dist-upgrade and update-manager worked all right and installed a few updates.

    Installing new packages

    There is fancy GUI to do that called synaptic. It needs proxy to be specified in Settings -> Preferences -> Network and after that works fine.

    Mark a package for upgrade and then hit Apply button. This will download and install this package and its dependencies.

    If you need Solaris packages, look for packages named sunw\* (lower case). For example, /usr/ccs/bin/make and /usr/ccs/bin/sccs are absent in a fresh install and you have to install sunwsprot package if you need those.

    By the way, if you need to work with native Solaris packages, there's /usr/bin/pkgadd, which, as I understand, converts package to .deb format and then tries to install it in Nexenta's native way. This doesn't always work.

    There also are /usr/sun/bin and /usr/sun/sbin directories with native Solaris stuff like pkgadd, but the latter didn't work for me either complaining about package database.

    Firefox and Thunderbird for Nexenta

    Nexenta package repository have Firefox package, which is rather old (1.5.something) and it doesn't have Thunderbird. Also, Nexenta's Thunderbird uses different settings directory name and didn't pick up my email settings, which did upset me to a great extent.

    I happened to have latest builds for Solaris x86 downloaded earlier and tried to use these. There is no installer, they both come in .tar form, which I untarred into /opt. First try wasn't encouraging:

    $ /opt/firefox/firefox
    /usr/dt/bin/dtksh: bad interpreter: No such file or directory
    # Patch checker failure. Please apply the missing Solaris patches.

    It doesn't work because Nexenta is missing /usr/dt, which comes from SUNWdtbas package, unavailable in Nexenta packages repository.

    Fortunately, /opt/firefox/firefox-bin worked all right and I didn't have to try to get /usr/dt/ from an OpenSolaris machine.

    Installing Java on Nexenta

    Download JDK for Solaris x86/x64  (I used x86) from, but start the installer using /sbin/sh, not /bin/sh. Otherwise, installer fails to calculate checksum properly and issues this message:

    The download file appears to be corrupted. Please refer
    to the Troubleshooting section of the Installation
    Instructions on the download page for more information.
    Please do not attempt to install this archive file.
    works perfectly and installs Java in current directory (so make sure you're running the above command in /usr, which is kind of a default path for most tools.

    However, one problem still persists: javaws crashes so if you need one, check this Nexenta ticket for the solution: workaround for javaws problem in Nexenta.

    nVidia graphics card driver

    By default, vesa driver is used by Xorg and graphics performance is low. But W2100z has nVidia graphics card and nVidia has drivers for Linux, Solaris and what not... So I downloaded nVidia Solaris driver from nVidia web site and tried to install it.

    Unfortunately, it didn't work very well -- at first, it appeared that nVidia package uses Solaris packages and Nexenta's /usr/bin/pkgadd can't handle them. Then I discovered /usr/sun/bin/, but it didn't work either.

    Fortunately, Nexenta's software repository at already has this driver in .deb package format, so all I had to do was

    • start synaptic
    • search for a packaged with name "nvidia"
    • choose nvidia-glx and nvidia-kernel-driver from the list
    • mark them for installation (right click for drop-down menu)
    • hit "Apply" toolbar button

    X server configuration

    After the driver is installed, machine needs to be rebooted in single-user mode by choosing "Single-user" option in grub boot manager menu (this is an over-kill, but it appeared to be easier than init 3, since the latter just hung the machine).

    Once in single-user mode, log in as root and issue

    X -configure
    This will generate xorg.conf (which is absent from a fresh install). Copy it to /etc/X11/xorg.conf and adjust to your liking (I didn't have need to change a single bit there, "it just works" ©).

    I was particularly surprised that I was not able to redirect X client to my Nexenta box -- clients kept issuing "can't connect" messages no matter what I did (which was practically limited to xhost +). It appeared that X server is started in a more secure way by default and doesn't accept connections from the other machines (just like OpenSolaris does). If you need it to, edit /etc/gdm/gdm.conf and set DisallowTCP=false. I had to restart X server after that with Ctrl-Alt-Backspace and, after xhost + was chanted once again, clients from other machines were able to connect to my X server.

    Solaris sofware on Nexenta

    This is not supposed to be a complete list. Here I mention software which I need/use and it doesn't exist in Nexenta or is not Nexta's native, but is available on x86/x64 Solaris/OpenSolaris platform.

    Software Availability/Comments
    make, sccs Available as sunwsprot package; use synaptic or apt-get to install it.
    Java Use Solaris x86/x64 version and installed with /sbin/sh.
    Java Web Start (javaws) Doesn't work. See workaround for javaws problem in Nexenta
    NetBeans Just works.
    Sun Studio 12 IDE Just works.
    Sun Studio compilers cc and CC work.
    dbx, the Sun Studio debugger x86 version works, though have several problems; x64 version doesn't work (missing /lib/64/ Start dbx with -xexec32 option or copy this library from OpenSolaris machine.

    Unresolved problems

    Can't unlock screensaver

    Still can't figure out what's wrong with gnome screensaver as its "Unlock" window doesn't receive mouse/keyboard events and thus doesn't let me to unlock the screen.



    Quote :
    NFS client works "out of the box", but if you need to share directories on your Nexenta box, you need to enable NFS server, which is disabled by default.

    At first, I tried to

    svcs enable nfs/server

    but with no visible result. Then I shared one direcotory with

    it's svcadm, not svcs.
    Just a note. It may confuse some beginner users.

    опубликовал guest Май 29, 2008 at 09:24 AM MSD #

    Опубликовать комментарий:
    • HTML Syntax: Отключен

    Articles, news, notes on dbx, the Sun Studio debugger and other stuff.


    « Июль 2016