share a thought..: technology - photography - travel – fun
Nov '05

Power to boot to Java

Recently I had a thought that, it would be nice to see once computer boot directly to a java application/server. So googled for some sort of jvm on console based os?s like dos or *uix systems. Though I found a few but most had a limited support for java?s core api.

Though this project is still in its early stages, Michael Ringgaard has
done an amazing job by building this open source [BSD style license]
Finally SanOS (Server Appliance Network Operating System) caught my attention. This is a minimalistic application server operating system kernel and allows building custom boot media (cdroom [livecd]/floppy) and can start a java application after booting.

This project has limited documentation, so it will be some time before you can boot to java, so have patience if you plan to give it a try. Also it does not yet look to be ready to put any production quality servers (no nio support, no server jvm support, no ssl, and does not handle multiple client connections well). What I did was to mount the cdrom [which had windows java jre v1.4 with QuickServer examples jars] as /usr. Then made jinit(java of sanos) as init command for the os. This worked on a few systems when I booted from floppy and I tried to make a livecd out of this, but it only worked on a virtual hardware and did not bootup when I tried on my system, may be it lacked the h/w support.

Looking forward for upcoming versions of SanOS. Also hoping to see more such kind of work on Linux or Solaris :) , may be Knoppix/BeleniX guys can come up with a slim cd version with just minimal kernel and a jvm to build java application that can boot up like ready to use (of the shelf) servers with minimum configuration or build demo systems and even some other cool stuff.

Also here you can download the QuickServer dir that I used to create a test system (QuickServerLiveCD), I had to put references to NetworkInterface under try bock since it threw Error under SanOS for some reason and it contains modified QuickServer.jar and examples configured on blocking mode with no logging. Also set org.quickserver.livecd.Welcome as your mainclass in os.ini file under [java] section.