Category:ChromeOS
Devices
Generic device ports
These devices are combined into generic ports. Refer to chipset when looking for your device.
Device | Codename | Architecture | Category | Chipset |
---|---|---|---|---|
Google Oak Chromebook | google-oak | aarch64 | community | MediaTek MT8173C |
Google Kukui Chromebook | google-kukui | aarch64 | community | MediaTek MT8183 |
Google Corsola Chromebook | google-corsola | aarch64 | testing | MediaTek MT8186 |
Google Asurada Chromebook | google-asurada | aarch64 | testing | MediaTek MT8192 |
Google Cherry Chromebook | google-cherry | aarch64 | testing | MediaTek MT8195 |
Google Trogdor Chromebook | google-trogdor | aarch64 | community | Qualcomm Snapdragon 7c |
Google Gru Chromebook | google-gru | aarch64 | community | Rockchip RK3399 |
Google Veyron Chromebook | google-veyron | armv7 | community | Rockchip RK3288 |
Google Chromebooks with x64 CPU | google-x64cros | x86_64 | community | Various x86_64 |
Non-generic device ports
Other devices that are not combined into generic ports.
Device | Codename | Architecture | Category | Chipset |
---|---|---|---|---|
Acer Chromebook 13 (CB5-311) | google-nyan-big | armv7 | testing | Nvidia Tegra K1 (T124) |
HP Chromebook 11 G1 | google-spring | armv7 | testing | Samsung Exynos 5250 |
HP Chromebook 14 G3 | google-nyan-blaze | armv7 | testing | Nvidia Tegra K1 (T124) |
Samsung Chromebook | google-snow | armv7 | community | Samsung Exynos 5250 |
Samsung Chromebook 2 11.6" | google-peach-pit | armv7 | community | Samsung Exynos 5420 |
Samsung Chromebook 2 13.3" | google-peach-pi | armv7 | testing | Samsung Exynos 5800 |
All devices
See All Chrome OS devices page.
Preparation
Enable developer mode
NOTE: Switch to developer mode will factory reset your device (erase all user data). |
NOTE: The process is different depending on keyboard presence. |
Enable developer mode on laptop or tablet with keyboard
- Turn off the device.
- Press esc + Refresh + Power.
- Press Ctrl + D.
- Confirm switch to developer mode.
After that you have to press Ctrl + D to boot from internal storage.
Enable developer mode on tablet without keyboard
- Press Volume Down and Volume Up buttons at the same time and boot the device.
- You should see prompt saying Please insert a recovery USB stick with a helpful image showing USB port that doesn't exist on Duet.
- Press Volume Up button, now you should see a menu with options like "Show Debug Info", "Cancel", "Power Off", and "Language".
- Press Volume Up and Volume Down buttons at the same time. Option "Show Debug Info" will be replaced with "Confirm Disabling OS Verification".
- Select this option by using volume buttons and confirm by pressing Power.
Enable booting from external storage
- Boot into Chrome OS.
- Open console: Ctrl + Alt + T.
- without keyboard: open
chrome-untrusted://crosh
in the browser.
- without keyboard: open
- Enter
shell
in console. - Enter
sudo crossystem dev_boot_usb=1 dev_boot_signed_only=0
in shell.
After that you can boot from external storage (SD or USB) with Ctrl + U.
"no new privileges" error
If this throws errors regarding flags preventing sudo like
sudo: The "no new privileges" flag is set, which prevents sudo from running as root.
sudo: If sudo is running in a container, you may need to adjust the container configuration to disable the flag.
which seems to happen more with newer ChromeOS versions after 116, please follow these steps:
- Ctrl + Alt + Refresh/F3 to open VT2 (full screen terminal)
- log in as chronos (default no password)
- Enter
sudo crossystem dev_boot_usb=1 dev_boot_signed_only=0
Installation
Installation to SD card or USB storage
There are 2 ways to install it: prebuilt image or pmbootstrap. See Installation article.
Installation from pmbootstrap requires another device with pmbootstrap installed, but installation from prebuilt image is possible from Chrome OS itself.
Installation to eMMC
- Install pmOS to SD card or USB and boot it.
- Install pmbootstrap with
apk add pmbootstrap
- Go through
pmbootstrap init
command - Figure out which block device is your eMMC with
lsblk
- Use
pmbootstrap install --disk=/dev/mmcblk0
- Make sure your eMMC is
/dev/mmcblk0
, otherwise replace it with correct device - For FDE use
--fde
- If you have a custom bootloader and you don't want a cgpt partition table use
--no-cgpt
(doesn't work on veyron)
- Make sure your eMMC is
Keyboard mapping
We have some custom keyboard mapping using keyd service:
- media keys perform their function
- holding Search and pressing media keys will result in functional keys, for example Search + Back results in
KEY_F1
- This can be configured to work vice-versa, so functional keys will be default and media keys will work holding Search. Open
/etc/conf.d/cros-keyboard-map
and setinverted_functional_row="true"
- This can be configured to work vice-versa, so functional keys will be default and media keys will work holding Search. Open
- Alt + Backspace -> delete
- Alt + Brightness Down -> keyboard backlight down
- Alt + Brightness Up -> keyboard backlight up
- Ctrl + Scale -> print
- Ctrl + Alt + Backspace -> Ctrl + Alt + Delete
GBB flags
Firmware on armv7 devices has a bug that causes losing boot from USB setting on battery discharge. Follow this to workaround it.
This also reduces the developer mode screen from 30 to 2 seconds which will avoid the annoying beep. If you don't want it use --flags=0x18
instead.
Setting GBB flags from Chrome OS
- Disable write protect
- On older devices (all armv7) there is a special screw on motherboard to remove
- On newer devices with cr50, remove the battery
- Enable developer mode if it is not enabled
- Boot into Chrome OS
- Run
crossystem | grep wpsw_cur
, make sure it is 0 - Run
flashrom -p linux_mtd --wp-status
- If it reports that software write protect is enabled run
flashrom -p linux_mtd --wp-disable
- If it reports that software write protect is enabled run
- Run
flashrom -p linux_mtd -r backup.bin
and save it somewhere - Run
futility gbb --set --flash --flags=0x19
- Google has made modifications to the futility/gbb_utility behavior, you may need to use their wrapper script instead.
- if the above reports 'ERROR: unrecognized option (possibly "--flash")', then you'll want to use the Google provided GBB wrapper scripts
/usr/share/vboot/bin/get_gbb_flags.sh -d -e
to read the current flags setting and print out the flags it will interpret that as/usr/share/vboot/bin/set_gbb_flags.sh 0x19
to set the flags you want (per above 0x19 is to shorten the boot time and default to internal storage, use 0x18 to default to external).- Use
/usr/share/vboot/bin/set_gbb_flags.sh
with no arguments to see the flags it can define
- (optionally) Run
flashrom -p linux_mtd --wp-enable
Setting GBB flags from pmOS (or another Linux OS)
Assuming you've already disabled write protect Assuming you've already enabled developer mode and possibly forced USB boot to be enabled via GBB flags
- Boot into pmOS or Alpine
- Check write protect status
- Since we are missing a crossystem dependency, its functionality is limited, so it throws some errors, this suppresses them while querying all supported crossystem entries
- Run
crossystem 2>/dev/null | grep -v '(error)'
, this prints successful queries, a much shorter output than in ChromeOS - Run
crossystem wpsw_boot
, this should print 0, and means write protect is still disabled
- Install flashrom with
sudo apk add flashrom
- Run
sudo flashrom -p linux_mtd --wp-status
- If it reports that software write protect is enabled run
sudo flashrom -p linux_mtd --wp-disable
- If it reports that software write protect is enabled run
- Run
sudo flashrom -p linux_mtd -r backup.bin
and save it somewhere- The latest futility has removed `--flash` option, instead preferring the user to use flashrom to create a bios_bin backup file for it to alter.
- Run
sudo futility gbb --get --flags backup.bin
which will show any flags you'd set previously - Run
sudo futility gbb --set --flags=0x19 backup.bin
set a new set of flags, in my case enabling the shortened boot 0x19 vs the 30 second 0x18 to get rid of the beep - Run
sudo flashrom -p linux_mtd -w backup.bin
to write the updated firmware back to the system - (optionally) Run
flashrom -p linux_mtd --wp-enable
Contributing
Testing
There are too many variants of these devices. We are trying to do our best to support them all, but sometimes there are unexpected issues appearing on devices that haven't been tested.
You can help us by joining our Testing Team. See Testing Team page for more details.
Development
See also
Pages in category "ChromeOS"
The following 95 pages are in this category, out of 95 total.
A
- Acer Chromebook 13 CB5-311 (google-nyan-big)
- Acer Chromebook 311 (C722/C722T) (google-willow)
- Acer Chromebook 311 (CB311-11H / CB311-11HT) (google-kenzo)
- Acer Chromebook 314 (CB314-2H / CB314-2HT) (google-cozmo)
- Acer Chromebook 511 (google-limozeen)
- Acer Chromebook 514 (CB514-2H / CB514-2HT) (google-spherion)
- Acer Chromebook R13 (google-elm)
- Acer Chromebook Spin 311 (CP311-3H) (google-juniper)
- Acer Chromebook Spin 311 (R722T) (google-pico)
- Acer Chromebook Spin 513 (CP513-2H) (google-tomato)
- Acer Chromebook Spin 513 (google-lazor)
- Acer Chromebook Tab 10 (google-dru)
- Acer Chromebook Tab 510 (google-quackingstick)
- AOpen Chromebase Mini (google-veyron-tiger)
- AOpen Chromebook Commercial Tab (google-druwl)
- AOpen Chromebox Mini (google-veyron-fievel)
- ASUS Chromebit CS10 (google-veyron-mickey)
- ASUS Chromebook C201 (google-veyron-speedy)
- ASUS Chromebook C202XA (google-hana)
- ASUS Chromebook CZ1 (google-cerise)
- ASUS Chromebook Detachable CM3 (CM3000) (google-kakadu)
- ASUS Chromebook Detachable CZ1 (google-katsu)
- ASUS Chromebook Flip C100 (google-veyron-minnie)
- ASUS Chromebook Flip C101 (google-bob)
- ASUS Chromebook Flip CM3 (CM3200, MT8183) (google-damu)
- ASUS Chromebook Flip CM3 (CM3200, MT8192) (google-hayato)
- ASUS Chromebook Flip CZ1 (google-stern)
- ASUS Chromebook Tablet CT100 (google-dumo)
C
G
- Google Asurada Chromebook (google-asurada)
- Google Cherry Chromebook (google-cherry)
- Google Chromebooks with x64 CPU (google-x64cros)
- Google Corsola Chromebook (google-corsola)
- Google Gru Chromebook (google-gru)
- Google Kukui Chromebook (google-kukui)
- Google Oak Chromebook (google-oak)
- Google Trogdor Chromebook (google-trogdor)
- Google Veyron Chromebook (google-veyron)
- Google WiFi (google-gale)
H
- Haier Chromebook 11 (google-veyron-jaq)
- Haier Chromebook 11e (google-veyron-mighty)
- HiSense Chromebook 11 (google-veyron-jerry)
- HP Chromebook 11 G1 (google-spring)
- HP Chromebook 11a (google-kappa)
- HP Chromebook 11MK G9 EE (google-esche)
- HP Chromebook 14 G3 (google-nyan-blaze)
- HP Chromebook X2 (google-coachz)
- HP Chromebook x360 11MK G3 EE (google-burnet)
- HP Chromebook x360 13b-ca0xxx (google-dojo)
- HP Fortis 11 G9 Q Chromebook (google-kingoftown)
L
- Lava Xolo Chromebook (google-veyron-jaq)
- Lenovo 100e Chromebook 2nd Gen (MTK) (google-hana)
- Lenovo 100e Chromebook 2nd Gen MTK 2 (google-makomo)
- Lenovo 10e Chromebook Tablet (google-kodama)
- Lenovo 300e Chromebook (google-hana)
- Lenovo 300e Chromebook 2nd Gen (MTK) (google-hana)
- Lenovo 300e Yoga Chromebook Gen 4 (google-steelix)
- Lenovo Chromebook C330 (google-hana)
- Lenovo Chromebook S330 (google-hana)
- Lenovo Flex 11 Chromebook (google-hana)
- Lenovo IdeaPad 3 Chromebook (MT8183) (google-fennel14)
- Lenovo IdeaPad Duet 3 (google-wormdingler)
- Lenovo IdeaPad Duet 5 (google-homestar)
- Lenovo IdeaPad Duet Chromebook (google-krane)
- Lenovo IdeaPad Flex 3 Chromebook (CB-11M735) (google-hana)
- Lenovo IdeaPad Flex 3 Chromebook (MT8183) (google-fennel)
- Lenovo IdeaPad Slim 3 Chromebook (14M868) (google-magneton)
- Lenovo N23 Yoga Chromebook (google-hana)
- Libera-Merdeka Chromebook C100/C110/C120/C150 (google-pazquel)
- Lumos Education Chromebook (google-veyron-mighty)