From 48b72dddf966796195330ab53bc2a3249d452ed3 Mon Sep 17 00:00:00 2001 From: ryan Date: Fri, 25 Aug 2023 22:09:16 -0700 Subject: [PATCH] Unfuck upstream p2 --- docs/advanced.md | 12 + docs/allaboutfirmware.md | 66 + docs/altos.md | 83 + docs/bootableusb.md | 37 + docs/bugreport.md | 21 + docs/compiling-coreboot.md | 41 + docs/contributing.md | 65 + docs/csdriver.md | 202 ++ docs/debugging.md | 156 ++ docs/distros.md | 163 ++ docs/faq.md | 99 + docs/firmware.md | 80 + docs/getting-started.md | 72 + docs/installing-linux.md | 70 + docs/installing-macos.md | 126 ++ docs/installing-windows.md | 86 + docs/known-issues.md | 60 + docs/post-install.md | 70 + docs/reverting.md | 59 + docs/signedlicense.md | 86 + docs/supported-devices.md | 3636 ++++++++++++++++++++++++++++++++++++ docs/system-info.md | 69 + docs/terminology.md | 52 + docs/unbrick-flipper.md | 96 + docs/unbricking.md | 270 +++ docs/ventoy.md | 64 + 26 files changed, 5841 insertions(+) create mode 100644 docs/advanced.md create mode 100644 docs/allaboutfirmware.md create mode 100644 docs/altos.md create mode 100644 docs/bootableusb.md create mode 100644 docs/bugreport.md create mode 100644 docs/compiling-coreboot.md create mode 100644 docs/contributing.md create mode 100644 docs/csdriver.md create mode 100644 docs/debugging.md create mode 100644 docs/distros.md create mode 100644 docs/faq.md create mode 100644 docs/firmware.md create mode 100644 docs/getting-started.md create mode 100644 docs/installing-linux.md create mode 100644 docs/installing-macos.md create mode 100644 docs/installing-windows.md create mode 100644 docs/known-issues.md create mode 100644 docs/post-install.md create mode 100644 docs/reverting.md create mode 100644 docs/signedlicense.md create mode 100644 docs/supported-devices.md create mode 100644 docs/system-info.md create mode 100644 docs/terminology.md create mode 100644 docs/unbrick-flipper.md create mode 100644 docs/unbricking.md create mode 100644 docs/ventoy.md diff --git a/docs/advanced.md b/docs/advanced.md new file mode 100644 index 00000000..eaef6b2e --- /dev/null +++ b/docs/advanced.md @@ -0,0 +1,12 @@ +--- +title: Advanced +layout: default +nav_order: 17 +has_children: true +--- + +## Advanced + +These pages are for advanced users only. If you are just a average user, you probably don't need to read this. + +It never hurts to do, though πŸ˜‰. diff --git a/docs/allaboutfirmware.md b/docs/allaboutfirmware.md new file mode 100644 index 00000000..373276d5 --- /dev/null +++ b/docs/allaboutfirmware.md @@ -0,0 +1,66 @@ +--- +title: All About Firmware +layout: default +nav_order: 8 +--- + + +## All About Firmware + +### Terminology + +| **Term** | **Description** | +| - | - | +| coreboot | UEFI firmware firmware replacement | +| UEFI | The Unified Extensible Firmware Interface (UEFI) is a specification that defines a software interface between an operating system and platform firmware. UEFI replaces the legacy Basic Input/Output System (BIOS) firmware interface originally present in all IBM PC-compatible personal computers, with most UEFI firmware implementations providing support for legacy BIOS services. UEFI can support remote diagnostics and repair of computers, even with no operating system installed. (source: Wikipedia) | +| EC | Embedded Controller. Communicates between the main board and embedded peripherals such as hotkeys, ports, or battery. + + +### Firmware Types + +---------------------- + +**RW_LEGACY** +* Updates/replaces the stock RW_LEGAGY payload (SeaBIOS or edk2) included on many older models; supplements the ChromeOS / secure boot payload (depthcharge) +* Leaves all stock functionality intact, including the Developer Mode boot screen and Recovery Mode functionality +* Allows device to dual-boot another OS alongside ChromeOS +* Does not require disabling the firmware write-protect +* Carries zero risk of bricking the device +* On many models, includes bugfixes and enables additional functionality +* Required to boot windows on Zen2 devices (Ryzen 3000) + +{: .warning } +Touchscreen and microphones that rely on the AVS driver **WILL NOT** work on RW_LEGACY! + +{: .highlight } +Do not run Windows on RW_LEGACY unless you have a AMD Ryzen device. The RW_LEGACY firmware is for users who want to dual-boot ChromeOS + Linux, or users who want to run Linux without having to open the device/disable the firmware write-protect (and are OK with the accompanying limitations). Or for Ryzen users that require booting from stock firmware for Windows to function properly. + + +**(UEFI) Full ROM** +* A complete firmware image which includes updated/customized versions of the hardware init component (coreboot) and UEFI boot payload (edk2) +* Removes the developer mode boot ("OS verification is OFF") screen +* Completely removes the ability to run ChromeOS (and ChromeOS Recovery Mode), creating a small risk of bricking your device +* Offers the best support for booting all OSes besides ChromeOS +* Adds full hardware support for virtualization (vmx / VT-x) +* Fixes many bugs and/or idiosyncrasies associated with the stock firmware +* UEFI firmware contains updated EC firmware as well, which brings additional fixes on most Chromebooks (mainly keyboard related) +* Requires installation of a UEFI-compatible OS after flashing +* Essentially turns your ChromeOS device into a "regular" PC / laptop + +{: .highlight } +The (UEFI) Full ROM firmware is the best option for all users who no longer need/want to run ChromeOS (ie, want to run Linux/Windows/macOS exclusively), and who don't mind disabling write-protection on their device + +
+ +-------------- + + + + + + +
diff --git a/docs/altos.md b/docs/altos.md new file mode 100644 index 00000000..b3bf520e --- /dev/null +++ b/docs/altos.md @@ -0,0 +1,83 @@ +--- +title: AltOS Pros/Cons +layout: default +nav_order: 10 +--- + +## altOS Pros / Cons + +----------------------- + + +**Windows:** + +Pros: +* Works on most platforms with minimal tweakingΒΉ +* Generally has better application support +* Better game support + +Cons: +* Audio driver is paid (10 USD) for Skylake (6th generation) and newer devices +* Thunderbolt driver is paid (20 USD) for certain generations +* Requires the user to install many drivers +* AVS and SOF users experience instability at times + +### [Installing Windows β†’](installing-windows.html) + +
+ +ΒΉSome devices such as CELES need workarounds. Additionally, AMD Ryzen devices need to use CoolStar's RW_LEGACY script in order to boot Windows. Refer to the [known issues page](known-issues.html) to check whether you need patches. + +---------- + +**Linux** + +Pros: +* Free audio support +* Lightweight and optimal for Chrultrabooks with low storage / slow CPUs +* Most hardware (biggest exception is audio) will work out of the box + +Cons: +* Potentially difficult for a new user (depending on the distro of choice) +* Requires some work on the end user (running audio script, configuring keyboard mapping) +* AVS and SOF users experience instability at times + + {: .note } + Anything Ubuntu based will **not** work, with the exception of PopOS. Linux Mint, Ubuntu, and ElementaryOS are some examples. + +
+ +### [Installing Linux β†’](installing-linux.html) + + +---------- + +**macOS** + +Pros: +* OS experience is near identical to a Mac + +Cons: +* Battery life is subpar +* Hardware based DRM (e.g AppleTV.app) is broken +* No audio, mic, or 3.5mm supportΒΉ +* Doesn't support all devices. +* Often takes up to a week or longer to set up. +* Limited support + +{: .note } +Any Chromebook with a ARM, Celeron or Pentium CPU is not supported. AMD Ryzen might have support in the future. + +### [Installing macOS β†’](installing-macos.html) + +
+ + + + + + +
+ diff --git a/docs/bootableusb.md b/docs/bootableusb.md new file mode 100644 index 00000000..3f708b5c --- /dev/null +++ b/docs/bootableusb.md @@ -0,0 +1,37 @@ +--- +title: Making a Bootable USB +layout: default +nav_order: 25 +--- + +## Making a Bootable USB + +### Prerequisites +1. Another PC or laptop with at least 8GB storage +2. A internet connection +3. A USB drive or SD card thats at least 8 gigabytes. + - You will be erasing this drive, backup anything if you need to do so. + + +### Downloading a ISO +1. Determine what OS you want. + - For Linux, keep in mind Ubuntu and any derivatives will not work. + - For windows, keep in mind only Windows 10 and newer are supported. +2. Place the ISO in a safe place. + + +### Flashing using Rufus + +For this guide, we will be using Rufus to create our bootable USBs. + +1. Download Rufus from [here](https://rufus.ie/en/). The standard Windows x64 version will do. + + ![image](https://github.com/meghan06/docs/assets/77316348/9d9be52c-8e32-4b2f-ae17-8b3917f64032) + +2. Plug in your USB. +3. Locate and launch Rufus. It should ask you to launch with administrator privileges, select YES. +4. On the right hand side, there should be a button with the words `SELECT` on it. +5. A File Explorer window should pop up, find your ISO of choie, then click `Open`. +6. Click `Start`. The default options should work just fine. +7. Wait for the green bar to say `READY`, then click `Close` and eject your newly made USB +8. Profit diff --git a/docs/bugreport.md b/docs/bugreport.md new file mode 100644 index 00000000..d41a40c8 --- /dev/null +++ b/docs/bugreport.md @@ -0,0 +1,21 @@ +--- +title: Reporting Bugs +layout: default +nav_order: 30 +--- + +## Bug Reporting + +So you find a bug in one of our projects, and want to report it. It's faily simple, + +1. Use your brain (please) +2. Open a issue in our [bugtracker](https://github.com/chrultrabook/bugtracker/issues) +3. Be descriptive. Describe what the issue is, steps to reproduce, affected devices, etc etc. + - If you need help, a generic bug report template is available. +4. Wait patiently for a contributor to fix the issue. + - Please keep in mind the majority of us contributors have other things going on in our lives. +
+{: .note } + +Do not submit personal help requests in the bugtracker. + diff --git a/docs/compiling-coreboot.md b/docs/compiling-coreboot.md new file mode 100644 index 00000000..8c647b00 --- /dev/null +++ b/docs/compiling-coreboot.md @@ -0,0 +1,41 @@ +--- +title: Compiling Custom Firmware +layout: default +nav_order: 18 +parent: Advanced +--- + +### Cloning & Building ROMs + +
+ +{: .warning } +Building and flashing your own firmware has the potential to brick your device. Do not do this unless you are sure you know what you're doing/have a way to recover from a bad flash. Some level of knowledge with using the Linux command line is required. + +1. **Install tools and libraries needed for coreboot:** + * Debian based distros: `sudo apt-get install -y bison build-essential curl flex git gnat imagemagick libncurses5-dev m4 nasm python-is-python3 uuid-dev zlib1g-dev` + * Arch based distros: `sudo pacman -S base-devel curl git gcc-ada ncurses zlib` + * Redhat based distros: `sudo dnf install git make gcc-gnat flex bison xz bzip2 gcc g++ ncurses-devel wget zlib-devel patch openssl libuuid-devel nasm texinfo` +2. **Clone the repository:** + * `git clone https://github.com/mrchromebox/coreboot` +3. **`cd` to the coreboot folder, then build the coreboot toolchain** + * `make crossgcc-i386 CPUS=$(nproc)` +4. **Make changes now, if needed.** + * Common changes include: + * Replacing the default logo (`Documentation/coreboot_logo.bmp`) + * Changing version string (`CONFIG_LOCALVERSION`) +5. **Build the ROM** + * create build dir: `mkdir -p ~/dev/firmware` + * `./build-uefi.sh ` + * For example, `./build-uefi.sh leona` + * Roms will be stored in `~/dev/firmware` +6. **Download flashrom, then give it execute permission.** + * `cd; curl -LO https://elly.rocks/tmp/coreboot-development/flashrom-alderlake; chmod +x flashrom-alderlake` +7. **Flash your custom ROM** + * Backup your current rom, just in case things go wrong: `./flashrom-alderlake -p internal -r current.rom` + * Flash your custom firmware: `sudo ./flashrom-alderlake -p internal -w ~/dev/firmware/coreboot_edk2--mrchromebox_.rom` +8. **Reboot** + * Assuming it said `success` on all checks, reboot. + + {: .warning } + Do not reboot if any of the checks failed. diff --git a/docs/contributing.md b/docs/contributing.md new file mode 100644 index 00000000..1c5e4c72 --- /dev/null +++ b/docs/contributing.md @@ -0,0 +1,65 @@ +--- +title: Contributing +layout: default +nav_order: 20 +--- + +## Supporting the Docs + +Want to help support the docs? Well there's some ways you can help! + +------------ + +### Contributing via Issues + +Contributing via Issues is pretty simple but there are some rules: + +* Reserve the issues tab exclusively for documentation-related matters; refrain from discussing personal support issues or OS installation problems there. +* When reporting a typo or suggesting better clarification, please specify the page where the issue is found. It would be helpful to avoid searching extensively for these problems. + +------------ + +### Contributing via PRs + +Some guidelines when contributing via PRs: + +* Use your brain (please). +* Proofread your submissions. +* Pull Requests may be rejected if they do not align with the docs's content or if they contain inaccurate information. Generally, we will provide reasons for rejection or request revisions. + * Additionally, it would be appreciated if you can provide sources for significant commits. This helps us verify the validity of the information you provide. +* Ensure that the pages adhere to the markdown style used in the docs. + +------------ + +### How to Contribute + +The best way to test your commits and ensure proper formatting is by forking the repository, making and testing changes locally, then contributing with a pull request. + + +**Simple step-by-step guide** + +* Install Ruby, Jekyll, and bundle + * See [Jekyll's installation guide](https://jekyllrb.com/docs/installation/#guides) for your platform. +* [Fork this repo](https://github.com/chrultrabook/docs/fork/) +* Clone your fork, open a terminal and `cd` to it +* Run the `bundle` command, then `bundle exec jekyll serve` +* Visit `localhost:4000` in your web browser and preview your changes. + +{: .note } +Jekyll will automatically regenerate pages when you make changes. + + +------------ + + +### Tips + +Some tools that make contributing a bit easier: + +* [Visual Studio Code](https://code.visualstudio.com) +* [Typora](https://typora.io) for real time markdown rendering. +* [TextMate](https://macromates.com) for easy and powerful mass find/replace. +* [GitHub Desktop](https://desktop.github.com) for more user friendly GUI. + + +------------ diff --git a/docs/csdriver.md b/docs/csdriver.md new file mode 100644 index 00000000..1e5b76b8 --- /dev/null +++ b/docs/csdriver.md @@ -0,0 +1,202 @@ +--- +title: Purchasing Drivers +layout: default +nav_order: 14 +--- + +{: .warning } +If your device is older than Skylake (6th gen), you do **not need to buy any drivers as they are free.** + + + +## Purchasing CoolStar Drivers + +### Step 1: + +Go to [CoolStar's Driver Portal](https://coolstar.org/chromebook/driverlicense/login.html) and click "Sign Up with Patreon". + + +-------- + +### Step 2: + +Click "Sign Up with Patreon" one more time. + + +-------- + +### Step 3: + +Sign in to Patreon. If you don't have an account, click "Sign Up" at the bottom of the screen and follow the on screen instructions. + + +-------- + +### Step 4: + +After signing in, you should have been redirected to the screen below. Follow the prompts and click "Submit" when you are done. + + +-------- + +### Step 5: + +Visit [CoolStar's Patreon](https://www.patreon.com/coolstar), sign in, then select the driver your Chromebook needs. + +
What drivers do I need to buy? +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CPU GenerationPaid DriversNotes
Sandybridge n/a
Ivybridge n/a
Haswell n/a
Broadwell n/a
Baytrail n/a
Braswell n/a
Skylake AVSModels with a Celeron, Pentium, i3 or m3 CPU are eligible for a AUE discount.
Apollo Lake AVS or SOFCan use either SOF or AVS
Kaby Lake AVS
Amber Lake AVS
Gemini Lake SOF
Comet Lake SOF
Picasso / Dali n/a
Tiger Lake SOF, TB4TB4 and SOF can be purchased as a bundle.
Jasper Lake SOF
Alder Lake SOF, TB4TB4 and SOF can be purchased as a bundle.
+
+
+
+ + + + +{: .important } +**The drivers are a one time purchase.** + +{: .note } +You may need to select "See all 5 levels" if you don't see the driver you want. + +{: .note } +To purchase more than one driver, you can change the "Choose what you pay" field at checkout. + +-------- + +### Step 6: + +Enter your payment information. You can also pay via PayPal. + + +-------- + +### Step 7: + +Go back to the [CoolStar driver portal](https://coolstar.org/chromebook/driverlicense/login.html), and sign in with the username and password you chose in Step 3. After you sign in, head to the "Account" tab, then click "Refresh" under the word "Patreon". + + +{: .note } +It may take up to two (2) hours for the funds to show up. Do not panic, you did not get scammed. + +-------- + +### Step 8: +Once the funds show up, head back to "Available Drivers", select the driver you want to buy, then click "Buy". + + +-------- + +### Step 9: + + Unsubscribe from the Patreon so you don't get charged double. + + +{: .warning } +If you do not unsubscribe from the Patreon, you will get charged again next month. + +-------- + +### Step 10: +Reboot. + +![image](https://github.com/chrultrabook/docs/assets/77316348/7202cae6-ac59-493b-b488-880ff313dd8b) + +-------- + + + + + + +
diff --git a/docs/debugging.md b/docs/debugging.md new file mode 100644 index 00000000..ed65a1ba --- /dev/null +++ b/docs/debugging.md @@ -0,0 +1,156 @@ +--- +title: Debugging +layout: default +nav_order: 17 +parent: Advanced +--- + +## Debugging + +This page has instructions on using multiple different utilities to debug issues and modify parts of your system. + +----------- + +### Grabbing Logs + +* If you're experiencing firmware bugs, provide output from `cbmem` console. +* If you're experiencing issues with Linux, provide output from `dmesg`, `dmidecode` and `journalctl` or `/var/log/messages`, respectively +* Ift you're experiencing issues with Windows, provide screenshots from Device Manager, Event Viewer, coredumps etc. +* If you're experiencing issues with macOS, please ask for help in the Chrultrabook Discord, in the #hackintosh channel. + +----------- + +### Firmware + +To debug firmware, you will need the following tools: + +1. `cbmem` - To view Coreboot logs +2. `ectool` - To interface with ChromeOS Embedded Controller +3. SuzyQ - If you're experiencing severe system instability (lockups, crashes), preventing you from on-device debugging. + +To dump the cbmem buffer, follow these steps: +1. Download the tar archive from MrChromebox's website: + * `wget https://mrchromebox.tech/files/util/cbmem.tar.gz` +2. Unzip the file and give the binary executable permissions: + * `tar -xf cbmem.tar.gz;rm cbmem.tar.gz;chmod +x cbmem` +3. Run `cbmem` and pipe it's output to `cbmem.log` file: + * `sudo ./cbmem -c > cbmem.log` +4. Upload `cbmem.log` file for further analysis. + +To interface with the Embedded Controller: +1. Download the tar archive from MrChromebox's website: + * `wget https://mrchromebox.tech/files/util/ectool.tar.gz` +2. Unzip the file and give the binary executable permissions: + * `tar -xf ectool.tar.gz;rm ectool.tar.gz;chmod +x ectool` +3. Issue commands to EC by executing commands, for example setting the fan to 100%: + * `sudo ./ectool --name=cros_ec fanduty 100` + * Running `./ectool help` will provide you with a list of available commands, or you can take a look at ectool's source code directly: +https://chromium.googlesource.com/chromiumos/platform/ec/+/master/util/ectool.c#63 + +----------- + +### SuzyQ Debug Cable +If you need to use SuzyQ, you can use `minicom` or `picocom` for example. It exposes three serial devices: +1. AP (CR50) console under /dev/ttyUSB0: + * `minicom -D /dev/ttyUSB0 -b 115200` +2. Coreboot/platform serial under /dev/ttyUSB1: + * `minicom -D /dev/ttyUSB1 -b 115200` +3. Embedded Controller console under /dev/ttyUSB2 + * `minicom -D /dev/ttyUSB2 -b 115200` + +* Platform serial can be used to debug the payload or kernel, but you need to re-compile coreboot with following configuration options enabled: +`CONSOLE_SERIAL=y` +`EDK2_SERIAL_SUPPORT=y` +* To use SuzyQ as platform debugger, you will also need to append the following to your kernel commandline: +`loglevel=15 console=ttyS0,115200n8` + +----------- + +### ACPI and Linux kernelspace + +1. Download elly's debugging script. + * `cd ~/Desktop;wget https://elly.rocks/tmp/coreboot-development/debug.sh` + + It will dump: + * ACPI tables from sysfs (`/sys/firmware/acpi/*`) + * DMI information (`dmidecode`) + * Coreboot buffer (`cbmem`) + * Linux kernel logs (`dmesg`) + * List of PCI devices (`lspci`) + * List of USB devices (`lsusb`) + + Into `debug-logs.tar.gz` archive on your desktop. + +2. Run it: `chmod +x debug.sh;./debug.sh` + +3. Upload this file if you need help with troubleshooting. + * Remember to remove WiFi information from dmesg to protect your privacy. + +----------- + +### Linux Audio Server + +Run this script to get a log from your audio server + +1. Download the script + * `wget https://cdn.discordapp.com/attachments/1121994891950559283/1126689828063412234/audio-debug.sh` +2. Give it execute permissions + * `chmod +x audio-debug.sh` +3. Run the file + * `./audio-debug.sh` + +----------- + +### flashrom + +Flashrom is used to read and write from the SPI flash + + +Read flash: + * `sudo flashrom -p -r ` + * Example: + * `sudo flashrom -p internal -r backup.rom` + +{: .warning } +If you have an Intel Chromebook, you will need to add `--ifd -i bios` if you want to write to the flash or else flashrom will fail. + +Write flash: + * `sudo flashrom -p -w ` + * Imtel Example: + * `sudo flashrom -p internal --ifd -i bios -w stock.rom` + * AMD Example: + * `sudo flashrom -p internal -w stock.rom` + +Write protection: + +View status: + * `sudo flashrom -p internal --wp-status` + +Enable WP: + * `sudo flashrom -p internal --wp-enable` + +Disable WP: + * `sudo flashrom -p internal --wp-disable` + +Clear WP range: + * `sudo flashrom -p internal --wp-range 0 0` + +Common programmers: +* `internal`: Use this when you run flashrom on the chromebook you want to program. +* `ch341a_spi`: Use this when you use a ch341a external programmer. +* `raiden_debug_spi:target=AP`: Use then when you want to flash using a Suzy-Q cable. + +----------- + +### gsctool + +gsctool is used to communicate with the GSC (Google Security Chip) from ChromeOS and is usually used to unlock CCD without removing the back of the Chromebook. + +View status: + * `sudo gsctool -a -I` + +Unlock CCD: + * `sudo gsctool -a -o` + * This will prompt you multiple times to press the power button, on the last time, the device will reboot back into verified mode + + diff --git a/docs/distros.md b/docs/distros.md new file mode 100644 index 00000000..e3cf68ba --- /dev/null +++ b/docs/distros.md @@ -0,0 +1,163 @@ +--- +title: Distro Specific Configuration +layout: default +nav_order: 23 +parent: Advanced +--- + + +## Linux distro-specific Configuration + +--------- + +### NixOS + +- Enable and configure keyd (Example is cros-standard. Adjust as you need!) +```nixos +# configuration.nix +services.keyd = { + enable = true; + keyboards.internal = { + ids = [ "0001:0001" ]; + settings = { + main = { + f1 = "back"; + f2 = "forward"; + f3 = "refresh"; + f4 = "f11"; + f5 = "scale"; + f6 = "brightnessdown"; + f7 = "brightnessup"; + f8 = "mute"; + f9 = "volumedown"; + f10 = "volumeup"; + back = "back"; + forward = "forward"; + refresh = "refresh"; + zoom = "f11"; + scale = "scale"; + brightnessdown = "brightnessdown"; + brightnessup = "brightnessup"; + mute = "mute"; + volumedown = "volumedown"; + volumeup = "volumeup"; + sleep = "coffee"; + }; + meta = { + f1 = "f1"; + f2 = "f2"; + f3 = "f3"; + f4 = "f4"; + f5 = "f5"; + f6 = "f6"; + f7 = "f7"; + f8 = "f8"; + f9 = "f9"; + f10 = "f10"; + back = "f1"; + forward = "f2"; + refresh = "f3"; + zoom = "f4"; + scale = "f5"; + brightnessdown = "f6"; + brightnessup = "f7"; + mute = "f8"; + volumedown = "f9"; + volumeup = "f10"; + sleep = "f12"; + }; + alt = { + backspace = "delete"; + meta = "capslock"; + brightnessdown = "kbdillumdown"; + brightnessup = "kbdillumup"; + f6 = "kbdillumdown"; + f7 = "kbdillumup"; + }; + control = { + f5 = "print"; + scale = "print"; + }; + controlalt = { + backspace = "C-A-delete"; + }; + }; + }; +}; +``` + +- Audio setup (Does the same as the audio script) +**Change the `GENERATION` to your board generation!** +Possible options: `adl` | `jsl` | `tgl` | `cml` | `glk` | `apl` | 'avs' | `bsw` | `byt` | `mendocino` | `cezanne` | `picasso` | `stoney` + +If your generation isn't listed above, you can skip this section +```nixos +# configuration.nix +nixpkgs.overlays = with pkgs; [ (final: prev: + { + alsa-ucm-conf = prev.alsa-ucm-conf.overrideAttrs (old: { + srcs = [ + (fetchurl { + url = "mirror://alsa/lib/alsa-ucm-conf-1.2.9.tar.bz2"; + hash = "sha256-N09oM7/XfQpGdeSqK/t53v6FDlpGpdRUKkWWL0ueJyo="; + }) + (fetchurl { + url = "https://github.com/WeirdTreeThing/chromebook-ucm-conf/archive/792a6d5ef0d70ac1f0b4861f3d29da4fe9acaed1.tar.gz"; + hash = "sha256-Ae/k9vA5lWiomSa6WCfp+ROqEij11FPwlHAIG6L19JI="; + }) + ]; + unpackPhase = '' + runHook preUnpack + + for _src in $srcs; do + tar xf "$_src" + done + + ls + + runHook postUnpack + ''; + installPhase = '' + runHook preInstall + + mkdir -p $out/share/alsa + cp -r alsa-ucm-conf-1.2.9/ucm alsa-ucm-conf-1.2.9/ucm2 $out/share/alsa + + mkdir -p $out/share/alsa/ucm2/conf.d + cp -r chromebook-ucm-conf-792a6d5ef0d70ac1f0b4861f3d29da4fe9acaed1/hdmi-common \ + chromebook-ucm-conf-792a6d5ef0d70ac1f0b4861f3d29da4fe9acaed1/dmic-common \ + chromebook-ucm-conf-792a6d5ef0d70ac1f0b4861f3d29da4fe9acaed1/GENERATION/* \ + $out/share/alsa/ucm2/conf.d + + runHook postInstall + ''; + }); + } + )]; +``` + +- Audio setup modprobes + - SOF modprobe config for Alderlake, Jasperlake, Tigerlake, Cometlake, and Geminilake +```nixos +# configuration.nix +boot.extraModprobeConfig = '' + options snd-intel-dspcfg dsp_driver=3 +''; +``` + + - SOF modprobe config for Braswell and Baytrail +```nixos +# configuration.nix +boot.extraModprobeConfig = '' + options snd-intel-dspcfg dsp_driver=3 + options snd-sof sof_debug=1 +''; +``` + + - AVS modprobe config for Skylake, Kabylake, and Apollolake +```nixos +# configuration.nix +boot.extraModprobeConfig = '' + options snd-intel-dspcfg dsp_driver=4 +''; +``` diff --git a/docs/faq.md b/docs/faq.md new file mode 100644 index 00000000..ffa3142a --- /dev/null +++ b/docs/faq.md @@ -0,0 +1,99 @@ +--- +title: FAQ +layout: default +nav_order: 2 +--- + +# FAQ + +{: .highlight } +Please read this page before asking a question in the Discord. Your help request will be ignored if the answer is found on the FAQ. + +----- + +**Can I pay for Windows drivers using PayPal?** +* You can pay via PayPal in Patreon. + +**How do I buy the Windows audio/Thunderbolt drivers?** +* See [here](https://chrultrabook.github.io/docs/docs/csdriver.html) + +**Can I get AVS or SOF drivers for free?** +* Only the Linux drivers are free. + +**How come audio isn't working on Ubuntu / Ubuntu forks?** +* Because their packages are broken. Please switch to another distro that isn't based off of Ubuntu, like Arch Linux or Fedora. + +**What Linux distros are recommended?** +* See [here](https://chrultrabook.github.io/docs/docs/installing-linux.html) + +**Why is there a license error in Device Manager after installing audio drivers?** +* You messed up the license setup. Please refer to the [licensing guide](https://chrultrabook.github.io/docs/docs/signedlicense.html) and try again. + +**Can I hackintosh my Celeron/Pentium CPU?** +* No. + +**What OS should I use?** +* This depends on your use case. Only you can answer this question. + +**My internal keyboard doesn't work, can I use an external keyboard to get into developer mode?** +* No. The hotkeys will only work on the internal keyboard. + +**Should I use Windows 10 or 11?** +* Windows 11 is required for TB4 users. If you don't have Thunderbolt 4, you may use both 10 or 11. + +**Will the audio driver still work when re-installing Windows?** +* Yes, on the device the license was created. If the internal drive was replaced, see below. + +**I upgraded my Chromebooks' internal drive and my audio/Thunderbolt 4 license is not working, what do I do?** +* The license is tied to the serial number of your internal drive. **You do not need to buy another license**. Send CoolStar a message through Patreon, and wait for about a week. + +**How do I buy Windows audio drivers in bulk?** +* A discount is only available for Chromebooks containing an `Intel 6th gen processor (up to Core i5)`, `N3350`, `N4000`, or, `N4020` processor, otherwise you must pay full price. You must purchase 10 or more licenses to be eligible for a discount. If you are eligible for a discount, you can ping CoolStar in the [Chrultrabook Discord Server](https://discord.com/invite/ranFKmUeXc). + +**Can I use one driver license across multiple devices?** +* No. One license per device. + +**I want to buy a Chromebook to run Windows or Linux or macOS -- which should I buy?** +* Buying any Chromebook with the intention of running macOS, Windows or Linux is not a great idea.s -- DO NOT EXPECT EVERYTHING TO WORK OUT OF THE BOX. Older models may fair better compatibility wise, but there are still lots of caveats, and it's not recommended to buy a Chromebook as a cheap Linux device. + +**How can I get audio working under Linux?** +* Please see [here](https://github.com/WeirdTreeThing/chromebook-linux-audio) + +**I just want to boot Linux from USB on my Chromebook, what do I need to do?** +* Check the Supported Devices page, to ensure your device has functional RW_LEGACY firmware available. If so, flash RWL and use that. + +**I just installed the UEFI firmware, and now my device boots to a black screen that says 'shell' - what do I do?** +* You're in the EFI shell; the firmware boots there when it can't find a valid UEFI boot device, either externally (USB, SD) or internally. Just type 'exit' to get back to the the UEFI settings menu. + +**Should I install 32 or 64-bit OS?** +* The UEFI Full ROM firmware only supports 64-bit OS, so be sure to use the 'x86_64' version of whatever OS you want to install. USB media created from 32-bit ISOs will simply fail to boot. + +**I'm using your UEFI firmware, installed my OS [Linux], and it still boots to the EFI shell - what do I do?** +* Sounds like your Linux distro doesn't install the EFI bootloader in the default location - no worries, it's an easy fix: + * Type `exit` to return to the UEFI settings menu, then select Boot Maintenance Manager. From there, select Boot From File, then navigate to and boot from `/EFI/[distro name]/grubx64.efi` (where [distro name] will be ubuntu, arch, debian, etc). Once your OS is booted, open a terminal/shell, and type the following (observing case): + + * `sudo su` + * `mkdir -p /boot/efi/EFI/BOOT` + * `cp /boot/efi/EFI/[distro name from above]/grubx64.efi /boot/efi/EFI/BOOT/BOOTX64.efi` + + * Then reboot to test. What we're doing is copying the grub EFI boot stub from the OS installed location to the location the firmware is expecting (/EFI/BOOT/BOOTX64.efi) on the EFI system partition (ESP), which most (Debian/Ubuntu-based?) distros will mount at /boot/efi. You may need to adjust slightly for your distro, but these instructions should work in most cases. + +**I'm running Legacy boot firmware now - can I switch to the UEFI firmware?** +* You can, but your existing OS install won't boot. You'll need to either reinstall the OS (often the easiest course of action), or you can attempt to migrate your existing install, but this isn't ideal and should be considered unsupported. + +**Can I modify the fan speed?** +* Yes, using ectool. On windows this is installed along with the [`crosec` driver](https://github.com/coolstar/driverinstallers/raw/master/crosec/crosec.2.0.2-installer.exe) (will be located at `C:\Program Files\crosec\ectool.exe`), on linux you can grab it from [here](https://tree123.org/files/utils/ectool). To set the fan to auto, run: `ectool autofanctrl`. To specify a percentage, run `ectool fanduty [0-100]`. + +**Can I overclock the fan?** +* No. + + + + + + +
+ + diff --git a/docs/firmware.md b/docs/firmware.md new file mode 100644 index 00000000..bba4ce13 --- /dev/null +++ b/docs/firmware.md @@ -0,0 +1,80 @@ +--- +title: Firmware +layout: default +nav_order: 9 +--- + +### Terminology + +| **Term** | **Description** | +| - | - | +| SuzyQable | A cable that enables CCD (Closed Case Debug). Used to disable WP. | + + + +**Flashing Custom Firmware** + +Refer to [here](allaboutfirmware.html) for an overview of both RW_LEGACY and UEFI. + +{: .warning } +**Flashing the firmware has the potential to brick your device**, requiring relatively inexpensive hardware and some technical knowledge to recover. Not all boards can be tested prior to release, and even then slight differences in hardware can lead to unforeseen failures. If you don't have the ability to recover from a bad flash, you're taking a risk. Flashing Full ROM firmware will remove your ability to run ChromeOS. + + +To convert your machine from Google's firmware and chromeOS to Coreboot and AltOS (Linux/Windows/macOS), you will need to first perform the following steps: + +1. [Enable developer mode](https://chromium.googlesource.com/chromiumos/docs/+/HEAD/developer_mode.md) + + {: .warning } + Doing this will wipe **all** user data! Make backups if needed before proceeding. + + * Press `esc` `refresh` (f3) and `power` at the same time. Doing this should cause your system to reboot into a screen that prompts you to insert a recovery USB or SD card. + * Press `ctrl` and `d` at the same time. + * Follow the on screen instructions, then once it reboots, you should be in Developer Mode. **Do not enable debugging features.** + * Setup the system as you would on any other Chromebook. + +2. Refer to the [supported devices list](supported-devices.html) to figure out which method you need to use to disable write-protect on your device. + * Depending on your device, you will need to do **one** of the following: + * Undo a WP screw + * Unplug your battery + * Bridge two jumpers + * Plug in a SuzyQable + +3. Run [MrChromebox's firmware utility script.](https://mrchromebox.tech/#fwscript) + * Type `cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh` and press Enter. + * If you encounter certificate related errors when downloading the script from ChromeOS, then add `-k` to the `curl` and script command to bypass SSL certificate checking as so: + * `cd; curl -LOk mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh` +4. If you are flashing Full ROM, the firmware script will prompt you to make a backup of your stock firmware. **Store it in a safe place** (Google Drive, another PC, etc), as reverting to stock firmware without a backup is **very difficult**. +5. Power the machine down and boot it back up. It can take up to a minute for display to come up on first POST. Do **not** interrupt the first boot. + +------- + +**Updating coreboot** + +1. Boot a live Linux USB. See [here](bootableusb.html) for a guide on making a bootable USB. + + {: .note } + curl is not installed by default for Ubuntu / Ubuntu distros. To install it, run: `sudo apt update;sudo apt install curl -y` + +2. Once you have booted the live USB, **do not install the OS. Some distros may have the option to "try now" click that.** + +3. Connect to the internet. Then open a terminal. + +4. Run the same firmware utility script you used to install coreboot + * In case you forgot, type `cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh` and press Enter. + +5. Pick option 1; "Install/Update UEFI (Full ROM) Firmware" and reboot if successful + +------- + +{: .fs-5 } + + + + + + +
diff --git a/docs/getting-started.md b/docs/getting-started.md new file mode 100644 index 00000000..5e258911 --- /dev/null +++ b/docs/getting-started.md @@ -0,0 +1,72 @@ +--- +title: Getting Started +layout: default +nav_order: 4 +--- + +## Getting Started + +### Terminology + +| **Term** | **Description** | +| - | - | +| chrultrabook | A modified Chromebook/box designed to run Windows, Linux, or even macOS | +| coreboot | UEFI firmware firmware replacement | +| UEFI | The Unified Extensible Firmware Interface (UEFI) is a specification that defines a software interface between an operating system and platform firmware. UEFI replaces the legacy Basic Input/Output System (BIOS) firmware interface originally present in all IBM PC-compatible personal computers, with most UEFI firmware implementations providing support for legacy BIOS services. UEFI can support remote diagnostics and repair of computers, even with no operating system installed. (source: Wikipedia) | + +------------- + +### Warning: + +{: .warning} +You are about to make **unofficial** changes to your device! This will likely **void any warranty.** We provide **zero warranty** if you encounter bugs, brick your device, lose your job because the alarm clock didn't go off, or if a thermonuclear war starts. You are doing all changes **at your own risk**! + + +------------- + +### Supported Devices: + +Please refer to [this chart](supported-devices.html) for a full list of supported devices. + +------------- + +### Prerequisites +* Know your hardware + * Your CPU model and generation + * Your iGPU + * Your storage devices (HDD/SSD, eMMC, NVMe, etc.) + * **Your boardname** + * If you don't know where to find this info, take a look at the [System Info Page.](system-info.html) +* **A basic knowledge of command lines and how to use a terminal/command prompt.** + * We can't help you if you don't know how to cd to a directory or delete a file. +* A minimum of an 8GB USB drive or SD Card for creating a bootable OS installer. + +------ + +### Asking for help properly: +If you are facing a issue, please read the [FAQ](faq.html) first. + +{: .important } +> When asking for help, ask in English. We can't help you if we don't understand the question. Using a translator is fine. + +**Do not use manufacturer's model name or serial number when asking for help** (i.e: HP Chromebook 14a), it doesn't help with identifying the machine. Provide the boardname, otherwise your support request will be ignored. If you don't know where to find your boardname, take a look [here.](system-info.html) + + + +-------------- + +With that out the way, let's move on to the fun stuff: + +{: .fs-5 } + + + + + + + +
diff --git a/docs/installing-linux.md b/docs/installing-linux.md new file mode 100644 index 00000000..04bcb5f8 --- /dev/null +++ b/docs/installing-linux.md @@ -0,0 +1,70 @@ +--- +title: Installing Linux +layout: default +nav_order: 12 +--- + +## Installing Linux +Thanks to recent advancements in the chrultrabook community, Linux works really well on most Chromebooks. + +---------------- + +### Recommended Distributions + +{: .note } +Only Linux kernel 6.1 LTS or newer is supported. + +{: .warning } +Ubuntu and Ubuntu-based distributions, such as Mint or ElementaryOS are unsupported. + +**Recommended distros as of August 2023 (in no particular order) are:** + +* Arch Linux +* Fedora +* OpenSUSE Tumbleweed +* Debian 12 (Bookworm) + +---------------- + + +### Installation: + +1. Create a bootable Linux USB. See [here](bootableusb.html) for a guide. +2. Plug the USB Drive into the Chromebook. +3. Turn on the Chromebook, press `ESC` at the POST screen (when the boot logo appears), and select your USB to boot from. +4. Install as you would on any other computer. + + +-------------- + + +### Fixing Audio + + {: .warning } + Using AVS on a device with max98357a will blow your speakers. You have been warned. + +**Prerequisites** +- Python 3.10 or newner +- Git + +**Installation** +0. Open a terminal. +1. `git clone https://github.com/WeirdTreeThing/chromebook-linux-audio` +2. `cd chromebook-linux-audio` +3. `./setup-audio` + +For more information please see [WeirdTreeThing's repo](https://github.com/WeirdTreeThing/chromebook-linux-audio) + +{: .fs-5 } + + + + + + + +
diff --git a/docs/installing-macos.md b/docs/installing-macos.md new file mode 100644 index 00000000..ed24ed9f --- /dev/null +++ b/docs/installing-macos.md @@ -0,0 +1,126 @@ +--- +title: Installing macOS +layout: default +nav_order: 13 +--- + +## Installing macOS + + +Before we begin, it's important to know whether your Chromebook is even supported: +- ARM/AMD CPUs are not supported. +- Intel Celeron / Pentium CPUs are not supported. +- Tiger Lake (11th gen) CPUs and newer are not supported. +- You need at least 32GB of eMMC storage + +**You will also need:** +* Patience + * This is not a one click setup thing. It usually takes one or more weeks to have a stable hack. +* A USB drive + * 4 gigabytes or more for a online installer; + * 32 gigabytes or more for offline installer +* The ability to use a command prompt + * We won't help you if you don't know how to `cd` to a directory. + +------- + +### Known Issues + +- Broken NVRAM on Comet Lake Devices + - To fix this, **DISABLE** `DevirtualizeMimo`. + {: .warning} + If your device has a Comet Lake CPU, this MUST be disabled. + + +- Waking from sleep causes: + - Blank Electron / Chromium apps + - Buggy video playback in web browsers like Firefox or Safari + - Display/Wallpaper settings in SysPref/SysSettings + - Logging out freezes your system + +------- + +### Tested Devices: + +{: .note } +This list is incomplete. Feel free to improve it. + +- Asus C425 (LEONA) +- Asus C434 (SHYVANA) +- Asus C433 (SHYVANA) +- Acer C720 / C720P (PEPPY) +- Dell Chromebook 13 7310 (LULU) +- Google Pixelbook (2017) (EVE) +- Google Pixel Slate (NOCTURNE) +- Google Pixelbook Go (2019) (ATLAS) +- Dell Latitude 7410 Chromebook Enterprise (DRALLION) +- Asus Chromebox 2 (CN62) (GUADO) +- HP Chromebook x360 14c (DRAGONAIR) + +**The following devices have dedicated guides written for them:** + +* [ChromebookOSX](https://github.com/meghan06/ChromebookOSX): + * Asus C425 (LEONA) + * Asus C434 (SHYVANA) + * Asus C433 (SHYVANA) + +* [PixelbookOSX](https://github.com/olm3ca/PixelbookOSX): + * Google Pixelbook (2017) (EVE) + * Google Pixel Slate (NOCTURNE) + * Google Pixelbook Go (2019) (ATLAS) + +* [macOS-Dragonair](https://github.com/mine-man3000/macOS-Dragonair): + * HP Chromebook x360 14c (DRAGONAIR) + +* [LuluMacOS](https://isi95010.github.io/LuluMacOS/) + * Dell Chromebook 13 7310 (LULU) + + +------- + +**Installing macOS** + + +**Getting Started:** + +1. Follow the [Dortania guide](https://dortania.github.io/OpenCore-Install-Guide). +2. Follow the laptop guide for your CPU generation + * Amber Lake Chromebooks should follow the Kaby Lake config.plist setup + + +**Chromebook Specific Modifications** + +1. [ChromebookPS2](https://github.com/meghan06/ChromebookPS2/): Remaps top row FX keys to their intended purpose for Chromebook keyboards +2. [croscorebootpatch](https://github.com/meghan06/croscorebootpatch): Fixes freeze on booting with coreboot 4.20 and up. +3. [crossdxcdisable](https://github.com/meghan06/crossdxcdisable): Disables SD card reader as it is unsupported. +4. [croshdasdisable](https://github.com/meghan06/croshdasdisable): Disables the `HDAS` device in ACPI as there is no support for it in macOS. + + {: .warning } + croshdasdisable will break HDMI audio! + +6. [EmeraldSDHC](https://github.com/acidanthera/EmeraldSDHC/releases): eMMC driver +7. Take those files you downloaded and put the `.aml` files in the ACPI folder, and the `.kexts` into the kexts folder +8. Snapshot (cmd +r) or (ctrl + r) your `config.plist`. + + +{: .note } +`croshdasdisable` and `crossdxcdisable` disable unsupported devices in macOS, such as speakers. Disabling unsupported devices in macOS saves battery life and increases stability. + +{: .warning } +If you dualboot with the SSDTs mentioned above, you might run into issues on other OSes. A `OSI_` check is not present in these SSDTs. + +{: .fs-5 } + + + + + + +
+ + + diff --git a/docs/installing-windows.md b/docs/installing-windows.md new file mode 100644 index 00000000..908f1759 --- /dev/null +++ b/docs/installing-windows.md @@ -0,0 +1,86 @@ +--- +title: Installing Windows +layout: default +nav_order: 11 +--- + +## Installing Windows + + +### Installation: + +
+ +{: .warning } +Do not use Windows 8 or older. Only recent Windows 10 and 11 builds are supported. + +{: .note } +If you want to create a Windows installer from ChromeOS, see the [Installing Ventoy](https://chrultrabook.github.io/docs/docs/ventoy.html) page. + +1. Install Windows from a USB: + 1. On another computer, create a Windows 10 or 11 installer with Rufus as "GPT for UEFI" + 2. Plug the USB Drive into the Chromebook + 3. Plug a USB mouse in for installation (If you only have one USB port, use tab, enter, and space to navigate the menu) + 4. Turn on the Chromebook, press ESC at the POST screen, and select the USB to boot from. + + {: .note } + If you need to select a different boot device, press any key in "Select Boot Option". Then select "Boot Manager" to select your boot drive. + + {: .warning } + **Do NOT** unplug the install USB until the installation has completed. If you do so, the installation will fail as the Windows install file won't exist anymore. + +3. Bypassing Windows 11 installation checks: + 1. At the Windows installer, press Shift + F10 (Volume Up) to open command prompt + 2. Type in "regedit" and press enter + 3. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\Setup + 4. Right click setup and create a new Key called "LabConfig" + 5. Right click LabConfig and create new DWORD (32 bit) called "BypassSecureBootCheck" and set it to 1 + 6. Right click LabConfig and create new DWORD (32 bit) called "BypassTPMCheck" and set it to 1 + 7. Close regedit and command prompt and proceed with installation normally + +4. Install drivers: + See [Coolstar's Windows Install Helper](https://coolstar.org/chromebook/windows-install.html) for drivers. + +--- + +### Paid Drivers + +Please see [here](csdriver.html) for a step by step tutorial on purchasing drivers. + +-------------- + +### **What drivers do I need to buy?** + +| CPU Generation | Paid Drivers | Notes | +| ---------------- | ---------------- | ------------- | +| **Sandybridge** | n/a | +| **Ivybridge** | n/a | +| **Haswell** | n/a | +| **Broadwell** | n/a | +| **Baytrail** | n/a | +| **Braswell** | n/a | +| **Skylake** | AVS | Models with a Celeron, Pentium, i3 or m3 CPU are eligible for a AUE discount. +| **Apollo Lake** | AVS or SOF | Can use either SOF or AVS +| **Kaby Lake** | AVS | +| **Amber Lake** | AVS | +| **Gemini Lake** | SOF | +| **Comet Lake** | SOF | +| **Picasso / Dali** | n/a | +| **Tiger Lake** | SOF, TB4 | TB4 and SOF can be purchased as a bundle. +| **Jasper Lake** | SOF | +| **Alder Lake** | SOF, TB4 | TB4 and SOF can be purchased as a bundle. + + +{: .fs-5 } +{: .text-right } + + + + + + + diff --git a/docs/known-issues.md b/docs/known-issues.md new file mode 100644 index 00000000..31775ee0 --- /dev/null +++ b/docs/known-issues.md @@ -0,0 +1,60 @@ +--- +title: Known Issues +layout: default +nav_order: 3 +--- + +# Known Issues +The following page is aimed for documenting all issues Chrultrabooks face. Feel free to improve this page by contributing to it. + +{: .highlight } +You should avoid buying any devices in this list. + +----- + + +## Devices +* Samsung Chromebook 3 (CELES): Numerous hardware bugs that make it difficult to use. +* Samsung Galaxy Chromebook (KOHAKU): Badly designed hardware, deteriorating trackpad grounding, possibly faulty backlight circuit. +* Samsung Chromebox Series 3 (STUMPY): DisplayPort output is non-functional under Windows, and VGA output through the DVI port is non-functional. + + + + +---- + +## Firmware +* **All** AMD Chromebooks: AMD PSP blobs are broken, and some StoneyRidge devices do not have working Legacy Boot. +* **All** ARM Chromebooks: No support, though development is slowly starting. +* GeminiLake: Legacy boot mode/alternative firmware menu works but does not show payload list + + + +---- + +## Operating Systems + +### Windows + +* No touchpad support in the installer +* No fingerprint reader support +* No TPM support +* No IPU camera support +* OS will BSOD with AVS/SOF driver installer when transitioning from sleep + + +### Linux + +* Broken USB-C on TigerLake and AlderLake. See Post Install -> Linux for fix. +* No fingerprint reader support +* Sandybridge/Ivybridge need a [workaround](https://github.com/MrChromebox/scripts/issues/277) to flash firmware from linux. +* PopOS and Debian 12 Bookworm need a custom kernel + +### macOS + + +* Broken DRM +* No audio +* No PCIe SD card reader support +* No fingerprint reader support +* Continuity features (AirDrop, Sidecar, etc) diff --git a/docs/post-install.md b/docs/post-install.md new file mode 100644 index 00000000..fa91e7e4 --- /dev/null +++ b/docs/post-install.md @@ -0,0 +1,70 @@ +--- +title: Post Install +layout: default +nav_order: 16 +--- + +## Post Install for altOS + + +### Windows + +** Drivers and QOL improvements** +* Compress the install with `compact.exe /compactos:always` in a Command Prompt with admin privileges if necessary. +* Install [CoolStar's drivers](https://coolstar.org/chromebook/windows-install.html) if you haven't already +* Buy audio drivers (if needed), see [the guide](csdriver.html) + +**CELES Post Install Workaround** + +1. Boot the Windows install media you used to install Windows. +2. Click "Repair my computer" and select the Command Prompt option. +3. Type `bcdedit /set {default} useplatformclock true` and press Enter. +4. Reboot + +----------------------- + + +### Linux + +**General QOL Fixes** + +* Run the [audio script](https://github.com/WeirdTreeThing/chromebook-linux-audio) if you haven't already. +* Install [keyd](https://github.com/rvaiya/keyd) with the instructions in the README to remap top row FX keys. + * Pick the relevant [keyboard layout](https://github.com/chrultrabook/keydconfig) and copy to `/etc/keyd/default.conf` + +**Fixing USB C on TigerLake and AlderLake** +1. Create a file called `chromebook-usbc.service` file in `/etc/systemd/system/` +2. Paste the following contents into the file: + + ``` + [Unit] + Description=Enable USB-C on chromebook + + [Service] + Type=oneshot + RemainAfterExit=yes + ExecStartPre=/sbin/modprobe -r -a cros-ec-typec intel-pmc-mux + ExecStart=/sbin/modprobe -a intel-pmc-mux cros-ec-typec + + [Install] + WantedBy=multi-user.target + ``` +3. Enable the systemd service by typing `systemctl enable --now chromebook-usbc.service`, then reboot. + +----------------------- + + +### macOS +* [Remove Verbose](https://dortania.github.io/OpenCore-Post-Install/cosmetic/verbose.html#macos-decluttering) +* [OpenCore GUI](https://dortania.github.io/OpenCore-Post-Install/cosmetic/gui.html#setting-up-opencore-s-gui) +* Disable `DevirtualizeMimo` if you're on CML (CometLake, 10th generation) + + +
+
+ + + +
diff --git a/docs/reverting.md b/docs/reverting.md new file mode 100644 index 00000000..e36a598f --- /dev/null +++ b/docs/reverting.md @@ -0,0 +1,59 @@ +--- +title: Reverting to chromeOS +layout: default +nav_order: 21 +--- + + +## Reverting to Stock chromeOS + +{: .note } +If your device hit AUE (Auto Update Expiration), you will not be able to revert to chromeOS. + +{: .warning } +Reverting to stock without your backup ROM is somewhat difficult and will not be covered in this guide currently. + +-------- + +**Requirements** +- A PC or laptop to make a ChromeOS recovery USB +- A USB drive thats at least 8GB +- A understanding that this guide has the potential to brick your device. +- Your stock ROM backup + + +--------- + +**Flashing Stock Firmware** + +1. Boot a live Linux USB (Ubuntu 22.04 or later recommended) +2. Connect to WiFi +3. Open a terminal, then update and install `curl` + * `sudo apt update` + * `sudo apt install curl` +4. Obtain your ROM backup +5. Run the Firmware Utility Script + * `cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh` +6. Select the option to revert to stock. +7. Follow on screen instructions + + +**Making a Recovery USB** +1. Download the [Chromebook Recovery Utility](https://chrome.google.com/webstore/detail/chromebook-recovery-utili/pocpnlppkickgojjlmhdmidojbmbodfm) from the Chrome Web Store +2. Launch the app, then follow on-screen instructions. If you are unable to find your device, you can select the "Select a model from a list" option. +3. Select the USB drive you want to use +4. Wait for it to complete. + + +**Booting the Recovery USB** +1. Boot into chromeOS +2. Plug in your recovery USB drive +3. Press `esc` + `refresh` + `power` +4. Begin the recovery process + +------------- + + + + + diff --git a/docs/signedlicense.md b/docs/signedlicense.md new file mode 100644 index 00000000..612e1380 --- /dev/null +++ b/docs/signedlicense.md @@ -0,0 +1,86 @@ +--- +title: License Activation +layout: default +nav_order: 15 +--- + +{: .warning } +Make sure to unsubscribe from CoolStar's Patreon after installing the drivers. **You WILL be charged the following month if you don't.** + +## License Activation + + +### Step 1: +Sign into [CoolStar's Driver Portal](https://coolstar.org/chromebook/driverlicense/login.html) and head towards "Signed Licenses". Then, click the driver you want to install. Click the download button. + + +------ + +### Step 2: +Once downloaded, extract the zip file. + + +------ + +### Step 3: +Read the README first. Then launch `csaudiosstavs.1.0.3-installer.exe`. Make sure you allow it to run as administrator. + + +------ + +### Step 4: +You might get a message like this when opening it for the first time. Click "More Info", then "Run anyway" + + +------ + +### Step 5: +Click the install button. + + +{: .note } +Leave all of the boxes checked. Ones not for your system simply won't be installed. + +------ + +### Step 6: +Once the driver install has finished, head to the `gui` folder. Then open `GenLicense.exe`. + + +{: .note } +Make sure you allow it to run as administrator. You may get another SmartScreen warning, simply click "More Info", then "Run anyway". + +------ + +### Step 7: +Follow the on screen instructions to generate a license. + + +{: .warning } +This step is crucial. The drivers will not work without a valid license. + +------ + +### Step 8: +Reboot. + +![image](https://github.com/chrultrabook/docs/assets/77316348/7202cae6-ac59-493b-b488-880ff313dd8b) + +Thats it! If you followed all the steps correctly, your drivers should be working. + +{: .warning } +**If you do not unsubscribe from CoolStar's Patreon after installing the audio drivers, you WILL be charged the following month.** This is your final warning. + + +------ + + + + + + +
diff --git a/docs/supported-devices.md b/docs/supported-devices.md new file mode 100644 index 00000000..0dd34efb --- /dev/null +++ b/docs/supported-devices.md @@ -0,0 +1,3636 @@ +--- +title: Supported Devices +layout: default +nav_order: 7 +--- + +### Table Of Contents: +1. [UEFI Support Table](#table-of-contents) +2. [Linux Support Table](#linux-support) + + +## Supported Devices and Platforms +Supported devices are listed in the table below, grouped by platform/family, roughly in chronological order. To reiterate, support is determined entirely and exclusively by the Board Name. Device Names are just for reference, and may be incomplete as many models/sub-models may use the same Board Name. Figure out the Board Name and then locate it in the table. If it's not listed, it's not supported. + +### Determining Device Support +What's in a name? All ChromeOS devices have a board/device name, which determines which firmware, OS build, etc a device uses. The board name is listed at the bottom of both the Recovery Mode and Developer Mode screens, as part of the hardware ID (HWID). Your device's board name is what determines if it's supported or not -- not the make, model, CPU, or anything else. The only thing that matters is the name, so use that when determining support in the table below (or for anything else really). + +The chart below provides a full, authoritative list of all ChromeOS devices currently supported by MrChromebox's Firmware Utility Script, the firmware types available for each, and the hardware write-protect method used. In most cases, all of the devices in a given platform/family are supported identically, but sometimes there are outliers (esp with older or newer devices). The goal is to offer both RW_LEGACY and UEFI Full ROM firmware for all devices wherever possible, so you have the option of dual booting ChromeOS, or liberating your device completely :) + +### OS Support +A device having firmware available (either RW_LEGACY or UEFI Full ROM) does not imply any level of functionality when running an OS other than ChromeOS. Some devices/platforms are better supported in some Linux distros vs others. Some devices/platforms are better supported under Windows than others. + +--------- + +### Supported Platforms + +| Intel | AMD | ARM | +| - | - | - | +| Intel platforms have good support for both Linux and Windows. | Ryzen needs RWL hack in order to install Windows. Stoney is not supported in Windows at all, and has a few issues when running Linux. | Currently unsupported by Windows. [PostmarketOS](https://wiki.postmarketos.org/wiki/Chrome_OS_devices) has support for a few ARM Chromebooks. | + +--------- + +### Firmware (not OS) Support + +{: .highlight } +If your device isn't listed, it doesn't have custom firmware support. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Sandybridge/Ivybridge +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
HP Pavilion Chromebook 14 + BUTTERFLY + + βœ… + switch +
Google Chromebook Pixel (2013) + LINK + EOL + βœ… + screw +
Samsung Chromebook Series 5 550 + LUMPY + + βœ… + jumper +
Acer C7/C710 Chromebook + PARROT + + βœ… + jumper +
Lenovo Thinkpad X131e Chromebook + STOUT + + βœ… + switch +
Samsung Chromebox Series 3 + STUMPY + + βœ… + jumper +
+
Haswell +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
HP Chromebook 14 + FALCO + EOL + βœ… + screw +
Toshiba Chromebook 13 (CB30) + LEON + EOL + βœ… + screw +
Acer Chromebox CXI + McCLOUD + EOL + βœ… + screw +
LG Chromebase 22 + MONROE + EOL + βœ… + screw +
Asus Chromebox CN60 + PANTHER + EOL + βœ… + screw +
Acer C720/C720P Chromebook + PEPPY + EOL + βœ… + screw +
Dell Chromebox 3010 + TRICKY + EOL + βœ… + screw +
Dell Chromebook 11 (CB1C13) + WOLF + EOL + βœ… + screw +
HP Chromebox CB1 / G1 + ZAKO + EOL + βœ… + screw +
+
Broadwell +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
Acer C740 Chromebook + AURON_PAINE + EOL + βœ… + screw +
Acer C910 Chromebook (CB5-571) + AURON_YUNA + EOL + βœ… + screw +
Acer Chromebase 24 + BUDDY + EOL + βœ… + screw +
Toshiba Chromebook2 (2015) + GANDOF + EOL + + screw +
Asus Chromebox 2 (CN62) + GUADO + EOL + βœ… + screw +
Dell Chromebook 13 7310 + LULU + EOL + βœ… + screw +
Acer Chromebox CXI2 + RIKKU + EOL + βœ… + screw +
Google Chromebook Pixel (2015) + SAMUS + EOL + βœ… + screw +
Lenovo ThinkCentre Chromebox + TIDUS + EOL + βœ… + screw +
+
Baytrail +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
Acer Chromebook 15 (CB3-531) + BANJO + EOL + βœ… + screw +
Dell Chromebook 11 (3120) + CANDY + EOL + βœ… + screw +
Lenovo N20/N20P Chromebook + CLAPPER + EOL + βœ… + screw +
Lenovo N21 Chromebook + ENGUARDE + EOL + βœ… + screw +
Lenovo ThinkPad 11e/Yoga Chromebook + GLIMMER + EOL + βœ… + screw +
Acer Chromebook 11 (CB3-111/131, C730, C730E, C735) + GNAWTY + EOL + βœ… + screw +
Haier Chromebook G2 + HELI + EOL + βœ… + screw +
HP Chromebook 11 G3/G4
HP Chromebook 14 G4 +
KIP + EOL + βœ… + screw +
AOpen Chromebox Commercial + NINJA + EOL + βœ… + screw +
Lenovo Ideapad 100S Chromebook + ORCO + EOL + βœ… + screw +
Asus Chromebook C300 + QUAWKS + EOL + βœ… + screw +
Asus Chromebook C200 + SQUAWKS + EOL + βœ… + screw +
AOpen Chromebase Commercial + SUMO + EOL + βœ… + screw +
Toshiba Chromebook 2 (2014) + SWANKY + EOL + βœ… + screw +
Samsung Chromebook 2 (XE500C12) + WINKY + EOL + βœ… + screw +
+
Braswell +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
Acer Chromebook 15 (CB3-532) + BANON + EOL + βœ… + screw +
Samsung Chromebook 3 + CELES + EOL + βœ… + screw +
Acer Chromebook R11 (C738T, CB5-132T) + CYAN + EOL + βœ… + screw +
Acer Chromebook 14 (CB3-431) + EDGAR + EOL + βœ… + screw +
Dell Chromebook 11 3180/3189 + KEFKA + EOL + βœ… + screw +
Lenovo N22/N42 Chromebook + REKS + EOL + βœ… + screw +
Acer Chromebook 11 N7 (C731)
CTL NL61 Chromebook
Edxis Education Chromebook (NL6D)
HP Chromebook 11 G5 EE
Mecer V2 Chromebook
Positivo Chromebook C216B +
RELM + EOL + βœ… + screw +
HP Chromebook 11 G5 + SETZER + EOL + βœ… + screw +
Asus Chromebook C202S/C202SA + TERRA + EOL + βœ… + screw +
Asus Chromebook C300SA/C301SA + TERRA13 + EOL + βœ… + screw +
Lenovo ThinkPad 11e/Yoga Chromebook (G3) + ULTIMA + EOL + βœ… + screw +
CTL J5 Chromebook
Edugear CMT Chromebook
Haier Chromebook 11 C
Multilaser Chromebook M11C
PCMerge Chromebook PCM-116T-432B
Prowise Chromebook Proline
Viglen Chromebook 360 +
WIZPIG + EOL + βœ… + screw +
+
Skylake +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
Dell Chromebook 13 3380 + ASUKA + βœ… + βœ… + screw +
Samsung Chromebook Pro + CAROLINE + βœ… + βœ… + screw +
Asus Chromebook C302CA + CAVE + βœ… + βœ… + screw +
HP Chromebook 13 G1 + CHELL + βœ… + βœ… + screw +
Acer Chromebook 14 for Work
Acer Chromebook 11 (C771/C771T) +
LARS + βœ… + βœ… + screw +
Lenovo Thinkpad 13 Chromebook + SENTRY + βœ… + βœ… + screw +
+
Apollolake +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
Acer Chromebook 11 (C732) + ASTRONAUT + βœ… + βœ… + CR50 (battery) +
Asus Chromebook C223NA + BABYMEGA + βœ… + βœ… + CR50 (battery) +
Asus Chromebook C523NA + BABYTIGER + βœ… + βœ… + CR50 (battery) +
CTL Chromebook NL7/NL7T
Edxis Chromebook 11/X11
Positivo Chromebook N2110/N2112
Viglen Chromebook 360C
+
BLACKTIP + βœ… + βœ… + CR50 (battery) +
Acer Chromebook 15 (CB315) + BLUE + βœ… + βœ… + CR50 (battery) +
Acer Chromebook Spin 15 (CP315) + BRUCE + βœ… + βœ… + CR50 (battery) +
Acer Chromebook Spin 11 (R751T) + ELECTRO + βœ… + βœ… + CR50 (battery) +
Acer Chromebook 514 + EPAULETTE + βœ… + βœ… + CR50 (battery) +
Acer Chromebook Spin 11 CP311 + LAVA + βœ… + βœ… + CR50 (battery) +
Dell Chromebook 11 5190 + NASHER + βœ… + βœ… + CR50 (battery) +
Dell Chromebook 11 5190 2-in-1 + NASHER360 + βœ… + βœ… + CR50 (battery) +
Lenovo Thinkpad 11e/Yoga 11e (G4) + PYRO + βœ… + βœ… + CR50 (battery) +
Asus Chromebook C423 + RABBID + βœ… + βœ… + CR50 (battery) +
Asus Chromebook Flip C213SA + REEF + βœ… + βœ… + CR50 (battery) +
Lenovo 100e Chromebook + ROBO + βœ… + βœ… + CR50 (battery) +
Lenovo 500e Chromebook + ROBO360 + βœ… + βœ… + CR50 (battery) +
Acer Chromebook 15 (CB515-1HT) + SAND + βœ… + βœ… + CR50 (battery) +
Acer Chromebook 11 (CB311-8H) + SANTA + βœ… + βœ… + CR50 (battery) +
HP Chromebook x360 11 G1 EE
HP Chromebook 11 G6
HP Chromebook 14 G5 +
SNAPPY + βœ… + βœ… + CR50 (battery) +
CTL Chromebook J41/J41T
PCmerge Chromebook AL116
Prowise Chromebook Eduline
Sector 5 E3 Chromebook
Viglen Chromebook 11C +
WHITETIP + βœ… + βœ… + CR50 (battery) +
+
Kabylake / Amberlake +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
Acer Chromebook 13 + AKALI + βœ… + βœ… + CR50 (battery) +
Acer Chromebook Spin 13 + AKALI360 + βœ… + βœ… + CR50 (battery) +
Google Pixelbook Go (2019) + ATLAS + βœ… + βœ… + CR50 (battery) +
Acer Chromebook 715 (CB715) + BARD + βœ… + βœ… + CR50 (battery) +
Acer Chromebook 714 (CB714) + EKKO + βœ… + βœ… + CR50 (battery) +
Google Pixelbook (2017) + EVE + βœ… + βœ… + CR50 (battery) +
Asus Google Meet kit (KBL) + EXCELSIOR + βœ… + βœ… + CR50, screw +
AOpen Chromebox Commercial 2
Newline Chromebox A10 +
JAX + βœ… + βœ… + CR50, screw +
Acer Chromebase 24I2 + KARMA + βœ… + βœ… + CR50, screw +
HP Chromebox G2 + KENCH + βœ… + βœ… + CR50, screw +
Asus Chromebook C425 + LEONA + βœ… + βœ… + CR50 (battery) +
Samsung Chromebook Plus V2 + NAUTILUS + βœ… + βœ… + CR50 (battery) +
Google Pixel Slate + NOCTURNE + βœ… + βœ… + CR50 (battery) +
Lenovo Yoga Chromebook C630 + PANTHEON + βœ… + βœ… + CR50 (battery) +
Asus Chromebook Flip C433/C434 + SHYVANA + βœ… + βœ… + CR50 (battery) +
Acer Chromebox CXI3 + SION + βœ… + βœ… + CR50, screw +
HP Chromebook x360 14 + SONA + βœ… + βœ… + CR50 (battery) +
HP Chromebook X2 + SORAKA + βœ… + βœ… + CR50 (battery) +
HP Chromebook 15 G1 + SYNDRA + βœ… + βœ… + CR50 (battery) +
Asus Chromebox 3 (CN65) + TEEMO + βœ… + βœ… + CR50, screw +
Dell Inspiron Chromebook 14 (7460) + VAYNE + βœ… + βœ… + CR50 (battery) +
CTL Chromebox CBx1
Promethean Chromebox
SMART Chromebox G3
ViewSonic NMP660 Chromebox +
WUKONG + βœ… + βœ… + CR50, screw +
+
Geminilake [4] +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +


+

+
Asus Chromebook Flip C214/C234 + AMPTON + βœ… + βœ… + CR50 (battery) +
Asus Chromebook Flip C204 + APEL + βœ… + βœ… + CR50 (battery) +
HP Chromebook x360 12b + BLOOG + βœ… + βœ… + CR50 (battery) +
HP Chromebook 14a + BLOOGLET + βœ… + βœ… + CR50 (battery) +
HP Chromebook x360 14a/14b + BLOOGUARD + βœ… + βœ… + CR50 (battery) +
Acer Chromebook 315 + BLORB + βœ… + βœ… + CR50 (battery) +
Samsung Chromebook 4 + BLUEBIRD + βœ… + βœ… + CR50 (battery) +
Acer Chromebook 311
(CB311-9H, CB311-9HT, C733, C733U, C733T) +
BOBBA + βœ… + βœ… + CR50 (battery) +
Acer Chromebook Spin 311 (CP311-2H, CP311-2HN)
Acer Chromebook Spin 511 (R752T, R752TN) +
BOBBA360 + βœ… + βœ… + CR50 (battery) +
Samsung Chromebook 4+ + CASTA + βœ… + βœ… + CR50 (battery) +
NEC Chromebook Y2 + DOOD + βœ… + βœ… + CR50 (battery) +
HP Chromebook 14 G6 + DORP + βœ… + βœ… + CR50 (battery) +
Acer Chromebook 314 (CB314)
Packard Bell Chromebook 314 (PCB314) +
DROID + βœ… + βœ… + CR50 (battery) +
Dell Chromebook 3100 + FLEEX + βœ… + βœ… + CR50 (battery) +
CTL Chromebook VX11/VX11T
Poin2 Chromebook 11P +
FOOB + βœ… + βœ… + CR50 (battery) +
Poin2 Chromebook 11P + FOOB360 + βœ… + βœ… + CR50 (battery) +
ADVAN Chromebook 116
Axioo Chromebook
Baicells Chromebook BB01
CTL Chromebook NL71/CT/LTE
EVERCOSS Chromebook CB1
Edxis Chromebook 11 (S20-C)
JOI Chromebook C100
Multilaser Chromebook M11C-PC914
Pixart Rxart Chromebook
Poin2 Chromebook 11A
SPC Chromebook X1 Mini
Sector 5 E4 LTE Chromebook
WS Chromebook A101
Zyrex Chromebook M432 +
GARG + βœ… + βœ… + CR50 (battery) +
Ascon Chromebook 11A
Axioo Chromebook 360
Baicells Chromebook BB01
CTL Chromebook NL71T/TW/TWB
EVERCOSS Chromebook CB1A
Edxis Chromebook 11 (S20-X)
JOI Chromebook C100
Multilaser Chromebook M11HC-PC915
Pixart Rxart Chromebook
Poin2 Chromebook 11A
SPC Chromebook X1 Mini
WS Chromebook A101
Zyrex Chromebook 360 +
GARG360 + βœ… + βœ… + CR50 (battery) +
CTL Chromebook NL81/NL81T + GARFOUR + βœ… + βœ… + CR50 (battery) +
Acer Chromebook 311 + GLK + βœ… + βœ… + CR50 (battery) +
Acer Chromebook Spin 311 + GLK360 + βœ… + βœ… + CR50 (battery) +
Dell Chromebook 3100 2-in-1 + GRABBITER + βœ… + βœ… + CR50 (battery) +
Lenovo Chromebook C340 + LASER + βœ… + βœ… + CR50 (battery) +
Lenovo Chromebook S340/IdeaPad 3 + LASER14 + βœ… + βœ… + CR50 (battery) +
Lenovo Ideapad 3 Chromebook + LICK + βœ… + βœ… + CR50 (battery) +
HP Chromebook x360 11 G2 EE + MEEP + βœ… + βœ… + CR50 (battery) +
HP Chromebook 11 G7 EE + MIMROCK + βœ… + βœ… + CR50 (battery) +
Asus Chromebook C424 + NOSPIKE + βœ… + βœ… + CR50 (battery) +
Dell Chromebook 3400 + ORBATRIX + βœ… + βœ… + CR50 (battery) +
Lenovo 100e Chromebook Gen 2 + PHASER + βœ… + βœ… + CR50 (battery) +
Lenovo 300e Chromebook Gen 2/IdeaPad Flex 3
NEC Chromebook Y1 +
PHASER360 + βœ… + βœ… + CR50 (battery) +
Lenovo 500e Chromebook Gen 2 + PHASER360S + βœ… + βœ… + CR50 (battery) +
Acer Chromebook 512 (C851/C851T) + SPARKY + βœ… + βœ… + CR50 (battery) +
Acer Chromebook Spin 512 (R851TN) + SPARKY360 + βœ… + βœ… + CR50 (battery) +
HP Chromebook 11 G8 EE + VORTICON + βœ… + βœ… + CR50 (battery) +
HP Chromebook x360 11 G3 EE + VORTININJA + βœ… + βœ… + CR50 (battery) +
+
Stoneyridge +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
Acer Chromebook 315 (CB315-2H) + ALEENA + βœ… + βœ… + CR50 (battery) +
HP Chromebook 11A G6 EE
HP Chromebook 11A G8 EE +
BARLA + βœ… + βœ… + CR50 (battery) +
HP Chromebook 14A G5 + CAREENA + βœ… + βœ… + CR50 (battery) +
Acer Chromebook 311 (C721) + KASUMI + βœ… + βœ… + CR50 (battery) +
Acer Chromebook Spin 311 (R721T) + KASUMI360 + βœ… + βœ… + CR50 (battery) +
Lenovo 14e Chromebook (S345) + LIARA + βœ… + βœ… + CR50 (battery) +
Lenovo 100e Chromebook Gen 2 AMD + TREEYA + βœ… + βœ… + CR50 (battery) +
Lenovo 300e Chromebook Gen 2 AMD + TREEYA360 + βœ… + βœ… + CR50 (battery) +
+
Whiskeylake +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
Dell Latitude 5300 2-in-1 Chromebook Enterprise + ARCADA + βœ… + + battery +
Dell Latitude 5400 Chromebook Enterprise + SARIEN + βœ… + + battery +
+
Cometlake +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
Lenovo Ideapad Flex 5 Chromebook + AKEMI + + βœ… + CR50 (battery) +
HP Chromebook x360 14c + DRAGONAIR + + βœ… + CR50 (battery) +
Dell Latitude 7410 Chromebook Enterprise + DRALLION + βœ… + βœ… + CR50 (battery) +
HP Pro c640 Chromebook + DRATINI + + βœ… + CR50 (battery) +
Asus Chromebox 4 + DUFFY + βœ… + βœ… + CR50, jumper +
Asus Fanless Chromebox + FAFFY + βœ… + βœ… + CR50, jumper +
Asus Chromebook Flip C436FA + HELIOS + + βœ… + CR50 (battery) +
HP Elite c1030 Chromebook
HP Chromebook x360 13c +
JINLON + + βœ… + CR50 (battery) +
Acer Chromebox CXI4 + KAISA + βœ… + βœ… + CR50, jumper +
Acer Chromebook 712 (C871) + KINDRED + + βœ… + CR50 (battery) +
Acer Chromebook Spin 713 (CP713-2W) + KLED + + βœ… + CR50 (battery) +
Samsung Galaxy Chromebook + KOHAKU + + βœ… + CR50 (battery) +
Samsung Galaxy Chromebook 2 + NIGHTFURY + + βœ… + CR50 (battery) +
HP Chromebox G3 + NOIBAT + βœ… + βœ… + CR50, jumper +
CTL Chromebox CBx2 + WYVERN + βœ… + βœ… + CR50, jumper +
+
Picasso/Dali +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
HP Pro c645 Chromebook Enterprise + BERKNIP + βœ… + + CR50 (battery) +
HP Chromebook 14a + DIRINBOZ + βœ… + + CR50 (battery) +
Acer Chromebook Spin 514 + EZKINIL + βœ… + + CR50 (battery) +
HP Chromebook x360 14a + GUMBOZ + βœ… + + CR50 (battery) +
Lenovo ThinkPad C13 Yoga Chromebook + MORPHIUS + βœ… + + CR50 (battery) +
Lenovo 100e Chromebook Gen 3 + VILBOZ + βœ… + + CR50 (battery) +
Lenovo 14e Chromebook Gen 2 + VILBOZ14 + βœ… + + CR50 (battery) +
Lenovo 300e Chromebook Gen 3 + VILBOZ360 + βœ… + + CR50 (battery) +
Asus Chromebook Flip CM5 + WOOMAX + βœ… + + CR50 (battery) +
+
TigerLake +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
FMV Chromebook 14F + CHRONICLER + βœ… + βœ… + CR50 (battery) +
Asus Chromebook Flip CX3 + COLLIS + βœ… + βœ… + CR50 (battery) +
Asus Chromebook Flip CX5 (CX5400) + COPANO + βœ… + βœ… + CR50 (battery) +
Asus Chromebook Flip CX55, CX5 (CX5500), C536 + DELBIN + βœ… + βœ… + CR50 (battery) +
Asus Chromebook CX9 (CX9400) + DROBIT + βœ… + βœ… + CR50 (battery) +
HP Chromebook x360 14c + ELDRID + βœ… + βœ… + CR50 (battery) +
HP Pro c640 G2 Chromebook + ELEMI + βœ… + βœ… + CR50 (battery) +
Lenovo IdeaPad Flex 5i Chromebook + LILLIPUP + βœ… + βœ… + CR50 (battery) +
Lenovo 5i-14 Chromebook
Lenovo Slim 5 Chromebook +
LINDAR + βœ… + βœ… + CR50 (battery) +
Acer Chromebook Spin 514 (CB514-2H) + VOEMA + βœ… + βœ… + CR50 (battery) +
Acer Chromebook 515 (CB515-1W, CB515-1WT) + VOLET + βœ… + βœ… + CR50 (battery) +
Acer Chromebook 514 (CB514-1W, CB514-1WT) + VOLTA + βœ… + βœ… + CR50 (battery) +
Acer Chromebook Spin 713 (CP713-3W) + VOXEL + βœ… + βœ… + CR50 (battery) +
+
JasperLake +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
Lenovo Flex 3i 15 / Ideapad Flex 3i Chromebook + BEETLEY + βœ… + βœ… + CR50, jumper +
Lenovo 3i-15 Chromebook + BLIPPER + βœ… + βœ… + CR50, jumper +
Lenovo 100e Chromebook Gen 3 + BOOKEM + βœ… + βœ… + CR50, jumper +
Lenovo 500e Chromebook Gen 3 + BOTEN + βœ… + βœ… + CR50, jumper +
Lenovo Flex 3i-11 / IdeaPad Flex 3i Chromebook + BOTENFLEX + βœ… + βœ… + CR50, jumper +
Samsung Galaxy Chromebook 2 360 + BUGZZY + βœ… + βœ… + CR50, jumper +
Dell Chromebook 3110 + CRET + βœ… + βœ… + CR50, jumper +
Dell Chromebook 3110 2-in-1 + CRET360 + βœ… + βœ… + CR50, jumper +
HP Chromebook x360 11 G4 EE + DRAWCIA + βœ… + βœ… + CR50, jumper +
HP Chromebook 11 G9 EE + DRAWLAT + βœ… + βœ… + CR50, jumper +
HP Chromebook 14 G7 + DRAWMAN + βœ… + βœ… + CR50, jumper +
HP Fortis 14 G10 Chromebook + DRAWPER + βœ… + βœ… + CR50, jumper +
Asus Chromebook CX1500CKA + GALITH + βœ… + βœ… + CR50, jumper +
Asus Chromebook CX1500FKA + GALITH360 + βœ… + βœ… + CR50, jumper +
Asus Chromebook CX1700CKA + GALLOP + βœ… + βœ… + CR50, jumper +
Asus Chromebook CX1 CX1102 + GALNAT + βœ… + βœ… + CR50, jumper +
Asus Chromebook Flip CX1 CX1102 + GALNAT360 + βœ… + βœ… + CR50, jumper +
Asus Chromebook CX1 + GALTIC + βœ… + βœ… + CR50, jumper +
Asus Chromebook CX1400FKA + GALTIC360 + βœ… + βœ… + CR50, jumper +
CTL Chromebook NL72 + KRACKO + βœ… + βœ… + CR50, jumper +
CTL Chromebook NL72T
LG Chromebook 11TC50Q/11TQ50Q +
KRACKO360 + βœ… + βœ… + CR50, jumper +
HP Chromebook x360 14a-ca1 + LANDIA + βœ… + βœ… + CR50, jumper +
HP Chromebook 15a-na0 + LANDRID + βœ… + βœ… + CR50, jumper +
HP Chromebook 14a + LANTIS + βœ… + βœ… + CR50, jumper +
HP Chromebook x360 14b + MADOO + βœ… + βœ… + CR50, jumper +
Acer Chromebook Spin 314 + MAGISTER + βœ… + βœ… + CR50, jumper +
Acer Chromebook 512 [C852] + MAGLET + βœ… + βœ… + CR50, jumper +
Acer Chromebook Spin 512 [R853TA/R853TNA] + MAGLIA + βœ… + βœ… + CR50, jumper +
Acer Chromebook 511 [C733/C734] + MAGLITH + βœ… + βœ… + CR50, jumper +
Acer Chromebook 315 [CB315-4H/4HT] + MAGMA + βœ… + βœ… + CR50, jumper +
Acer Chromebook 314 [CB314-3H/3HT, C934/C934T] + MAGNETO + βœ… + βœ… + CR50, jumper +
Acer Chromebook Spin 511 [R753T] + MAGOLOR + βœ… + βœ… + CR50, jumper +
Acer Chromebook 317 [CB317-1H] + MAGPIE + βœ… + βœ… + CR50, jumper +
NEC Chromebook Y3 + METAKNIGHT + βœ… + βœ… + CR50, jumper +
Gateway Chromebook 15 + PASARA + βœ… + βœ… + CR50, jumper +
Axioo Chromebook P11
CTL Chromebook PX11E
SPC Chromebook Z1 Mini
Zyrex Chromebook M432-2 +
PIRETTE + βœ… + βœ… + CR50, jumper +
Axioo Chromebook P14
Gateway Chromebook 14 +
PIRIKA + βœ… + βœ… + CR50, jumper +
Samsung Galaxy Chromebook Go + SASUKE + βœ… + βœ… + CR50, jumper +
Asus Chromebook CR1100CKA + STORO + βœ… + βœ… + CR50, jumper +
Asus Chromebook Flip CR1100FKA + STORO360 + βœ… + βœ… + CR50, jumper +
+
Alderlake +
Device Name + Board Name + RW_LEGACY
Firmware +
UEFI Firmware
(Full ROM) +
WP Method +
HP Elite c640 14 inch G3 Chromebook + ANAHERA + βœ… + βœ… + CR50 +
Framework Laptop Chromebook Edition + BANSHEE + βœ… + βœ… + CR50 +
Dell Latitude 5430 Chromebook + CROTA + βœ… + βœ… + CR50 +
Dell Latitude 5430 2-in-1 Chromebook + CROTA360 + βœ… + βœ… + CR50 +
Asus Chromebook Flip CX5 (CX5601) + FELWINTER + βœ… + βœ… + CR50 +
HP Chromebook x360 14c-cd0 + GIMBLE + βœ… + βœ… + CR50 +
Acer Chromebook Spin 714 (CP714-1WN) + KANO + βœ… + βœ… + CR50 +
Asus Chromebook CX34 Flip
Asus Chromebook Vibe CX34 Flip +
MITHRAX + βœ… + βœ… + CR50 +
Acer Chromebook 516 GE (CBG516-1H) + OSIRIS + βœ… + βœ… + CR50 +
Lenovo ThinkPad C14 Gen 1 Chromebook + PRIMUS + βœ… + βœ… + CR50 +
HP Elite Dragonfly Chromebook + REDRIX + βœ… + βœ… + CR50 +
Lenovo IdeaPad Gaming Chromebook 16 + TANIKS + βœ… + βœ… + CR50 +
Lenovo Flex 5i Chromebook / IdeaPad Flex 5i Chromebook + TAEKO + βœ… + βœ… + CR50 +
Acer Chromebook Vero 514 + VOLMAR + βœ… + βœ… + CR50 +
Acer Chromebook Vero 712 (CV872, CV872T) + ZAVALA + βœ… + βœ… + CR50 +
+
+ + +
+ +-------------- + +### Linux Support + +|Sandybridge/Ivybridge |Board Name |Supported? | Known Issues | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +|Device Name || | +|HP Pavilion Chromebook 14 |BUTTERFLY |Yes |- | +|Google Chromebook Pixel (2013) |LINK | | | +|Samsung Chromebook Series 5 550 |LUMPY | | | +|Acer C7/C710 Chromebook |PARROT | | | +|Lenovo Thinkpad X131e Chromebook |STOUT | | | +|Samsung Chromebox Series 3 |STUMPY | | | +| | | | | +|Haswell | | | | +|Device Name |Board Name |Supported?|Known issues | +|HP Chromebook 14 |FALCO |Yes |- | +|Toshiba Chromebook 13 (CB30) |LEON | | | +|Acer Chromebox CXI |McCLOUD | | | +|LG Chromebase 22 |MONROE | | | +|ASUS Chromebox CN60 |PANTHER | | | +|Acer C720/C720P Chromebook |PEPPY | | | +|Dell Chromebox 3010 |TRICKY | | | +|Dell Chromebook 11 (CB1C13) |WOLF | | | +|HP Chromebox CB1 / G1 |ZAKO | | | +| | | | | +|Broadwell | | | | +|Device Name |Board Name |Supported?|Known issues | +|Acer C740 Chromebook |AURON_PAINE|Yes |- | +|Acer C910 Chromebook (CB5-571) |AURON_YUNA | | | +|Acer Chromebase 24 |BUDDY | | | +|Toshiba Chromebook2 (2015) |GANDOF | | | +|ASUS Chromebox 2 (CN62) |GUADO | | | +|Dell Chromebook 13 7310 |LULU | | | +|Acer Chromebox CXI2 |RIKKU | | | +|Google Chromebook Pixel (2015) |SAMUS | | | +|Lenovo ThinkCentre Chromebox |TIDUS | | | +| | | | | +|Baytrail | | | | +|Device Name |Board Name |Supported?|Known issues | +|Acer Chromebook 15 (CB3-531) |BANJO |Yes |- | +|Dell Chromebook 11 (3120) |CANDY | | | +|Lenovo N20/N20P Chromebook |CLAPPER | | | +|Lenovo N21 Chromebook |ENGUARDE | | | +|Lenovo ThinkPad 11e/Yoga Chromebook |GLIMMER | | | +|Acer Chromebook 11 (CB3-111/131, C730, C730E, C735) |GNAWTY | | | +|Haier Chromebook G2 |HELI | | | +|HP Chromebook 11 G3/G4 HP Chromebook 14 G4 |KIP | | | +|AOpen Chromebox Commercial |NINJA | | | +|Lenovo Ideapad 100S Chromebook |ORCO | | | +|ASUS Chromebook C300 |QUAWKS | | | +|ASUS Chromebook C200 |SQUAWKS | | | +|AOpen Chromebase Commercial |SUMO | | | +|Toshiba Chromebook 2 (2014) |SWANKY | | | +|Samsung Chromebook 2 (XE500C12) |WINKY | | | +| | | | | +|Braswell | | | | +|Device Name |Board Name |Supported?|Known issues | +|Acer Chromebook 15 (CB3-532) |BANON |Yes |- | +|Samsung Chromebook 3 |CELES | | | +|Acer Chromebook R11 (C738T, CB5-132T) |CYAN | | | +|Acer Chromebook 14 (CB3-431) |EDGAR | | | +|Dell Chromebook 11 3180/3189 |KEFKA | | | +|Lenovo N22/N42 Chromebook |REKS | | | +|Acer Chromebook 11 N7 (C731) CTL NL61 Chromebook Edxis Education Chromebook (NL6D) HP Chromebook 11 G5 EE Mecer V2 Chromebook Positivo Chromebook C216B |RELM | | | +|HP Chromebook 11 G5 |SETZER | | | +|ASUS Chromebook C202S/C202SA |TERRA | | | +|ASUS Chromebook C300SA/C301SA |TERRA13 | | | +|Lenovo ThinkPad 11e/Yoga Chromebook (G3) |ULTIMA | | | +|CTL J5 Chromebook Edugear CMT Chromebook Haier Chromebook 11 C Multilaser Chromebook M11C PCMerge Chromebook PCM-116T-432B Prowise Chromebook Proline Viglen Chromebook 360 |WIZPIG | | | +| | | | | +|Skylake | | | | +|Device Name |Board Name |Supported?|Known issues | +|Dell Chromebook 13 3380 |ASUKA |Yes |max98357a doesn't have a volume limiter so speakers could get fried | +|Samsung Chromebook Pro |CAROLINE | | | +|ASUS Chromebook C302CA |CAVE | | | +|HP Chromebook 13 G1 |CHELL | | | +|Acer Chromebook 14 for Work Acer Chromebook 11 (C771/C771T) |LARS | | | +|Lenovo Thinkpad 13 Chromebook |SENTRY | | | +| | | | | +|Apollolake | | | | +|Device Name |Board Name |Supported?|Known issues | +|Acer Chromebook 11 (C732) |ASTRONAUT |Yes |MicroSD detection issues No headphone jack on SOF max98357a on AVS doesn't have a volume limiter so speakers could get fried | +|Asus Chromebook C223NA |BABYMEGA | | | +|ASUS Chromebook C523NA |BABYTIGER | | | +|CTL Chromebook NL7/NL7T Edxis Chromebook 11/X11 Positivo Chromebook N2110/N2112 Viglen Chromebook 360C |BLACKTIP | | | +|Acer Chromebook 15 (CB315) |BLUE | | | +|Acer Chromebook Spin 15 (CP315) |BRUCE | | | +|Acer Chromebook Spin 11 (R751T) |ELECTRO | | | +|Acer Chromebook 514 |EPAULETTE | | | +|Acer Chromebook Spin 11 CP311 |LAVA | | | +|Dell Chromebook 11 5190 |NASHER | | | +|Dell Chromebook 11 5190 2-in-1 |NASHER360 | | | +|Lenovo Thinkpad 11e/Yoga 11e (G4) |PYRO | | | +|ASUS Chromebook C423 |RABBID | | | +|ASUS Chromebook Flip C213SA |REEF | | | +|Lenovo 100e Chromebook |ROBO | | | +|Lenovo 500e Chromebook |ROBO360 | | | +|Acer Chromebook 15 (CB515-1HT) |SAND | | | +|Acer Chromebook 11 (CB311-8H) |SANTA | | | +|HP Chromebook x360 11 G1 EE HP Chromebook 11 G6 HP Chromebook 14 G5 |SNAPPY | | | +|CTL Chromebook J41/J41T PCmerge Chromebook AL116 Prowise Chromebook Eduline Sector 5 E3 Chromebook Viglen Chromebook 11C |WHITETIP | | | +| | | | | +|Kabylake / Amberlake | | | | +|Device Name |Board Name |Supported?|Known issues | +|Acer Chromebook 13 |AKALI |Yes |max98357a doesn't have a volume limiter so speakers could get fried | +|Acer Chromebook Spin 13 |AKALI360 | | | +|Google Pixelbook Go (2019) |ATLAS | |Cameras don't work | +|Acer Chromebook 715 (CB715) |BARD | |max98357a doesn't have a volume limiter so speakers could get fried | +|Acer Chromebook 714 (CB714) |EKKO | | | +|Google Pixelbook (2017) |EVE | | | +|AOpen Chromebox Commercial 2 Newline Chromebox A10 |JAX | | | +|Acer Chromebase 24I2 |KARMA | | | +|HP Chromebox G2 |KENCH | | | +|ASUS Chromebook C425 |LEONA | | | +|Samsung Chromebook Plus V2 |NAUTILUS | |Camera on the keyboard doesn't work | +|Google Pixel Slate |NOCTURNE | |Cameras don't work | +|Lenovo Yoga Chromebook C630 |PANTHEON | |max98357a doesn't have a volume limiter so speakers could get fried | +|ASUS Chromebook Flip C433/C434 |SHYVANA | | | +|Acer Chromebox CXI3 |SION | | | +|HP Chromebook x360 14 |SONA | | | +|HP Chromebook X2 |SORAKA | | | +|HP Chromebook 15 G1 |SYNDRA | | | +|ASUS Chromebox 3 (CN65) |TEEMO | | | +|Dell Inspiron Chromebook 14 (7460) |VAYNE | | | +|CTL Chromebox CBx1 Promethean Chromebox SMART Chromebox G3 ViewSonic NMP660 Chromebox |WUKONG | | | +| | | | | +|Geminilake | | | | +|Device Name |Board Name |Supported?|Known issues | +|ASUS Chromebook Flip C214/C234 |AMPTON |Yes |- | +|ASUS Chromebook Flip C204 |APEL | | | +|HP Chromebook x360 12b |BLOOG | | | +|HP Chromebook 14a |BLOOGLET | | | +|HP Chromebook x360 14a/14b |BLOOGUARD | | | +|Acer Chromebook 315 |BLORB | | | +|Samsung Chromebook 4 |BLUEBIRD | | | +|Acer Chromebook 311 (CB311-9H, CB311-9HT, C733, C733U, C733T) |BOBBA | | | +|Acer Chromebook Spin 311 (CP311-2H, CP311-2HN) Acer Chromebook Spin 511 (R752T, R752TN) |BOBBA360 | | | +|Samsung Chromebook 4+ |CASTA | | | +|NEC Chromebook Y2 |DOOD | | | +|HP Chromebook 14 G6 |DORP | | | +|Acer Chromebook 314 (CB314) Packard Bell Chromebook 314 (PCB314) |DROID | | | +|Dell Chromebook 3100 |FLEEX | | | +|CTL Chromebook VX11/VX11T Poin2 Chromebook 11P |FOOB | | | +|Poin2 Chromebook 11P |FOOB360 | | | +|ADVAN Chromebook 116 Axioo Chromebook Baicells Chromebook BB01 CTL Chromebook NL71/CT/LTE EVERCOSS Chromebook CB1 Edxis Chromebook 11 (S20-C) JOI Chromebook C100 Multilaser Chromebook M11C-PC914 Pixart Rxart Chromebook Poin2 Chromebook 11A SPC Chromebook X1 Mini Sector 5 E4 LTE Chromebook WS Chromebook A101 Zyrex Chromebook M432|GARG |Yes | | +|Ascon Chromebook 11A Axioo Chromebook 360 Baicells Chromebook BB01 CTL Chromebook NL71T/TW/TWB EVERCOSS Chromebook CB1A Edxis Chromebook 11 (S20-X) JOI Chromebook C100 Multilaser Chromebook M11HC-PC915 Pixart Rxart Chromebook Poin2 Chromebook 11A SPC Chromebook X1 Mini WS Chromebook A101 Zyrex Chromebook 360 |GARG360 |Yes | | +|CTL Chromebook NL81/NL81T |GARFOUR |Yes |- | +|Acer Chromebook 311 |GLK | | | +|Acer Chromebook Spin 311 |GLK360 | | | +|Dell Chromebook 3100 2-in-1 |GRABBITER | | | +|Lenovo Chromebook C340 |LASER | | | +|Lenovo Chromebook S340/IdeaPad 3 |LASER14 | | | +|Lenovo Ideapad 3 Chromebook |LICK | | | +|HP Chromebook x360 11 G2 EE |MEEP | | | +|HP Chromebook 11 G7 EE |MIMROCK | | | +|ASUS Chromebook C424 |NOSPIKE | | | +|Dell Chromebook 3400 |ORBATRIX | | | +|Lenovo 100e Chromebook 2nd Gen |PHASER | | | +|Lenovo 300e Chromebook 2nd Gen/IdeaPad Flex 3 NEC Chromebook Y1 |PHASER360 | | | +|Lenovo 500e Chromebook 2nd Gen |PHASER360S | | | +|Acer Chromebook 512 (C851/C851T) |SPARKY | | | +|Acer Chromebook Spin 512 (R851TN) |SPARKY360 | | | +|HP Chromebook 11 G8 EE |VORTICON | | | +|HP Chromebook x360 11 G3 EE |VORTININJA | | | +| | | | | +|Stoneyridge | | | | +|Device Name |Board Name |Supported?|Known issues | +|Acer Chromebook 315 (CB315-2H) |ALEENA |Yes |Needs kernel compiled with AMDGPU=Y instead of =M and firmware built-in to get working audio Broken S3 (sleep) on default coreboot build, needs a custom build for working sleep eMMC is only detected on a cold boot unless you have a patched kernel| +|HP Chromebook 11A G6 EE HP Chromebook 11A G8 EE |BARLA | | | +|HP Chromebook 14A G5 |CAREENA | | | +|Acer Chromebook 311 (C721) |KASUMI | | | +|Acer Chromebook Spin 311 (R721T) |KASUMI360 | | | +|Lenovo 14e Chromebook (S345) |LIARA | | | +|Lenovo 100e Chromebook 2nd Gen AMD |TREEYA | | | +|Lenovo 300e Chromebook 2nd Gen AMD |TREEYA360 | | | +| | | | | +|Whiskeylake | | | | +|Device Name |Board Name |Supported?|Known issues | +|Dell Latitude 5300 2-in-1 Chromebook Enterprise |ARCADA |? |? | +|Dell Latitude 5400 Chromebook Enterprise |SARIEN | | | +| | | | | +|Cometlake | | | | +|Device Name |Board Name |Supported?|Known issues | +|Lenovo Ideapad Flex 5 Chromebook |AKEMI |Yes |- | +|HP Chromebook x360 14c |DRAGONAIR | |Fingerprint reader doesn't work | +|Dell Latitude 7410 Chromebook Enterprise |DRALLION | |- | +|HP Pro c640 Chromebook |DRATINI | |Fingerprint reader doesn't work | +|ASUS Chromebox 4 |DUFFY | |- | +|ASUS Fanless Chromebox |FAFFY | | | +|ASUS Chromebook Flip C436FA |HELIOS | | | +|HP Elite c1030 Chromebook HP Chromebook x360 13c |JINLON | |Fingerprint reader doesn't work | +|Acer Chromebox CXI4 |KAISA | | | +|Acer Chromebook 712 (C871) |KINDRED | | | +|Acer Chromebook Spin 713 (CP713-2W) |KLED | | | +|Samsung Galaxy Chromebook |KOHAKU | |Fingerprint reader doesn't work Sleep issues related to EC (wakes up with lid closed) | +|Samsung Galaxy Chromebook 2 |NIGHTFURY | |- | +|HP Chromebox G3 |NOIBAT | | | +|CTL Chromebox CBx2 |WYVERN | | | +| | | | | +|Picasso/Dali | | | | +|Device Name |Board Name |Supported?|Known issues | +|HP Pro c645 Chromebook Enterprise |BERKNIP |Yes |Needs to add "iommu=pt" to cmdline eMMC models need to put /boot/efi and /boot on USB | +|HP Chromebook 14a |DIRINBOZ | | | +|Acer Chromebook Spin 514 |EZKINIL | | | +|HP Chromebook x360 14a |GUMBOZ | | | +|Lenovo ThinkPad C13 Yoga Chromebook |MORPHIUS | | | +|Lenovo Chromebook 100e Gen3 AMD |VILBOZ | | | +|Lenovo Chromebook 300e Gen3 AMD |VILBOZ360 | | | +|ASUS Chromebook Flip CM5 |WOOMAX | | | +| | | | | +|JasperLake | | | | +|Device Name |Board Name |Supported?|Known issues | +|Lenovo 3i-15 Chromebook |BLIPPER |Yes |Cameras untested. | +|Lenovo 500e Chromebook 3rd Gen |BOTEN | | | +|Samsung Galaxy Chromebook 2 360 |BUGZZY | | | +|Dell Chromebook 3110 |CRET | | | +|Dell Chromebook 3110 2-in-1 |CRET360 | | | +|HP Chromebook x360 11 G4 EE |DRAWCIA | | | +|HP Chromebook 11 G9 EE |DRAWLAT | | | +|HP Chromebook 14 G7 |DRAWMAN | | | +|ASUS Chromebook CX1500CKA |GALITH | | | +|ASUS Chromebook CX1700CKA |GALLOP | | | +|CTL Chromebook NL72 |KRACKO | | | +|HP Chromebook 14a |LANTIS | | | +|HP Chromebook x360 14b |MADOO | | | +|Acer Chromebook Spin 511 [R753T] |MAGOLOR | | | +|Acer Chromebook 317 [CB317-1H] |MAGPIE | | | +|NEC Chromebook Y3 |METAKNIGHT | | | +|Samsung Galaxy Chromebook Go |SASUKE | | | +|ASUS Chromebook CR1100CKA |STORO | | | +|ASUS Chromebook Flip CR1100FKA |STORO360 | | | +| | | | | +|TigerLake | | | | +|Device Name |Board Name |Supported?|Known issues | +|FMV Chromebook 14F |CHRONICLER |Yes |No fingerprint functionality (yet) on models that have it. USB4 troubleshooting in progress Workaround: rmmod cros-ec-typec;rmmod intel-pmc-mux; modprobe intel-pmc-mux;modprobe cros-ec-typec https://bugzilla.redhat.com/show_bug.cgi?id=2192574 | +|ASUS Chromebook Flip CX3 |COLLIS | | | +|ASUS Chromebook Flip CX5 (CX5400) |COPANO | | | +|ASUS Chromebook Flip CX55, CX5 (CX5500), C536 |DELBIN | | | +|ASUS Chromebook CX9400 |DROBIT | | | +|HP Chromebook x360 14c |ELDRID | | | +|HP Pro c640 G2 Chromebook |ELEMI | | | +|Lenovo IdeaPad Flex 5i Chromebook |LILLIPUP | | | +|Lenovo 5i-14 Chromebook Lenovo Slim 5 Chromebook |LINDAR | | | +|Acer Chromebook Spin 514 (CB514-2H) |VOEMA | | | +|Acer Chromebook 515 (CB515-1W, CB515-1WT) |VOLET | | | +|Acer Chromebook 514 (CB514-1W, CB514-1WT) |VOLTA | | | +|Acer Chromebook Spin 713 (CP713-3W) |VOXEL | | | +| | | | | +|AlderLake | | | | +|Device Name |Board Name |Supported?|Known issues | +|HP Elite c640 G3 Chromebook |ANAHERA |Yes |? | +|Framework Chromebook Edition |BANSHEE |Yes |No fingerprint functionality (yet) on models that have it. USB4 troubleshooting in progress Workaround: rmmod cros-ec-typec;rmmod intel-pmc-mux; modprobe intel-pmc-mux;modprobe cros-ec-typec https://bugzilla.redhat.com/show_bug.cgi?id=2192574 | +| | | | | +|Dell Latitude 5430 Chromebook |CROTA | | | +|Dell Latitude 5430 2-in-1 Chromebook |CROTA360 | | | +|ASUS Chromebook Flip CX5601 |FELWINTER | | | +|Acer Chromebook Entreprise Spin 714 (CP714-1WN) |KANO | | | +|ASUS Chromebook CX34 Flip ASUS Chromebook Vibe CX34 Flip |MITHRAX | | | +|Acer Chromebook 516 GE (CBG516-1H) |OSIRIS | | | +|Lenovo Thinkpad C14 Gen 1 |PRIMUS | | | +|HP Elite Dragonfly Chromebook |REDRIX | | | +|Lenovo Ideapad Flex 5i Chromebook |TAEKO | | | +|Lenovo Slim 5 Chromebook Lenovo IdeaPad 5i Chromebook |TARLO | | | +|Lenovo Ideapad Gaming Chromebook 16 |TANIKS | | | +|HP Elite Dragonfly Pro Chromebook |VELL | | | +|Acer Chromebook Vero 514 |VOLMAR | | | +|Acer Chromebook Vero 712 |ZAVALA | | | + + + + + + + + +
diff --git a/docs/system-info.md b/docs/system-info.md new file mode 100644 index 00000000..78e86b91 --- /dev/null +++ b/docs/system-info.md @@ -0,0 +1,69 @@ +--- +title: Finding System Info +layout: default +nav_order: 5 +--- + +### System Architecture + +Your system architecture is very important as it determines if your device has any support at all. ARM devices are not currently supported by the project, but support for them in the future is planned. + +**How to find your architecture** +1. Open a crosh terminal by pressing `Control` + `Alt` + `T` +2. Type `shell` and press enter +3. Type `uname -m` and press enter + +You should now see one of three possible outputs: +1. `x86_64` +2. `aarch64` +3. `armv7l` + +If you see `x86_64`, your device is very likely to be supported, you will need to find your board name next to see if your device is supported. If you see `armv7l`, `aarch64`, or anything with `arm`, you have an ARM device which isn't currently supported. + +------------------- + +### Board Name + +The board name is the special name for your device which determines if it is supported by the custom firmware. + +**How to find your board name** +1. Open a crosh terminal by pressing `Control` + `Alt` + `T` +2. Type `shell` and press enter +3. Type `sudo crossystem hwid` and press enter + +You should now see your board name and some extra characters. +Example: `SNAPPY E25-A7C-J2L-I74-A47` +In this example, `SNAPPY` is the board name and you can ignore the extra characters. + +------------------- + +### CPU Model and generation + +The CPU model and generation is used to determine OS support and any extra steps you have to take after installing the OS. + +**How to find your CPU model** +1. Open a crosh terminal by pressing `Control` + `Alt` + `T` +2. Type `shell` and press enter +3. Type `cat /proc/cpuinfo | grep "model name"` and press enter + +You should now see your CPU model repeated a few times, we only have to look at the first line. +Example output: `model name : Intel(R) Celeron(R) CPU N3350 @ 1.10GHz` + +**How to find your CPU generation** +1. Find your board name using the steps above (ex: `SNAPPY`). +2. Go to the [Supported Devices Page](supported-devices.html). +3. The Supported Devices Page has sections for each generation that has a list of boards for that specific generation. Use Ctrl + F to locate your board and find which generation it is under. + +{: .fs-5 } + + + + + + + +
diff --git a/docs/terminology.md b/docs/terminology.md new file mode 100644 index 00000000..5508a9b8 --- /dev/null +++ b/docs/terminology.md @@ -0,0 +1,52 @@ +--- +title: Terminology +layout: default +nav_order: 6 +--- + +## Terminology + +| **Term** | **Description** | +| - | - | +| chrultrabook | A modified Chromebook/box designed to run Windows, Linux, or even macOS | +| coreboot | UEFI firmware firmware replacement | +| UEFI | The Unified Extensible Firmware Interface (UEFI) is a specification that defines a software interface between an operating system and platform firmware. UEFI replaces the legacy Basic Input/Output System (BIOS) firmware interface originally present in all IBM PC-compatible personal computers, with most UEFI firmware implementations providing support for legacy BIOS services. UEFI can support remote diagnostics and repair of computers, even with no operating system installed. (source: Wikipedia) +| EC | Embedded Controller. Communicates between the main board and embedded peripherals such as hotkeys, ports, or battery. +| SKL | Abbreviation for Skylake, an Intel CPU generation (6xxx) +| KBL | Abbreviation for Kaby Lake, an Intel CPU generation (7xxx) +| APL | Abbreviation for Apollo Lake, an Intel CPU generation (7xxx) +| ABL | Abbreviation for Amber Lake, an Intel CPU generation (8xxx) +| GLK | Abbreviation for Gemini Lake, an Intel CPU generation +| CML | Abbreviation for Comet Lake, an Intel CPU generation (10xxx) +| TGL | Abbreviation for Tiger Lake, an Intel CPU generation (11xxx) +| JSL | Abbreviation for Jasper Lake, an Intel CPU generation (Nxxx) +| ADL | Abbreviation for Alder Lake, an Intel CPU generation (12xxx) +| SOF | Abbreviation for **S**ound **O**pen **F**irmware, a audio driver used for both Linux and Windows. APL, GLK, CML, TGL, JSL, and ADL use this driver. +| AVS | Abbreviation for **A**udio **V**oice **S**peech, a audio driver used for both Linux and Windows. SKL, APL, KBL, and ABL use this driver. +| SuzyQable | A cable that enables CCD (Closed Case Debug). Used to disable WP. +| NVRAM | Non Volatile Random Access Memory. NVRAM exists on a chip in your motherboard, and contains things like your boot entries/boot order along with a suite of other things. +| RWL | Abbreviation of RW_Legacy +| altOS | Stands for **alt**ernate **OS**, a operating system thats not chromeOS. +| POST | Stands for **P**ower **O**n **S**elf **T**est. POST is a process performed by firmware or software routines immediately after a computer or other digital electronic device is powered on. +| DRM | Digital rights management (DRM) is the use of technology to control access to copyrighted material. It also enables copyright holders and content creators to manage what users can do with their content, such as how many devices they can access media on and whether they can share it. +| LTS | Stands for **L**ong **T**erm **S**upport. +| ACPI | Advanced Configuration and Power Interface (ACPI), an open standard for operating systems to identify and set up computer hardware components. +| DSDT/SSDT | Tables in your ACPI that describe the devices and how the OS should interact with them e.g. putting the computer to sleep, wake, switching GPUs, USB ports. +| .AML | The compiled file format of ACPI, and what your PC will execute. .DAT is another extension with the exact same use. +| .DSL | The source code for ACPI – this is what you edit and compile for your computer. DO NOT mix this file format up with .ASL. +| Kext(s) | Kernel Extensions, also referred to as Kexts, serve as drivers for macOS. They have various functions, such as facilitating device drivers or serving alternative purposes within Hackintoshing, such as OS patching, information injection, or task execution. It is worth noting that while Kexts play a crucial role in a successful Hackintosh setup, they are typically paired with ACPI patches and fixes. +| ch341a | A USB programmer used to read/write firmware. You'll need this if you bricked your system + + +-------- + + + + + + +
diff --git a/docs/unbrick-flipper.md b/docs/unbrick-flipper.md new file mode 100644 index 00000000..fd104094 --- /dev/null +++ b/docs/unbrick-flipper.md @@ -0,0 +1,96 @@ +--- +title: Unbricking with a Flipper Zero +layout: default +nav_order: 24 +parent: Advanced +--- + +## Unbricking with a Flipper Zero +Yes, this is possible. + +### Prerequisites +- Your brain (please) +- A Flipper Zero with up-to-date firmware + - It doesn't matter if you're using stock or custom FW. +- A SOIC8 clip chip + - You can buy a cheap Chinese one [here](https://www.amazon.com/Ximimark-SOIC8-Socket-Adpter-Programmer/dp/B07BRSVRXV) +- A screwdriver / pry tool to open your Chromebook +- A copy of your stock ROM +- A way to copy files onto your Flipper Zero + + + +---------------- + +### Preparations +1. Locate the SPI flash chip (See [Unbricking Page](unbricking.html), under "Hardware Disassembly") +2. A understanding that this may not work on your system + +---------------- +
+ +{: .warning } +**You will NOT be able to preserve the VPD using this method! This will not apply to you if flashing via your backup ROM.** Read the [Unbricking Page](unbricking.html) for more information. + + + +### Step 1 +Obtain your stock ROM and rename it to `.bin`. For this guide, I will be using qFlipper. Your rom file should now look like this: +
+![binexample](https://github.com/chrultrabook/docs/assets/77316348/0973c451-00c5-424b-96cc-23e0d66f1960) + + +### Step 2 +Locate the `spi_mem_manager` folder under the path `SD Card/apps_data/spi_mem_manager/`. Copy the .bin file to this newly made folder. +
+ +{: .note } +You might see a file size warning. It is safe to ignore it, only files that are 4GB+ will have issues transferring. + +Your `spi_mem_manager/` folder should now look like this: +
+ +![image](https://github.com/chrultrabook/docs/assets/77316348/60ae0581-8b31-413a-82d7-e70469763cf5) + +### Step 3 +On your Flipper Zero, go to `Apps -> GPIO -> SPI Mem Manager -> Saved`. You should see your backup .bin. Verify that the file is there, then proceed to the next step. + + +### Step 4 +Connect your SOIC clip chip to your GPIO pins now. See the image below for the wire setup. + +![image](https://raw.githubusercontent.com/chrultrabook/docs/testing/assets/flipperunbrick/GPIOSetup.png) + + +### Step 5 +Go back to `Apps -> GPIO -> SPI Mem Manager -> Saved -> Yourfilename.bim`. Open the file, then select the option to "Write". + + +### Step 6 +Assuming all went well, you should no longer have a unbricked system. +
+ +---------------- + +
+ +#### Got Questions? +Please ask in the Chrultrabook Discord, or email me (meghan6) at (meghann6@proton.me). + + + + + + + + + + + + + + + + + + diff --git a/docs/unbricking.md b/docs/unbricking.md new file mode 100644 index 00000000..1c62a38e --- /dev/null +++ b/docs/unbricking.md @@ -0,0 +1,270 @@ +--- +title: Unbricking +layout: default +nav_order: 19 +parent: Advanced +--- + +## Unbricking + +If you've found your way here, it's likely because you updated your firmware and, despite best efforts to minimize the possibility, something went wrong. Thankfully, most Chromebooks can be easily unbricked using cheap, readily available hardware: older Chromebooks using a ch341a USB programmer from Amazon/eBay/Alibaba (and many other sources), and newer (2017+) Chromebooks using a USB-C debug cable (aka Suzy-Q cable). + +----------- + +### Unbricking/Flashing with a ch341a USB programmer + +**Requirements** + +* A ChromeOS device + + {: .note } + Most Skylake and older models (with a few exceptions) use a SOIC-8 flash chip which is easily clipable. Most if not all Kabylake/Apollolake and newer devices use a WSON-8 flash chip which can't be clipped, instead you need a WSON-8 probe. Check the part number of your flash chip to find the correct size needed. + +* A device running Linux from which to run flashrom. For this guide, I will use a Ubuntu 23.04 live USB. +* A ch341a USB flash programmer +* A 1.8v adapter + + {: .note } + The adapter is required for devices which use 1.8v flash chips. Some/Most Baytrail, Braswell, Skylake and many newer devices use a 1.8v flash chip. Baytrail is more reliable flashing at 3.3v though due to current leakage + +* Either a SOIC-8 chip clip or a WSON-8 probe + +A ch341a programmer, 1.8v adapter, and a SOIC-8 clip are often bundled together at a lower cost, and if you're unsure if your device uses a 1.8v flash chip or a 3.3v one, it makes sense to have the adapter on hand if needed. You can look up the part number of your flash chip to determine which voltage it needs. + + +-------------------------- + +**Hardware Disassembly** + +While this is somewhat device-specific, the main points are the same: + +* Disconnect all external power +* Remove bottom cover (screws are often located under rubber feet or strips) +* Disconnect the internal battery (for Chromeboxes, disconnect the small CMOS battery) +* Locate the SPI flash chip + + {: .warning } + Most ChromeOS devices use a Winbond flash chip, though some use a compatible chip from another manufacturer, eg Gigadevices. It will be either an 8MB, 16MB, or 32MB chip, with the identifier W25Q64[xx] (8MB), W25Q128[xx] (16MB), or W25Q256[xx] (32MB) where [xx] is usually FV or DV. We do **not** want to touch the EC firmware chip, which is identified by W25X40[xx]. + + {: .note } + Unfortunately, many devices have the flash chip located on the top side of the main board, and require fully removing the main board in order to flash. + + {: .note } + Pin 1 of the flash chip will be notated by a dot/depression on the chip; be sure to align this with pin 1 on the chip clip wiring. + + +Googling should locate a disassembly guide for most models. If you can't find one for your exact model, try to find one for another model of the same manufacturer as the bottom cover removal tends to be very similar. + + +-------------------------- + +**Prepping to Flash** + +Once you have your device disassembled and flash chip located, time to boot up the flashing environment. Most any Linux setup should do as long as either flashrom is available from the distro's software repositories, or it's 64-bit x86 (in which case you can download a statically compiled build of flashrom from mrchromebox.tech). This guide will use a Ubuntu 23.04 live session booted from USB. + +So let's get to it: + +1. Boot your Linux environment (Ubuntu 23.04 live USB or later recommended) +2. Connect to WiFi/internet +3. Open a (non-root) terminal/shell window, change to home directory + * `cd;` +4. Install flashrom via apt: + * `sudo apt update` + * `sudo apt install flashrom` +5. Assemble ch341a programmer, 1.8v adapter (if needed), and chip clip/wiring. Ensure that pin 1 is correct and consistent. + +6. Connect the chip clip to the SPI flash chip, or get ready to hold down your WSON-8 probe, rubber bands can be used to hold it down while flashing, then connect the CH341a to the Linux host machine. Note the dot/depression indicating pin 1. + +7. Test connectivity and ensure the flash chip is properly identified: + * `sudo flashrom -p ch341a_spi` + +Flashrom will produce output identifying the flash chip. If it doesn't, double check your connections to the programmer and the chip clip and retry. + + + +8. Determine file to be flashed + * Depending on your desired use for the device, you have 3 options for flashing: + * The backup file of the stock firmware created by my Firmware Utility Script + * If using this, simply copy the file from USB into the home directory of the live USB user + * The custom UEFI firmware for the device + * If you were flashing the UEFI firmware when things went sideways, then that's the easiest way to proceed. You can download the UEFI firmware for your device by examining the [sources.sh file from the Firmware Utility Script GitHub repo](https://github.com/MrChromebox/scripts/blob/master/sources.sh). Simply concatenate the device-specific filename to the Full ROM base path: + * `wget ` + * Example for the Acer Chromebook 14 CB3-431 (EDGAR) + * `wget https://mrchromebox.tech/files/firmware/full_rom/coreboot_tiano-edgar-mrchromebox_20180827.rom` + * Don't forget to get the SHA1 file for verification: + * `wget https://mrchromebox.tech/files/firmware/full_rom/coreboot_tiano-edgar-mrchromebox_20180827.rom.sha1` + * Then verify the download: + * `sha1sum -c coreboot_tiano-edgar-mrchromebox_20180827.rom.sha1` + * The shellball firmware for the device + * As with the UEFI firmware above, the shellball ROM can be downloaded by concatenating the shellball base path with the device-specific filename: + * `wget /shellball..bin` + * Example for the Acer Chromebook 14 CB3-431 (EDGAR): + * `wget https://mrchromebox.tech/files/firmware/shellball/shellball.edgar.bin` + +{: .note } +If you're not sure which file to use for your device / don't know your device's board name, you can reference [the supported devices page](supported-device.html). + +---------- + +**Persisting the board's Vital Product Data (VPD)** + +The firmware in all ChromeOS devices contains a section (RO_VPD) which stores board-specific data, like the serial number, localization settings, and on many devices which have an Ethernet port, the LAN MAC address as well. When flashing via the Firmware Utility Script, the script will automatically extract this from the running firmware and inject it into the firmware to be flashed, so the device serial, LAN MAC address, etc are all maintained. Without this, the device will use a default/generic LAN MAC address set by coreboot. While not ideal, this is only really an issue if two or more of the same device are on the same LAN segment (or you're statically assigning IP addresses based on MAC). But for completeness, if flashing the UEFI firmware or shellball ROM, we'll extract the VPD (either from the board itself or a backup made by the script) and inject it into the firmware to be flashed. + +{: .note } +You don't need to do this if flashing a stock firmware backup created by the Firmware Utility Script; that image already contains the VPD. + +1. For both the options below, we'll need to use the cbfstool (coreboot filesystem) binary, so let's download/extract that: + * `wget https://mrchromebox.tech/files/util/cbfstool.tar.gz && tar -zxf cbfstool.tar.gz` + * Option 1: Extract VPD from the firmware on device + * `sudo flashrom -p ch341a_spi -r badflash.rom` + * `./cbfstool badflash.rom read -r RO_VPD -f vpd.bin` + * Option 2: Extract VPD from stock firmware backup created by Firmware Utility Script (this assumes the file has been copied into working directory) + * `./cbfstool stock-firmware--.rom read -r RO_VPD -f vpd.bin` + * Then we inject the VPD into the firmware image to be flashed. + * `./cbfstool write -r RO_VPD -f vpd.bin` + +Now the firmware image is ready to be flashed, and will maintain the device's unique serial, LAN MAC address, etc. + +----------------- + +**Flashing Your Device** + +Now that everything is prepped, time to flash the device. To be thorough, we'll perform a 2nd verification after flashing to ensure the integrity of the flashed firmware. + +1. Flash the firmware: + * If flashing your own backup created by the Firmware Utility Script (or any backup made from a live system), use + * `sudo flashrom -p ch341a_spi --ifd -i bios -w ` + * Otherwise use + * `sudo flashrom -p ch341a_spi -w ` + + Where \ is the name of your backup file, UEFI firmware file, or shellball firmware file. This will usually take 30s-90s to complete; flashrom will first read the flash chip, determine which sectors differ, erase those sectors, write the new data, then verify the data written. + +2. Verify the firmware + +Even though flashrom does this as part of the write process, verifying the entire flash chip is quick and an easy way to ensure everything went as it should: + + * As before, if flashing your own backup created by the Firmware Utility Script (or any backup made from a live system), use + * `sudo flashrom -p ch341a_spi --ifd -i bios -v ` + * Otherwise, use + * `sudo flashrom -p ch341a_spi -v ` + * Using the same filename as before. If the verification passes, then disconnect the CH341a from the host machine, and then remove the chip clip. + +------------------ + +**Clean Up** + +Reassembly is the reverse of disassembly. Reconnect the internal battery and replace the bottom cover. Flip over the device, connect external power, press the power button, and cross your fingers :) + +-------------- + +### Unbricking/Flashing with a Suzy-Q cable + +----------- + +**Requirements** +* A ChromeOS device with CCD (closed-case debugging) enabled on one of the USB-C ports. If your device uses CR50 for the firmware write protection, then it has CCD capability. + + {: .warning } + These instructions do not apply to any device which is locked/managed. Enterprise and/or EDU enrollment locks out CCD functionality completely. + +* A USB-C debug cable ([aka Suzy-Q cable](https://www.sparkfun.com/products/retired/14746)) +* The device must have the CCD flags factory reset (as per instructions to disable firmware write protection), or the battery must be unplugged/disconnected from the mainboard. +* Another device running Linux, preferably a current Debian/Ubuntu-based distro + +----------- + +**Hardware Disassembly** + +As above, this is only needed if you failed to factory reset the CCD flags as part of disabling the device's firmware write-protection. While this is somewhat device-specific, the main points are the same: + +* Disconnect all external power +* Remove bottom cover (screws are often located under rubber feet or strips) +* Disconnect the internal battery + +----------- + +**Prepping to Flash** + +Most any 64-bit Debian/Ubuntu based distro should work here, but this guide will use a Ubuntu 23.04 live session booted from USB (since its version of flashrom supports Suzy-Q flashing). + + +Let's get to it: +1. Boot your Linux environment (Ubuntu 23.04 live USB or later recommended) +2. Connect to the internet +3. Open a (non-root) terminal/shell window, change to home directory + * `cd;` +4. Install flashrom via apt: + * `sudo apt update` + * `sudo apt install flashrom` +5. Connect the USB-C end of the Suzy-Q cable to the CCD port on your ChromeOS device (usually left USB-C port) and the USB-A end to your Linux device +6. Verify the cable is properly connected: + * `ls /dev/ttyUSB*` + * This command should return 3 items: `ttyUSB0`, `ttyUSB1`, and `ttyUSB2`. + * If not, then your cable is connected to the wrong port or is upside down; adjust and repeat comment until output is as expected +7. Set the CCD state to open: + * `echo "ccd open" | sudo tee -a /dev/ttyUSB0 > /dev/null` + 8. Determine file to be flashed + * Depending on your desired use for the device, you have 3 options for flashing: + * The backup file of the stock firmware created by my Firmware Utility Script + * If using this, simply copy the file from USB into the home directory of the live USB user + * The custom UEFI firmware for the device + * If you were flashing the UEFI firmware when things went sideways, then that's the easiest way to proceed. You can download the UEFI firmware for your device by examining the [sources.sh file from the Firmware Utility Script GitHub repo](https://github.com/MrChromebox/scripts/blob/master/sources.sh). Simply concatenate the device-specific filename to the Full ROM base path: + * `wget ` + * Example for the Acer Chromebook 14 CB3-431 (EDGAR) + * `wget https://mrchromebox.tech/files/firmware/full_rom/coreboot_tiano-edgar-mrchromebox_20180827.rom` + * Don't forget to get the SHA1 file for verification: + * `wget https://mrchromebox.tech/files/firmware/full_rom/coreboot_tiano-edgar-mrchromebox_20180827.rom.sha1` + * Then verify the download: + * `sha1sum -c coreboot_tiano-edgar-mrchromebox_20180827.rom.sha1` + * The shellball firmware for the device + * As with the UEFI firmware above, the shellball ROM can be downloaded by concatenating the shellball base path with the device-specific filename: + * `wget /shellball..bin` + * Example for the Acer Chromebook 14 CB3-431 (EDGAR): + * `wget https://mrchromebox.tech/files/firmware/shellball/shellball.edgar.bin` + +{: .note } +If you're not sure which file to use for your device / don't know your device's board name, you can reference [the supported devices page](supported-device.html). + +----------- + +**Persisting the board's Vital Product Data (VPD)** + +The firmware in all ChromeOS devices contains a section (RO_VPD) which stores board-specific data, like the serial number, localization settings, and on many devices which have an Ethernet port, the LAN MAC address as well. When flashing via the Firmware Utility Script, the script will automatically extract this from the running firmware and inject it into the firmware to be flashed, so the device serial, LAN MAC address, etc are all maintained. Without this, the device will use a default/generic LAN MAC address set by coreboot. While not ideal, this is only really an issue if two or more of the same device are on the same LAN segment (or you're statically assigning IP addresses based on MAC). But for completeness, if flashing the UEFI firmware or shellball ROM, we'll extract the VPD (either from the board itself or a backup made by the script) and inject it into the firmware to be flashed. + +{: .note } +You don't need to do this if flashing a stock firmware backup created by the Firmware Utility Script; that image already contains the VPD. + +1. For both the options below, we'll need to use the cbfstool (coreboot filesystem) binary, so let's download/extract that: + * `wget https://mrchromebox.tech/files/util/cbfstool.tar.gz && tar -zxf cbfstool.tar.gz` + * Option 1: Extract VPD from the firmware on device + * `sudo flashrom -p ch341a_spi -r badflash.rom` + * `./cbfstool badflash.rom read -r RO_VPD -f vpd.bin` + * Option 2: Extract VPD from stock firmware backup created by Firmware Utility Script (this assumes the file has been copied into working directory) + * `./cbfstool stock-firmware--.rom read -r RO_VPD -f vpd.bin` + * Then we inject the VPD into the firmware image to be flashed. + * `./cbfstool write -r RO_VPD -f vpd.bin` + +Now the firmware image is ready to be flashed, and will maintain the device's unique serial, LAN MAC address, etc. + +----------- + +**Flashing Your Device** + +Now that everything is prepped, time to flash the device. + +1. Flash the firmware: + * If flashing your own backup created by the Firmware Utility Script (or any backup made from a live system), use + * `sudo flashrom -p raiden_debug_spi:target=AP -i SI_BIOS -w ` + * Otherwise, if using a UEFI Full ROM image or shellball/recovery-extracted image, use + * `sudo flashrom -p raiden_debug_spi:target=AP -w ` + * Where is the name of your backup file, UEFI firmware file, or shellball firmware file. This will usually take 3-5 mins to complete; flashrom will first read the flash chip, determine which sectors differ, erase those sectors, write the new data, then verify the data written. The initial CCD setup make take a minute or so and not show any progress. + +----------- + +**Clean Up** + +Once flashing is complete, disconnect the Suzy-Q cable. If the internal battery was not disconnected, the device will likely reboot as soon as flashing has completed. If the internal battery was disconnected, reconnect it and replace the bottom cover. Flip over the device, connect external power, press the power button, and cross your fingers :) + +----------- + +Adapted from https://wiki.mrchromebox.tech/Unbricking diff --git a/docs/ventoy.md b/docs/ventoy.md new file mode 100644 index 00000000..e94e83be --- /dev/null +++ b/docs/ventoy.md @@ -0,0 +1,64 @@ +--- +title: Installing Ventoy in chromeOS +layout: default +nav_order: 22 +--- + + +## Installing Ventoy to a USB drive in ChromeOS +Ventoy is a useful tool that allows you to have multiple OS installer images on a single drive. It is also the only way to properly create an installer for Windows. + +### Backing up your drive +Before we begin, be sure to backup any data that may be on your USB drive as it will be erased during this process. + + + +### Downloading Ventoy +Grab the latest Ventoy release from [GitHub](https://github.com/ventoy/Ventoy/releases). Be sure to get the Linux version. + + + +### Extracting Ventoy +Open crosh by pressing `Ctrl` + `Alt` + `T` and run the following commands: + +1. `shell` +2. `sudo -E bash` +3. `cd /usr/local` +4. `mv /home/chronos/user/Downloads/ventoy--linux.tar.gz .` +5. `tar xf ventoy--linux.tar.gz` +6. `cd ventoy--linux` + +{: .note } +On commands 4, 5, and 6, after typing ventoy, you can press tab to fill in the rest of the file name automatically. + +You can then run `ls` to verify you have the correct files, it should look something like this + + + +### Starting Ventoy +Run the following command to start the Ventoy web gui: +* `./VentoyWeb.sh` + +Next, open chrome and type `http://localhost:24680` in the address bar and press enter. + +You should see this on your screen now + + + +### Installing Ventoy +Plug in your USB drive and click the green circle to refresh devices. You should see your USB drive get detected. Now click options, then Partition Style, then choose GPT. + + + +Once you have done that and your drive is detected, click on Install and click Ok twice when prompted and again once the installation has completed. Once installation is complete, unplug and plug back in your USB drive. + +### Adding OS images +Download an image of any OS you want. For Windows we recommend that you only use official isos from Microsoft. + +Open the ChromeOS files and click on your USB drive, you should then see a device named "Ventoy". + + + +Copy your images from Downloads to the Ventoy drive. Do not touch VTOYEFI. Once you have done that, eject your USB drive and now you're done. + +