Linux Turns Galaxy S Into a ‘Good’ Jekyll & Hyde

In my recent  post “Run Linux On Your Android Phone,” I spelled out the basics of putting the Linux-on-Android system on a first-generation Galaxy S Android smartphone.

Linux and Android share a kernel in this arrangement, so you can flip back and forth while retaining all of the normal functionality of the Android phone. Text messages, phone calls, and applications all work the same as they did when running just Android.

With Linux operational, you have the added capability of being able to run programs from the command line and from a remote VNC-connected client. As long as the phone is powered up, you could conceivably run cron jobs, serve Web pages, have it function as an FTP server, and more. Obviously, the memory and processing power of your phone will put a practical limit on what can be accomplished.

Switching Between Linux and Android

Once Linux is up and running, you can press the Home soft key (at the bottom of the phone) to move from the terminal screen back to the standard Android smartphone desktop. Linux will, of course, still be running in the background.

You can immediately flip back to the terminal by unlocking the screen (if needed), pulling down the menu tray (at the top of the screen) and tapping the Terminal Emulator item.

We’ll cover connecting to the Linux smartphone, using a VNC client on an Asus Linux notebook and Transformer Prime, in an upcoming article.

Good Behavior and Battery Life

Linux on my Captivate has proven to be remarkably stable. After running Linux off and on for a few days, I’ve had very few glitches. Apt-get has worked well, for installing new programs.

Immediately after cold-booting the phone and Linux, the system demands were pretty light. A command named sensorserver_ya clocked in at 1.0 percent cpu utilization and 0.1 percent memory usage. The system_server used 0.7 percent of the cpu and almost 17 percent of the memory. Checking the system status using top, I found a total of 151 tasks, with 1 running and 150 sleeping. Load average was 0.00, 0.17, and 0.19 respectively.

Not surprisingly, when I logged in using Remote Desktop Viewer (a VNC client on my Linux notebook), the load average jumped to values above 5.0. I also tried browsing a common, everyday Web page with Firefox, and the cpu utilization skyrocketed to over 90 percent and consumed about 23 percent of available memory. After the page settled down (with all the interactive graphics), utilization dropped to about 5 percent, with the memory usage staying about the same. The poor Samsung Galaxy was spinning its little heart out.

After closing the remote VNC client and killing Firefox, the load average dropped down below 0.10.

Battery life was definitely affected by running Linux on the Samsung. My gut feeling is that I might get two hours of heavy-duty Linux use out of the phone, so it’s best to plan to have the charger handy. My two-year-old phone runs for about 5 hours of constant use on Android, without Linux running. Remember, too, that the phone is rooted, and I have it configured to cruise along at its 1-GHz maximum speed, with the 3G and WiFi radios turned on. Bluetooth and the GPS weren’t enabled during my tests.

Next Steps

Linux on my Samsung Galaxy is stable and worked surprisingly well. It can serve up a lightweight desktop to a remote VNC client and seems to be able to run a heavy-duty application like Firefox without problems. Maybe I should install LibreOffice and see what happens.

So, how can we productively use it? That’s what we’re going to find out. It’s kind of new ground, in some respects.

I’d love to see comments from readers who’ve installed Linux-on-Android and Ubuntu on more powerful Android smartphones or rooted tablets.

Image: Two-faced Head Statue, Blue And Gold by Bigstock

Post a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>