The “bleeding edge” dilemma

The urge to run the latest trunk of KDE is too great ! but the fact that the trunk is not the most stable keeps a lot of us away from it. Our Friends over at project neon have done a great job trying to address the same issue.
But the problem is slightly bigger than this, imagine a scenario where you are working on two projects and for one piece of code to run you need to uninstall a few installed packages this breaks another piece of software that you need for another project.

Or another scenario would be , you are about to install an experimental piece of software. Do you leave your system in an inconsistent state if that experimental software doesn’t work ? Do you take a back-up ? or do you try to pull off a complex trick of lots of Alternate environments ?

The most embarrassing situation is when you go to your local Free Software User’s Group / LUG to give a talk about how great your OS and its applications are , and just when you are about to speak the app you were showcasing crashes , Damn !
How do you ensure that your apps don’t crash while giving the demo and also maintain your latest unstable hack to your favorite software without both getting into each others way ?

What is the solution to all of the above problems ?
I propose using Boot environments, on Open Indiana a.k.a Oi (Solaris) ( I have started to love this Distro , but my first love is always belenix.org 🙂 )
Now supposing you have a clean install of you create a snapshot

$zfs create snapshot mydistro@firstInstall 

and now make this snapshot bootable

$beadm create -e mydistro@firstinstall FirstInstall 

Now go ahead and bork up your system 🙂
You may want to come back to the borked system again later, so you create a new snapshot and make it bootable.

$zfs create snapshot mydistro@borked
$beadm create -e mydistro@borked Borked 

now you want to boot into the borked Boot Environment next time.

$beadm activate Borked 

reboot, and in the OI grub you will find FirstInstall and Borked entries, select the one you want and continue working. FirstInstall lands you up
in the system before you borked it up. Enjoy hacking 🙂

more info about boot environments and beadm
That’s all for now! Give OI a try , you may switch over 😉
Until next time !
Kunal

Advertisements

First step to getting KDE on OpenIndiana : Boot OpenIndiana ;)

OpenIndiana is a project created from the ashes of OpenSolaris. When oracle decided to close the development of OpenSolaris, some brave folks forked the kernel and put together a user-space to form OpenIndiana (OI), Its a great distro ! Above all its got software innovations (ZFS , dtrace, crossbow etc) which the linux userland can just dream of 🙂 (Though systemTap , btrfs are quite commendable as well.)

OK , so i have this great new distro and i love KDE so i want to see if my favorite softwares (Kate , amarok, digikam) work on OI or not. And sure they do ! (/me feels good here :)) the KDE – Solaris team has already created a repo with the latest KDE 4.6 packages. So , now i am convinced that i must start using OI. So i dump the dd image onto a USB stick and connect it to my laptop (a Dell Studio 1450). Now the fun stuff starts 🙂 OI doesn’t boot !!!!

After reading countless blogposts and consulting people on IRC (DrLou on #openindiana apparently had the same problem as me , and we sat together for 3 days (with breaks ofcourse 🙂 trying out everything that we could find) . In the mean time i had posted my problem to the OI discuss mailing list as well. Finally after a 2 day wait , i got replies from the OI gurus on the discuss mailing list. The message from Garrett D’Amore was particularly useful , he suggested me to add the -k option to the kernel line in grub and boot , this would fire up the In-Kernel Debugger the KMDB when i pressed “F1-A” during the boot process. But alas ! this didn’t work either 😦 Now i was desperately in need of some new ideas. Garrett’s post hinted me to check out more OI kernel flags. As it turned out, in an obscure wiki entry in BigAdmin (the solaris admin wiki) there was a mention of the flag “-B acpi-user-options=2” i appended the kernel line with this option and presto ! OI booted !. Now this was after 3 days of “beating around the bush” debugging and it felt great 🙂 . So, i headed over to #openindiana and told DrLou about my findings , and after a few tries even his laptop booted !! Yay ! (Supposedly this acpi bug comes to haunt users of solaris , from time to time :))

Now all that i had to do is to create a new beadm ( look up the solaris man pages , you will be amazed !) and add the bionicmutton repo to OI and that’s it, i have KDE 4.6 on OpenIndiana. OI Looks and Feels much better now 😉

This blog post is to document two things:
1. ” -B acpi-user-options=2″ might get OI to boot on your machine.
2. Never give up any problem , if you are facing it , you can be pretty sure someone else is facing it too ! stick to the problem and solve it.
(And after you solve it , in the Spirit of Good Will , share it with others by documenting it in your blog/wiki)

KDE solaris needs a lot of polish and could do with some more contributors. So if you have some spare time , drop by at #kde-solaris , #openindiana , #illumos on freenode.

That’s all for now ,
Until next time 😉
Kunal

Please tune in for my next article on Practical Source Code Management

I have currently learnt the use of source code management and am using SVN for my CFF (Code For Freedom) Project which is related to creating a GUI for their Distro Constructor Application to create custom spin offs of openSOLARIS 2008.11 if you are wondering what openSOLARIS is !! head  to www.opensolaris.com for more info.

Its got some pretty cool features too !! I can bet you wouldn’t have seen those features before !

having a tough time adopting LINUX for my C programming :(

I accept the fact that linux is a brilliant and a very promising platform for every day use ! but I often find it very hard to use it for my elementary C programming needs . I use UBUNTU 8.04 and gcc for compiling my C programs.Also I do understand the fact that GCC is not giving me problems ( which many people donot understand ;-P) it is the header files. I am used to many outdated header files like CONIO.H and DOS.H , Graphics.H and ironically it is still being taught in college 😦 . Surfing around the web got me some solutions and a set of new problems 😦 (what the heck !!)

1.Use ncurses.h instead of conio.h for most of my needs i.e getch() etc !

2.Dos.h is obsolete because it was for single user OS and is not suitable for an Multiuser, Multiprocessing OS like LINUX.

3.Graphics.h is obsolete and we are encouraged to use GTK and other APIs for graphics programming which are far more capalbe.

PROBLEMS

1.well not as many as solutions but i cannot find ncurses.h in my installation CAN ANYBODY PLEASE HELP ME OUT WITH THIS !!

well that was my “SUKH DUKH ki BATEIN” and hope i get some solutions to them.

IF you happen to have any solutions please leave entries at my guest book

well i also found this article to be a bit of help 🙂

http://math.hws.edu/orr/s04/cpsc225/curses.html

The Philosophy behind and Essence of FOSS

————————————(Why is it the way it is ?)———————————
Free and Open Source Software(FOSS) as a way of thinking emphasizes a few things like
1.Free in the above acronym stands for Free as in Freedom of speech VIZ the freedom of expression.
2.Free software in the above acronym stands for Literally FREE nothing else !!

But before we get into the intecracies of FOSS and Linux, it’s STORY TIME !!!!

There is a story behind every thing that ever happened and so there is a story ( which portrays the
essence of ) behind FOSS & LINUX too !

few years back there was a undergraduate student by the name Linus Torwalds , he( as every body even now has
to ) had to study UNIX(an operating system somewhat like Windows but had a command prompt like DOS)
in his 3rd semester Engineering.. he really liked it ! and wanted to work more on it but
there was a problem you couldn’t just copy UNIX and paste it into your computer so he really got frustrated and
thought why isn’t it available for FREE ! thus was born the FREE context of FOSS. He then as a college project
went on to write the CORE of UNIX speculating what it might be…..obviously ! he didn’t have one at his disposal.
Thus was born what we now know as LINUX( i.e. LINUS – ‘S’ + an ‘X’ form UNIX), this he made it freely available
for people to work upon and modify the way they wanted thus the context of FREE as in expression.

Some people, even in THE community(i.e. the linux and foss(L+F) developing community) who feel that L+F is
against WINDOWS and MICROSOFT it is completely wrong there is no rivalry here…..just that windows is based on a set of ideals and L+F on a different set.
F+L says don’t restrict peoples’ imagination make the tools available to them for free and let them do the actual
hard work, the creative work…….that’s for now i’ll be continuing this article further in my next entry…till then BYE !!!!!

kunal ghosh
(kunalghosh)