Chromebook: frivolous toy or useful tool? Bill breaks it down for you.
Back in late 2010, Google announced a “Chromebook”—a low-cost, entry-level netbook that would run Google's own operating system, ChromeOS. Google's vision of ChromeOS, although based on Linux, basically would be a giant Web browser, with all the apps on the machine running in the browser. ChromeOS would be a nearly stateless computer, with all the user's apps based in Google's cloud, running the Google Apps suite.
Google's first stab at this was the CR-48: an Intel Atom-powered netbook with 2GB of RAM and 16GB of Flash. The CR-48 wasn't a powerhouse by any means, but it had a couple cool things going for it. First, it came with 100MB of free 3G service a month. Second, it had a “developer mode” that allowed users to break free of the strict Chrome-based browser jail and expose the chewy Linux center. A CR-48 in developer mode became a usable machine for a lot of people, because the machine pretty much became a small Linux laptop.
Fast-forward a couple years, and the first real Chromebook products are hitting the market. Quite a few Chromebooks exist today, but all of them are Intel-based (either Atom or Celeron). In late 2012, however, Samsung released an ARM-based Chromebook. This little guy is different in lots of ways—primarily, it beats its bigger brothers in size and battery life, without compromising much on performance. Speaking of performance, let's go over the specifications of the XE303—the first non-Intel powered Chromebook:
Dual-Core, Samsung Exynos 5 ARM CPU (Cortex A15, 1.7GHz).
2GB of RAM (not upgradable, soldered to the mainboard).
16GB SSD/Flash-based disk (also not upgradable, soldered to the mainboard).
ARM Mali T-604 Quad-Core GPU.
Wi-Fi (802.11 a/b/g/n).
Bluetooth 3.0 (sadly, no Bluetooth 4.0 here).
11" LCD screen at 1366x768 resolution.
One USB 2.0 port, one USB 3.0 port, one HDMI-out port and one SD card slot.
Optional 3G modem (CDMA, on the Verizon network in the US, equipped on this model).
6.5 hours of (rated) battery life.
Dimensions: 2.4 lbs (1.10 kg), 11.4" x 8.2" x 0.68" (289.6 x 208.5 x 17.5mm).
Bonus: 100GB of Google Drive included for two years.
Bonus: 100MB/month of Verizon 3G service included for two years (3G model only).
Looking at the specifications individually, they aren't mind-blowing. However, when you put them together in a $329 computer ($249 if you get the non-3G version), that's something different altogether. This is a functioning computer—with a keyboard—that is playing in the tablet price-point and space. The keyboard is actually quite good for a machine of this size. Compared to other netbook-class machines I've owned, this keyboard is far and away the best I've used amongst low-end hardware. The display isn't outstanding, but it's serviceable and does the job. The build quality is quite good, although the unit is built from plastic—there's no metal in it—keeping the price point down where it needs to be. The unit doesn't creak, pop or feel cheap, despite the fact that it's one of the least expensive computers I've owned.
Surprisingly enough, the little dual-core ARM CPU does a great job of keeping things running—and running silently, as there's no hard disk or fans to make noise in this little guy. The Chromebook had no problems playing 720p video streams from Netflix (where the Google and Netflix wizards have HTML5 streaming running for the Chromebook without needing anything but the Chrome browser). The Chromebook also performed just fine while watching H264-encoded video streaming via Apache off a machine on my local network, and it did it while maintaining its advertised battery life of 6.5 hours. But, it's running something that's not a “real OS”—ChromeOS. Is ChromeOS usable?
From a basic user standpoint, ChromeOS is actually a good thing. It comes with an “office suite” included in the price of the machine, is virus-/malware-resistant out of the box and is easy to update. ChromeOS on the Chromebook boots to a user-login screen in about eight seconds, which is plenty fast for the average user. It's basically a Google Apps appliance, and when you think of the Chromebook within that frame of reference, it's a really nice little machine.
I loaned the Chromebook to my ten-year old son, who knows just enough about computers to be dangerous. In no time flat, he was surfing the Web, and he discovered you didn't need a Netflix “app” to watch Netflix movies on the Chromebook. If you're looking for a Web-surfing machine, the Chromebook more than fills that particular need.
In all, for most of the tasks an “average” user would do, this little Chromebook is a decent portable machine, so long as that user has a full-fledged desktop somewhere—and is comfortable with the Google Apps suite. However, power users (the readers of this magazine) will find the “jail” of ChromeOS to be limiting. However, that jail can be broken.
As mentioned previously, it was possible to put the old CR-48 Chromebook prototype into “developer mode” and extend its capabilities through various hacks. Thanks to Google and Samsung for retaining this ability on the new ARM-based Chromebook, as it's necessary to hack the unit.
There are a couple different ways to extend the Chromebook to run a full Linux environment, but I think the most flexible and easiest to install is an Ubuntu chroot environment, using the Crouton script by David Schneider (an engineer at Google). Crouton is the best thing since sliced bread—it makes it easy to install Ubuntu's ARM port in a chroot on the Chromebook's filesystem. Although it's possible to repartition and reformat the Chromebook's disk (see the Another Way to Hack the Chromebook sidebar for more information), doing that brings its own set of risks and challenges. By keeping ChromeOS on the machine, and installing Ubuntu in a chroot, you can let ChromeOS handle the power management, networking and other hardware-related tasks. Going with a chroot-based install also lets you install multiple chroots side by side, play with them and delete them with impunity if you don't like the way they're behaving.
First, please refer to the links provided in the Resources section of this article, and back up any data you have on your Chromebook. The tools and methods described here may change between the time of this writing and press time, so please, ensure that you're following the latest set of instructions.
Now that you're all caught up, start by putting your Chromebook into developer mode. This is done by starting the Chromebook in “Recovery” mode first: hold the Esc and Refresh keys down while turning on the system. Once the “Recovery” screen appears, invoke developer mode by pushing Ctrl-D (there's no prompt, you have to know the magic sequence). The system will ask you to confirm, and then it will wipe its internal disk, finally rebooting into developer mode. As a consequence, the system always will show an “OS verification is off” screen on power-up, and you'll need to press Ctrl-D to clear that boot screen.
Once the Chromebook is booted in developer mode, open the Chrome browser and go to the Crouton download URL: goo.gl/fd3zc. The Crouton script will download automatically in your Downloads directory on the Chromebook.
Now that you've got the Crouton script on your Chromebook, you need to launch it. Start a crosh shell (Chrome Shell) in the Chrome browser by pushing Ctrl-Alt-T, then type shell and press Enter. You're almost ready to make your first chroot. Crouton has the concept of “targets” as install definitions. If you want an Xfce-equipped system, you can install with the -t xfce target. Because you're installing Ubuntu here, you may as well try out a full-blown Ubuntu—let's install Unity. Do that by running Crouton with the following command from the crosh shell:
sudo sh -e ~/Downloads/crouton -t unity
Crouton will prompt you along the way, asking questions, such as user name and password, and it'll download all the necessary files to build the chroot. Then, it'll go and do the heavy lifting of actually building and installing the chroot.
Once it's all done (how long it takes depends on your Internet download speed, because Crouton downloads all its bits from the Ubuntu mirrors), you can start your Ubuntu session from crosh simply by running sudo enter-chroot. If you want to start Unity, once you're in your chroot, just run startunity, and Unity will start on a second virtual terminal. You then can flip between Unity and ChromeOS by pressing Ctrl-Alt-Shift-Forward or Ctrl-Alt-Shift-Backward. (The “Forward” and “Backward” keys are special Chromebook keys, about where F1 and F2 would be on a normal PC's keyboard.) You also can install any other software inside your new chroot, simply by using Ubuntu's Software Manager, apt-get or your favorite Debian package installer.
There are other versions of Crouton, in the event that Ubuntu's not your speed (see the Resources section for a port of Crouton that installs Arch Linux). Don't forget, if you want to experiment, or have more than one chroot for different reasons, you can. Simply install with your desired target(s) and name them differently with Crouton's -n option.
The Chromebook, out of the box, isn't exactly the most usable of machines for most Linux Journal readers. It's geared more for the basic or novice user, particularly one who's already using the Google Apps suite of products. However, once the Chromebook is extended in developer mode and has a full Linux chroot on it, it's an extremely good mobile companion—particularly for the price. Its long battery life, light weight and silent operation lend itself well to working just about anywhere. If you decide to put up the money and get the 3G model, you should factor the two years of free 3G and Google Drive into the equation too. Google Drive and 100MB of Verizon 3G would be priced at about $15 a month, or $360 for two years. With the 3G model going for $329, this is indeed a bargain.
If you're looking for an inexpensive, highly portable, Linux computer—and you don't mind hacking on it a little bit—check out the Samsung ARM Chromebook.