Architectures/ARM/Samsung Chromebook 2012

From FedoraProject

< Architectures | ARM(Difference between revisions)
Jump to: navigation, search
(Download the Fedora 17 armhfp filesystem image)
(Writing the Image)
Line 37: Line 37:
 
* [http://download.fedoraproject.org/pub/fedora-secondary/releases/17/Images/armhfp/Fedora-17-armhfp-xfce.tar.xz Fedora 17 filesystem]
 
* [http://download.fedoraproject.org/pub/fedora-secondary/releases/17/Images/armhfp/Fedora-17-armhfp-xfce.tar.xz Fedora 17 filesystem]
  
===Writing the Image===
+
===Preparing an SD Card for use with the Chromebook===
 
{{admon/note|Linux instructions only|These 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.}}
 
{{admon/note|Linux instructions only|These 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.}}
  
Line 89: Line 89:
 
sudo tar xvfJ /path/to/fedora/17/filesystem/image.tar.xz
 
sudo tar xvfJ /path/to/fedora/17/filesystem/image.tar.xz
 
</pre>
 
</pre>
 +
 +
For the next stages, you need to insert the SD Card into the Chromebook running in developer mode. 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:
 +
 +
<pre>
 +
cd /tmp
 +
echo "console=tty1 debug verbose root=/dev/mmcblk1p3 rootwait rw" > /tmp/config
 +
vbutil_kernel --pack /tmp/newkern --keyblock /usr/share/vboot/devkeys/kernel.keyblock --version 1 --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk --config=/tmp/config --vmlinuz /boot/vmlinuz-3.4.0 --arch arm
 +
</pre>
 +
 +
Now, write this kernel image to both of the partitions created earlier (note the use of "mmcblk1" and not "mmcblk0" - the latter is the Chrome OS volume):
 +
 +
<pre>
 +
dd if=/tmp/newkern of=/dev/mmcblk1p1
 +
dd if=/tmp/newkern of=/dev/mmcblk1p2
 +
</pre>
 +
 +
Next, turn on booting from USB, which is a slight misnomer since it includes SD:
 +
 +
<pre>
 +
crossystem dev_boot_usb=1
 +
</pre>
 +
 +
Finally, prepare the GPT partitions on the SD Card with correct volume labels, boot priority order, and mark them as "successful" boot targets with these commands:
 +
 +
<pre>
 +
cgpt add -i 1 -S 1 -T 5 -P 10 -l KERN-A /dev/mmcblk1
 +
cgpt add -i 2 -S 1 -T 5 -P 5 -l KERN-B /dev/mmcblk1
 +
</pre>
 +
 +
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.
  
 
=Using Fedora on the Pandaboard=
 
=Using Fedora on the Pandaboard=

Revision as of 04:01, 6 December 2012

A Samsung Exynos5 ARM-powered Google Chromebook 2012 model
Important.png
DO NOT FOLLOW ANY OF THESE INSTRUCTIONS
Do 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.

Contents

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.

Technical Specifications

  • 1.7 GHz Dual core Cortex-A15 Processor (EXYNOS5250 0x43520010 1MB L2)
  • 2 GB DDR3L RAM (800Mhz)
  • 16GB e.MMC iNAND internal (Chrome), SD|SDHC|SDXC slot (Fedora)
  • 11.6" (1366x768) display (powered by Mali-T604), with HDMI output
  • 802.11 b/g/n WiFi, and HSPA/EVDO (optional, with SIM slot)
  • 1xUSB2.0, 1xUSB3.0

For more information on the 2012 Samsung Chromebook visit the Samsung Chromebook website.

Running Fedora on a Samsung Chromebook 2012

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:

cd /
tar cvfj /tmp/firmware.tar.bz2 /lib/firmware
tar cvfj /tmp/modules.tar.bz2 /lib/modules
scp -v -C -r /tmp/firmware.tar.bz2 /tmp/modules.tar.bz2 user@desktop:~/

Download the Fedora 17 armhfp filesystem archive

The first step is to download the armhfp "hard float" pre-built Fedora 17 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

Note.png
Linux instructions only
These 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:

sudo mkfs.ext4 -L rootfs /dev/sdb3
sudo mount /dev/sdb3 /mnt
cd /mnt
sudo tar xvfJ /path/to/fedora/17/filesystem/image.tar.xz

For the next stages, you need to insert the SD Card into the Chromebook running in developer mode. 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:

cd /tmp
echo "console=tty1 debug verbose root=/dev/mmcblk1p3 rootwait rw" > /tmp/config
vbutil_kernel --pack /tmp/newkern --keyblock /usr/share/vboot/devkeys/kernel.keyblock --version 1 --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk --config=/tmp/config --vmlinuz /boot/vmlinuz-3.4.0 --arch arm

Now, write this kernel image to both of the partitions created earlier (note the use of "mmcblk1" and not "mmcblk0" - the latter is the Chrome OS volume):

dd if=/tmp/newkern of=/dev/mmcblk1p1
dd if=/tmp/newkern of=/dev/mmcblk1p2

Next, turn on booting from USB, which is a slight misnomer since it includes SD:

crossystem dev_boot_usb=1

Finally, prepare the GPT partitions on the SD Card with correct volume labels, boot priority order, and mark them as "successful" boot targets with these commands:

cgpt add -i 1 -S 1 -T 5 -P 10 -l KERN-A /dev/mmcblk1
cgpt add -i 2 -S 1 -T 5 -P 5 -l KERN-B /dev/mmcblk1

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.

Using Fedora on the Pandaboard

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