DO NOT FOLLOW ANY OF THESE INSTRUCTIONSDo not follow any of the following instructions. They are provided ONLY for Fedora ARM team members. By following these instructions, you may cause irreparable damage to your hardware - in particular, the speakers on your device, which can be overloaded by this software. Neither the Fedora Project, nor any of the members of the project are responsible in the event that you choose to follow these instructions. We will not provide end-user support at this time. Please do not follow these instructions.

Samsung Chromebook 2012

The 2012 Samsung Google Chromebook is a popular ARM-powered laptop form-factor computer due to its relatively low cost, high build quality, and good performance. It is one of the first Cortex-A15 based devices available, and as such is also of interest to those developing initial support for Linux virtualization technologies within Fedora and in the wider community.

Running Fedora on a Samsung Chromebook 2012

Exynos5 Chrome KernelAt this time, there is no official Fedora ARM kernel available for Samsung Exynos5 powered devices, although this is planned. Even when an official Exynos5 kernel is available - as part of the multiplatform kernel effort or otherwise - it may not support the Chromebook directly as some dependent code is not yet fully integrated into the upstream Linux kernel.

This page will give you detailed instructions for running Fedora 17 and Fedora 18 on your Samsung Chromebook, using an SD, SDHC, or SDXC card as the boot device. The configuration will provide the XFCE desktop environment.

Setting up developer mode and backing up firmware/modules on the Chromebook

Before you can begin to install Fedora, you will need to place the Chromebook into "developer mode". This is a special state that is able to run unsigned OS images. Instructions for entering developer mode on the Samsung ARM Chromebook are provided on the Chromium Projects website. The Samsung Chromebook differs from previous units by having a virtual developer switch, as opposed to a physical one. Entering developer mode can be summarized as pressing ESC and Refresh while pressing power (Recovery Mode), then pressing Ctrl-D to enter Recovery mode. A warning message will be presented. After that, the unit will reset to erase all persistent data, and will then be able to boot custom Operating Systems.

Once the Chromebook is in developer mode, you will need to switch to a vritual console (ctrl-alt-F2 - the "forward key" is F2) and login as "chronos" with password "chronos". From the shell, backup the content of /lib/modules, and /lib/firmware, and copy these over to another system, for example using ssh:

Download the Fedora filesystem archive

The first step is to download the armhfp "hard float" pre-built Fedora filesystem archive. This contains only the Fedora ARM filesystem, but not customized to a specific device. You will also require an empty (or otherwise sacrificial) SD Card for the installation.

Preparing an SD Card for use with the Chromebook

Linux instructions onlyThese instructions require the use of a Linux system. If you do not have such a system available, please wait for an official image. These instructions are adapted from Olof Johansson's original G+ posting, with thanks.

Insert the new or sacrificial SD Card into the SD Card slot on your Linux computer. Using a command such as "dmesg|tail", ascertain the name of the newly inserted device, which will be "/dev/sdb", "/dev/sdc", or similar. Note carefully the name. Then, use the GPT-capable gdisk partitioning utility (which you may need to install) to delete the existing partition(s):

$ sudo gdisk /dev/sdb

Type "d" (delete), then accept the default (1), or if there are multiple partitions, repeat the process until they have been deleted. Then, change the default alignment of newly created partitions to 8K:

x
l
8192
m

Next, create three new partitions, two for the kernel (and backup kernel - which is not used at this time, but will be later) of type 7f00 (ChromeOS kernel), and one for the root filesystem (Linux filesystem - the default type):

n
1
<enter>
+16M
7f00

n
2
<enter>
+16M
7f00

n
3
<enter>
<enter>
<enter>

Next, make and mount a new ext4 filesystem on the third partition of the device. Then, extract the Fedora 17 root filesystem you downloaded earlier:

After creating the filesystem, and unpacking the F17 filesystem archive, you will need to add the system firmware and kernel modules matching the Chrome OS kernel that was backed up earlier in the process:

cd /mnt
sudo tar xvfj ~/firmware.tar.bz2

cd /mnt
sudo tar xvfj ~/modules.tar.bz2

Then you will need to edit /mnt/etc/fstab to contain the correct root filesystem
entry, and to delete the entries for /boot/uboot and swap. Your fixed fstab
should look like this:

LABEL=rootfs / ext4 defaults 1 1

For the next stages, you need to insert the SD Card into the Chromebook running in developer mode. Unmount the SD Card and remove it from your Linux computer. Then, insert it into the Chromebook. At the console, while logged in as "chronos", perform these steps to prepare a kernel image in the format recognized by the Chromebook modified U-Boot bootloader:

Using Fedora on the Samsung Chromebook 2012

Once the SD Card has been prepared, and the device has been configured to boot from "USB" (actually SD Card), you can boot into Fedora. Reboot the Chromebook, either using "sudo reboot", or by depressing the power and "refresh" (cycle loop symbol) at the same time. At the scary boot warning screen, press ctrl-u and the device will boot Fedora from the SD Card.

To use Fedora 18 (or even 19 - but with the caveat that xorg does not work at this time) prior to the official release, first download and install the "fedora-release" package from Fedora 18 onto the Chromebook. Then, clean yum meta data and perform a yum install of the "yum" and "rpm" packages:

yum clean all
yum install rpm yum

Note that you will then need to immediately shutdown and remove the SD Card from your Chromebook, insert into a Linux desktop, and correct the dynamic linker path:

cd /var/run/media/user/rootfs/lib
sudo ln -s ld-2.16.so ld-linux.so.3

Then you can reboot the Chromebook back into Fedora and upgrade to Fedora 18 by performing a general "yum upgrade" process.

Additional Support

There are Fedora ARM users all around the globe - if you need assistance, would like to provide feedback or contribute to Fedora ARM please visit us on the IRC - we can be found in #fedora-arm on Freenode. You can also contact us on the mailing list - arm@lists.fedoraproject.org