Netbooks: The Next Generation — Chromebooks

Netbooks are dead, long live the Chromebook. Lewin Day wrote up a proper trip down Netbook Nostalgia Lane earlier this month. That’s required reading, go check it out and come back. You’re back? Good. Today I’m making the case that the Chromebook is the rightful heir to the netbook crown, and to realize its potential I’ll show you how to wring every bit of Linuxy goodness out of your Chromebook.

I too was a netbook connoisseur, starting with an Asus Eee 901 way back in 2009. Since then, I’ve also been the proud owner of an Eee PC 1215B, which still sees occasional use. Only recently did I finally bite the bullet and replace it with an AMD based Dell laptop for work.

For the longest time, I’ve been intrigued by a good friend who went the Chromebook route. He uses a Samsung Chromebook Plus, and is constantly using it to SSH into his development machines. After reading Lewin’s article, I got the netbook bug again, and decided to see if a Chromebook would fill the niche. I ended up with the Acer Chromebook Tab 10, codename Scarlet. The price was right, and the tablet form factor is perfect for referencing PDFs.

Two Asus Netbooks and a ChromeOS tablet.
Behold, my netbook credentials.

The default ChromeOS experience isn’t terrible. You have the functionality of desktop Chrome, as well as the ability to run virtually any Android app. It’s a good start, but hardly the hacker’s playground that a Linux netbook once was. But we can still get our Linux on with this hardware. There are three separate approaches to making a Chromebook your own virtual hackspace: Crostini, Crouton, and full OS replacement.

The Official Solution: Crostini

Crostini is the officially supported way to run Linux applications on a Chromebook. It’s a refined process, if your device supports it. Crostini uses virtualization to sandbox the Linux install, so there are some older devices that will never receive support for it. If you want to use Crostini, make sure you purchase a supported device.

Crostini is particularly simple to set up. Go into the ChromeOS settings, to the Linux section, and press the button to enable it. ChromeOS will download a Debian image and do all the install. It asks you for a username to use, and that’s it. Once it’s set up, you have a Debian system ready to go.

Apt works as expected, and the whole Debian collection of software is available. Any graphical programs are forwarded to the ChromeOS graphical layer, so you can interact with them as expected. Even audio is forwarded.

Crostini is quite flexible, all things considered. You can swap the default Debian system for Fedora, Kali, Arch, or another Distro. On an x86 Chromebook, it’s possible to install Steam and run OGL accelerated games. If you’re looking for a full desktop experience, there are even guides to install a desktop environment like KDE.

There’s even an Unsupported USB flag that can be enabled to forward virtually any device into the Linux VM. Want to program an Arduino? Yeah, it’s possible. Another experimental flag adds the ability to forward ports into the Linux VM. This opens up the ability to do web programming and all sorts of other tasks. The best part about Crostini is that it’s still being actively developed, and features are being added. For example, an experimental audio capture flag was recently added. One of the best resources I’ve found for learning more about Crostini developments is the aptly named r/Crostini subreddit, and particularly their wiki.

As neat as Crostini is, it does depend on your device getting whitelisted by Google. If you’re stuck with hardware that isn’t on the Crostini supported list, there is another option: Crouton.

Crouton

I won’t wade into the debate on which is tastier, but Crouton does have some distinct advantages. The biggest advantage is that it runs on just about any ChromeOS device that has devmode. Instead of running a VM, Crouton is based on chroot, so direct access to the hardware is possible. On the other hand, Crouton requires putting your device in developer mode, AKA the official rooting process. If you’re willing to commit to dev mode, and the powerwash it requires, then the steps required to install crouton are simple.

Crouton running Gnome and Gimp on a Chromebook

Download the crouton binary, install it to the proper location, and run sudo crouton -t xfce to download and set up the image. Once it’s installed, sudo enter-chroot startxfce4 starts up the chroot and launches the XFCE desktop. From there, install the Crouton extension and xiwi, and you can run linux application GUIs right on your ChromeOS desktop. It’s a little less refined than Crostini, but does the trick.

Since we have root from dev mode, it’s easy enough to pull a few tricks, like adding a udev rule to redirect devices into the chroot. Want direct access to a built-in camera? Crouton can do it.

Full OS Replacement

For absolute full control over your device, the only option is to ditch ChromeOS altogether and install a Linux distro. On x86 devices, chrx is a popular option for dual-booting a full-fat Linux distro with ChromeOS. Even some Arm models can be convinced to boot a Linux distro that supports their chipset, but beware that you’re way outside the realm of what’s officially supported by Google. Not that that ever stopped us before.

There’s a distro that’s designed specifically for Chromebooks, GalliumOS. It’s a stripped down Xubuntu, designed to run well on the lightweight Chromebook hardware. There is, of course, a catch. GalliumOS can only run on certain devices. Arm devices are totally unsupported, and some older machines have other various incompatibilities.

Google did add support for a legacy boot mode that makes the installation of a full Linux OS much easier. Even if your device has a firmware write-protect switch, it’s probably possible to put the device in dev mode and boot via the venerable BIOS process.

Final Thoughts

I’ve written most of this article from the Acer tablet I mentioned earlier. The experience reminds me a lot of working from a netbook. I have Crostini installed, and have been working my way though testing out a multitude of programs. Not everything works perfectly, but each update brings fixes and features.

Is a Chromebook the next netbook for you? Maybe. A modern Chromebook is an impressive piece of hardware, and it brings a lot of hackability.

If you go the Chromebook route, be sure to let us know in the comments how it’s worked for you, and send in some other Chromebook related hacks!

33 thoughts on “Netbooks: The Next Generation — Chromebooks

  1. I’m still using my first gen Samsung Chromebook from 2013ish w/ Crouton as my living room based ssh/ dev machine. I’ve been meaning to get something newer but couldn’t decide if I wanted to go w/ another Chromebook or just buy a “real” laptop and not have to jump all the hurdles.

  2. I don’t think GalliumOS got the attention it deserves. It works really well, and because it’s customized for chrome books, all the function keys by default are set to do the same function they do on a normal chrome book
    I would highly recommend installing it if you have a spare chrome book. Plus, it’s super easy to reinstall ChromeOS.

  3. Looks like I got lucky with my old chrome book. All my knowledge about linux can fit on a post-it note, but I was able to install Mint on my chrome book within about an hour. The most time consuming part of the process was opening the case so I could remove the write protect screw from the board.

  4. Pricing looks like the only real benefit over a ‘laptop’ …as far as I can tell. That said, I bought a Motile 141 laptop for $200 a few months back which has a very nice FHD and is easily upgrade able First thing I did was wipe Win10 and install KUbuntu (now on 20.04 LTS) . I upgraded mine to 16GB of ram and an additional 1TB m.2 drive for example. I was impressed how easy it was. Remove 6 or so screws and the back comes off exposing 2 M.2 slots and 1 memory slot. The machine has plenty of power and fairly snappy for what we use it for and the weight is ‘very’ light compared to my previous laptops. I just don’t see how a Chrome Book would be ‘more’ useful (for my use).

    1. Lol. Your response to a cheap, smaller, basically disposable laptop is to talk about your modded high end laptop.

      My $100 chromebook has 10 hours of battery, 4GB of ram, microsd, and I’m not going to freak out if it gets wrecked nor will it be hard or expensive to replace.

  5. I’m so tired of sandboxes.

    When my kid wanted a Chromebook because that’s what they used at school I told her she could run all her Android apps that she knows from her phone and old tablets on it plus most if not all of the Linux programs she has on her desktop (which started as a Pi).

    Yeah, it works great for all those basic, standalone apps that have perfectly good alternatives in ChromeOS (or just about any other OS) anyway. What a surprise it was to find out that she couldn’t even access LAN resources because everything runs in a sandbox where the only IP address it sees is a Chrome supplied NAT!

    She can’t even cast to a Google Chromecast from an app written for Google’s Android on a Google Chromebook. It’s not like it’s the old days of trying to make Microsft, Apple and OSS products talk to one another. There’s no technical reason why it should be hard to make things work together. It’s just that somebody’s idea of security gets in the way.

    My goal was always to have one device that can run anything I want it to. Instead it looks like the future is a million virtual devices which can each do only one thing and cannot even talk to one another or share any resources. What a regression!

        1. I’ve run Thinkpads forever, and an X220 with the nice IPS screen and i7 chipset since they came out. They were pricey new, but they’re about $200 on the used market now. Everything just works. Everyone should have one.

          The speed bump to an X230 doesn’t make much difference, IMO.

          8GB of RAM is getting a little bit tight these days, though. Might have to buy a desktop (for the first time since 2005).

          1. Well between this review and a pleasantly surprising amount of Amazon rewards points, my question from the earlier post is settled. Worst case, I end up with a mediocre machine without all the Google cruft baked in.

  6. I picked up a Lonovo x131 Chromebook last year, added a SSD and installed Gallium, and it’s a well built hacking machine. It does lack CPU power, meaning the FPGA build for the Supercon badge takes many minutes to complete, but I really like it’s keyboard, battery life, and how solidly it is constructed (since it was made for schools).

  7. I got an original Pixel for $200 a couple years ago, just to see about this touch-screen thing. I went through ChromeOS, Crostini, Crouton, then Gallium dual boot and now new bios and Kubuntu.

  8. I picked up an old Dell Chromebook 10 last fall for this exact purpose. Put GalliumOS on it. Apart from low res display and the small disk space (easily fixed with an SD card or USB stick) I’ve generally been pretty happy with it. My intended use case was for field maintenance for work, I needed something lighter and with better battery life than my laptop.

  9. Ah, chromebooks.
    Like gimped netbooks, with privacy violations en masse to “compensate” for the gimping.
    And far too often locked down so you’re not allowed to disagree about those facts and do something about it.

    1. You’re thinking of Android phones, not Chromebooks. I’m sure some of them must be locked down?? but both that I have bought were very easy to install a new OS on.

      1. They’re same thing nowadays, except for a few unicorns.
        None of the gigacorporations wants any users (or suckers if being honest) leaving the fold.

        Real netbooks need to make a return.

  10. I’m a fairly capable Linux person and I got a cheap used Dell Chromebook 3189 (KEFKA) to play with because it looked like fun hardware – convertible, dirt cheap, adequate specs, built for abuse – thinking it would probably end up running normal GNU/Linux as a beater, and become an Octoprint appliance if I didn’t care for the keyboard or something.

    I was as underwhelmed with ChromeOS as I expected, so I went ahead and flashed a Mr. Chromebox UEFI (this was several months ago, 4.11.1 at the time?) and installed Arch. Basic install was trivial to get going, but weeks of intermittent fiddling later never got the (horrifying Bay/Cherry Trail half-SoC-half-codec) sound working under anything other than ChromeOS, never got the (i2c connected) touch-pad and touchscreen working simultaneously under reflashed UEFI (input devices work in legacy boot though), etc.
    I tried GalliumOS to make sure I wasn’t making bad configuration choices and it was exactly the same behavior.

    … It’s back to running ChromeOS (in dev mode so I can get a real shell in the native terminal, which helps a lot). It has Crostini, but I found the performance disappointing compared to native. It’s good enough to be an OK ssh and email terminal or a youtube appliance, and I am taken with the price-per-build-quality, but I’m not blown away by the platform. The compellingly cheap ones have tragically low resolution displays and soldered RAM, (and my Octoprint backup plan doesn’t work with because Crostini is too jailed).

  11. I have had two ARM chromebooks (the original Samsung Chromebook, and an Asus C201), and they have been my daily driver since 2013. I love them. The feature they have that laptops don’t have is good battery life — my C201 gets 12+ hours a day! And they don’t get hot. And they’re extremely light. I basically don’t care about anything other than those three factors so I would put up with a lot of bull to get that result.

    I tried Crouton, and in an hour of playing with it I ran into so many limits I right away decided to replace the OS. It didn’t seem hard to me, but maybe that tells you more about me. In both cases, it took about a week to sort out all the driver issues…audio, sleep-mode, bluetooth, power save modes, trackpad, keyboard…I don’t know, if you love Linux because the open source nature lets you get to the bottom of every problem, they’re all pretty tractable problems. You can get the source to the stock kernel Google uses for these things, and I used that as a starting point…so the plus side is, it gave me a leg up on fighting with drivers. OTOH, I’m stuck at Linux 3.14.0.

    One thing Crouton *was* good for was it let me build my kernel without bothering to set up ARM cross-compile tools on my PC (I went that route too once, it wasn’t so bad, but easiest to use Crouton).

    One thing that did turn out to be a real pain in the butt was GL acceleration. You can get closed source drivers for the Mali GPU in most ARM Chromebooks, but getting them to actually work was one problem after another. I did finally win, but by that time I didn’t care anymore. I just use fbdev X11 and it performs well and is rock-solid. For the few programs that really want GL (Stellarium, and an STL viewer), I actually run the program on my PC and view it over vncviewer! hah.

    I don’t only think my Asus C201 is pretty good for $180, I think it’s by far the best laptop I’ve ever owned. 12+ hour battery life! 2 lbs! Never gets hot! (well, the speakers get hot…all these chromebooks seem to have identical garbage speakers)

    20:56:24 up 413 days, 11:08, 9 users, load average: 0.14, 0.19, 0.17

    Not bad for a device I literally throw multiple times a day.

  12. I found an Asus netbook at the local thrift store for $80.00. It works perfectly and came with Wimdoze XT, which I use and will not install on my full size laptop. It now has XT and Mint Linux. I will never associate with ANYTHING that relates with Google. Chromebooks suck along with HP, Dell and a few others. Do HACKADAY readers remember what the NSA did with those disk drives? And Win 10 is the worst OS on the planet.

  13. I ran Arch on an Acer Chromebook 13 for a couple of years and it was a fantastic but stressful dogfooding experience.

    It was lightweight, pretty darn fast (as long as you weren’t doing file I/o), and had ridiculous battery life (at the time).

    Because it ran on a Tegra K1, it supported full desktop GL via Nouveau…when I could get it to work. But, the support wasn’t fully integrated and I had a stack of patched packages that was becoming harder to maintain. Combine that with usually fast UHC mode and/or wifi breaking every other kernel release.

    Main reason I gave it up was I started job hunting and needed a more reliable machine that could run whatever weird x86 thing I may have needed to investigate for a random position…

    I actually pulled it out recently to setup for a family member, factory reset it, and found out it was no longer supported by ChromeOS and wouldn’t be updated :/ Which is frustrating and makes me want to get it back up and running as a dev machine. Maybe they finally got the Xorg changes mainlined that I needed?

    Also, since I no longer depend on it as a daily driver, maybe I can try reflashing the boot rom so I no longer have the annoying dev mode prompt anymore.

    1. I bought a low-end second- or third-generation refurbished Chromebook some years back. I believe it was still in its support life but nearing the end. In any case, I found that it really wasn’t useful to me. Anything I wanted to do on it wasn’t (well) supported.

      I tried using Crouton and that was okay until I fiddled with the partition table at which point Chrome freaked out and did a factory reset. So nope.

      Eventually, I spent a Sunday afternoon attempting–successfully, it turned out–to install John Lewis’s modified firmware and then XUbuntu. (One REALLY COOL thing about this firmware is that it includes a working tiny ramdisk-based Linux installation that I can boot into if the main OS stops working or just if I feel like it.) Of course, the keyboard is still a bit too small and the trackpad is nearly unusable, so it’s not a particular good computer.

      I ended up using it as a desktop media player at work. It’s got a 300GB hard drive (pretty rare for a Chromebook) so my music collection fits there nicely, plus I can script the player to (e.g.) play a random album. I also occasionally use it as a travel laptop when I don’t want to bring my daily driver along and it’s fine for that.

      So ultimately, I got my money’s worth.

  14. I would like to weigh in here. The way I see it from my point of view is that netbooks are NOT dead. Instead they have gotten better. More features, longer battery life and lighter OS options. A chrome boot based on price, purpose , size and battery life are the evolutionary children of the 7″ 8″ and 10″ laptop screens from 10 years ago. Now I know the first response is… but but but what about windows!?!? OK Yes chrome is more popular for education of kids , but they are still alive as well. Mostly you see them as tablet and keyboard combinations. So basically the netbook has evolved to have touchscreen and removable keyboard as a standard. Now The next gripe is probably….. BUT THE ETHERNET! . Ok lets be real wifi is way more popular and many laptops are losing full size ethernet as well in favor of USB C dongle options when needed. So if you really look at it, netbooks have not died, they just got so much better that the original we don’t consider them in the same category anymore. It would be like saying cars are dead because you cannot find a Model T ford anymore, when in fact there are plenty of ford cars, but they have gotten so much better we do not even compare them anymore. Get it? Got it? Good.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.