Sunday Dec 16, 2007

Playing audio CD in Solaris

Different ways of playing audio CD in Solaris 

 \* Solaris Express and SXDE  by default ships

        - rhythmbox  (/usr/bin/rhythmbox) for organizing and playing audio CD's

       -  sound-juicer (/usr/bin/sound-juicer) for playing audio CD's

If you wish to play audio CD's from Xmms . Follow the below steps .

\*) install Xmms from
\*) start Xmms right click and goto Options -> Preferences

\* ) Select Solaris audio plugin (


\*) Click on CD Audio Player plugin and then click on Configure button

\*) Make sure you enter the correct information for  Device:  and to a vaild Directory:
    hint: to find the correct CD/DVD drive info you can run "rmformat" command

\*) Insert the CD into drive and click on add files and browse the directory which you have pointed in previous step.

 Enjoy music !!!

Wednesday Sep 12, 2007

Projector configuration for intel i945 ( i810 ) driver for Solaris

Recently installed Solaris Express build 70 in couple of laptops which had Intel 945 chipsets . So enabled compiz-fusion on them with the help of Erwann's  Compiz-fusion packages . Next step was to configure display for projector. Below procedure should work for Intel chipsets which uses i945 (i810) driver.  To make laptop projector aware add the following lines in /etc/X11/xorg.conf in Section "Device" . Note that you need to modify BusID for your Laptop / Desktop requirement.

BusID     "PCI:0:2:0"  # modify it for your laptop / desktop
Option    "Clone" "true"
Option    "MonitorLayout" "CRT,LFP"


Sample section


Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "NoAccel"                # [<bool>]
        #Option     "SWcursor"               # [<bool>]
        #Option     "ColorKey"               # <i>
        #Option     "CacheLines"             # <i>
        #Option     "Dac6Bit"                # [<bool>]
        #Option     "DRI"                    # [<bool>]
        #Option     "NoDDC"                  # [<bool>]
        #Option     "ShowCache"              # [<bool>]
        #Option     "XvMCSurfaces"           # <i>
        #Option     "PageFlip"               # [<bool>]
    Identifier  "Card0"
    Driver      "i810"
    VendorName  "Intel Corporation"
    BoardName   "Mobile 945GM/GMS/940GML Express Integrated Graphics Controller"
    BusID       "PCI:0:2:0"
    BusID       "PCI:0:2:0"
    Option    "Clone" "true"
    Option  "MonitorLayout" "CRT,LFP"


You can have a look at the sample xorg.conf from Solaris Express build 70 . I have tested with  Intel 945 GM chipset  .


Sunday Sep 09, 2007

X.Org 7.3 with DTrace support released

X.Org 7.3 has been released last week. One of the interesting feature is DTrace support for X server. When run under OpenSolaris platform it allows detailed accounting of operations inside the X server. For more information visit Alan Coopersmith's webpage.


Thursday Sep 06, 2007

Belenix featured in

Belenix is featured in main page of

<<snip from>>

 Since the nice folks over at the makers of Belenix (an OpenSolaris distribution) have decided to use us to distribute their torrents, and their trackers were failing under the load, I've decided to upload their torrent to with us listed as an additional tracker, hopefully this will help out the folks at

Anyway, I've been nice enough to 'donate' one of our machines ( as a seed box and one of my personal machines as well, let's hope that it helps get this distro out into the public eye.

More info


Sunday Jul 15, 2007

Mount NTFS / Ext2 / Ext3 / FAT 16 / FAT 32 in Solaris

I often get queries about mounting NTFS / Ext2 / Ext3 /  FAT 16 /  FAT 32 partions in Solaris .  Follow the below steps . Note that its only read-only support for NTFS / Ext2 / Ext3 .

 \* Download packages

   Note these are packages for x86 Solaris .

 \* unzip the packages and install it

root~#gzcat FSWpart.tar.gz | tar xvf -

root~#gzcat FSWfsmisc.tar.gz | tar xvf -

root~#pkgadd -d . FSWpart

root~#pkgadd -d . FSWfsmisc

 \* Now run the prtpart tool


It would result in following output

Fdisk information for device /dev/rdsk/c1d0p0

Block Size : 512 bytes
Controller : ide
Disk       : cmdk
Capacity   : 74 GB

#  start block  # nblocks    startCylSecHd endCylSecHd   OSType
 1: 0000000063   0006152832     0/ 1/ 1    7e/7f/fe      Diagnostic
 2: 0006152895   0025173855    7f/41/ 0    ff/ff/fe      WIN95 FAT32(LBA)
 3: 0031328640   0052432128    ff/ff/fe    ff/ff/fe      Solaris x86
 4: 0083760830   0072535555    ff/ff/fe    ff/ff/fe      DOS Extended

  #  start block  # nblocks    startCylSecHd endCylSecHd   OSType
   5: 0000000001   0031407012    ff/ff/fe    ff/ff/fe      Linux native
   0: 0031407013   0001994202    ff/ff/fe    ff/ff/fe      DOS Extended

    #  start block  # nblocks    startCylSecHd endCylSecHd   OSType
     6: 0000000063   0001994139    ff/ff/fe    ff/ff/fe      Linux swap
     0: 0033401215   0039134340    ff/ff/fe    ff/ff/fe      DOS Extended

      #  start block  # nblocks    startCylSecHd endCylSecHd   OSType
       7: 0000000063   0039134277    ff/ff/fe    ff/ff/fe      WIN95 FAT32(Upto 2047GB)

Now note the disk id. In the above example its "/dev/rdsk/c1d0p0"

 Now run

root~#/usr/sbin/prtpart /dev/rdsk/c1d0p0 -ldevs

Fdisk information for device /dev/rdsk/c1d0p0

\*\* NOTE \*\*
/dev/dsk/c1d0p0      - Physical device referring to entire physical disk
/dev/dsk/c1d0p1 - p4 - Physical devices referring to the 4 primary partitions
/dev/dsk/c1d0p5 ...  - Virtual devices referring to logical partitions

Virtual device names can be used to access EXT2 and NTFS on logical partitions

/dev/dsk/c1d0p1 Diagnostic
/dev/dsk/c1d0p2 WIN95 FAT32(LBA)
/dev/dsk/c1d0p3 Solaris x86
/dev/dsk/c1d0p4 DOS Extended
/dev/dsk/c1d0p5 Linux native
/dev/dsk/c1d0p6 Linux swap
/dev/dsk/c1d0p7 WIN95 FAT32(Upto 2047GB)

The above command scan you hard-disk and displays all available filesystems. Note the required filesystems to be mounted.

To mount NTFS partition use

root~#mount -F ntfs  /dev/dsk/c1d0p<number> /mnt/windows

To mount FAT 16 /  FAT 32 partition use

root~#mount -F pcfs  /dev/dsk/c1d0p<number> /mnt/windows

if the above command fails you can try the below option

root~#prtpart /dev/dsk/c1d0p0 -fat

the above command should list the available PCFS / FAT partitions in colon notation, then use the same for mounting (eg)

root~#mount -F pcfs  /dev/dsk/c1d0p0:d /mnt/windows

To mount Ext2 / Ext3 partitions use

root~#mount -F ext2fs /dev/dsk/c1d0p<number> /mnt/linux

To unmount a partition use "umount <directory>"

root~#umount /mnt/linux

Tuesday May 15, 2007

Solaris on Sony Vaio Laptop

                Yesterday tried installing Solaris Express on Sony Vaio laptop VGN-FE48G/H . Ran into few issues, which we eventually resolved.

\*) Ethernet doesnot come up. It keeps throwing the error message on console

iprb0: Selftest failed Sig = 0 Result = ffffffff
iprb0: Port is not clear, SW reset command is not completed yet...

Workaround is to do update the driver alias

~#update_drv -a -i '"pci8086,1092"' iprb
~#ifconfig -a plumb

\*) For sound drivers download package oss-solaris-v4.0-1002-i386.pkg from  and install it . Run "ossdetect" and "osstest" to see if audio works.

Tips for playing movies:-

~#mplayer -ao oss:/dev/oss/hdaudio0/pcm3 movie.mpg

For playing music in XMMS select

\*) Preferences-> OSS Driver []
Then click on configure and check the "Use alternate device" and add /dev/oss/hdaudio0/pcm3

Wednesday Feb 28, 2007

Hidden Treasure in Solaris Express Developer Edition Release

I upgraded my laptop to Solaris Express Developer Edition (Build 55b). Found some cool flash presentation which is installed as part of Solaris Express Developer Edition (SXDE)

\* Solaris 10 Features
\* Sun Studio Features
\* Netbeans

Demos are located at   file:///usr/share/doc/soldevex/html/developer_guide.html

Below is the screenshot you can directly click on highlighted links.

Developer Edition


Monday Feb 26, 2007

SunTech days Mumbai

Recently Sun conducted TechDays across various parts in India. Main SunTech days event was held at Hyderabad. In addition to that Sun also conducted TechDays in various cities Mumbai, Pune and Delhi. We had 400+ (approx) attendees for the conference in Mumbai. Till 12pm we had "Live Satellite Link" to SunTech days Hyderabad. Sridhar Reddy from Sun Developer Outreach gave talks on (Java SE6, Simplifying Persistence and AJAX, jMaki and Phobos for Web 2.0 Development using Java) and I gave talk on "Solaris: The Developer Friendly Operating System". In addition to our talks we had speakers from Accenture (Implementing Secure J2EE Web Services & Sun Identity Management Solutions) and SAS (Data Visualization for Large Scale Analytical Data). People who attended talks were mostly working professionals and few students.

Since we delayed the start we had to rush through and some of the talks. My talk started at arround 6'pm evening. I had very little time to cover whole of Solaris 10 features. I ended my preso at arround 6.45pm and the people started of with various queries on (DTrace, ZFS and Zones). Solaris Q&A session went more than 20mins. Finally talk ended arround 7.15pm. Couple of folks stayed back and asked various queries about Solaris 10 technologies. It was a nice experience getting to know the developer community in Mumbai.

Sunday Aug 27, 2006

Solaris first boot essential configurations

Everytime one installs Solaris from a DVD/CD user needs to do a lot of initial configurations. The following perl script takes care some of those.

This script is meant to be run on development box in secure environment.This script enables SSHD explicitly so if someone doesnt want to root access for SSHD please disable "PermitRootLogin No" in "/etc/ssh/sshd_config" and restart SSHD daemon by "svcadm restart ssh"

Script configures following stuffs.
\* Creates /root directory for root user updates /etc/passwd with "/root" directory and sets "/usr/bin/bash" as default shell
\* Moves "/.dot-config" files to new /root directory
\* Enables "PermitRootLogin yes" for /etc/ssh/sshd_config to allow root access over sshd and restarts sshd service
\* Create /root/.bashrc and /root/.bash_profile
>updates with PATH and TERM settings
>bash prompt settings
>title bar customizations
>screen customization for telnet
\* Generates formatted files for the reference manual (catman)
\* This script takes a backup of your current configuration files and puts into /backup_conf_date:time.tar so you can revert back to older configuration
\* User can run this script multiple times each time script is executed, it will automatically create backup of older configuration and does the above configurations.

To run the script download the to /tmp
test1~#cd /tmp
test1~#chmod +x ./
Logout and re-login immediately.

Sunday Jul 23, 2006

Belenix covered in TimesofIndia

TimesofIndia is one of the leading newpapers which carried the article about Belenix . The Electronic version of this article can be viewed at
Cool work Moinak!!! :)

Monday Jul 17, 2006

Mount NTFS partition in Solaris

     In multiboot system if your have Windows with NTFS filesystem and you wanted read-only support this utlity can mount the NTFS filesystem in Solaris.

     This project NTFS Mount (Solaris), UFS Reader (Windows XP) has released utils for NTFS support for Solaris and UFS reader support for Windows vice-versa so that you can access data across . The idea here is to use NFSv2 server that has the ability to read raw blocks from a block device and interpret the raw data as per the NTFS on-disk format. You can use the existing NFS client in Solaris to mount via the loopback interface.

Download the binaries from
\* Warning You use this program on your own risk !!! \*
For mounting a NTFS filesystem. Follow the below procedure.
bash-3.00~# fdisk /dev/rdsk/c1d0s0

Below is the sample output for the disk c1d0s0
             Total disk size is 38765 cylinders
             Cylinder size is 4032 (512 byte) blocks
      Partition             Status         Type         Start       End         Length       %
      ====================== ======================================
         1                                Diagnostic       0        1525         1526        4
         2                                 IFS:NTFS     1526      7769          6244      16 <== NTFS
         3                    Active       Solaris2      7770       20773      13004      34
         4                                  EXTLBA    20774      38763       17990      46

   1. Create a partition
   2. Specify the active partition
   3. Delete a partition
   4. Change between Solaris and Solaris2 Partition IDs
   5. Exit (update disk configuration and exit)
   6. Cancel (exit without updating disk configuration)
Enter Selection: 5

Press 5 to exit from fdisk menu. Note that your NTFS partition here is 2 .

Now to mount the NTFS filesystem run the below command.

bash-3.00# ./mount_ntfs.opensol-x86-binary /dev/rdsk/c1d0p2 /mnt/windows
To unmount the file system type "kill 15554".

bash-3.00# mount
/ on /dev/dsk/c1d0s0 read/write/setuid/devices/intr/largefiles/logging/xattr/onerror=panic/dev=1980000 on Wed Jul 12 16:01:09 2006
/devices on /devices read/write/setuid/devices/dev=4380000 on Wed Jul 12 16:00:47 2006
/system/contract on ctfs read/write/setuid/devices/dev=43c0001 on Wed Jul 12 16:00:47 2006
/proc on proc read/write/setuid/devices/dev=4400000 on Wed Jul 12 16:00:47 2006
/etc/mnttab on mnttab read/write/setuid/devices/dev=4440001 on Wed Jul 12 16:00:47 2006
/etc/svc/volatile on swap read/write/setuid/devices/xattr/dev=4480001 on Wed Jul 12 16:00:47 2006
/system/object on objfs read/write/setuid/devices/dev=44c0001 on Wed Jul 12 16:00:47 2006
/lib/ on /usr/lib/libc/ read/write/setuid/devices/dev=1980000 on Wed Jul 12 16:01:00 2006
/dev/fd on fd read/write/setuid/devices/dev=4680001 on Wed Jul 12 16:01:09 2006
/tmp on swap read/write/setuid/devices/xattr/dev=4480002 on Wed Jul 12 16:01:11 2006
/var/run on swap read/write/setuid/devices/xattr/dev=4480003 on Wed Jul 12 16:01:11 2006
/data on /dev/dsk/c1d0p1 read/write/setuid/devices/hidden/nofoldcase/dev=1980011 on Wed Jul 12 16:01:18 2006
/mnt/windows on remote/read only/setuid/devices/port=53805/public/vers=2/proto=udp/xattr/dev=4740003 on Wed Jul 12 18:02:25 2006

For unmounting the filesystem you need to kill the process. 
eg) bash-3.00# kill 15554

I tried mounting NTFS partition (Windows XP) under Solaris Nevada it works fine.

Tuesday Jul 04, 2006

Unison for Solaris x86 / AMD64 / Sparc platform

Unison is a file-synchronization tool for Unix and Windows. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.

For more documentation click here.

If one needs compiled version of unison for AMD64 / x86 platform you can download it from here unison.gz For SPARC version you can download from unison-sparc.gz

Download and gunzip unison.

Below are the for building on Solaris AMD / x86 / SPARC platform :-

Compile Ocaml:-
\*) Download ocaml-3.09.2.tar.gz
\*) Do ./configure
\*) gmake world
\*) gmake opt
\*) gmake install

Compile Cl75:-
\*) Download cl75unix.tar.gz
\*) cd src
\*) gmake configure && gmake world && gmake install

Compile labgtk :-
\*) Download lablgtk-2.6.0.tar.gz
\*) Do ./configure
\*) sed 's/\\-mt//g' config.make > config.make.mod
\*) mv config.make.mod config.make
\*) gmake world && gmake install

Compile unison :-
\*) Download unison-2.13.16.tar.gz
\*) sed 's/tail/gtail/g' Makefile.OCaml > Makefile.OCaml.mod
\*) mv Makefile.OCaml.mod Makefile.OCam
\*) gmake UISTYLE=gtk2 STATIC=true
\*) copy unison to your location

Friday Jun 23, 2006

Solaris Installation

Last week I tried a couple of experiments with installation for fun. I had to install Solaris on a laptop and then install Blastwave/Companion CD stuffs/Soffice etc..etc... I knew it would take long time for setting it up but I had flasharchive which was fully configured which was taken from Acer Ferrari 4000 Laptop. Following were the list of things I had.

\* Laptop which was Intel 32bit architecture.
\* Acer Ferrari 4000 flasharchive which was taken for AMD64 architecture.
\* Flasharchive was Solaris 11 build 38.
\* I had Solaris 11 build 40 DVD

So I booted laptop with Solaris 11 build 40 DVD and installed build 38 flasharchive which was taken from Acer Ferrari Laptop on Intel P3 machice it worked without any issue.

Wednesday Jun 21, 2006

Solaris on Sony Vaio Laptop

Last week I was trying to install Solaris 11 on Sony Vaio laptop PCG-FX340K . Started installation of Solaris Nevada but interactive installation fails because this laptop has i815 chipset. So follow below steps for installation

> Interactive installation would fail so use Solaris Console mode installation.

> After intial installation make sure you boot up Solaris with “-s” for single user mode.

> Now run the command for adding vga driver

~# update_drv -a -i ‘”pci8086,1132”‘ agptarget Which will add /etc/driver_aliases for i815 chipset

> Now download file and copy it to /etc/X11/xorg.conf

> For sound driver you need to download package from audio-1.8-i86pc.pkg.bz2    bunzip it and then do “pkgadd -d audio-1.8-i86pc.pkg” for installation.

Screenshot from laptop.

Wednesday Jun 14, 2006

Solaris x86 bootarchive recover

In Solaris 10 update 1 onwards new boot archicture was introduced to use Grub as the bootloader. Sometimes on x86 machines if boot archive is corrupt system doesnot bootup . To recover boot archive follow the below steps.
While in the Grub screen select "Solaris Failsafe" entry. This will boot into a minimal recovery mode. It will detect your Solaris install on harddisk and ask user to
  whether to mount it on  /a  . Reply "y" to that question.
Now execute the following commands:

#rm -f /a/platform/i86pc/boot_archive
#bootadm update-archive -R /a

Next reboot using the command:  init 6 .
This should recover the bootarchive
More details at BigAdmin



« July 2016