Coventry University Logo
4061CEM - Programming and Algorithms 1
  • ChromeOS and the Linux Desktop
    7

ChromeOS and the Linux Desktop

As part of this course, you will need to become familiar with the Linux operating system and the various commands. However, you may not want to install Linux on your personal laptop as a dual-boot option. In this instance, this tutorial will guide you through the process of setting up the Linux operating system on your university issued Chromebook.

Powerwashing the Chromebook

Before you proceed with this task, you need to ensure that the Chromebook is at its factory settings. If you have already set up your Chromebook then you need to activate a procedure known as powerwashing. This is the process of resetting the Chromebook back to its factory settings. To do this, you need to go to:

Settings > Advanced > Reset Settings

Once you have reached this menu option, you will be presented with an option to powerwash. To begin this process, click on the Reset button, similar to the one shown in the screenshot below.

Screenshot of Powerwashing a Chromebook

This will begin the process of resetting the Chromebook back to the factory settings. Note, that it may take some time for this to complete.

Activating Developer Mode

Once the Chromebook has finished resetting and has rebooted to the initial set up screen you need to press the following key combinations on the keyboard Esc+F3. Whilst holding these keys, push the power button and continue holding the Esc+F3 keys. This will reboot the Chromebook into recovery mode, where you will be presented with the following text:

Please insert a recovery USB stick or SD card.

Whilst you are on this screen, press the following key combination on the keyboard: Ctrl+D. This will take you into the Developer Mode screen, where it will ask the following:

To turn OS verification OFF, press ENTER

Your system will reboot and local data will be cleared.

To go back, press ESC

As you want to turn off OS verification, you can proceed with pushing the Enter key on the keyboard. Once you have done this, the system will once more reboot and begin the process of transitioning into developer mode. You will need to be patient, as this can take a while and there may be multiple points where the system will reboot.

Note, if at any point you are met with a screen that says: OS Verification is OFF; you can bypass this screen quicker by pushing the keys Ctrl+D on the keyboard.

Enabling Debugging Features

Once the machine has transitioned into developer mode, you will be met with the initial set up screen for ChromeOS. However, there is now one key difference; the option to enable debugging features. Before you begin the set-up process and click on the Get Started button, you need to click on the Enable debugging features text (colored in blue), as shown in the screenshot below.

Enabling debugging features on a Chromebook

Upon enabling this feature, you will get the following options:

  • Removal of rootfs verfication so you can modify the ChromeOS system files
  • Enabling of SSH access
  • Enabling the booting from USB to install Linux or other OS on the Chromebook
  • Setting of both the dev and system root login password to a value you want

Clicking upon the blue text will guide you through the process. Ensure that you follow these instructions carefully as it will ask you to enter a password that you will require for use later. Make a note of this password. The system may once again reboot at points during this process, and this is normal. Once you have finished enabling the debugging features you can proceed with setting up the Chromebook as usual.

Setting up Chronos

Once you have finalised the set-up procedure, and you have a working Chromebook, you can access the Developer Console by pushing Ctrl+Alt+F2 on the keyboard. You will be transferred to a terminal screen, where you will set the password for the ChromeOS developer shell.

On this screen, it will ask you for the localhost login. Here, you will need to enter the username root and then push Enter on the keyboard. It will then ask you for a password, the password that you set up earlier in this guide; enter this password and push Enter on the keyboard.

It may look like you are not entering a password at this stage, but you are. Type the password as you normally would and push Enter on the keyboard, and you will be logged in. Upon logging in as the root user, you can enter the following command:

$ chromeos-setdevpasswd

This command will set the default password for Chronos. It will ask you to enter a password twice, and like last time it will look like you are not entering a password, but you are. Once you have completed this step, push Ctrl+Altf1++ on the keyboard. This will take you back to the ChromeOS desktop environment.

Setting up the Linux Desktop

To install Linux on the Chromebook, you will use a tool called Crouton. To install this tool, you need to access the developer shell, otherwise known as chronos. To do this, press Ctrl+Alt+T to open a terminal window in the ChromeOS browser. In the terminal window, you need to enter the command shell to activate a Linux-based environment.

In the Linux environment, you are going to download Crouton in to the Downloads folder. First, you need to traverse to this directory using the following command:

$ cd ~/Downloads

Once you are in this directory, you can download the Crouton installer using the following command:

$ curl https://raw.githubusercontent.com/dnschneid/crouton/master/installer/crouton --output crouton

curl is a command-line tool that assists in transferring data from a variety of network protocols. In this instance, you are using curl to download the Crouton installer file. Once downloaded, you can install Crouton to the /usr/local/bin folder using the following command:

$ sudo install -Dt /usr/local/bin -m 755 crouton

Upon pushing Enter you will be asked to enter your password. This is the password you entered when you were in the terminal screen earlier. Once this file has been installed, you can test the installation by running the tool:

$ sudo crouton

An output will be generated explaining the flags/options you can use with this command, otherwise known as the manual; similar to the screenshot below.

Crouton Flags/Options

You can now proceed with installing Linux with a desktop environment on your machine. For this tutorial, you will be installing Kali and installation is relatively straight-forward, a single command:

$ sudo crouton -r kali-rolling -t x11,chrome,xorg,xiwi,keyboard,xfce -e

The following packages have been installed:

  • x11 and xorg: required to display the desktop
  • chrome: to bypass web certificate issues with FireFox and GitHub
  • xiwi: run the desktop in a tab on the Chrome browser in ChromeOS
  • keyboard: self-explanatory
  • xfce: the desktop environment for Kali, light-weight and not resource intensive

Finally, the flag/option -e will encrypt the installation; this is an optional flag, and you are not required to use this. When you come to executing the command, it will ask for your chronos password, this is the password you set earlier on the terminal screen.

The installation process may take a while; however, upon completion you will be asked to:

Specify a user

Here you can enter a username of your choice; push Enter after choosing your username, and you will be asked to supply a password for the account. This password can be anything you choose, or it can be the same password as you used previously in this guide.

Once you have specified a username and password, it is now time to log in to the terminal of the Kali installation. This can be achieved using the following command:

$ sudo enter-chroot -n kali-rolling

Once you have logged in, you will need to install the data bus for the X Window System (X11). To do this, you can use the following command:

$ sudo apt install dbus-x11

Once the data bus has been installed, you will now have a fully functional desktop environment for the Kali operating system on the Chromebook. Ensure to log out of the Kali terminal environment by typing in the terminal:

$ exit

Starting the Linux Desktop

Starting the Kali desktop environment can be achieved through the chronos terminal window. You will need to enter the following command:

    $ sudo startxfce4

After executing this command you will be asked for your chronos password, which is the password you set in the terminal screen earlier in this guide; followed by the encryption password (if you have used encryption, -e). Once you have entered these passwords, you will be presented with the Kali Linux operating system with the XFCE desktop; as shown in the screenshot below.

Ubuntu on the Chromebook using XFCE

Conclusion

You have now reached the end of this tutorial. The outcome of this tutorial is the successful installation of the Kali Linux desktop environment on the university issued Chromebook. You can now follow the tutorial on how to set up the integrated development environment at the following link:

ChromeOS - Setting up the IDE

Any Issues or Errors?

If you have spotted any errors or issues within this tutorial, you can e-mail Dr Ian Cornelius. Ensure to include in your message a description of the error/issue and a possible resolution.