Solaris 10 on Asus P5Q-E
The P5Q-E + Nvidia 9800GT + Q9550 cpu handles correctly the Solaris 10 (September 2009 version) installation.
Or better said, Solaris supports almost completely the P5Q-E motherboard and the Nvidia graphic card. The only exception is the two Gigabit ethernet ports, Marvell 88E8001, and Marvell 88E8056; but its drivers are easily available. The hardware I am using is:
- Cpu: Q9550, no overclocked (at least not at this moment).
- Motherboard: Asus P5Q-E
- Memory: 8Gb (4 Corsair PC2-1066).
- Graphic card: 9800GT 512Mb (Sparkle, passive cooling).
- Hard disk: Velociraptor 10000rpm, 300Gb
- Cd drive: LG, Dvd +-rw.
- Plus a hard drive rack to easily change hard disks.
The audio also works directly out of the box. I haven't tried the digital output, but I am not really interested on making this installation a media player, anyway.
My current installation, through, is not 100% perfect. I am unable to shut it down completely (well, not always); I will investigate a bit further here, as I am afraid the problem is on the LAN drivers. However, this is not a severe problem -not in my scale, anyway-, so I still consider P5Q-E a perfect target for a Solaris installation.
I use this motherboard to boot, among other operative systems, Os X. For this, I had to patch the BIOS, as explained in this post. Whether this patch has helped me to successfully install Solaris, or whether it is hindering my efforts -like on the shutdown problem-, will remain without answer, as I am not ready to repatch (unpatch?) the BIOS. However, I am pretty sure that the BIOS patch is not important at all. The BIOS settings themselves could be, however, more determinant on the installation, so please check here the settings that I have used
Preparations
Hard disk
I will use a single hard disk, with a single partition for the Solaris partition.
This is not at all mandatory: it is not a major problem to use a partition on other dis. It is, simply, that I can too easily swap hard drives using an external hot swapper, and Solaris is not that friendly to multiple partitions (after installing it in a separate primary partition, playing with the other partitions gives always a feeling of fragility)
Please note that I have also some additional security requirements that make unsuitable sharing the Solaris partition with a Windows partition.
Anyway, it you rather use a hard disk with existing OS installations, Solaris will require:
- a primary (and active) partition
- Solaris will have its own Grub install. If an existing Linux installation exists, it will not be possible to start Solaris from the existing Grub/Grub2 installation (not even considering Lilo here)
Understanding Solaris partitioning
Solaris has the normal hard disk partitioning normally used in Windows, Os X, Linux. In Linux, that is the information shown when fdisk or cfdisk are executed. Likewise, is the information provided by Os X' Disk Utility under the Partition tab.
In X systems, each disk partition can be used to mount different portions of the filesystem. Similar situation in Windows, where each disk partition can hold a filesystem.
Solaris requires the same disk partitioning. But then, on the space allocated to it, it defines a second partitioning layout, and the mount points are done on this second layout. In Solaris notation, this is called, respectively, fdisk partitions and disk slices.
Why is this relevant on the preparations? Under linux it is recommended to allocate a separate partition as swap space. This is not needed under Solaris: allocate the whole required space and then assign a disk slice in that partition as swap space.
Obtain the LAN drivers
I am not very sure that many people will use Solaris as the only home computer. Probably, there are other computers at hand to download the LAN drivers at any moment, and therefore, this step could be executed later on.
The drivers can be obtained from:
- 88E8001: 64bit yukonx driver at http://www.marvell.com/drivers/
- 88E8056: myk driver : the current version is myk-2.6.9.tar.gz
I downloaded the myk driver and stored it into a USB stick, FAT32 formatted
Installation
Solaris 10 installation
I tried installing Solaris (edition September 2009) from a USB stick, but I didn't succeed (I used several tools, including unetbootin). So I went the prescribed way, burning the Solaris iso into a dvd, and booting then from the dvd
The installation is started, and is mostly automatized. Some questions are requested, like the host name, root password, time and zones, whether to enable remote services (yes) and which packages to install (I went for full installation: entire software group plus OEM).
My hard disk had been on use previously, and it contained 4 partitions; the solaris installation tries to preserve those partitions, which, in this case, was not the desired outcome. To solve this, it is needed to start the terminal (press the right mouse button on the background to start it). In the terminal, trigger the format command, then select fdisk, delete the current partitions and create a single one, of type Solaris2, covering the whole hard disk. Then, quit the format command and then reboot
With one single partition, the installation script proposes to use the whole disk for Solaris, although the disk slice sizes didn't match my requirements. I intend to install Oracle on the root partition, and Oracle requires a nice swap size, so I decided the following disk slicing (sizes in Megabytes):
/ : 125000 swap: 8192 /export/home: 343700
This looks, on my 500Gb (466Gb when counted properly) harddisk, as:
Total disk cylinders available: 60798 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 root wm 1046 - 16981 122.08GB (15936/0/0) 256011840 1 swap wu 1 - 1045 8.01GB (1045/0/0) 16787925 2 backup wm 0 - 60797 465.74GB (60798/0/0) 976719870 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 home wm 16982 - 60797 335.65GB (43816/0/0) 703904040 8 boot wu 0 - 0 7.84MB (1/0/0) 16065 9 unassigned wm 0 0 (0/0/0) 0
After this, the installation script will complete in about 35 minutes. Note that this installation, in opposition to most Linux distributions, will have create a single user, root.
Installing the myk driver
It is now the time to introduce the USB stick with the myk driver obtained before: it will appear in the desktop (in my case, as unnamed_rmdisk). Open a terminal window and do:
cd /tmp cp /rmdisk/unnamed_rmdisk/myk-2.6.9.tar.gz . gunzip myk-2.6.9.tar.gz tar xvf myk-2.6.9 cd myk-2.6.9
Note that there is a README.txt file in this directory; follow its instructions, which in summary are:
rm obj Makefile ln -s Makefile.amd64_gcc Makefile ln -s amd64 obj /usr/ccs/bin/make /usr/ccs/bin/make install ./addrv.sh devfsadm -i myk touch /etc/hostname.myk0
If the IP address is obtained via DHCP, do also:
touch /etc/dhcp.myk0
And now, reboot the machine.
Customize root
The information coming now is extracted from Blastwave in 5 steps, starting precisely by the last step
As said above, there is so far one single user, root. The main problem with this is -never minding the problems that this can cause into your X mind-, that the root home directory is /, so the root directory is too easily polluted. For example, there will be already a /Desktop and /Documents directories. To assign a /root home directory:
mkdir /root chmod 700 /root chown root:root /root
Now, edit /etc/passwd and edit the line for root:
root:x:0:0:Super-User:/:/sbin/sh
into
root:x:0:0:Super-User:/root:/bin/bash
(This also sets bash as the shell)
Again, reboot the machine. After rebooting, it is safe to delete /Desktop and /Documents directories.
Security updates
Now, keeping the system updated -at security level- is the first step: launch applications/utilities/update manager, register at Sun and get ready to apply updates (without a service plan number).
Additional software / packages
Firefox 3.6
Solaris 10 (5/09) is distributed with firefox 2.0.0.19. (the first firefox 2 distribution was created the 19th December 2006, and the latest, 2.0.0.20, the 18th December 2008). Updating to the latest, 3.6, makes definitely sense.
As of today, the latest distributed firefox package is 3.6rc2, available from the mozilla website. In this page, download the firefox-3.6.en-US.solaris-10-fcs-i386-pkg.bz2 file, and the associated md5sum (or whichever is the latest available version).
To check the md5sum, compare the contents of the md5sum to the output of the following command:
digest -a md5 firefox-3.6.en-US.solaris-10-fcs-i386-pkg.bz2
If the md5 sum matches, install it with:
bunzip2 firefox-3.6.en-US.solaris-10-fcs-i386-pkg.bz2 pkgadd -d firefox-3.6.en-US.solaris-10-fcs-i386-pkg
This package is installed under /opt/sfw/bin/firefox. To use it as default firefox installation, do:
cd /usr/bin ln -sf /opt/sfw/bin/firefox /usr/bin/firefox
Java 6
Solaris 10 comes definitely with the JDK installed, but it is the previous release, JDK 5. As of today, the latest version is Java 6 update 18, obviously available for Solaris.
Download, from the Java website, both, the Solaris x86 AND Solaris x64 installations.
cd /usr/jdk sh ~/Desktop/jdk-6u18-solaris-i586.sh sh ~/Desktop/jdk-6u18-solaris-x64.sh rm latest ln -sf jdk1.6.0_18 latest cd .. rm java ln -sf jdk/latest java
Please note that the last two lines with make Java 6 update 18 the default used version
Eclipse Galileo
Solaris does not include any Java IDE -well, it t includes jEdit-. Probably Netbeans would make much more sense for a Solaris platform, but I favor Eclipse. The Solaris distribution of Eclipse is not available in the general downloads page, although still distributed in the Eclipse website: download the Eclipse SDK and, to install it under /opt, do:
cd /opt unzip ~/Desktop/eclipse-SDK-3.5-solaris-gtk-x86.zip
Blastwave
When packages are needed, the best is to default to Blastwave. The information on how to set it up is reachable in its own website. In summary:
pkgadd -d http://blastwave.network.com/csw/pkgutil_`/sbin/uname -p`.pkg /opt/csw/bin/pkgutil --catalog /opt/csw/bin/pkgutil --install gnupg textutils /opt/csw/bin/gpg --keyserver pgp.mit.edu --recv-keys A1999E90 /opt/csw/bin/gpg --edit-key A1999E90 Command> Trust Then enter 5 (I trust ultimately), and confirm it. Command> Quit
Now, edit the file /etc/opt/csw/pkgutil.conf and uncomment the lines:
use_gpg=true use_md5=true
Now:
/opt/csw/bin/pkgutil --catalog
Done, now it is easy to install new packages. Even in this repository, packages are not the latest. For example, as of today (15th February 2009), eclipse is only available as 3.3.2 version, and firefox's latest is 2.0.0.18. More current packages are available in OpenCSW.
It is now convenient to add some paths to the default PATH. Edit /etc/default/login and include in PATH and SUPATH:
PATH=/opt/csw/bin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/usr/ccs/bin DUPATH=/opt/csw/bin:/usr/sbin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/usr/ccs/bin
Sudo
Sudo can now be installed via Blastwave:
/opt/csw/bin/pkgutil -i sudo
Now, edit /opt/csw/etc/sudoers and uncomment the line
%wheel ALL=(ALL) SETENV: ALL
Any user can now be sudoed if it is included in the wheel group. This group does not exist, let's create it:
groupadd wheel
It is now a good moment to create some default user, for example:
useradd -m -d /export/home/larry -s /bin/bash larry passwd larry
[enter the new password]
This user can be included, at creation or later, in any group. To add it to the wheel group:
usermod -G wheel larry