Co-run Ubuntu Linux on a Chromebook?

By Martin Jansen, Owner of Jansen-PCINFO

Hello faithful reader.  I’ve written in the past about converting a Chromebook into a PC in My $75 PC.  I’ve also written about running Crostini, a virtualized Linux session in number 3 of my 5 Great Things about Chromebooks article.

But is it possible to run a full version of Ubuntu Linux while running chromeOS and switch between the two operating systems without rebooting?  Thanks to the incredible work of David Schneider, a former software engineer at Google, it can be done.  His work involves a script which downloads and installs older versions of Linux.

Why?

Why would anyone want to do this? Because Crostini (Google’s virtualized Linux) is somewhat limited and takes up a lot of space and resources.  Also Crostini, does not currently support video acceleration for games.  I want to be able to run Linux applications without limits.

Look out for Changes

First of all we must remember that chromeOS is constantly changing and being upgraded for safety concerns.  Many of the older references on how to do this don’t work.

This is what worked for me, your mileage may vary and I must state that I am not the expert on this process.

Developer Mode

I followed this guide after putting chromeOS in Developer Mode.  These steps alone may put off some readers who are owners of Chromebooks.  A Powerwash will reset the Chromebook to factory settings, but it is not as bad as it sounds.  Once you login with your Google credentials most every app and setting will be restored from backup in the cloud.

In developer mode, one always has to press Enter key to get past this screen:

Press Enter right away, otherwise a loud beep will be heard (not good if in a quiet place like a library).  After that login as usual.

Now, follow these steps as outlined by CroutonIsFun, a contributor to the dnschneid pages on github.com: https://github.com/dnschneid/crouton/wiki/Crouton-Quick-Start.  I suggest you print off the page as you will not be able to copy and paste the commands in the VT-2 terminal.

I had tried other tutorials on how to install a version of Linux on Chromebooks, but many of them no longer work.  The problem involves the ChromeOS developer shell or CROSH (Ctrl+Alt+T) which no longer accepts sudo (temporary super user) commands.  If you see any tutorials involving CROSH, know that it won’t succeed.

Also, I tried simplified versions of the install which never finished. The install never requested a user id and password and gave me a UUID error.  I always had to delete the bad xenial install with command: sudo delete chroot xenial

I did install the focal version of Ubuntu which is a couple of years old, but still works quite well.  The command to install the focal is quite long: sudo CROUTON_BRANCH=silence crouton -r focal -t core,audio,cli-extra,x11,gtk-extra,xorg,keyboard,extension,xfce

The command does provide for the Crouton Extension and the XFCE desktop which is extremely light on resources.   The install is complete when prompted for a user id and Password.

After the install, the directions tell us to enter into the new chroot and install SSH.  I always have to restart SSH after I shutdown and restart my Chromebook.  It’s not hard to do.  Enter the chroot with a sudo enter-chroot command in VT-2 and then the sudo /etc/init.d/ssh start command.

There is a Secure Shell extension that can be used to remote into the focal chroot from Chrome:

With SSH started I can remote into the session using the Secure Shell extension and run the startxfce4 command.  And there it is – a basic focal XFCE desktop install:

I can switch back to chromeOS by pressing down Shift+Ctrl+Alt keys and pressing the back arrow or F1 key.  Then I can switch back to Ubuntu by opening the Crouton extension:

Click on focal.

Now I can install full applications in Ubuntu and run them from the desktop.  Then I can switch back and forth between operating systems.  It’s the best of both worlds.