Installing Ubuntu to a Chromebook Flash Drive with Crouton


With a little tweaking, I now have my crouton install on a micro external flash drive and can get it re-attached to the system with just a couple lines of code. The only downside is a slightly laggier crouton switch as a result of passing everything through USB. I've now got a nice 32GB partition to play around with Ubuntu, and I don't lose my configuration if I ever powerwash the Chromebook.



I utilized Tom Wolf's excellent crouton cookbook instructions on installing to an SD card, but have used it for a micro flash drive instead.
This setup assumes you've already enabled developer mode as described on the How-To Geek's detailed post.

Set up crouton install on a flash drive:
  1. Format the flash drive to an ext file system. I used gparted to format it to ext4 from an Ubuntu laptop and called it "extchroots"
  2. Plug flash drive into the Chromebook and ensure it is recognized as a drive.
  3. Open a terminal (CTRL+ALT+T) and enter the shell by typing "shell" and pressing enter.
  4. Enter "cd /usr/local"
  5. Enter "sudo mkdir /media/removable/extchroots/chroots" where extchroots is the name of the external partition you created in step 1.
  6. Enter "sudo ln -s /media/removable/extchroots/chroots/ chroots" This creates a link in your local folder out to the external folder so that crouton will install the chroot to the flash drive while thinking it is all operating internally.
  7. Download the latest crouton to your Chromebook from here. It should save in your Downloads folder.
  8. Back in the shell, start the crouton install process. There is a detailed explanation of crouton usage on the official github, but I personally have been using Ubuntu 14.04 Trusty with the Unity GUI just because it's familiar to me and 14.04 has had full support for everything on my Acer C720. The command would be "sudo sh ~Downloads/crouton -r trusty -t unity"
  9. The process will take awhile to complete. Leave it be until it asks you to set a username and password (which you should set and remember).
  10. You now have a complete install on your flash drive! If you want to enter the command line interface you can start it from the shell with "sudo enter-chroot" or if you want the full blown unity environment you can enter "sudo startunity". You can switch back and forth by using CTRL+ALT+BACK and CTRL+ALT+FORWARD. If you're using the Ubuntu GUI you'll need to hit CTRL+ALT+REFRESH after CTRL+ALT+FORWARD.
Powerwashing and restoring your flash drive install:
  1. Exit the chroot by typing "exit" from the command line interface, or signing out from the GUI.
  2. Shut down the Chromebook and remove the flash drive with your Ubuntu install (just to be safe)
  3. Boot the Chromebook and perform the powerwash (Settings > Advanced Settings > Powerwash)
  4. Follow the powerwash prompts and then sign into the newly powerwashed machine.
  5. Plug the flash drive back into the Chromebook and repeat steps 3-6 above to re-create the chroot link out to the external partition.
  6. Download crouton again
  7. From the shell run "sudo sh ~/Downloads/crouton -b" to restore the crouton scripts
  8. You should once again be able to access your Ubuntu install from the shell via "sudo startunity" or "sudo enter-chroot"

Comments

  1. I'm looking at the same drive (except the 64GB version) and was planning to do something similar. Does that drive get hot? Also how much slow is the chroot from the USB3.0 drive?

    I'm using a Toshiba Chromebook 2.

    Great post!

    ReplyDelete
    Replies
    1. The drive does get slightly warm to the touch, not not scalding or anything. In my opinion it's to be expected with such a small drive; there is simply no place to dissipate the heat! It hasn't melted anything yet :-)

      The chroot has run reasonably fast for everything I've needed it for and feels about on par with how it was running it off the chromebook's internal storage. Chrome/VLC/File Manager are just fine, but it chugs a little bit if I try to fire up Android Studio. It just takes about 10 extra seconds for the initial loadup of Unity when I fire it up. If I'm just doing something at the command line using "enter-chroot" then the boot is essentially instantaneous.

      Running it on the 2GB RAM Acer C720
      Thanks for visiting!

      Delete
  2. I was so excited when this worked for me but it took a turn for the worst. When I exited out and tried to come back , I kept getting this message "chroot: failed to run command 'su': Too many levels of symbolic links". A post on Reddit was titled " Crouton cannot start after upgrade to Chrome OS 88 ". Does anyone else have more information? It's a darn shame to waste such a beautiful setup.

    ReplyDelete

Post a Comment