Arch Linux on a Chromebook Asus C301SA
- Linux Chromebook
I’ve got an Asus C301S at work, it’s a Chromebook with Chromeos.
I like those little laptops, for the price it’s actually a very good little machine.
ChromeOS is responding very well, ssh and Chrome are working too.
But I often need more, like X11 forwarding or offline coding …
You will see the C301SA is marked as a C300SA internally.
Here are the steps to install Arch Linux on it, do it at your own risk, you can brick your computer, you will need an external USB keyboard.
Activate the recovery mode, by using ESC + F3 (refresh) and the power key
Activate the developer mode with ctrl + d, confirm you want to continue, it will take a long time before it’s finished preparing the developer mode.
Shutdown and remove the write protection screw
It’s actually written as not mandatory but also “could be dangerous”, didn’t take the chance.
Gently dismount the keyboard (by removing the back screws), warning the screws are different, so remember their positions.
Locate the write protection screw, mine was covered with a black tape, (on the left close to the USB port) and remove itReboot into ChromeOS by pressing ctrl + d
Patch the firmware [Ctrl+Alt+T] to get a ChromeOS terminal
type or copy pastecd; curl -LO https://mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh
Choose 1 to enable legacy boot then n to boot from internal then shutdown the computer.Create a bootable USB key for Arch Linux
sudo dd if=/home/akh/Downloads/archlinux-2017.06.01-x86_64.iso of=/dev/sde bs=512
Boot on Arch by pressing ctrl + l then ctrl + u, sometimes it fails
The actual Arch kernel does not see the keyboard … you’ll need an external USB keyboard.
Perform a normal installation of Arch (I’ve totally removed ChromeOS partitions) and even performed an MBR install (instead of GPT) with only 2 partitions.
The internal SSD disk is/dev/mmcblk0
Install grub
grub-install --target=i386-pc /dev/mmcblk0
grub-mkconfig -o /boot/grub/grub.cfg
Install yaourt
git clone https://aur.archlinux.org/package-query.git cd package-query makepkg -si cd .. git clone https://aur.archlinux.org/yaourt.git cd yaourt makepkg -si cd ..
- Install the galliumos patched kernel, you can go to bed coz it will take a long time to compile
`yaourt --tmp /var/tmp -S aur/linux-galliumos-braswell`
The keyboard should work now.
Also install or grab the config file from `aur/galliumos-braswell-config` for audio support.
If it won't boot don't worry you can still boot using the Arch USB key, then remount your system:
mount /dev/mmcblk0p1 /mnt arch-chroot /mnt
Touch pad config:
Section “InputClass”
Identifier “Elan Touchpad”
Driver “libinput”
MatchIsTouchpad “on”
Option “Tapping” “on”
Option “NaturalScrolling” “true”
Option “ClickMethod” “clickfinger”
EndSection
Congratulations you have a fully working computer.
EDIT: Arch kernel 4.12 is fully working without the need to use `aur/linux-galliumos-braswell`, but 4.13 breaks this support, so keep 4.12 for now.