Difference between revisions of "Firmware"

From GalliumOS Wiki
Jump to: navigation, search
m
Line 1: Line 1:
 +
__TOC__
 +
 +
== Custom Firmware ==
 +
 
The stock/factory firmware on some Chromebooks and Chromeboxes contains a legacy boot payload (RW_LEGACY) capable of running Linux out of the box; however, many ChromeOS devices, particularly those with BayTrail/Braswell CPUs, do not include this capability stock and must use a 3rd party firmware update in order to run GalliumOS (or any other OS).
 
The stock/factory firmware on some Chromebooks and Chromeboxes contains a legacy boot payload (RW_LEGACY) capable of running Linux out of the box; however, many ChromeOS devices, particularly those with BayTrail/Braswell CPUs, do not include this capability stock and must use a 3rd party firmware update in order to run GalliumOS (or any other OS).
  
 
Three types of custom firmware updates are available (though not all types are available for every device):  
 
Three types of custom firmware updates are available (though not all types are available for every device):  
  
 +
=== Types ===
 
# '''RW_LEGACY'''
 
# '''RW_LEGACY'''
 
#* Updates/replaces the stock legacy boot payload (SeaBIOS) included on many models; supplements the ChromeOS / secure boot payload (BOOT_STUB)
 
#* Updates/replaces the stock legacy boot payload (SeaBIOS) included on many models; supplements the ChromeOS / secure boot payload (BOOT_STUB)
Line 27: Line 32:
 
#* Essentially turns your ChromeOS device into a "regular" PC / laptop
 
#* Essentially turns your ChromeOS device into a "regular" PC / laptop
  
 +
=== Availability Options ===
  
 
Check [[Hardware Compatibility]] and the appropriate [[Support]] page to determine the status of your model.
 
Check [[Hardware Compatibility]] and the appropriate [[Support]] page to determine the status of your model.
Line 76: Line 82:
  
 
Additions and corrections, '''please''' let us know: <code>contact</code>@<code>galliumos.org</code>
 
Additions and corrections, '''please''' let us know: <code>contact</code>@<code>galliumos.org</code>
 +
 +
== Firmware and NVRAM Flags ==
 +
 +
=== crossystem ===
 +
 +
=== GBB Flags ===
 +
 +
TODO: Add detail on GBB flags, relationship to crossystem flags, note flat battery issues and WP restrictions.

Revision as of 17:50, 27 March 2016

Custom Firmware

The stock/factory firmware on some Chromebooks and Chromeboxes contains a legacy boot payload (RW_LEGACY) capable of running Linux out of the box; however, many ChromeOS devices, particularly those with BayTrail/Braswell CPUs, do not include this capability stock and must use a 3rd party firmware update in order to run GalliumOS (or any other OS).

Three types of custom firmware updates are available (though not all types are available for every device):

Types

  1. RW_LEGACY
    • Updates/replaces the stock legacy boot payload (SeaBIOS) included on many models; supplements the ChromeOS / secure boot payload (BOOT_STUB)
    • Leaves all stock functionality intact, including the developer mode boot (white "OS verification is OFF") screen
    • Allows device to dual-boot GalliumOS alongside ChromeOS
    • Does not require disabling the firmware write-protect
    • Carries zero risk of bricking the device
    • On some models, includes bugfixes and enables additional functionality
  2. BOOT_STUB
    • Replaces the ChromeOS verified boot payload with a legacy boot payload (SeaBIOS)
    • Removes the developer mode boot (white "OS verification is OFF") screen
    • Requires the firmware write-protect screw to be removed
    • Removes the ability to run ChromeOS, creating a small risk of bricking your device
    • Leaves the recovery mode (ESC + REFRESH + POWER) functionality of the stock ROM intact
      • If you engage this key sequence, device will reboot and try to run ChromeOS Recovery (which will fail)
      • This process will repeat on every boot until you disassemble the device and briefly disconnect the battery
  3. Full Firmware / ROM
    • A complete firmware image which replaces the hardware init component (coreboot) and payload components (BOOT_STUB, RW_LEGACY) of the stock firmware with updated and/or customized versions of coreboot and SeaBIOS
    • Removes the developer mode boot (white "OS verification is OFF") screen
    • Removes the ability to run ChromeOS, creating a small risk of bricking your device
    • Offers the best support for booting all OSes besides ChromeOS (including Windows).
    • On many models, adds full hardware support for virtualization (vmx / VT-x)
    • Fixes many bugs and/or idiosyncrasies associated with the stock firmware (but could potentially add new ones)
    • Essentially turns your ChromeOS device into a "regular" PC / laptop

Availability Options

Check Hardware Compatibility and the appropriate Support page to determine the status of your model.

There are several custom firmware options available, depending on your Chromebook/box model class, and the features you require:

Firmware Provider / Link ARM Pineview Sandy/Ivy Bridge Haswell Broadwell Bay Trail Braswell notes
CoolStar No No No Full Firmware (Chromebooks) Full Firmware (Chromebooks) No No • Fixes factory firmware bugs
• Boots Linux, Mac OS X, and Windows!
• Install Guide: Haswell, Broadwell
Firmware build scripts
johnlewis.ie No No Full Firmware, BOOT_STUB (all) Full Firmware, BOOT_STUB, RW_LEGACY (all) RW_LEGACY (all) BOOT_STUB (all) No • Fixes factory firmware bugs
• General purpose firmware for Linux
• Single script works for all supported models
• Firmware build scripts/configs not published
MattDevo
(MrChromebox)
No No Full Firmware (Chromeboxes) Full Firmware (Chromeboxes), RW_LEGACY (all) Full Firmware (Chromeboxes), RW_LEGACY (all) RW_LEGACY (all) No • Fixes factory firmware bugs
• Headless boot support for servers
• PXE booting support
• Supports integration of Kodi Media Center
Firmware source/build scripts and payload source

Additions and corrections, please let us know: contact@galliumos.org

Firmware and NVRAM Flags

crossystem

GBB Flags

TODO: Add detail on GBB flags, relationship to crossystem flags, note flat battery issues and WP restrictions.