wesc (wesc) wrote,

Making my Chromebook more powerful/flexible with Crouton

It's been awhile since my last post so I need to keep this thing alive somehow. The last few haven't been technical in nature, so let's do that. There has been much ado about #Chromebooks recently -- see my G+ post regarding this. In one of the comments of the numerous writings on them was a link to a page (or another similar post) describing how to add a #chroot to a Chromebook and run a Linux distro side-by-side with ChromeOS... no dual-booting! This was attractive to me both to give me "a real shell" along with using ChromeOS simultaneously, and allow me to do coding (for now) without a cloud-based IDE or code editor. It gives me easier access to local files and allows me to use a more traditional development environment.

The screenshots just happen to be for the Samsung Series 3 Chromebook, which is what I have (actually the 3G version, or XE303C12-H01US to be exact). Better yet, the instructions there were fairly accurate. What was missing? One screenshot with the warning that transitioning to Developer Mode should only be for the faint of heart and that you're likely voiding your warranty was absent. There was also no mention that during the 11.5 minutes switching to Developer Mode also shows a progress bar at the top showing the total time elapsed and ETA of time remaining. The Ubuntu installation did take a bit less than the advertised half-hour (20 minutes), but I'll attribute that mostly to the fact that I used a USB Ethernet adapter rather than going over the air.

One other missing instruction was that at the end, one of the tools asked about designating a local user with the following prompt: "Please specify a username for the primary user." I entered "root" because nothing else (legitimate) came to mind, but it didn't like it and aborted. I reran the script with a "-u" option for update, and this time entered "chronos" since that appeared to be the shell's username. After the username, it asked for something else: "Enter new UNIX password:". After giving it a password and confirming, I get the acknowledgement with the tips as illustrated in the post. Here's a snapshot of this flow missing from the blogpost:

Prompt for username and password

Unfortunately I didn't take a snapshot of the disk space beforehand, but afterwards, of the total 16GB SSD capacity, only 15% has been used up, leaving usable room for me to work with. In the last part of the post, it mentions that if you have second thoughts or wish to restore your Chromebook, that's just as easily done too, so there was no reason not to try this! I'm glad I did as things so far, everything seems to be working okay, probably better than I think.

I've only run into one annoying problem: I couldn't seem to background the starting up of the system with sudo startxfce4 If I did a ^Z, put it in the background, or somehow close my shell, it would cause the X server to hang, requiring me to kill or "kill -9" the processes related to the X server. I came up with a solution that seems to work for now, but perhaps some of you can tell me what the real issue is so I can adjust mine as appropriate. For now, the solution I have involves using nohup, which comes in the form of an alias that I added to my .bashrc file: alias startx="(cd;sudo nohup startxfce4)&". Anyone have a better solution or can tell me what the issue is? Anyway, I can now exit the shell, even end the crosh session, and close the browser tab..., all without killing my Linux desktop. CTRL-ALT-SHIFT left and right arrow move me back-and-forth easily between both environments seamlessly.

The article also doesn't mention that the "NetSurf" browser that comes with Linux isn't able to handle modern day web pages, so if you need a "real" browser, you can get the 32-bit ARM version of the Chromium browser. If you didn't already know it, Chromium is the open source code that Google Chrome and ChromeOS are based off of. To get the Chromium browser: sudo apt-get install chromium-browser. Here's what the Ubuntu screen on my Chromebook looks like:

Ubuntu X Windows desktop on my Chromebook

Want to customize your XFCE desktop? Check out these instructions. The default screen is just that... default and not very fancy. One of the things that XFCE is known for (besides being quick and lightweight) is having a highly-customizable desktop, so you should take advantage of that.

Finally, I can also bail on the X server (and having multiple environments) completely if I sudo enter-chroot directly from the shell in crosh to "open a terminal" to the Ubuntu work chroot environment! For example, as far as sharing files go, ~/Downloads is the obviously place the article suggests (proof below using enter-chroot), but one place it doesn't mention is the SD drive slot. The SD card contents/filesystem comes up via your file manager in ChromeOS, and in Linux, it's mounted for you at /var/host/media/removable.
chronos@localhost / $ ls ~/Downloads
crouton  test.txt
chronos@localhost / $ sudo enter-chroot
Entering /usr/local/chroots/precise...
$ ls ~/Downloads
crouton  test.txt

My next challenge is to find an HDMI-to-VGA adapter (w/DA conversion and power as necessary) so I can take this as my only computer on the road and be able to deliver presentations with it.

To summarize:

  1. Chromebooks in the news a lot; some complain they're not laptop replacements

  2. I want to change this from the developer's perspective

  3. Running Linux side-by-side with ChromeOS is one way

  4. I found a cool post about Crouton and followed its instructions

  5. The process was relatively quick and painless

  6. The post was missing a few things (clarified here)

  7. sudo startxfce4 to run X Windows or sudo enter-chroot for just a shell

  8. Want to share files? Use ~/Downloads or the SD card slot & /var/host/media/removable

  9. Need a web browser? sudo apt-get install chromium-browser

  10. I'm more confident that I can take my CB as my only laptop on the road

  11. Before doing that, need to solve the last problem: HDMI-to-VGA conversion

  12. If something doesn't pan out, you can can revert it all

Any other tips or tricks from you all are welcomed!
Tags: 32-bit, 3g, arm, chromebook, chromeos, chromium, crouton, google. chroot, linux, samsung, series 3, ubuntu
  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened