My first update in a very long time. Please do not do this if you are unsure of any of the steps. Though as long as you have a ChromeOS recovery built, your Pixel will be fixable. Also, you will lose your current local data. I have written this from memory, so I take no responsibility for your broken notebook.
So I was lucky enough to get a Chromebook Pixel. I love the hardware, I even like Chromeos, but there are occasions when I want full linux.
You can install any OS you like on a Pixel using the legacy boot options, but this will usually make ChromeOS un-bootable, even if you don’t remove it.
If you google, you will find 2 main options for running another Linux distribution along side ChromeOS:
- crouton, running Debian/Ubuntu based distributions in a chroot
- chrubuntu, Running ubuntu in a dual-boot environment
But I wanted to dualboot with Fedora. This basic steps are simple.
- Resize paritions, do not edit partition types or labels.
- Install Linux on /dev/sda7.
Unfortunately the Fedora installer (Anaconda) will always alter the partition table and stop ChromeOS booting. So we need to install Fedora without using the Fedora Installer. Full Instructions below.
- Prepare a ChromeOS recovery drive on a USB flash from within ChromeOS. This hopefully won’t be necessary, but while working out this process I needed it (a lot).
- Make a Fedora Live bootable usb on another flash drive.
- Put your pixel into devloper mode. (This will wipe your computer)
- Turn off your chromebook
- Hold down “ESC+Reload” while powering on
- Turn on legacy booting
- ctrl+alt+t to open a terminal
$ sudo su -
# crossystem dev_boot_legacy=1
# crossystem dev_boot_usb=1
- ctrl+alt+t to open a terminal
From within ChromeOS we will update the partition sizes. The easiest way to do this is to use the fantastic Chrubuntu script mentioned earlier. Follow the instructions here: http://chromeos-cr48.blogspot.com/2013/10/chrubuntu-for-new-chromebooks-now-with.html. Please check that blog for the most up to date instructions.
Once you have run the script once and your Pixel has rebooted and repaired your ChromeOS installation, do not run the script again, or Ubuntu will be installed.
Power off your chromebook.
- Insert your Fedora Live USB.
- Power on your Pixel, at the boot screen, hit ctrl+l
- At the boot screen for Fedora hit “Tab”, add “mem=4g” to the end of the kernel line
- Hit F10 (The Volume Up key)
- Do not install Fedora, instead open a terminal
$ su -
# mkfs.ext4 /dev/sda7
# mount /dev/sda7 /mnt
# yum --releasever=20 --installroot=/mnt/ groupinstall core
# cp /etc/resolv.conf /mnt/etc/
# mount -t sysfs none /mnt/sys
# mount -t proc none /mnt/proc
# mount -o bind /dev /mnt/dev
# chroot /mnt /bin/bash
Setup a /etc/fstab file:
/dev/sda7 / ext4 defaults,noatime,nodiratime 0 1
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
You have now installed a base Fedora image, though it is currently not bootable. You can also install anything else you like now. If you have a usb ethernet dongle I recommend waiting until you have booted into your new install though, as anything you install is going to have to have selinux re-label it on first boot. But if you like, you can go ahead and install gnome-desktop (or any other package):
# yum groupinstall gnome-desktop
Now we need to make it bootable. Ensure you have a kernel installed and the grub package. Then install grub to the mbr of sda. Grub will complain, that is why we need the force option.
# yum install kernel grub2 grub2-tools
# grub2-install /dev/sda --force
# grub2-mkconfig -o /boot/grub2/grub.cfg
This last step is important, or your install will fail to boot successfully.
# touch /.autorelabel
And that should be it.