Architectures/ARM/Samsung Chromebook 2012

From FedoraProject

< Architectures | ARM(Difference between revisions)
Jump to: navigation, search
(Preparing an SD Card for use with the Chromebook)
 
(One intermediate revision by one user not shown)
Line 1: Line 1:
[[Category:Fedora ARM]][[Category:Fedora 18 Alpha]][[Category:Fedora ARM Hardware]]
+
[[Category:Fedora ARM]][[Category:Fedora ARM Hardware]]
 
[[File:samsung_chromebook_2012.jpg|right|200px|thumb|A Samsung Exynos5 ARM-powered Google Chromebook 2012 model]]
 
[[File:samsung_chromebook_2012.jpg|right|200px|thumb|A Samsung Exynos5 ARM-powered Google Chromebook 2012 model]]
 
{{admon/important|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.}}
 
 
 
=Samsung Chromebook 2012=
 
=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.
 
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.
Line 20: Line 17:
 
{{admon/note|Exynos5 Chrome Kernel|At 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.}}
 
{{admon/note|Exynos5 Chrome Kernel|At 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.
+
The Samsung Chromebook 2012 is supported through Fedora Remixes in F18 and F19. To download Fedora for your device, visit our [[Architectures/ARM/Releases | release page]].
 
+
=== 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 [http://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-arm-chromebook 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:
+
 
+
<pre>
+
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:~/
+
</pre>
+
 
+
=== 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.
+
 
+
* [https://fedoraproject.org/wiki/Architectures/ARM/F18/Remixes#Creating_your_own_Remix Fedora 18 filesystems]
+
 
+
===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 [https://plus.google.com/109993695638569781190/posts/b2fazijJppZ 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):
+
 
+
<pre>
+
$ sudo gdisk /dev/sdb
+
</pre>
+
 
+
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:
+
 
+
<pre>
+
x
+
l
+
8192
+
m
+
</pre>
+
 
+
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):
+
 
+
<pre>
+
n
+
1
+
<enter>
+
+16M
+
7f00
+
</pre>
+
 
+
<pre>
+
n
+
2
+
<enter>
+
+16M
+
7f00
+
</pre>
+
 
+
<pre>
+
n
+
3
+
<enter>
+
<enter>
+
<enter>
+
</pre>
+
 
+
Now write the changes to the card and exit gdisk:
+
<pre>
+
w
+
</pre>
+
 
+
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:
+
 
+
<pre>
+
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
+
</pre>
+
 
+
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:
+
 
+
<pre>
+
cd /mnt
+
sudo tar xvfj ~/firmware.tar.bz2
+
</pre>
+
 
+
<pre>
+
cd /mnt
+
sudo tar xvfj ~/modules.tar.bz2
+
</pre>
+
 
+
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:
+
 
+
<pre>
+
LABEL=rootfs / ext4 defaults 1 1
+
</pre>
+
 
+
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:
+
 
+
<pre>
+
cd /tmp
+
echo "console=tty1 debug verbose root=/dev/mmcblk1p3 rootwait rwlsm.module_locking=0 " > /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>
+
 
+
The Chromebook is now prepared for use.
+
 
+
=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:
+
 
+
<pre>
+
yum clean all
+
yum install rpm yum
+
</pre>
+
 
+
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:
+
 
+
<pre>
+
cd /var/run/media/user/rootfs/lib
+
sudo ln -s ld-2.16.so ld-linux.so.3
+
</pre>
+
 
+
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
+

Latest revision as of 15:39, 17 July 2013

A Samsung Exynos5 ARM-powered Google Chromebook 2012 model

[edit] 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.

[edit] 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.

[edit] Running Fedora on a Samsung Chromebook 2012

Note.png
Exynos5 Chrome Kernel
At 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.

The Samsung Chromebook 2012 is supported through Fedora Remixes in F18 and F19. To download Fedora for your device, visit our release page.