Categories
Industrial IT

Installing ubuntu on a chromebook c201p

how to get ubuntu running on an asus chromebook c201p

I’m Jason Firth.

My dad is starting to enjoy chromebooks, he’s been playing with them for a couple years, and so he had an Asus Chromebook C201p kicking around. He said to me “Play around with it, maybe you can get full blown linux installed on it!”

I was able to get libreboot installed fairly easily following the instructions I found here. Once that was done, I spent a long time fidlding around trying to get everything working, and it wasn’t easy.

The problem I’ve been having is that the most commonly available install is based on a totally free kernel that doesn’t support wifi. the only other image I could find supported wifi with an older kernel with non-free elements, but I couldn’t get the software I wanted running. I think I’ve found a decent compromise for now, so I wanted to share the compromise with everyone.

So to start with, you’ll want to set up libreboot using the above. The scariest part of that is opening up the case to remove the write protect screw.

Once you’ve got that, you can now boot off of a USB memory stick by pressing CTRL-U at bootup.

To create the memory stick, you’ll need the following:

Win32 disk imager utility

The USB memory stick image

You use the imager utility to write the USB memory stick image.

You might want to make a backup of everything on the device before you continue. I think you can use the dd utility to do that, but frankly I made the mistake of not doing that step so I can’t tell you how to do it.

Once you have your backup, boot up onto the USB memory stick you created. It’s going to keep showing different boot messages after it shows the login prompt so you might not recognise it. you can just enter the username and password regardless.

the username is root the password is toor 

This copy of ubuntu is 18.04, which is supported for several years after the writing of this article. I tried later versions but it started to mess up.

This seemed to give me the ability to run X11, as well as wifi you could control from x11, and overall a decent experience. I wasn’t able to get sound working, but I believe that the drivers do work and there’s just a volume thing to fix. At least this will bring your system up to a point that you can work on the system from the system.

To install to the internal mmc, I did the following:

  1. I ran fdisk on /dev/mmcblk0 and erased all the partitions, then created a 32MB partition at the beginning of the drive and a second partition making up the rest of the drive. The first partition needs the partition type of 65 to be the chrome boot partition.
  2. I ran:
dd if=/dev/sda1 of=if/dev/mmcblk0p1

to copy the boot partition from the USB stick to the chromebook.

3. I ran the following commands to create a filesystem, mount it, and copy the contents of the system running on the USB stick to the mmc:

mkfs -t ext4 /dev/mmcblk0p2

mount /dev/mmcblk0p2 /mnt

rsync -aAXv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /mnt

You can now reboot and should boot into the linux system now installed on your internal mmc.

once you’re logged in, you’ll probably want to set up some basic wifi.

run:

wpa_passphrase [SSID name] [SSID Passcode] > ./wpa_supplicant.conf

wpa_supplicant -B -c ./wpa_supplicant.conf -i wlan0

dhclient wlan0

You can run apt update to make sure you’re working with the latest files, then you can do a few things to help make your setup more secure.

  1. passwd to set the root password
  2. adduser [username] to create a user
  3. nano /etc/sudoers to add your new user to the sudoers file

Now when you log in next time you can log in as a normal user and elevate privileges if neccessary.

Now it’s time to install a full desktop environment.

you can run apt install lubuntu-desktop to install an lxde based desktop, kubuntu-desktop to install a kde based desktop, xubuntu-desktop to install an xfde based desktop, or ubuntu-desktop for a gnome based desktop.

Once the install is complete, run reboot to reboot. You should now see a graphical login, and the system should operate like a normal ubuntu desktop, albeit one without 3d acceleration.

I hope this helps for anyone who was like me and looking for some help setting up an asus c201p chromebook to run a full powered version of linux while using the internal wifi and being able to run most standard software. I’m lucky there were a lot of people doing good work elsewhere to help me get to this point. If I manage to get a more up to date version of linux installed, and especially if I manage to compile a fully featured kernel that’s newer than the ancient 3.14 version included in this image, I’ll make another post.

I don’t want to misrepresent, this seems to be functional at this point but all it takes is one wrong update to blow things out of the water, and it’s still missing some key features that should be functional.

thanks for reading!