Uncategorized


I had got a PS3 a few months back with a multitude of objectives. Blu-Ray player for my planned Home Theater setup, general media center, watching Youtube on the big screen, Gaming of course and to hack on the Cell. For the last one piece fortunately I have the 80GB Fat/Phat model.

I had been holding out on the actual Linux installation and hacking since we experience power cuts and a power loss during a system update or Linux installation can leave me with an expensive brick that my wife will probably be prone to break on my head!

So I had to invest on a UPS. I already had an APC Back-UPS RS 1000 with additional battery backup for my PC. I decided to get a beefier Smart-UPS 1000UX with 100AH external batteries for my PC and hook up the PS3 to the Back-UPS. However the LCD TV is on line power and when power goes it goes dark naturally and I can’t switch off the PS3 without having a working display. I can hook the TV to the UPS but I do not want the UPS to be always powering the TV. So I whacked together a double-pole 2-way switch. I put 2 modular single-pole 2-way switches side by side and stuck 2 pvc pieces with superglue on either end. The common lines from these switches go to the TV. One set of poles connect to UPS power and one set to mains. Ordinarily the switch connects to mains. When power goes while PS3 is in use I can flick it to put the TV on UPS battery power. Admirably the Back-UPS can take a sudden load surge while on battery without tripping. The UPS has already saved me once.

Then I went about the process of formatting the PS3 for Linux and installing the kboot loader. Initially I decided to go with Ubuntu. Version 9.04 did not work with the latest 80GB console models so I tried 9.10. The GUI came up with that and it hanged trying to sync with NTP servers. After googling I decided to pull out the Ethernet cable from the PS3 while installing (I have a concealed CAT-5 cable running from PS3 in living room to a switch in another room). The installer proceeded beyond NTP server sync and hanged again. I decided to give up on Ubuntu and go with Yellow Dog Linux 6.2. I had avoided YDL initially since it is a large 3.4GB download. The experience with YDL was extremely smooth. It installed flawlessly and works quite fast. I have a happy puppy yapping on:

I use Linux as well apart from my obsession with OpenSolaris. I have used several distros in the past and came to like Mandriva for general use. I was also once the biggest critic of Fedora. Having had bad experiences with FC3 and FC4 I cursed it and simply ignored it till recently when I started stealing spec file recipes and patches from FC 11,12 CVS repo for building packages on BeleniX :-P

During the course of that usage I now stand to take back my earlier criticisms of Fedora. In fact I am thoroughly impressed with the quality of the work they are doing. The quality of the spec files and patches speak for themselves. Many of the conventions they follow align with how things are laid out on OpenSolaris as well. I am now going around and recommending Fedora 12 to anyone who is using Linux. The only issue that one will see is from a desktop use perspective. Out of the box Fedora has very few customizations and tweaks, so it takes a while of manual work to tune it to your liking.

After Belenix 0.8 Alpha which included exciting features such as the Google Widgets, Webkit, and KDE 4.2.4 — all built with GCC 4.4.0 in addition to Gnome 2.26, BeleniX 0.8 Beta1 is now available with improvements (bug fixes and functionality) to the KDE 4.3.1 desktop and other apps and new package additions. Several patches/fixes for various packages were taken from the Fedora Core 11 repository.

You need to use the Network Installer in order to install this 0.8 Beta1 Release. The Network Installer will not touch your current environment in any way. It creates a new Boot Environment and installs into that. Your current environment remains as the default one.

You can see the full announcement here: http://www.belenix.org/content/BeleniX-08-Beta1-available-Network-Installer

I am plugging in some obligatory screenshots of my Vbox VM running BeleniX 0.8 Alpha:

Func or Fedora Unified Network Contrtoller is a Fedora project that introduces a new framework to easily and securely control one or more machines remotely using either a programmatic or cli interface: https://fedorahosted.org/func/

Func is a lightweight but IMHO well-designed framework written entirely in Python. From my initial experience it is extremely powerful and it’s modular nature allows for easy extensibility for a wide variety of tasks. You can not only execute commands remotely but can develop custom modules to return information from the remote machine in a structured way. Check out the website for all the interesting details.

Being written in pure Python Func is also inherently portable. The few Linux-isms reside in the startup init scripts. Having found a sudden interest in the project I decided to make Func work on OpenSolaris and happy to note that I have an initial version that works and provides a few basic extension modules for ZFS, SMF and process info. You can download and install the packages in the below order:

http://www.belenix.org/binfiles/python25-pyopenssl.pkg
http://www.belenix.org/binfiles/certmaster.pkg
http://www.belenix.org/binfiles/func.pkg

You also need to have the SUNWPython25 package. There is a little bit of initial setting up to be done as described in /usr/share/doc/func/README.opensolaris. This initial port, provides SMF manifests and startup scripts for func agent and certmaster, usage of a func daemon user and RBAC profile, a basic set of opensolaris modules (http://www.belenix.org/binfiles/func-opensolaris-modules-0.1.tar.gz)  and a proof of concept integration with Solaris RBAC Authorization framework. I have written a simple Python interface to libsecdb that exposes the chkauthattr function in Python. While Func itself has an ACL mechanism that allows the client to controls access to modules by the master it should be worthwhile to integrate that mechanism with the RBAC authorization framework on OpenSolaris. This will allow network-wide Func user privilege setting.

The Func packages will be available in the BeleniX repo. In the meanwhile I have submitted the initial port into Sourcejuicer for the /contrib repo. Going forward there are lots of things to be done including possibly having OpenSymbolic to run on BeleniX. One of the things that are at present not easily done on Func is streaming monitoring information from client to server, for eg. streaming the ouptut of a running DTrace script. Since Func communications are encrypted it is possible, as a simple mechanism, to distribute one-time/short-lived symmetric keys and set up a second TCP connection for streaming data. This can also be done for remotely effecting a ZFS send/receive between two clients (or minions in Func parlance).

Gcc 4.4.0 release is now available in BeleniX package repository trunk at pkg.belenix.org. It built without issues out of the box and as a test I was able to build BOOST 1.38.1 and a patched Qt4 (From the KDE Solaris project) without any trouble using this new compiler.
You can pull the latest SFEgcc package using spkg from BeleniX trunk.

Update: I forgot to mention that the updated Gcc spec file is here. The spec file is setup to build Gcc using SUN Studio 12. In generall the BeleniX spec files can be found here.

Update 2: I rebuilt Gcc 4.4 with the ClooG and Ppl dependencies so that the new Graphite framework is enabled. I played around with the various flags in trying to build Python 2.6 and got very good results vis-a-vis SUN Studio 12. I got comparable or better results using Pybench esp. in 64Bit mode with Gcc4 compiled Python 2.6. In adition I tried the new ‘profile-opt’ make target in Python 2.6 that does profile-driven optimization with Gcc. The 64Bit python binary built using Gcc4 + loop optimizations and Profile is 27% faster than the 64Bit SS12 built binary (without profile opt). The 32Bit binary is about 2% faster. Using loop parallelization via OpenMP might have helped further but 32Bit Python dumps core when built with -ftree-parallelize-loops=2 -march=pentium4.

If you are using another OpenSolaris distro and still want to try out this new Gcc 4.4 you can try running this little script to download and install SFEgcc and it’s dependency packages from the BeleniX repo. Be warned that I have not actually tested the script. All the spec files can be found in BeleniX sourceforge repo.

Here is something that all Indians everywhere on the planet is bound to be proud of. The Moon Impact Probe made a textbook landing on the Moon delivering the Indian flag onto the lunar dust of yore for the first time. I was elated seeing the picture of the jubiliant beaming scientists at ISRO (Indian Space Research Organization) in today’s edition of The Hindu.

The Register has a story on this with usual bunch of clueless whiners dirtying the comments section! Space research and exploration has lots of spinoffs and benefits for the society at large.

My proposal for a Workout session (kind of hackathon) during this year’s FOSS.IN has been accepted on a preliminary basis. The shortlist of accepted talks, workout sessions is yet to come out. My proposal deals with creating a small utility for the Caiman Installer being used in BeleniX.

At present the installer can detect windows partitions and automatically create entries in Grub to allow easily booting Windows in the OpenSolaris + Windows dual boot scenario. However there are a few limitations with the existing piece. It can only scan primary partitions, it blindly creates boot entries for every windows partition and does not detect the C: drive, it does not detect other OS-es like Linux.

My proposal deals with scanning the entire partition table including logical drives and detecting both Windows and Linux instances. A framework for scanning the raw partition table is already present in the useful “prtpart” utility that I wrote sometime back and being bundled in BeleniX. In addition the intention is also to try and detect actually bootable ones, i.e. Windows C: drive and Linux root. This means that the utility needs to be able to interpret filesystems on the raw partitions. The idea is to leverage the basic filesystem reading code in Grub to analyse the partitions.

The advantage with this project in that it needs very little, if any, familiarity with OpenSolaris. Rather one should be familiar with Grub and Linux filesystems. So this is an easy way to get a hang of doing development on OpenSolaris.

Of course remember that this is a preliminary heads-up and the final list is yet to be out (so things can change).

I read the latest update on Benr’s Blog and see the this saga of disagreement as something similar to the classical Generation Gap. Solaris 8 is indeed ancient and lacks many features that characterize developments at recent times. It simply no longer makes sense to build on Solaris 8 and run on Solaris 10 and much less OpenSolaris just because Solaris supports it.

New features and architectures in more recent platforms cannot be harnessed like for eg. HAL, File Event Mechanism for FAM, more updated Xorg and libraries, accelerated graphics, ZFS, SMF, newer SUN Studio compilers and so on. I had tried to use Blastwave KDE quite sometime back and gave up after a month because the non-antialised fonts were downright ugly. IMHO it simply does not make sense to keep breaking our collective heads on an 8 yr old platform when the rest of the world is thinking 8 yrs into the future!

However I do believe that it is much better to arrive at a compromise solution. For eg. one can have two deliveries one for Solaris 8 and 9 and one for Solaris 10 and OpenSolaris. The older platform will see a lesser amount of software naturally only having the most necessary stuff that those users need and the newer platforms characterized my more and newer stuff. In a way it is actually happening with the separated OpenCSW and Blastwave efforts, but it would have been much nicer had this separation not happend at all.

I personally (and a lot of people I know) live on OpenSolaris and do not even bother with Solaris 10, but that’s a different story.

The winners of the first OpenSolaris Community Innovation Awards have been announced. Check out the announcement here: http://www.opensolaris.org/os/project/awards/. A hearty congratulations to all of the winners. The awards are well-deserved and are some very interesting projects.

It makes me proud to see BeleniX RAM based boot in the list – a great effort by Sham. BeleniX continues to be a crucible of innovation on OpenSolaris, fuelled also in no mean terms by the extremely active BOSUG community. We sure need a special Beer party for BOSUG.

Next Page »