Access OpenSolaris CIFS Fileserver

I have a mixed environment with OpenSolaris-2009.06, SuseLinux, and WindowsXP clients trying to access an OpenSolaris-2009.06 ZFS File-Server.

I’m the only user on the network, which is entirely behind a hardware-firewall. For now, I’ve been erring on the side of overly-permissible file-premissions, and still can’t access my own data.

The fileserver (Shangri-La or has a static-IP, as no real local DNS is configured. I have the same username and password on all my machines.

Current Client Access

– Currently I can’t seem to automount the ZFS filesystems at all.
– If I use the GUI “Connect To Server” on OpenSolaris or Linux I can connect to a specific ZFS fileshare
– However If I connect to a top-level one, I get ‘permission-denied’ when trying to traverse into a lower one.
– I have to connect-to them all separately or simply connect-to the bottom leaves of the tree.

OpenSolaris Client now can browse all the filesystems individually, from gnome using eg: (smb://shangrila/dpool_import_cairo/)

I’ve followed numerous guides, and leafed through the ZFS and CIFS admin books. But still have no sane/consistent way to access the data from my Opensolaris client, let alone the suse one. Haven’t even tried Windows yet.

Server Side Config Files

With my limited knowledge of ACL permissions, I wrote this primitive brute-force script to set the permissions on the files I wanted to share.


## Defaults
chmod -R A-    *
chmod -R 755    *
chown -R johnSmith *
chgrp -R staff *

## Files
chmod -R A=everyone@:rwxpaRcs:allow    *
chmod -R A+everyone@:AWCo:deny    *

chmod -R A+group@:rwxpd:allow    *
chmod -R A+group@::deny     *

chmod -R A+owner@:rwxpdDAWCo:allow    *
chmod -R A+owner@::deny    *

## Directories
chmod -Rf A=everyone@:rwxpaRcs:fd:allow    *
chmod -Rf A+everyone@:AWCo:fd:deny    *

chmod -Rf A+group@:rwxpd:fd:allow    *
chmod -Rf A+group@::fd:deny     *

chmod -Rf A+owner@:rwxpdDAWCo:fd:allow    *
chmod -Rf A+owner@::fd:deny    *

ZFS Layout

johnSmith@shangrila:~$ zfs list |grep  dpool
dpool                                  174G  54.5G  25.5K  /dpool
dpool/data                              62K  54.5G    22K  /dpool/data
dpool/data/davinci                      20K  54.5G    20K  /dpool/data/davinci
dpool/data/firefly                      20K  54.5G    20K  /dpool/data/firefly
dpool/dev                             16.3G  54.5G    22K  /dpool/dev
dpool/dev/magento                       20K  54.5G    20K  /dpool/dev/magento
dpool/dev/torque                      16.3G  54.5G  16.3G  /dpool/dev/torque
dpool/import                           114G  54.5G    23K  /dpool/import
dpool/import/athenaHome               57.5G  54.5G  57.1G  /dpool/import/athenaHome
dpool/import/aura                       20K  54.5G    20K  /dpool/import/aura
dpool/import/cairo                    56.1G  54.5G  39.1G  /dpool/import/cairo
dpool/media                           44.0G  54.5G    24K  /dpool/media
dpool/media/amadeus                   22.2G  54.5G  22.2G  /dpool/media/amadeus
dpool/media/holly                     21.8G  54.5G  21.8G  /dpool/media/holly
dpool/media/import                      20K  54.5G    20K  /dpool/media/import

Client Side Config Files


/net		-hosts		-nosuid,nobrowse
/home		auto_home	-nobrowse
#/dpool   auto_smb   -nobrowse
/-       auto_direct


/dpool                -fstype=smbfs, dirperms=0700, uid=johnSmith //
/dpool/data           -fstype=smbfs, dirperms=0700, uid=johnSmith //
/dpool/data/davinci   -fstype=smbfs, dirperms=0700, uid=johnSmith //
/dpool/data/firefly   -fstype=smbfs, dirperms=0700, uid=johnSmith //
/dpool/dev            -fstype=smbfs, dirperms=0700, uid=johnSmith //
/dpool/dev/magento    -fstype=smbfs, dirperms=0700, uid=johnSmith //
/dpool/dev/torque     -fstype=smbfs, dirperms=0700, uid=johnSmith //
/dpool/import         -fstype=smbfs, dirperms=0700, uid=johnSmith //
/dpool/import/athenaHome -fstype=smbfs, dirperms=0700, uid=johnSmith //
/dpool/import/aura    -fstype=smbfs, dirperms=0700, uid=johnSmith //
/dpool/import/cairo   -fstype=smbfs, dirperms=0700, uid=johnSmith //
/dpool/media          -fstype=smbfs, dirperms=0700, uid=johnSmith //
/dpool/media/amadeus  -fstype=smbfs, dirperms=0700, uid=johnSmith //
/dpool/media_/holly   -fstype=smbfs, dirperms=0700, uid=johnSmith //
/dpool/media/import   -fstype=smbfs, dirperms=0700, uid=johnSmith //


dpool                -fstype=smbfs ://johnSmith:password@
dpool_data           -fstype=smbfs ://johnSmith:password@
dpool_data_davinci   -fstype=smbfs ://johnSmith:password@
dpool_data_firefly   -fstype=smbfs ://johnSmith:password@
dpool_dev            -fstype=smbfs ://johnSmith:password@
dpool_dev_magento    -fstype=smbfs ://johnSmith:password@
dpool_dev_torque     -fstype=smbfs ://johnSmith:password@
dpool_import         -fstype=smbfs ://johnSmith:password@
dpool_import_athenaHome -fstype=smbfs ://johnSmith:password@
dpool_import_aura    -fstype=smbfs ://johnSmith:password@
dpool_import_cairo   -fstype=smbfs ://johnSmith:password@
dpool_media          -fstype=smbfs ://johnSmith:password@
dpool_media_amadeus  -fstype=smbfs ://johnSmith:password@
dpool_media__holly   -fstype=smbfs ://johnSmith:password@
dpool_media_import   -fstype=smbfs ://johnSmith:password@

Attempting to Automount from OpenSolaris Client

johnSmith@athena: 502# automount -v
automount: hierarchical mountpoint: /dpool and /dpool/data
automount: hierarchical mountpoint: /dpool and /dpool/data/davinci
automount: hierarchical mountpoint: /dpool and /dpool/data/firefly
automount: hierarchical mountpoint: /dpool and /dpool/dev
automount: hierarchical mountpoint: /dpool and /dpool/dev/magento
automount: hierarchical mountpoint: /dpool and /dpool/dev/torque
automount: hierarchical mountpoint: /dpool and /dpool/import
automount: hierarchical mountpoint: /dpool and /dpool/import/athenaHome
automount: hierarchical mountpoint: /dpool and /dpool/import/aura
automount: hierarchical mountpoint: /dpool and /dpool/import/cairo
automount: hierarchical mountpoint: /dpool and /dpool/media
automount: hierarchical mountpoint: /dpool and /dpool/media/amadeus
automount: hierarchical mountpoint: /dpool and /dpool/media_/holly
automount: hierarchical mountpoint: /dpool and /dpool/media/import
automount: /dpool mounted
automount: no unmounts
johnSmith@athena: 503# ls /dpool
/dpool: Permission denied
johnSmith@athena: 504#
Posted in 2009.06, OpenSolaris | Comments Off on Access OpenSolaris CIFS Fileserver

Magento Components and PEAR


Magento is a newish shopping cart platform that is pretty slick, engineered, and rather complex to pickup.You can auto-install extension components for your Magento store from MagentoConnect which it turns out is built on top of the PEAR package-managing system. From the website you can browse for an extension, get an “activation key”, and use your store’s admin-gui to install a module.

Danger, Will Robinson, Danger:

  • Make sure you’ve got a full backup or proper version-control of your stores source-code and mods.

(I recently did a “live upgrade” of the ‘core’ platform, on a test-site and it corrupted my DB … )


You will need the “php” command in your $PATH.

  • On a linux system you can usually discover it by calling:$ whereis php
  • On OpenSolaris-2009.06 I found the webstack PHP in: /usr/php/5.2/bin/php

In either case we want to make this generically-accessible to our users, by adding a simple symbolic link from /usr/bin which IS in your $PATH to the actual php binary. If you can find the PEAR and want to add a similar link, do so as shown, but this is optional.:
$ cd /usr/bin
$ ln -s /usr/php/5.2/bin/php php
$ ln -s /usr/php/5.2/bin/pear pear


Magento has a very broad file-structure, and modules put files in several locations. As a developer I wanted to lookat an existing extension similar to one I’m developing, without hunting for bits and pieces or blowing up my dev-environment on a failed install. While the MagentoConnect webpage fails to offer us a simple “Download” button, hope is not lost, as we can simply use PEAR from the command line.

If your machine has PHP installed (required in your $PATH for this exercise) it probably also has  PEAR, however we will want to use the PEAR installation provided WITH Magento.

// Setup Magento PEAR
$ cd ~/public_html/magento/
$ ./pear mage-setup
$ ./pear -V
$ ./pear list-channels

// Download a Package
$ ./pear download

// Install a Package
$ ./pear install

Download a Package

The PEAR “download” command does what it says and simply downloads a *.tar to your current directory. This is exactly what I required, now I have the files to move where I wish and examine at my leisure, if I had leisure…

Install a Package

The PEAR “install” command also does what it says, and goes stright to work attempting to install the package. This is (appears to be) essentially the same as grabbing the key-code from the web, and installing from your Magento AdminPanel GUI.

Note: You do not need to “download” a package before installing it as the PEAR “install” command is smart enough to do all the work for you.


When you find a component ont he MagentoConnect site and click “Get Extension Key”, it gives you a string like “magento-community/ModuleFooBarr” to supply to the AdminPanel GUI. If your using PEAR, you still need to click this link and the final part “ModuleFooBar” is your package name. The first part of the path-name, you must discard in favor of PEAR channel-syntax.

Good Luck

Posted in Magento | Tagged , , | Comments Off on Magento Components and PEAR

Configuring OpenSolaris: Webstack phpMyAdmin

Getting phpMyAdmin running is deceptively simple, unless like me, your utterly clueless and expect it to “just work”.

  1. Change your MySQL ROOT password!
    $ /usr/mysql/5.1/bin/mysqladmin -u root password {{'NewPassword'}}
    $ mysql -u root -p
  2. Install phpMyAdmin
    $ pfexec pkg set-authority -O Webstack
    $ pfexec pkg refresh
    $ pfexec pkg install pkg://webstack/phpmyadmin
    $ man phpmyadmin
    $ /usr/bin/phpmyadmin_evaluation_init

Final Configuration of phpMyAdmin:

  1. As root:
    # vi /etc/phpmyadmin/
  2. In the empty ‘ ‘ after the = type any random string under 46 chars. Doesn’t matter what (AFAIK) and you won’t be asked again (AFAIK).
  3. :wq

Point your webbrowser at and you should be ready to rock & roll. If you have any trouble go back to the origianl Maintainer’s Blogpost and also read the MAN pages more carefully.

You should also familiarize yourself with Sun’s: Web Stack Getting Started Guide

Good Luck!

Posted in 2009.06, OpenSolaris | Tagged , , , | Comments Off on Configuring OpenSolaris: Webstack phpMyAdmin

Configuring OpenSolaris: Printing – Brother 7820N

Install the Printer

Setting up your printer in OpenSolaris can be a trick, if your drivers aren’t yet included.

  1. The place to start is in: System | Administration | Print Manager
  2. Click “Add Printer” button and get to work
  3. If your printer isn’t available try getting a driver from one of these places:
  4. You need to get a valid *.ppd or *.ppd.gz file for your printer.
  5. Close the Print Manager GUI for now.
  6. As ROOT type:
    # ppdmgr -a path_to_.ppd -w
    # ppdmgr -u
  7. Reopen the Print Manager GUI and you should be able to find your driver.
  8. Best of luck, that should make your printer happy!

Remove the Banner

To remove the ‘banner page’ that prints every time is easy:

  1. Click: System | Administration | Solaris LP Print Manager
  2. I just click ‘cancel’ on the first dialog box that pops up…
  3. Select your printer and click: Printer | Modify Printer Properties
  4. Under “Banner” select: Never Print Baner
  5. ‘Apply’, ‘Ok’, Good-2-Go.

Default to Letter-Size

How? (possibly feature not implemented yet)

Print Source Code with: printcpp

Here’s an awesome hack handed down from my former Professor and UNIX Zen-Master. This simple alias prints nicely formatted plain-text files from the command-line with normal ‘C/C++ style’ source-code syntax-highlighting. It’s also great for printing any text file in a hurry.

The first one is ‘portrait’ mode and the second is ‘landscape’ mode. You may have to tweak a little if your porting to a different UNIX/LINUX system, but I’ve always gotten it to work!

  1. See my prior post about installing more IPS repos!
  2. From IPS, select the ‘SunFreeware’ repo, possibly marked ‘Companion’ or ‘SFW’
  3. Grab the GNU “Enscrip”‘ package.
  4. Add some code to your .bashrc or .bash_aliases:

    alias printcpp='enscript -M Letter -G -i 2 -f Courier8 -Ecpp -P myPrinterName'
    alias printcpp2='enscript -M Letter -r -G -i 2 -f Courier8 -Ecpp -P myPrinterName'
  5. Pay-attention and be sure to substitute YOUR printer name for “myPrinterName”.
  6. $ source ~/.bashrc
Posted in OpenSolaris | Tagged , | Comments Off on Configuring OpenSolaris: Printing – Brother 7820N

Configuring OpenSolaris: Installing SFE (Spec Files Extras)

What are SFEs?

What is spec-files-extra? SFE is a repository of RPM-like spec files for building Solaris SVr4 packages from various Open Source modules. ~ The SFE Site

And if you follow the installation instructions closely-enough, without getting too bogged down in the details, you can probably be up and running SFE Enabled faster than I can write this blog. However those instructions are slightly dated, and even as a Sophomore to the OSol world, I hit a few bumps along the way, so here’s the short-list to get you going quickly!


As it happens I started following the original instruction-set, returned a few hours later and someone had done a bit of “Find & Replace” re-branding; just to mess with my head I believe… So – just to clear up some confusion:

  • JDS-CBE (Java Desktop Source – Common Build Environment (?))
  • OSD-CBE(OpenSolaris Desktop – Common Build Environment(?))

Old Name, New Name, respectively.

Currently, they are the same thing and you will need the underlying “CBE” portion of them, even if you don’t intend to do further OSol Desktop Development. Careful not to follow the original instruction sheets blindly though, or your in for a world of trouble – instead, keep reading here!

Installing the Common Build Environment (CBE)

Reference Links

All of the information on this page was pulled-from and relates back to the following links. Hopefully, however, this blogpost will save you from dredging through them for the insight you need. Hopefully…

Useful Links (for now)

  1. Spec File Extra – Main Site
  2. JDS / OSD / CBE Installation Guide
  3. OSD Download Center on Sun
  4. SFE Index on SourceForge

Less Relevant Extra’s

  1. OSD Source Code Tour
  2. JDS / OSD Source Location
  3. pkgbuild Home on SourceForge

(Do Not) Build CBE from Source

(Rant: Feel free to skip to next section!)
Given my Sun AMD_X64 system, I was unusually motivated to build something from source. Unfortunately, after a great effort it was not to be. After downloading jds-cbe-1.6.2-src.tar, one should be able to run the cbe-install script and things will be happy.

The CBE appeared to build and install the first several tools correctly including v.1.9 and v.1.10 of AutoMake (or was it AutoConf ?), disregarding that they both already exist. When the script got to building: libtool-1.5.22 it demanded AutoMake-1.9a and some other weird tool (also v.1.9.a). If I went to the directory under $HOME/PACKAGES, found libtool-1.5.22 I could “configure, make, make install” just fine. However, the “cbe-install” script was still not happy and would never complete. No luck with the jds-cbe-1.6.2-src.tar either…

Install From Binaries

  1. (As stated elsewhere) “You don’t need root access for installing the CBE or building GNOME, but the build-user needs to have the ‘Software Installation’ profile for installing the packages that the CBE creates,”… Of course, giving yourself said permissions may require ROOT access (on a one-time basis). That said, from the desktop:
    - Click: System | Administration | Users & Groups
    - Select your userName and click: Properties
    - Click the 'User Profiles' Tab and check 'Software Installation'
    - Click 'OK' (twice).
  2. Install SunStudio Express from the IPS package manager. Building SFE packages requires a compiler and now’s a good time to grab it.
    - Select the '' repository
    - Select 'All Categories'
    - Search for: studio
    - Check and Install: sunstudioexpress
    - Search for: sfwhea
    - Check and Install: SUNWsfwhea
  3. Visit the OSD Download Center (Link #3) and grab the: jds-cbe-1.6.2-i386.tar.bz2 binary package.
    Warning: The _src_ does NOT build cleanly on OSol 2009.06, so for now don’t even waste your time!
  4. athena: 453$ bunzip2 jds-cbe-1.6.2-i386.tar.bz2
    athena: 454$ tar -xvf jds-cbe-1.6.2-i386.tar
    athena: 456$ cd jds-cbe-1.6.2
    athena: 459$ ./cbe-install
  5. Follow the scripts instructions, mostly you want the defaults.
    • Specifically confirm your compiler is: /usr/bin/cc
    • The install script will complain, as your compiler is NEWER than the script, and doesn’t provide the expected version-output. This is OK!
  6. Now you need to download the SFE Spec-Files, which as I understand it, are essentially header-files of meta-data for each SFE package. Thus when you tell the system to install one it has all the install info it needs on hand.

    athena: 460$ cd ~
    athena: 461$ svn co SFE
  7. At this point you will want to add to your ~/.bashrc file:
    PATH=$PATH:/opt/jdsbld/bin          # JDS-CBE   - packages we installed
  8. Now source the ~/.bashrc, and then run the in the /opt/jdsbld/bin …
    athena: 466$ source ~/.bashrc
    athena: 467$ . /opt/jdsbld/bin/

Congratulations! At this point you have installed the CBE, downloaded the SFE spec files from subversion, and configured your environment to start building SFE spec-file packages! Every time you want to install SFE packages you should run the second console line from ‘step 8’ above, and of course running the first line “source ~/.bashrc” will always revert you to your normal working shell-environment.

Installing a SFE Package

athena: 468$ . /opt/jdsbld/bin/
athena: 468$ pkgtool build --download SFEfoo.spec

Or, while not bullet-proof, you can often use the dependency-checking option.

pkgtool build --download SFEfoo.spec --autodeps

Other Approaches

Unknown to me, there was already a well written article to this effect. If you found my post unclear or unhelpful you may have better luck reading this: pkgbuild on OpenSolaris

As a final and entirely different method you may want to search for the sfe-bootstrap-latest script. Supposedly it is an all inclusive script to get you running. I believe it was originally published in THIS forum thread: sfe-bootstrap-latest script

Posted in 2009.06, OpenSolaris | Tagged , , , , , | 2 Comments

Configuring OpenSolaris: Adding IPS Repositories

3rd Party Repositories

If you’ve just installed OpenSolaris 2009.06 the only IPS repository on your list will be the default ‘OpenSolaris’ one. There are however, a few other reputable 3rd-party repositories who provide Solaris software packages which all new users should be familiar with!

Many of these have been around for some time, and have some intricate build/install infrastructures, which once configured, allow you to easily install packages on older versions of Solaris. With the new IPS system, hopefully those days will soon be a hazy memory. However, thse repositories are huge and they have only just begun porting their software-packages to OpenSolaris, and to IPS.

  • Sun Extras – Not really sure what is ‘extra about these but they are separate from the primary repository. To add this IPS repo you will have to follow the (easy) instructions on this page to add it along with the secure SUN encryption keys.
  • BlastWave – A popular 3rd party repository for solaris install packages.
  • SunFreeware – “Celebrating 15 Years as the #1 Site for Free Software Packages for Solaris.” They have many additional software packages ready to install into Solaris.
  • Solaris WebStack -Includes special extras for the Solaris AMP Webstack, including phpMyAdmin.

Installing the IPS Repos

  • Blastwave
  • SunFreeWare
  • WebStack

$ pfexec pkg set-authority -O Blastwave
$ pfexec pkg set-authority -O SunFreeware
$ pfexec pkg set-authority -O Webstack

Posted in 2009.06, OpenSolaris | Tagged , , , , | Comments Off on Configuring OpenSolaris: Adding IPS Repositories

Broken Dual Boot: Grub, OSol, WinXP


Reposting this to make it readable.
The original unformatted post is here:

The Story..

I tried to add OpenSolaris-SXCE-b103 as a dual-boot to an existing WindowsXP-Pro machine, in a single HDD configuration. Had trouble setting the partition table, and then GRUB did not correctly detect the NTFS partition. I *think* the partition table is intact, but GRUB refuses to boot the windows partition. How can I fix it?

Follows is a report of all the configurations, tests I’ve run, and results I’ve gotten. No idea what the next step is. Any insight is appreciated!

(Did quite a bit of googling but “Haven’t Felt Lucky”(tm) yet…)

Thanks for any help,

Steps Taken

  1. OSol Installer initially failed at the end of install-setup menus with the error:
    Error: Signal 11, type install-solaris to restart
    => I forgot to create an empty partition .. an error message to the effect would have helped.
  2. Used PartionMagic to resize the windows partition to 100GB of 250GB drive. Left remainingg space “unallocated”.
    => Solaris didn’t like that either, and wouldn’t let me select a drive or configure the partition table on the appropriate screen.
  3. PartitionMagic: created an “unformated partition” in the unallocated space.
  4. Fought with the Solaris partition manager nearly-accidently deleting the windows-partition before I got what I thought I wanted:
    • 100GB Windows
    • 75GB Solaris-SXCE
    • 75GB unused ( for future Indian: osol-0811 install)

=> Solaris installs and works
=> Grub has 2 Solaris entries and 1 for OS/2 … wtf?
=> Grub won’t boot the windows partition no matter what I try.

GRUB Configuration

GRUB menu.lst

#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris Express Community Edition snv_103 X86
findroot (pool_rpool,1,a)
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/$ISADIR/boot_archive
#---------------------END BOOTADM--------------------

#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris xVM
findroot (pool_rpool,1,a)
kernel$ /boot/$ISADIR/xen.gz
module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS
module$ /platform/i86pc/$ISADIR/boot_archive
#---------------------END BOOTADM--------------------

#---------- ADDED BY GRUB - WHAT IS THIS? (sp) ----------
title OS/2
rootnoverify (hd0,0)
chainloader +1
#--------------------- END 'WHAT IS THIS?' --------------------

#--------------------- WINDOWS --------------------
title Windows XP
root (hd1,0)
chainloader +1
#--------------------- END WINDOWS --------------------

Partition Table

PartionMagick now reads a single block and reports:
“Partition table error #108”

Current Partition Table:
(as reported by Ranish Partition Manager: V.2.44)

Start End
# Type Row FSType Cyl Head Sect Cyl Head Sect Size
0 MBR M B R 0 0 1 0 0 1 0
1 Pri Unused 0 0 2 0 254 63 8,032
2 Pri 1 Windows NT NTFS 1 0 1 12,748 253 63 102,398,278
3 Pri Unused 12,748 254 1 12,748 254 63 31
4 Pri 2 Unknown (0xBF) 12,749 0 1 21,575 254 63 70,902,877
5 Pri Unused 21,576 0 1 30,400 232 9 70,902,092

GRUB Boot – Test Results


Booting ‘OS/2’
rootnoverify (hd0,0)
chainloader +1
Error 13: Invalid or unsupported executable format
Press any key to contiue…

Notes: Pressing a key recycles to GRUB but the screen
is black&White with dotted white verticale lines …

TEST: Win #1

rootnoverify (hd0,0)
chainloader +1
Error 13: Invalid or unsupported executable format
Press any key to continue…

Notes: Pressing a key recycles to GRUB but the screen
is black&White with dotted white verticale lines …

TEST: Win #2

Booting command-list
root (hd0,0)
Filesystem type unknown, partition type 0x7
chainloader +1
Error 13: Invalid or unsupported executable format
Press any key to continue…

Notes: Pressing a key recycles to GRUB but the screen
is black&White with dotted white verticale lines …

TEST: Win #3

rootnoverify (hd0,1)
chainloader +1

Notes: This instantly reloads GRUB in full-color …
Apparently this is the address of GRUB…

TEST: Win #4

Booting ‘Windows XP’
rootnoverify (hd0,2)
chainloader +1
Error 22: No such partition
Press any Key…

Notes: Pressing a key recycles to GRUB but the screen
is black&White with dotted white verticale lines …

TEST: Win #5

Booting ‘Windows XP’
root (hd1,0)
Error 21: Selected disk does not exist:
Press any Key…

Notes: Clean restart of GRUB

Posted in Networking | Comments Off on Broken Dual Boot: Grub, OSol, WinXP

Build a Rackmount ZFS NAS (part 1)

This post is a draft-in-progress. Needed to share the info so here it is – in unfinished form.

I’m currently starting my own software company and needed fast, reliable storage on the network at an affordable price. I wanted RAID-5 or better, multiple gigabit Ethernet connections, 10,000k SATA or SAS drives, and a linux (or unix) platform. It also had to be rackmount but stylish-looking, preferbly black.I concluded the most economical option was to roll-my-own NAS using Sun Microsystems Solaris and ZFS filesystem with RAID-Z, a software raid solution.

Why Not Buy One?

There is a number of 2-4 drive RAID-0/1  products emerging on the retail scene but I wanted at least RAID-5 reliablity+performance. On the other end, enterprise stoarge starts close to $10,000 and sky-rockets from there… In the middle there is a narrow class of entry-level rack-mount NASs for around $2000. Attractive at first, these boxes offer nothing but compromise when you peal back the layers.

I nearly bought a Linksys-NAS only to discover a forum full of 2-year old unresolved critical firmware bugs. The Buffalo Terrastation Pro looks solid but gets mediocore benchmark-scores. Most such solutions offer a single ethernet-port, proprietary RAID implementations and firmware etc.  Your stuck with whichever operatingsystem the box offers, and locked into the network-protocals it supports. It gets dizzying after awhile.

Sun ZFS and RAID-Z

yadda, yadda, yadda…

The Chassis

2U Rackmount Server Chassis 8-SCSI Hot Swap
(temporary link).

So I ended up with this. By my own error I was expecting somthing with SAS/SATA connects; this has 80-pin SCA-SCSI harddrive connections with 68-pin SCSI to the host-controller. Turns out this is not the end of the world, and may work out better in fact.

Other Components

Component Make / Model Qty Price SubTotal
Chassis ??? 1 $150 $200 *
Motherboard SuperMicro X7SB4 1 $335 $335
CPU Intel Core-2-Duo 1 $145 $145
Cable 5 Plug 68-Pin SCSI 1 $16 $16
HDD for OS 80 Gig, SATA-300 Caviar or Barracuda 2 $44.99 $92
Sub-Total $787
Harddrives Seagate Cheeta 10k.6 147gig 4 $149 $628 *
Total $1427

(*) Some prices include tax or shipping in the sub-total.

Posted in OpenSolaris, ZFS | Comments Off on Build a Rackmount ZFS NAS (part 1)