Thursday Nov 12, 2009

Shuttle X50 vs. OpenSolaris

The X50 wasn't really a battle with OpenSolaris. I only really ran into one problem and that was easily worked around. After booting, select the VESA boot option from the grub menu. It doesn't identify the graphics processor. I booted using a 1GB USB memory stick and ran into no additional problems for installation.  I did preserve the Windows 7 installation by using the Windows disk manager. Note that the Windows 7 installation on the X50 uses two partitions and Solaris/grub identifies both as just "windows".  If you want to boot windows after the install, select the first windows partition.

Once in the installer, everything works fine and the install goes to completion.

The Device Driver Utility finds the following:

Image of Device Driver Utility output

Note that all devices have drivers associated with them.

The Ethernet and WiFi drivers both work fine as does the SATA and USB. The audio devices work properly as well.

The Touch Panel isn't currently supported by OpenSolaris. Note that the Touch Panel device is the same as I found in the Via VIPRO VP7710. Where there is a problem is the USB Camera. While the driver attaches, the utilities that know about cameras don't find one.

It is interesting that several COM ports and an ECP printer port are found. There are no connectors on the outside of the unit to support these. 

One remaining problem is the video. It works, but I haven't had the time to tweak the xorg.conf file and run the video at full resolution. This will be done eventually. It seems like it should work with the "intel" Xorg driver but I haven't found the magic settings yet.

All-in-all, this is a nice little system. Once the Intel video driver is working with it, it should do quite well at a number of tasks. Even without it, it works well and seems snappy enough considering the processors.

Wednesday Nov 11, 2009

Shuttle X50 All-in-One

I recently got my hands on a Shuttle X50 All-in-One PC. The X50 is a low-end desktop that takes up little room on a desk or it can be wall mounted. It is a nice looking unit with relatively basic features.

Shuttle X50



Intel® Atom™ 330 1.6GHz




Intel 945GC + ICH7


160GB SATA 2.5" HDD

Card Reader

Integrated 4-IN-1 Card Reader

Graphic Card

Integrated Intel GMA 950

Web Camera

Integrated 1.3M Pixel Web Camera


10/100/1000 Ethernet
LCD Panel
15.6" 16 :9 Wide Panel, 1366 x 768 pixels

Touch Screen

Single Touch




5.1 CH Audio,
2 x 2W Stereo Speakers


65W Power Adapter,
Input:100- 240V AC

Right Ports

4 in 1 Card Reader,
3 x USB port,
Audio Line-in,
Audio Line-out,
Microphone Input,
Gigabit LAN Port

Left Ports

Power-on Button,
Stylus Pen,
2 x USB Port,
LCD Buttons,
DC-input for Power Supply

Back Panel

1 x D-sub Port for an external monitor


15.4 x 12.8 x 1.4 Inches

The X50 came with Windows 7 installed. The next installment of this blog will cover OpenSolaris.

Shuttle X50 back view

The support on the back of the unit can fold up to be used as a carrying handle or folded fully down.  The handle can also be removed in order to mount the system on a wall.

USB connectors are on either side (two on the left and three on the right). The touch screen works fine under Windows 7. The touch is single touch only.

Next time. installing OpenSolaris and testing what works.

Thursday Sep 17, 2009

Another small system that could be fun to work with...

xpPhone is now taking preorders (possibly limited to Asia) on an AMD Super Mobile CPU based system (not sure what that is but likely in the Geode family) that could be fun to play with and get OpenSolaris running on it. A little short of RAM (only 512MB) but it will be available with SSD or HDD storate. This is a mobile phone system that comes with Windows XP.

Looking at the specs, etc. it looks a little like a Viliv S5 with physical keyboard. The keyboard slides out and the top is quite clean. With WiFi, FSM/GPRS/EDGE/WCDMA CDMA/CMDA2000, GPS, camera, VGA out, and Bluetooth, it outdoes the Viliv on options.

Anyone want to take this on :-)

An article about it is available at: and the manufacturers site is

Thursday Sep 03, 2009

Drupal - Part Two

Designing a good website is a lot of work. Keep it Simple is always good advice. Also, take things one at a time and make sure they work before going on to the next feature. In all cases, you should think carefully about what you want and how you might want to achieve it. OpenSolaris plus Drupal can make this process a bit simpler and easier to recover from mistakes. The ZFS snapshot mechanism can save the current state of your configuration and let you go back to a previous, working version, if you do something wrong. Drupal usually can let you undo things, but if you don't remember what you did, the snapshot makes it easy to recover.

If you are looking for more information on how to do things with Drupal, there are a number of good books on the subject. The series by Packt Publishing have received good reviews. There are others available as well.

You should also register on the Drupal site so that you can post to the forums. There is also a security list that will let you know when a security problem has been found that you might want to fix on your site. 

Some will want to jump in and make the site look better, but sometimes it is best to get it working with the necessary functionality and change the theme later. That is one of the advantages of the Drupal themeing mechanism. You can change themes at any time and the website gets a new look but the underlying functionality is going to continue to work.  The default theme, Garland, is plain but functional. Work on some of the other features while thinking about what you might want it to look like. Then explore the available themes that you can start with. There are quite a few to choose from.

What are the basic features you might need? You should list these and then see which Drupal modules might meet your needs. Take some care here since there are usually multiple modules that might meet your needs, but some may not work on Drupal 6 and others may work but are no longer supported. This is usually fairly clear in the module description.

Are there third-party applications that you might want to use? A number may already be integrated into Drupal. One of my favorites is Gallery 2. This application has been integrated into Drupal such that it appears to be part of the Drupal system. Google maps is another that can be easily used.

Drupal's built-in forum system is adequate for a lot of users, but you may want something more elaborate. There are others that have integration modules available for Drupal as well. The same is true for blog support. If you need a website with different sections that have different capabilities, you might want to explore Organic Groups. Make sure you understand how they work before plunging in since OG can be confusing.

When downloading new modules, untar the file into sites/all/modules in order to keep add-on modules separate from the core modules. Once a module is installed, you can go to the Site Building/Modules section of the Administration section of your website. First you enable it and then you can go to the administer by module page to configure the module.

Along with the various modules available, there is a full implementation of roles for users with access control based on the role(s) a user is assigned to. The most useful feature here is that you can delegate the ability to post text to some users and not allow others to even see it.

What does all of this have to do with small systems? It doesn't really take much of a server to be able to support Drupal unless you are going to have a very large number of active users. Some of the small servers available today are much more powerful than some of the big servers of only a year or two ago. Memory is usually the limiting factor, so choose a system that has 2 or more gigabyte address space for such a server.

Back to themes. The default themes in Drupal are functional, if not the most exciting. They all pretty much let you change the title of the website, provide a slogan and/or mission statement and most let you place your logo and favicon on the site as well. Themes, like modules, should be installed in the site specific directory.  Themes go in sites/all/themes.  Some interesting themes that are availbable are Zen (an easily customized and modifed theme), Acquia Marina, Acquia Slate, Abarre, and quite a few others. Once installed on your system, you can easily see how your site will look once you configure the theme. It is also possible to allow users to choose which of a selection of themes they will see when logged in.

Wednesday Sep 02, 2009

Building small server appliances: Drupal

This is the start of a series of articles about building some small dedicated servers for home use.

This first article discusses Drupal, an OpenSource Content Management System (CMS). You might ask "why use a CMS for a web server?"  A CMS will make life simpler, especially if you are providing a variety of services. Even for home use, a CMS can be quite useful. For one, it can split out sections of your site for different family members and provide reasonable levels of security while doing so. For a small office, it becomes even more useful since a lot of different services are usually already integrated into them and that makes it easier to get what you want.

Why Drupal? That's the system I know best. It has regularly been named one of the "Best OpenSource CMS" systems. There are others, Joomla comes to mind, but Drupal is the one I know. The source, documentation and other resources are available at Drupal.Org. Drupal may be overkill for what you need, so do read about it before plunging in.

What can Drupal provide?

Out of the box, so to speak, Drupal provides an AMP based CMS system with bare bones functionality. Drupal's strength comes in its many plugin extensions and the extensive set of "themes" that are available.  Basic functionality includes:

Before installing Drupal, install the required software. Drupal needs the "AMP" stack (Apache, MySQL and PHP). This can be done with
pfexec pkg install amp
if you have install priviledges.

Installing Drupal is straightforward and well documented. Download the current release of Drupal 6 (this is the preferred version for new implementations). You can untar the package and then move the contents of the package into /var/apache2/2.2/htdocs/ to create the Drupal basic configuration.
Don't enable Apache yet.

Next, read the INSTALL.mysql file in htdocs. This tells you about setting up MySQL. The basic sequence is:

  • running as mysql, "mysql_install_db" to get the basic configuration setup

  • enable the mysql service  (need root priviledge -- svcadm enable mysql)

  • setup the root user of the mysql daemon following the instructions in INSTALL.mysql (running as mysql)

    • mysqladmin -u root password 'your root mysql password'

    • mysqladmin -u root -h <hostname> password 'your root mysql password'

    • mysqladmin -u root -p create <database-for-your-site>  (use the password defined above)

    • mysql -u root -p
      ON database-for-your-site.\*
      TO 'drupaldatabaseuser'@'localhost' IDENTIFIED BY 'password';
      (the drupaldatabaseuser and password are the identifiers you will use to let Drupal access mysql

  • Now as a priviledged user, you can enable Apache2 (svcadm enable apache22)

  • In /var/apache2/2.2/htdocs/sites/default, do the following:

    • cp default.settings.php to settings.php

    • chmod 755 settings.php

    • mkdir files

    • chmod 755 files

At this point,you are now ready to do the rest of the Drupal setup through the Drupal user interface via your favorite browser. You will follow the instructions and be guided through the process. Note that Drupal will tell you when to change the permissions on settings.php in order to make a secure implementation.  All the files should be owned by the user that Apache runs as. The default is "webservd".

You are now ready to configure the functionality of your website. I'll cover this a bit in the next installment, but you should go and read some of the documentation on the Drupal.ORG website. The "Getting Started" guide, following the Drupal 6 paths will give a good overview of what you can do with your website. You will also want to give some thought to the look you might want.

Monday Aug 31, 2009

Installing OpenSolaris on the VB8001

After getting the VB8001 board installed in the M300-LCD chassis, it is time to bring up OpenSolaris (or at least try).

Attach a display, keyboard, mouse and CD/DVD drive to the unit, install the OpenSolaris 2009.06 LiveCD and power up the system. On the initial try, the system panics and reboots. After a little investigation, I found that OpenSolaris doesn't correctly interpret the Nano processor in 64-bit mode as an Intel compatible device.  It assumes AMD and promptly does all the wrong things.

Next attempt is to boot in 32-bit mode. When you get to the grub menu, edit the boot commands to remove the $ISADIR/ from the paths. This "almost" works.  The system gets to the login prompt and then has problems.  A little more digging -- OpenSolaris doesn't have the right drivers for the Xorg system for the graphics controller.

This is getting close.  Try again with 32-bit mode on the VESA graphics grub entry.  Success!

The system is up and running. After launching the Device Driver Utility, I see that there isn't a driver delivered with OpenSolaris for the built-in Ethernet controller, but the utility does tell me where to go to find one. The Ethernet controller is a Via VT6130. While downloading the driver, I started installing the system since the network isn't needed for that at this stage.

Back to the Ethernet driver.  The appropriate driver can be found on Masayuki Murayama's website for Solaris NIC drivers ( Download the vel 2.6.4 driver and install it. I used "pciex1106,3119" as the alias to bind the driver to. After that, the network coudl be configured and I had a functional system to start working with.

In a later blog entry, I'll talk about what else I discover with this system and what works and doesn't work.

Friday Aug 28, 2009

Why Small?

For my own systems at home, I have gone from wanting multiple small servers to one big honking server. With the current generation of small, embedded style systems, I'm moving back into the small systems camp. While there are some system administration advantages of using a bigger system with multiple zones to do the work, multiple small systems provide the added redundancy that I want for the websites I run. The selection of such small systems has gotten to be quite good and a lot of them adequately support OpenSolaris.

A short digression. These low power systems aren't just for small applications. Dell has announced the XS11-VX8 aka "Fortuna" server. It will provide up to 12 Via Nano based servers per 2U rack unit or 142 servers in a standard 42U rack. More information can be found at Fortuna. Depending on what the price is when released, this could be an interesting approach for ISPs as well as the HPC market it is aimed at.

Back to "why small".  Small systems can be very low power, quiet (especially fanless systems), and not take up very much space while providing more than adequate performance for a very large audience. Customized with specific applications, these small systems can be used more as appliances than general computers.

OpenSolaris can be used for a number of appliance type applications already.

  • For the home or small office, an OpenSolaris based NAS (Network Attached Storage) server can provide the required functionality while not using large amounts of power or generating excess heat. The ZFS file system allows for very easy storage expansion without having to re-layout file systems as you grow.

  • A network router based on OpenSolaris would provide a lot of functionality and reliability while fitting into a relatively small form factor box. Perhaps not as inexpensive as some of the ARM based systems,. but still viable. The OpenSolaris ARM port may someday make it viable to use OpenSolaris appliances on a wider range of small systems.

  • Using the Asterisk Open Source PBX software, OpenSolaris makes a nice Voice-Over-IP solution. You don't need a very big system to support most home or small office uses.

Over time, I'll review some appliance type software packages that can run nicely on OpenSolaris running on a small system. This has been just an introduction to why I think small systems are interesting and may make sense for a lot of people.  Besides being really small, some of these systems are just plain cute.

Thursday Aug 27, 2009

Via VB8001 System Board

The Via VB8001 system board was Via's first Via Nano based board. Subsequently, the VB8002 has been released. The board's specification includes:

  •  1.6MHZ Via Nano Processor

  • Via Chrome9 graphics

  • 1 PCI Express slot

  • 1 Mini-PCI slot

  • 1 UltraDMA ATA connector

  • 6 USB ports (2 USB 2.0)

  • 2 SATA connectors

  • 2 Fan connectors

  • Via XC700M2 digital media chipset

  • 1 GB RAM (up to 4GB)

  • 1 Gbit Ethernet

  • 1 Serial port

There are other features that may be of use in some applications such as FIR (IrDA 1.0),  CIR and SMBs connector.

I'm using the VB8001 board in a Mini-Box M300-LCD case. The M300-LCD box takes a Mini-ITX board. In order to use the VB8001 in this box, it is necessary to have a cable that converts from the small USB pin headers to the slightly larger connectors that connect the front panel of the M300 to USB. Also, if you need to use a PCI Express card, a riser card is needed.

The Via Nano is Via's entry into the low power 64-bit x86 market. It is similar to some of the Intel Atom line of processors but has numerous features to increase performance. While most of the perforrmance features are transparent to the user and just work with OpenSolaris, there are a few that it would be nice to get OpenSolaris support for such as hardware cryptographic instructions and hardware random number generator.

The special features of the Mini-Box M300-LCD include an integrated USB based front panel that has buttons and an LCD display, ability to support up to two disk drives, and an integrated memory card slot. The combined system makes a nice looking unit for set-top or other appliance level device.

The VB8002 is another Nano based Mini-ITX board, but it is designed to support multiple types of  media.  It includes an HDTV encoder and support for DVI and SVideo. 

Next time: Installing OpenSolaris on the VB8001

Wednesday Aug 26, 2009

A simple kiosk

The Via VIPRO VP7710 can be configured as a kiosk under OpenSolaris. A simplistic approach that autoboots into kiosk mode can be done by following a few simple steps. For this example, I'm using Opera to create a browser based kiosk. I'm using Opera only because that is what I know best. Similar things can be done with other browsers.

After creating the non-root user account that the kiosk should be run as (I'm using user "kiosk" for these examples), download and install Opera for Solaris on x86 from the OpenSolaris "contrib" repository.

Once the user and Opera are installed, create a startup script that will start Opera with the desired kiosk modes enabled. A script that starts opera as:

opera -kioskmode

is usually sufficient. The Opera documentation and support website have a lot of details on all of the options.

Use gdmsetup to tell Solaris to autologin "kiosk" as the default user after some number of seconds. Then use the System -> Preferences -> Sessions application to add your kiosk script to the applications to startup on login. You want to use a couple of seconds delay at startup on the autologin in order to provide a way to do maintenance on the system. Alternatively, you can use ssh to access the system.

This sets up enough to show that this mode can be done relatively simply. When deploying a real kiosk, it will be necessary to tighten up the security in other places to prevent access to the system itself.

The only thing really missing to fully support the kiosk mode is support for touch screens in the Solaris HID driver. Some touch screens behave more like a mouse and would work as is.

Tuesday Aug 25, 2009

Intel Atom Family of Processors

I've recently received a couple of questions about the systems I've been talking about that revolve around the Intel Atom family. Not all Atom processors are 64-bit.  In particular, the Z-series of Atoms is only IA32. Basic info on the various series of Atom processors:

 Atom Series
 Architecture  Multi-processor
 Z5 (540, 530, 520, 510, 500)
 hyperthreading (2)
 N270 IA32
 hyperthreading (2)
 300 Series
IA32/Intel 64
dual core
 200 Series
IA32/Intel 64
hyperthreading (2)

 The Intel website has a good comparison chart at

All of the Atom processors are relatively low wattage and can be used in a variety of system types. 

Viliv S5

I've recently had some success in getting OpenSolaris installed on a Viliv S5 (

Viliv S5

The above is a picture of the Viliv S5. The unit does not come with a keyboard. The native Windows X8 has a virtual keyboard. For installation purposes, I used a USB keyboard.

The specs on the system:
- Intel Atom 1.33GHz (Z520)
- Display: 4.8in touch display (1024 by 600)
- 60GB HDD 1.8"
- WLAN 802.11b/g
- Bluetooth 2.0
- GPS (Sirf III)
- Audio
- USB link
- Video Out (includes TV)
Dimensions are : 6in by 3.3in by .96in
Weight : .96 pound

Installing OpenSolaris on this unit hits the same USB issue that was found on the Fit-PC 2. You need to use a USB2.0 hub between the S5 and any USB1.1 devices. Using the 200906 release, it boots and displays fine on the 4.8in display. You do need a keyboard and mouse to compelete the installation.

From the above image, you can see the OpenSolaris login page.

Currently there are some other devices that are not supported. The WiFI device appears to be directly on the USB 1.1 bus so isn't visible. Also, the audio doesn't work.

Once there is support for touchpads in OpenSolaris and the USB issue is resolved, this could be a very interesting platform for Solaris.

Tuesday Aug 11, 2009

Fit-PC 2 vs. OpenSolaris

After unpacking the Fit-PC 2 and adding keyboard, mouse and DVD drive via USB, I attempted to install OpenSolaris. This first attempt met with failure. The video didn't come up and the keyboard didn't work. I tried a few things but noticed that there was always an error message about the "uhci" driver failing to attach to a port. After filing a bug on this and getting come hints to try just using USB 2.0 devices (uhci is the USB 1.1 controller), I used a USB 2.0 hub between the Fit-PC 2 and the keyboard.  Since the video didn't work, I used the prototype text based installer (found at and was successfully able to get OpenSolaris installed.

It is important that once you get the system installed that you reboot into a text only mode and disable gdm. This can be done by runing "svcadm disable gdm". This will keep Xorg from coming up.

Once up, you can use the standard pkg command to install additional software or update the system. It is also possible to login from a remote system via ssh and redirect graphic utilities if you prefer them.

I need to do a bit more investigating on the video issue. There also appears to be a few other issues:

  • if you run "scanpci" ths system hangs

  • no support for the built-in RaLink WiFi device

  • the infrared device appears to be on a USB 1.1 bus so isn't visible

  • both uhci controllers appear with the "Misconfigured" tag when the Device Driver Utility finds them

A correction on the previous blog entry. The Ethernet is a Realtek Gigibit controller. It uses the "rge" driver.

The issues with the uhci driver and the system appear to be generic to the chipset used for the Intel Z5x0 series of Atom processors. It has occurred with a couple of different systems so far. I will be poking at this problem a bit more as well.

Monday Aug 10, 2009

The "Fit-PC 2"

I recently got my hands on a Fit-PC 2. This is a very small footprint, fanless system. Specifications are:

  • Width: 4.5in 

  • Height: 1in 

  • Depth: 4in 

  • Processor: Intel Atom Z530 @ 1.6GHZ 

  • RAM: 1GB 

  • Disk: 150GB 

  • Ethernet 

  • WiFi 

  • 6 USB ports 

  • SD Card slot 

  • DVI port 

Other than disk drive, there are no other expansion options. 1GB is the maximum RAM. This device could make a nice thin client or embedded application processor.

Now for some images:

Image of a FitPC

Note the size. This is quite a small system for all of its features.

 This second picture is a continuation of showing the overall size.

Height view

As you can see from this picture, the overall dimensions are quite small. In spite of its small size, the Fit-PC 2 is filled with features. You can see the WiFi antenna. OpenSolaris doesn't currently have support for the RaLink WiFi device that is built into the system.

You can also see the two USB ports on the front of the system. These use the mini-USB connectors. The three LEDs on the top right of the front edge of the box show disk, WiFi and power, in that order. Also on the front panel is an SD Card slot and in infrared device (between the SD Card and USB connectors). On the left side of the front is the power button.

Moving to the back of the unit:

The WiFi antenna is visible as are the Ethernet (10/100), four standard USB connectors and a DVI connector. The unit uses a 12V DC power supply.

Next installment will discuss installing OpenSolaris on the Fit-PC2.

Sunday Apr 05, 2009

Some additional VIPRO VP7710 notes

With some additional testing and tweaking, the video problem seems to have been resolved. The issue apparently was that the BIOS set the video memory to 64MB and upping it to 128MB cured the problem.

I should have mentioned up front that the unit doesn't come with the external power adapter. You need to order that separately. It needs a 19V DC unit.

There are some options available. The unit I have is the 1GHz unit. The 1.6 GHz ULV version wasn't available when I ordered. The ULV version sounds like the best option for fanless units. There is also a Via WiFi (USB) add on that I didn't get. WiFi isn't needed in the application I want to use the Vipro in. 

The touch pad is a USB device from eGalax, Inc.  "USB TouchController"

It would be nice to be able to put more than 1GB of RAM in the system, but for a dedicated application system, it doesn't really cause a problem. The methods used by others to reduce the kernel memory footprint can help if more user process RAM is needed.

I should also note that the unit supports both  IDE and SATA hard drives plus has a CF interface. It looks like the CF is via USB, but I haven't verified that. I'll be testing that next week.

So far, it appears to be a nice little unit. I'll post some updates when I've had more time to use the system.


Friday Apr 03, 2009

VP7710 vs OpenSolaris

Installing OpenSolaris is a straightforward process.  For my test purposes, I installed from an OpenSolaris 2008.11 LiveCD. 

The first problem hit is that the OpenSolaris display driver doesn't support the built-in LCD display. I worked around that by attaching an external monitor to the VGA port on the bottom edge of the unit. This let me get to the next problem.

The second problem was with the internal disk drive. The OpenSolaris installer appeared to be confused with the pre-formatted NTFS drive. Not sure why. Since I wasn't going to use the drive in that configuration, I repartitioned the drive to have a Solaris partition and then  continued and installed with a ZFS root.

The third problem I hit was the lack of an Ethernet device driver for the built-in Ethernet controller. If you run the Device Driver Utility, it conveniently tells you where to go to get a third-party driver that supports the controller. This can be obtained while waiting for OpenSolaris to finish installing. Once the "vel" driver is installed, you have a functioning system on the network.

The next problem I had to resolve was the lack of display on the internal LCD panel. After a bit of research on the "openchrome" X11 driver, I found that it was necessary to set the "VBEModes" to "true" in the /etc/X11/xorg.conf file and to add a

Modes    "800x600" 

to each Subsection "Display" entries in the xorg.conf file. This brings up a display that fits on the screen. Without the entry, the X server comes up in 1024x768 mode without panning.  The display does still have some issues that I haven't resolved yet. It frequently comes up with lines on the display that shouldn't be there. See the following image: Image showing an issue with the openchrome driver

The last problem, so far, is that there currently isn't any support for the eGalax touch panel in OpenSolaris. This makes it less useful for a kiosk application, but enough is working at present to allow developing applications. 

More later,






Discusses the use of OpenSolaris in small systems. Includes the use of OpenSolaris in appliances for small business and consumer products. Reviews of system boards, small systems and interesting applications will also be covered.


« April 2014