Difference between revisions of "Chromebooks"

From coreboot
Jump to: navigation, search
(the firmware chips)
(41 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Overview ==
+
Flashing your own Coreboot-version and [[Payloads|Payload]] onto your device is do-able, but requires some hardware preperation and ignorance in warning messages.
A good place to start is the [http://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices Chromium site]. They have guides howto set your Chromebook into developer-mode and disassembly guides for almost all Chormebooks.  
+
== Start ==
 +
A good place to start is the [http://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices Chromium site]. They have guides howto set your Chromebook into developer-mode and howto disassemble your device.  
  
Both things will be nessary, if you want to flash (in-system) your own version of Coreboot onto your Chromebook.  
+
Both things will be nessary, if you want to flash your own version of Coreboot onto your Chromebook (in-system).  
It is nessary to close/open a circuit on the motherboard via either a jumper or a srew to disable the write-protection of the spi chip. And to use the flashing tool [http://flashrom.org/Flashrom flashrom] in ChromeOs, you have to be in the developer-mode. If you already installed a Gnu/Linux-system or likely you can also use the flashrom from there (but then you would be in developer-mode any way).
+
It is nessary to close a circuit on the motherboard via either a switch, jumper or srew to disable the write-protection of the spi chip. And to use the flashing tool [http://flashrom.org/Flashrom flashrom] in ChromeOs, you have to be in the developer-mode. If you already installed a Gnu/Linux-system or likely you can also use the flashrom from there (but then you would be in developer-mode anyway).
  
Note: The first three Chromebooks are '''not''' supported by coreboot (and flashrom!?) at the moment. Namely
+
Note: The first three Chromebooks that were made are '''not''' supported by coreboot at the moment, but flashrom should be working. Mario, Alex and ZGB are running Insyde H2C some UEFI. Snow has [http://en.wikipedia.org/wiki/Das_U-Boot das U-Boot] nativly installed, but a coreboot port is available. All the others come shipped with Coreboot.  
{|
+
{| border="0" style="font-size: smaller"
| ''Release date'' || ''Manufacturer'' || ''Model'' || ''Project code name''
+
|- bgcolor="#6699ff"
|-
+
! align="left" | Release date
| December 2010 ||Google || Cr-48 || Mario
+
! align="left" | Manufacturer
|-
+
! align="left" | Model
| June 2011 || Samsung || Series 5 Chromebook || Alex
+
! align="left" | Project Code Name
|-
+
! align="left" | Close cicuit via
| July 2011 || Acer || AC700 Chromebook || ZGB
+
! align="left" | Location for Jumper/Screw
 +
! align="left" | SPI-Chip
 +
 
 +
|- bgcolor="#eeeeee"
 +
| May 2012
 +
| Samsung
 +
| Series 3 Chromebox
 +
| Stumpy
 +
 
 +
| Jumper
 +
| between the Battery and Ram
 +
|
 +
 
 +
|- bgcolor="#dddddd"
 +
| May 2012
 +
| Samsung Series 5
 +
| [[Samsung XE550C22-H02US|550 Chromebook]]
 +
| Lumpy
 +
 
 +
| Jumper
 +
| between the Battery and Ram
 +
|
 +
 
 +
|- bgcolor="#eeeeee"
 +
| October 2012
 +
| Samsung
 +
| ARM Chromebook
 +
| Snow (aka Daisy)
 +
 
 +
| Screw
 +
| next to usb3.0-port
 +
|
 +
 
 +
|- bgcolor="#dddddd"
 +
| November 2012
 +
| Acer
 +
| C7 Chromebook
 +
| Parrot
 +
 
 +
| Jumper
 +
| between CPU and Fan under plastic
 +
|
 +
 
 +
|- bgcolor="#eeeeee"
 +
| January 2013
 +
| Lenovo
 +
| Thinkpad X131e Chromebook
 +
| Stout
 +
 +
| ?
 +
|
 +
|
 +
 
 +
|- bgcolor="#dddddd"
 +
| February 2013
 +
| HP
 +
| Pavilion 14 Chromebook
 +
| Butterfly
 +
 
 +
| Switch
 +
| rightside behind the usb-ports
 +
|
 +
 
 +
|- bgcolor="#eeeeee"
 +
| February 2013
 +
| Google
 +
| [[Google Chromebook Pixel|Chromebook Pixel]]
 +
| Link
 +
 
 +
| Screw
 +
| next to front-most USB connector
 +
|
 
|}
 
|}
They are running Insyde H2C some UEFI.
+
 
== Lumpy & Stumpy ==
+
== General Hardware Preperation ==
Use the [http://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-sandy-bridge disassembly guide] to disassemble your Chromebook   
+
Use the [http://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/ disassembly guides] to disassemble your Chromebook   
till you see the write-protect-[https://a77db9aa-a-7b23c8ea-s-sites.googlegroups.com/a/chromium.org/dev/chromium-os/developer-information-for-chrome-os-devices/samsung-sandy-bridge/lumpy-internals.jpg jumper] between the Battery and Ram next to the Keyboard-Connector. Pull it or if there is non put one on. Now Assemble again and flash your own coreboot version onto your Chromebook.
+
till you see the place were you can put on a jumper, screw in a bolt or flip a switch. Check out the pictures in the disassembly guides to find the right spot. Either screw, switch or plug on now. For example in Lumpy and Stumpy you have to put a jumper on place between the Battery and Ram next to the Keyboard-Connector. Now assemble again (follow the guide). Now you are ready to flash your own Coreboot-version onto your Chromebook.
 +
 
 +
== Building your own Coreboot-version and Payload ==
 +
First, you cannot do that inside the ChromeOS. Use your GNU/Linux-system and follow the [[Build HOWTO|Build HOWTO]].
 +
 
 +
== firmware chips ==
 +
The firmware roms are highlighted on the pictures of the dissassembly guides:
 +
 +
Series 5 550 Chromebook (Lumpy) - Two firmware ROMs (one for EC, one for CPU+PCH) are located next to where the heatpipe meets the exhaust manifold. CPU+PCH firmware ROM is 4MB, EC firmware ROM is 128KB.
 +
 
 +
Samsung XE303CE ARM Chromebook (snow) - AP firmware ROM is located next next to USB 2.0 port. The EC firmware ROM is embedded in the EC itself and can only be accessed thru the mainboard debug port. AP firmware ROM is 4MB.
 +
 
 +
Acer C7 Chromebook (parrot) - Firmware ROMs are underneath the keyboard, left of the touchpad. CPU+PCH firmware ROM is 8MB, EC firmware ROM is 256KB.
 +
 
 +
Lenovo X131E (Stout) - CPU+PCH actually has two firmware ROMs, but only one is used. The are located next to the DRAM slots on the bottom of the board. The one which is used is 8MB, the unused one is 4MB. The EC ROM is on the top-side next to the EC (underneath the keyboard, to the right of where the touchpad sits) and is 1MB.
 +
 
 +
HP Pavillion 14 (Butterfly) - CPU+PCH firmware ROM is on the bottom near the SD card slot and is 8MB. The EC firmware ROM is next to the EC, which is on the top side to the right of where the touchpad sits. The EC firmware ROM is 512KB.
 +
 
 +
Chromebook Pixel (Link) - CPU+PCH firmware ROM next to min-displayport connector. The EC firmware ROM is embedded in the EC itself and can only be access thru the mainboard debug port. CPU+PCH firmware ROM is 8MB.
 +
 
 +
== Recovery/external programming ==
 +
Ok, you fucked things up, but on the other hand this will give you the oppotunity to learn external chip-programming, so cheer-up.
 +
First you will need to locate the SPI-Chip. If you done that you will need an [http://flashrom.org/Supported_programmers external flashrom programmer] (for example the [http://en.wikipedia.org/wiki/Open_hardware open-hardware] tool [http://en.wikipedia.org/wiki/Bus_Pirate Bus Pirate]). At the moment ask at the coreboot/flashrom mailing list for further details.

Revision as of 12:18, 23 June 2013

Flashing your own Coreboot-version and Payload onto your device is do-able, but requires some hardware preperation and ignorance in warning messages.

Start

A good place to start is the Chromium site. They have guides howto set your Chromebook into developer-mode and howto disassemble your device.

Both things will be nessary, if you want to flash your own version of Coreboot onto your Chromebook (in-system). It is nessary to close a circuit on the motherboard via either a switch, jumper or srew to disable the write-protection of the spi chip. And to use the flashing tool flashrom in ChromeOs, you have to be in the developer-mode. If you already installed a Gnu/Linux-system or likely you can also use the flashrom from there (but then you would be in developer-mode anyway).

Note: The first three Chromebooks that were made are not supported by coreboot at the moment, but flashrom should be working. Mario, Alex and ZGB are running Insyde H2C some UEFI. Snow has das U-Boot nativly installed, but a coreboot port is available. All the others come shipped with Coreboot.

Release date Manufacturer Model Project Code Name Close cicuit via Location for Jumper/Screw SPI-Chip
May 2012 Samsung Series 3 Chromebox Stumpy Jumper between the Battery and Ram
May 2012 Samsung Series 5 550 Chromebook Lumpy Jumper between the Battery and Ram
October 2012 Samsung ARM Chromebook Snow (aka Daisy) Screw next to usb3.0-port
November 2012 Acer C7 Chromebook Parrot Jumper between CPU and Fan under plastic
January 2013 Lenovo Thinkpad X131e Chromebook Stout  ?
February 2013 HP Pavilion 14 Chromebook Butterfly Switch rightside behind the usb-ports
February 2013 Google Chromebook Pixel Link Screw next to front-most USB connector

General Hardware Preperation

Use the disassembly guides to disassemble your Chromebook till you see the place were you can put on a jumper, screw in a bolt or flip a switch. Check out the pictures in the disassembly guides to find the right spot. Either screw, switch or plug on now. For example in Lumpy and Stumpy you have to put a jumper on place between the Battery and Ram next to the Keyboard-Connector. Now assemble again (follow the guide). Now you are ready to flash your own Coreboot-version onto your Chromebook.

Building your own Coreboot-version and Payload

First, you cannot do that inside the ChromeOS. Use your GNU/Linux-system and follow the Build HOWTO.

firmware chips

The firmware roms are highlighted on the pictures of the dissassembly guides:

Series 5 550 Chromebook (Lumpy) - Two firmware ROMs (one for EC, one for CPU+PCH) are located next to where the heatpipe meets the exhaust manifold. CPU+PCH firmware ROM is 4MB, EC firmware ROM is 128KB.

Samsung XE303CE ARM Chromebook (snow) - AP firmware ROM is located next next to USB 2.0 port. The EC firmware ROM is embedded in the EC itself and can only be accessed thru the mainboard debug port. AP firmware ROM is 4MB.

Acer C7 Chromebook (parrot) - Firmware ROMs are underneath the keyboard, left of the touchpad. CPU+PCH firmware ROM is 8MB, EC firmware ROM is 256KB.

Lenovo X131E (Stout) - CPU+PCH actually has two firmware ROMs, but only one is used. The are located next to the DRAM slots on the bottom of the board. The one which is used is 8MB, the unused one is 4MB. The EC ROM is on the top-side next to the EC (underneath the keyboard, to the right of where the touchpad sits) and is 1MB.

HP Pavillion 14 (Butterfly) - CPU+PCH firmware ROM is on the bottom near the SD card slot and is 8MB. The EC firmware ROM is next to the EC, which is on the top side to the right of where the touchpad sits. The EC firmware ROM is 512KB.

Chromebook Pixel (Link) - CPU+PCH firmware ROM next to min-displayport connector. The EC firmware ROM is embedded in the EC itself and can only be access thru the mainboard debug port. CPU+PCH firmware ROM is 8MB.

Recovery/external programming

Ok, you fucked things up, but on the other hand this will give you the oppotunity to learn external chip-programming, so cheer-up. First you will need to locate the SPI-Chip. If you done that you will need an external flashrom programmer (for example the open-hardware tool Bus Pirate). At the moment ask at the coreboot/flashrom mailing list for further details.