The Homebrew’d Chromebook
Through some massive tinkering, I’ve turned my System76 Galago Ultrapro into a high powered Chromebook with an official ChromeOS image. Let me address some lingering questions and misconceptions that come with ChromeOS and why I would even want to do this.
“ChromeOS inst a real Operating System, it’s just a browser.”
This misconception always gives me a chuckle. ChromeOS is very much an operating system based on the linux kernel. Even though it is targeted in different uses than the tradional approch, marking it as invalid is just silly.
“You wont be able to use desktop apps.”
This one ties in very closely to the first criticism. More and more companies are going away from dedicated desktop applications for more of a web based approach. For example, I work with Swappa.com 99% of my work is web based. Personally it could be 100% but I’m a bit stubborn. So what can I do with a chromebook? Enter the much improved Crouton Script. With this nifty little tool, I’m able to do this:
This is a fully working Linux install with the XFCE desktop interface in it’s own window. Even down to intergating the folders on ChromeOS. This allows me to run apps like Gimp or Android Studio on ChromeOS
Issues with ChromeOS and my Hardware
The following issues are left to iron out
- Headphone jack- Sound works fine via the speakers, plugging in a pair of headphones kills all sound. I’ve traced this issue down to a defualt ‘auto-mute feature. Opening the terminal (ctrl-alt-t) and entering the shell (type shell) and running alsamixer -c1 and disabling this auto-mute allows sound to come through the headphone jack. I’ve got to tinker and find a why to set this as default as it must be re-ran each boot.
- Resuming from suspend activates Dock Mode- The device sleeps properly but has issues on resume. This is most likely due to a mismatched video driver. When entering this docked mode after resume it drops the resolution and requires logging off and back on to sort out. Annoying more than a big issue.
- Can’t switch to beta/dev channels- I’m sure this is due to the hackery it takes to get this going.
- Updates- I’m almost sure I wont be able to get auto updates even on the stable channel. If not, worse case, I can do the whole thing again. Hopefully I can find a workaround.
Here are the steps I used to get everything sorted on my System76. If planning to do this, you’ll have to do a lot of trial and error when converting to ChromeOS. There are a few ways to get a hold of a chromium OS image. Two main sites have been dishing out builds for a bit, one still running as of today. Although dated, this build worked best for me: http://goo.gl/rww9lB Once you have this pulled down, you will want to copy it to a flash drive. My favorite way to do this is via a linux machine and using DD. an example command would be like this:
sudo dd bs=4M if=/path/to/chromiumos.iso of=/dev/sdx && sync
x being the location of your flash drive. example being: /dev/sdb Be very careful with this command. If you get your mount point wrong you’re gonna have a bad time.
Once the flash drive is complete. Boot into ChromiumOS. Sign in, and get to the main desktop. Make sure you connect to the internet. This most likely will require a Ethernet connection for now. Keep in mind it might be a bit slugish. To install chromiumOS to the hard drive, open the terminal (ctrl-alt-t) and run this command: install if asked for a password, it is facepunch
You’ll see a message, hit y to install to the hard drive. This will start the partitioning and copy of the image to the internal drive. Once this is complete, shut down the computer.
Boot into the newly installed chromiumOS build. Log in again and get to the main desktop. Make sure you connect to the internet. This most likely will require a Ethernet connection for now. Now we need to get to the dev console. (ctrl-alt-F2) Username: chronos Password: facepunch
Now run this command: sudo su Same password as before. Finally we get to run the last command:
wget http://goo.gl/4suhf; sudo bash 4suhf
This will present a large list of ChromeOS images, give it plenty of time to load, around ~50 choices. This is where your hardware comes in play. After trying just about every one, i found that #12 Hp Chromebook 14 q000-q099WP2 / Hp Chromebook 14-SMB Intel corp worked best on my hardware. After selecting the image, it will pull down this recovery image and copy it to the hard drive.
After it is complete, reboot, and voila. Depending on the hardware depends on how well everything works, but for me it has been flawless, minus the issues mentioned above. I plan to rock this config for the next few months and hunt down the last few issues.