THIS GUIDE IS NOT YET COMPLETE. IN ITS CURRENT STATE IT SHOULD GET YOU TO A BOOTING ARCH LINUX INSTALLATION WITH A FEW ISSUES. SOLUTIONS TO THESE ISSUES WILL BE ADDED SOON
This guide details the process I used to install Arch Linux on my ASUS C300. Please note that some issues may arise becuase (at the moment) we can only use the kernel provided by Chrome OS, which is version 3.10. Currently this guide is only for Linux.
- Sound does not work
- Occasional freezing
- Suspend does not work
- ASUS C300 Chromebook (others may work, untested)
- Another computer running Linux
- squashfs-utils
- Chrome OS Recovery Media (make this before you start!!!)
- Flash drive larger than 2GB
- Lots of patience.
Commands in this section are to be typed on your Linux computer
- Partition your USB flash drive with a GPT partition table and one ext4 partition using all available space.
- Download the latest Arch Linux ISO image from the Arch Linux website.
- Using an archive utility, extract the following from the Arch Linux ISO:
arch/x86_64/airootfs.sfs
. unsquashfs airootfs.sfs
cp -R squashfsroot/* /USB/mount/point
- Unmount USB drive
Commands in this section are to be typed on your Chromebook in Chrome OS
- Make sure your Chromebook is in Developer Mode. If you're not sure, it probably isn't. Google how to do this, as it is outside the scope of these instructions.
- Download the tarball of this repo (link here)
- Open Crosh and type
shell
sudo crossystem dev_boot_signed_only=0
cd ~/Downloads
tar -xvsf repo.tarball.tar.gz
cd repo-directory
cp /usr/share/vboot/devkeys/kernel_data_key.vprivk ./
bash extract_kernel
echo "root=/dev/sda1 ro rootwait" > config.txt
bash repack_kernel
- MAKE SURE THERE ARE NO ERRORS. FLASHING A BAD KERNEL WILL REQUIRE YOU TO RECOVER YOUR CHROMEBOOK AND START FROM THE BEGINNING OF THIS SECTION
bash flash_kernel
- Please note that at this point, your Chromebook will not boot into Chrome OS without being Recovered.
- Plug in the Arch Linux installer USB you created earlier
- Mount the USB drive
cp -R /usr/lib/modules/3.10.18/* /usb/mount/point/usr/lib/3.10.18/
cp /usr/share/vboot/devkeys/kernel_data_key.vprivk /usb/mount/point
- Shutdown your Chromebook.
- Press the Power button on your Chromebook.
- Press Control+D to bypass the Developer Mode warning screen.
- If all goes well, the Arch installation shell should boot.
- If it hangs on "Creating Volatile Files and Directories", wait. After two minutes, booting will continue. This is normal and we will fix the issue later in this guide.
You should be at a root shell with the prompt root@archiso#
. This is the Arch Linux installation prompt.
mkfs.ext4 /dev/mmcblk0p1
mount /dev/mmcblk0p1 /mnt
- Use
wifi-menu
to establish an internet connection. Note that it may take up to three minutes for Arch Linux to recognise the WiFi card, so be patient if wifi-menu doesn't work. - Follow the Arch Linux Beginner's Guide starting at Select a mirror, up until "Install and configure a bootloader". Do not Install and configure a bootloader.
exit
from the arch-chroot.pacman -S git
git clone https://github.com/drsn0w/chromebook_kernel_tools.git
cd chromebook_kernel_tools
cp /kernel_data_key.vprivk ./
./extract_kernel
echo "root=/dev/mmcblk0p1 ro rootwait" > config.txt
./repack_kernel
./flash_kernel
cp -R /usr/lib/modules/3.10.18/* /mnt/usr/lib/modules/3.10.18/
umount /mnt
shutdown -h now
- Once the Chromebook powers off, remove the flashdrive.
AFTER YOU FINISH, PLEASE FILL OUT THE FORM LOCATED HERE TO MAKE IT EASIER FOR ME TO IRON OUT ANY ISSUES. THANK YOU