Crouton is a wonderfully done tool for ChromeOS based machines (Chromebooks and Chromeboxes) that allows for the chroots of various linux (generally Ubuntu-Based) environments.  Here are the details on getting crouton installed and running.  At the end of the page is the references, once accustomed to crouton, there is a Fedora based fork that, although behind the main project in stability, is coming along quite nicely.  Definitely worth checking out if you prefer the RPM over the DEB, as I definitively do.

INSTALLATION AND FIRST CHROOT

  1. Firstly, you do need to be in developer mode.  Going to or from developer mode will force a PowerWash, so have anything that you want to keep backed up elsewhere (Google Drive, USB drive, LAN, somewhere else).  To start this process is quite simple.  Press and hold the ESC+Refresh+Power keys.  The system will reboot and give you nasty warnings.  Nice thing is if you do indeed make an error, you will not enable Devolper mode and will just reboot.  When the first screen comes up, press CTL-D.  There will be a series of screens afterwards, read them and follow their instructions.  The final screen will be a screen that gives you one last out, and will force a 30 sec wait before starting the wipe.  After about 5m give or take, you will reboot, and you will be presented with the same screen as earlier, in which you will need to press CTL-D.  Each boot will need this or it will revert to normal mode. Full article on Dev Mode 
  2. Once in Developer mode, log in and let the system catch up.  Chrome will regrab all your Chrome Apps, extensions, and settings.
  3. Install the Chrome extension : Chrome Crouton Extension 
  4. Download crouton onto your Chromebook.  Most resources online will presume you put it in your downloads folder (~/Downloads), as will I.  Here as of the time of my writing this, is the most recent version of cruton : Crouton Download Link 
  5. Once downloaded we can fire up a simple chroot.  Open up crosh (keyboard shortcut is CTL+ALT+T) and then type in "shell" at the prompt (no quotes).
  6. To start up your first chroot, type in the following command and follow any prompts (normally just username and password for the chroot user).  The -t signifies what targets to add in.  In this case we are asking for xfce desktop, touch screen support, the chrome extension, and xiwi support (another component of the chrome extension):

    sudo sh ~/Downloads/crouton -t xfce,touch,extension,xiwi

  7. Some people may have special usage cases that require extra bits, one of which will not hurt is an immediate update to the chroot:

    sudo sh ~/Downloads/crouton -u

  8. Now we should be able to start the chroot.  To go back and forth between ChromeOS and the chroots (yes you can have more than one) you can use CTL+ALT+SHIFT+Fore/Back to go back and forth at will.

    sudo startxfce4

  9. There you go!  For the full gory details of what else you can use crouton to do feel free to visit their github page, which does have a good wealth of information, including specific hardware workarounds.

CHEATSHEET

UPDATE CROUTON

croutonversion -u -d -c

BACKUP CHROOT

sudo edit-chroot -b chrootname

RESTORER BACKUP OF CHROOT

sudo edit-chroot -r chrootname

CREATE NEW CHROOT

sudo sh ~/Downloads/crouton -t xfce

DELETE CHROOT

sudo edit-chroot -d evilchroot

EDIT CHROOT

sudo edit-chroot help

SET CHROME/CHROMIUM ROOT PASSWORD

sudo chromeos-setdevpasswd

UPDATE YOUR UBUNTU CHROOT

Follow and obey the prompts that follow.

sudo enter-chroot -n <chroot_name>
sudo apt-get install update-manager-core python-apt
sudo do-release-upgrade

ENABLE UBUNTU PPA'S

sudo apt-get install python-software-properties software-properties-common python3-software-properties

INSTALL ADDITIONAL DESKTOP ENVIRONMENTS

MATE

A little bit of work, but works great (presuming you have the hardware to drive it.)

sudo apt-add-repository ppa:ubuntu-mate-dev/xenial-mate
sudo apt-get update
sudo apt-get install mate

In your crosh shell:

wget -O ~/Downloads/startmate http://jaxonwright.com/startmate
sudo mv ~/Downloads/startmate /usr/local/bin/startmate
sudo chmod +x /usr/local/bin/startmate

Now, similar to how you would load xfce4, you can run the following at a crosh shell to start up your chroot in Mate:

sudo startmate

REFERENCES