Archives

Building ChromiumOS (The Google OS)

googlechrome1
I’ve been watching all of the hype about downloading and running the latest Google creation, ChromiumOS this week so yesterday I decided to take a stab at it myself. I did not however want to simply grab a VMWare image and run it. I’m a software engineer for Pete’s sake! I should build it myself. So how did it go? Read on.

System Preparation

First I upgraded my Ubuntu installation to the latest release (9.10 – karmic), which is actually the suggest/preferred build environment for ChromiumOS. Following that I checked the system requirements and made the appropriate adjustments. msttcorefonts did not show up in the Synaptic Package Manager so I just ran the following command and that did the trick:

freetype-dev was also not listed but I had libfreetype6-dev installed and figured that would cover it.

Next I installed version control clients Subversion and Git. I followed that up with installing the Google Chromium Depot Tools. This is basically a group of scripts that Google uses to managing syncing the code repositories and whatnot.

Obtaining the Code

Next I grabbed the code for the Chromium browser. This is actually optional and you can just download a binary instead, but since I’m going this route I figured I’d go all the way. You can follow the instructions here, which include download a huge tar ball that includes the code, extracting it and then syncing the code with the online repository. The first time I synced:

I received some warnings about third party libraries that were no longer a part of the client so I removed them as suggested. Then I remembered that there was a specific way to run the sync when building the OS so I reviewed the website and re-ran the sync (which I would have done anyway since I modified the code base by removing some directories):

.
So I ended up with the Chromium code base in /usr/local/chromium.

Next I needed to grab the ChromiumOS code, so I created a directory for that at /usr/local/chromiumos and grabbed the code like this:

Now obviously you wouldn’t be able to run the above as a normal user, you’d need to sudo right? I actually created the directory initially using sudo and then gave my local user ownership of the directory to complete the rest of the steps.

Now the code sync ran for about 10 minutes and then ended in errors. Uh oh… this isn’t looking good if I have errors in the check out phase. The error was:

After that it appeared to try and get an alternates list and recover but it was unable to do so. I figured since it was trying to recover then there might be a good chance that running it again would solve the problem. So I reran the sync and it got a little farther before it stopped with failures. Then on the third run it finally grabbed all of the code. I guess the third time really is the charm!

Building Chromium OS

The steps in the build process are all pretty straightforward and I didn’t have many problems. Initially if you are going to build the browser portion, you do that before building the OS. During this phase I actually ended up in an infinite loop. After going back to the docs I set the following environment variable:

and that fixed the problem.

Then the building… and building… and building… process took a looooonnnng time. Other than that it was pretty uneventful.

Running Chromium OS

Having gone all the way through I now had a VMWare image of the Google Chromium OS. Awesome! So how did it run? I’m not exactly sure. I was able to create a VM for it and attach the image and boot it up. After that I get the login screen. I put in my Google account login credentials and then…. nothing. I just get a blank blue screen with nothing on it and no activity. I’ll admit, it really is a nice shade of blue but generally I’d like a little more functionality in my operating system. Anyway, I guess I did something wrong or I am running it in some way that is incompatible. I’ll try to figure that one out and post the results as soon as I can.

Get Cash Back @ Bing

how3icon2I wrote a short post a while back about the new search engine… or excuse me, “personal decision engine” (yeah, whatever)… from Microsoft called Bing. I just ran across this today and though it was interesting. Something more to try and entice users away from the Google behemoth is a Cash Back Program. So apparently you sign up for an account and shop around the internets using Bing. Then on qualified purchases they give you a small percentage back into your account. Then after 60 days and having accumulated at least $5 you may request your cash. Pretty interesting. We’ll see if it’s enough to changes users habits with respect to searching for products on the internet.

Bing.com – Microsoft’s New Search Engine

Have you “binged” anything lately? If not, then don’t sweat it. Microsoft just release a new search engine called Bing, which you may or may not have heard about yet. Really? Another search engine? I thought Live.com was their SE of choice. Well, if you go to live.com now it actually points to bing.com.

bing

So how does the new search engine stack up? From my short review of it, it behaves surprisingly similar to Google, the de-facto standard in search engines and close to being a common household term. Once you search you have links at the top to view images and videos of the same search terms and various other options including shopping, news and maps. The interface looks very nice. It looks like they borrowed the home page from ask.com in that there is a boxed image around the search input. The difference is the bing image changes every day, plus you can scroll back through past images.

One nice feature that I like is the video search. It lists an image preview for the results and lists below the preview where the video is hosted (YouTube, MySpace, MetaCafe). Then when you click on the preview it plays the video right in the search results in a video player at the top. Very sleek.

So will this be the final, once and for all Google killer? Yeah… I seriously doubt it. It does basically the same thing with maybe a little more pizaz. However it is nice to have company’s out there innovating to push the envelope and make the internet a nicer and more usable place to be.

Google Chrome Browser – First Impressions

Last night I downloaded and installed Google Chrome, Google’s latest creation, an internet web browser. At first I wasn’t really all that interested as I’m quite infatuated with FireFox 3, but I figured it wouldn’t hurt to check it out.

When you first open up Google Chrome, you get a very sleek and minimalist interface that has you focusing on the web content instead of the browser. That seems to be the latest trend in browsers and I like it. The second thing I noticed… man, this thing is fast! I mean web pages are rendered extremely fast and accurately. I loaded up my NetVibes home page with multiple RSS tabs. That usually takes quite a wait, but Chrome had it loaded in no time flat. Impressive.

The next thing I noticed is that when you right-click on the top portion of the browser, where the file menu would normally be, you get an option called Task Manager. Opening that reveals a windows style task manager showing Memory, CPU and Network usage of the Chrome browser and a breakdown of the various tabs and plugins you are running. Sweet!

Think that’s cool? Well, click on the little link at the lower left of that window titled “Stats for nerds” and prepare to be blown away! Ok, well it wasn’t all that extremely awesome, but it is cool. Now I get see the same stats in comparison with my running version of FireFox 3. Now they’re just bragging!

Finally, the thing that I fell in love with was in the tools section. At the upper right hand corner of the browser there is an icon of a page. Click that and go down to the Developers submenu and from there select Javascript Console. Firebug built-in anyone? This is a really great Javascript console that allows you to debug the page. It shows all of the page level elements and scripts and even tells you if they are computed or on the page. There is a console below where you can just type in Javascript commands and execute them on the page. Be careful, though! Not a great idea when you are writing a blog in WordPress. lol

There is also a tab at the top of the console that is title Resources. Click on that and you can get a very pretty (eye candy) view of the various resources that comprise a page and their respective load times. This could be useful in debugging a page that takes too long to load!

And now for the bad news. Yes, there is bad… basically it boils down to FireFox AddOns. There are a few that I use which I really can’t operate without. So until I can find alternatives to those which I would be just as happy with, I’m afraid that FireFox is still my browser of choice. Though I’ll definitely be keeping Chrome installed and playing with it.

Will The Google Phone Overtake The iPhone?

Google PhoneThe release of Apple’s iPhone has made tremendous waves in the cellphone industry. However, the honeymoon is over and the iPhone has been “cracked” in favor or more user customization and third party applications. Apple has announced an SDK (software developer kit) to be release for the iPhone coming in February 2008, but by then there may be a new player in town.

The long anticipated and highly rumored Google Phone is on it’s way! Not only that, but it’s operating system will be based on Linux and Java. That is a freely available and open software development language on top of an open-source and highly customizable operating system. Will the behemoth Google be able to put a dent in the momentum that is the iPhone? Will the openness of the Google Phone be able to woo otherwise iPhone buyers?

See what the world is saying about it:
Google Goes On Disrupting: Last Week OpenSocial, This Week Open Phones (Java Developer’s Journal)
USA Today’s Eleventh Hour Google Phone Facts/Speculation/Hype (Gizmodo)
Google enlists help for Google Phone (USA Today)