diff --git a/.github/workflows/md.yml b/.github/workflows/md.yml index a54dc1e1..6e60c347 100644 --- a/.github/workflows/md.yml +++ b/.github/workflows/md.yml @@ -11,6 +11,6 @@ jobs: - uses: DavidAnson/markdownlint-cli2-action@v16 id: linter with: - globs: 'src/**/*.md' + globs: '**/*.md' config: '.markdownlint.jsonc' fix: true diff --git a/README.md b/README.md index 7510c491..4146a850 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -## Chrultrabook Docs -Centralized project documentation +# Chrultrabook Docs +Centralized project documentation diff --git a/src/.vuepress/config.js b/src/.vuepress/config.js index fb4ec198..1c279c3c 100644 --- a/src/.vuepress/config.js +++ b/src/.vuepress/config.js @@ -44,7 +44,7 @@ export default { link: '/docs/firmware/', }, { - text: 'Join the Community!', + text: 'Questions?', link: 'https://forum.chrultrabook.com/' } ], diff --git a/src/docs/contributing.md b/src/docs/contributing.md index da57fa8c..1449a9b9 100644 --- a/src/docs/contributing.md +++ b/src/docs/contributing.md @@ -1,22 +1,23 @@ # 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. +- 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. +- 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 @@ -24,12 +25,12 @@ The best way to test your commits and ensure proper formatting is by forking the ### Simple step-by-step guide -* Install NodeJS - * You can download NodeJS from [the NodeJS download page](https://nodejs.org/en/download). -* [Fork this repo](https://github.com/chrultrabook/docs/fork/) -* Clone your fork, open a terminal and `cd` to it -* Run the `npm i` command, then `npm run dev` -* Visit `localhost:8080` in your web browser and preview your changes. +- Install NodeJS + - You can download NodeJS from [the NodeJS download page](https://nodejs.org/en/download). +- [Fork this repo](https://github.com/chrultrabook/docs/fork/) +- Clone your fork, open a terminal and `cd` to it +- Run the `npm i` command, then `npm run dev` +- Visit `localhost:8080` in your web browser and preview your changes. ::: tip Vuepress will automatically regenerate pages when you make changes. @@ -39,7 +40,7 @@ Vuepress will automatically regenerate pages when you make changes. 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. +- [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/src/docs/debugging/bugreport.md b/src/docs/debugging/bugreport.md index 36a13e06..66e84988 100644 --- a/src/docs/debugging/bugreport.md +++ b/src/docs/debugging/bugreport.md @@ -12,5 +12,5 @@ So you find a bug in one of our projects, and want to report it. It's faily simp
::: tip -Do not submit personal help requests in the bugtracker. +Do not submit personal help requests in the bugtracker. ::: diff --git a/src/docs/debugging/index.md b/src/docs/debugging/index.md index 034334a7..349b379b 100644 --- a/src/docs/debugging/index.md +++ b/src/docs/debugging/index.md @@ -2,14 +2,15 @@ next: false prev: false --- + # Debugging ## 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 -* If 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 using the [Chrultrabook Forums](https://forum.chrultrabook.com/). +- If you are experiencing firmware bugs, provide output from `cbmem` console. +- If you are experiencing issues with Linux, provide output from `dmesg`, `dmidecode` and `journalctl` or `/var/log/messages`, respectively +- If you are experiencing issues with Windows, provide screenshots from Device Manager, Event Viewer, coredumps etc. +- If you are experiencing issues with macOS, please ask for help using the [Chrultrabook Forums](https://forum.chrultrabook.com/). ## Firmware @@ -17,9 +18,10 @@ 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. +3. SuzyQ - If you are 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: @@ -29,6 +31,7 @@ To dump the cbmem buffer, follow these steps: 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: @@ -40,86 +43,97 @@ To interface with the Embedded Controller: ## 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` + - `minicom -D /dev/ttyUSB0 -b 115200` 2. Coreboot/platform serial under /dev/ttyUSB1: - * `minicom -D /dev/ttyUSB1 -b 115200` + - `minicom -D /dev/ttyUSB1 -b 115200` 3. Embedded Controller console under /dev/ttyUSB2 - * `minicom -D /dev/ttyUSB2 -b 115200` + - `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=ttyS4,115200n8` +- 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=ttyS4,115200n8` ## ACPI and Linux kernelspace 1. Download our debugging script. - * `cd ~/Desktop;wget https://raw.githubusercontent.com/chrultrabook/linux-tools/main/debugging.sh` + - `cd ~/Desktop;wget https://raw.githubusercontent.com/chrultrabook/linux-tools/main/debugging.sh` + + It will dump: -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`) - * Information about soundcards present in the system and their configuration + - 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`) + - Information about soundcards present in the system and their configuration - Into `debug-logs.tar.gz` archive on your desktop. + Into `debug-logs.tar.gz` archive on your desktop. 2. Run it: `chmod +x debugging.sh;./debugging.sh` 3. Upload this file if you need help with troubleshooting. - * Remember to remove WiFi information from dmesg to protect your privacy. + - Remember to remove WiFi information from dmesg to protect your privacy. ## 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` +### Read flash + +- `sudo flashrom -p -r ` +- Example: + - `sudo flashrom -p internal -r backup.rom` ::: danger 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 ` -* Intel Example: - * `sudo flashrom -p internal --ifd -i bios -w stock.rom` -* AMD Example: - * `sudo flashrom -p internal -w stock.rom` +### Write flash + +- `sudo flashrom -p -w ` +- Intel Example: + - `sudo flashrom -p internal --ifd -i bios -w stock.rom` +- AMD Example: + - `sudo flashrom -p internal -w stock.rom` -### Write protection: +### Write protection View status: -* `sudo flashrom -p internal --wp-status` - + +- `sudo flashrom -p internal --wp-status` + Enable WP: -* `sudo flashrom -p internal --wp-enable` - + +- `sudo flashrom -p internal --wp-enable` + Disable WP: -* `sudo flashrom -p internal --wp-disable` - + +- `sudo flashrom -p internal --wp-disable` + Clear WP range: -* `sudo flashrom -p internal --wp-range 0 0` + +- `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. + +- `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` + +- `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 + +- `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/src/docs/exiting-developer-mode.md b/src/docs/exiting-developer-mode.md index 181d8c82..49bae5fb 100644 --- a/src/docs/exiting-developer-mode.md +++ b/src/docs/exiting-developer-mode.md @@ -1,21 +1,23 @@ -# Exiting Developer Mode +# Developer Mode ::: danger Entering and exiting Developer mode will **wipe all** user data! Backup anything if you have to. ::: -### Reset GBB Flags -If you get this error "WARNING: TONORM prohibited by GBB_FORCE_DEV_SWITCH_ON" or find the "Return to secure mode" button missing, you need to reset your gbb flags. +## Reset GBB Flags + +If you get this error "WARNING: TONORM prohibited by GBB_FORCE_DEV_SWITCH_ON" or find the "Return to secure mode" button missing, you need to reset your gbb flags. 1. Boot chromeOS. 2. Press `Control` + `Alt` + `T` to bring up a crosh terminal. 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` + + - 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. Select option 3: "Set Boot Options (GBB flags)". @@ -23,8 +25,7 @@ If you get this error "WARNING: TONORM prohibited by GBB_FORCE_DEV_SWITCH_ON" or 6. Your done. - -### Exiting Developer Mode +### Entering Developer Mode 1. Boot your system to the "You are in Developer Mode" or "OS Verification is OFF" screen. @@ -41,4 +42,3 @@ If you get this error "WARNING: TONORM prohibited by GBB_FORCE_DEV_SWITCH_ON" or 1. Select "Enable OS Verification". 2. Once its done, Setup the system like normal. - diff --git a/src/docs/faq.md b/src/docs/faq.md index b9cbfa2c..ff2e9f9c 100644 --- a/src/docs/faq.md +++ b/src/docs/faq.md @@ -7,105 +7,134 @@ Please read this page before asking for help. Your help request will be pointed ## General questions ### What OS should I use? -* This depends on your use case. Only you can answer this question. + +- This depends on your use case. Only you can answer this question. ### Should I use rw-legacy or full rom? -* This depends on what you're looking to use your device for. If you are planning on installing Windows or macOS you need to use full rom. Rw-legacy only supports linux. + +- This depends on what you are looking to use your device for. If you are planning on installing Windows or macOS you need to use full rom. Rw-legacy only supports linux. ### 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. Chromeboxes do not have this restriction. + +- No. The hotkeys will only work on the internal keyboard. Chromeboxes do not have this restriction. ### 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 (RW_LEGACY firmware) and use that. + +- Check the Supported Devices page, to ensure your device has functional RW_LEGACY firmware available. If so, flash RWL (RW_LEGACY firmware) and use that. ### Can I disable power-on when I open my Chromebook? -* No. In what situation would you open your Chromebook without the intention of turning it on anyways. + +- No. In what situation would you open your Chromebook without the intention of turning it on anyways. ### My Chromebook powers back on when I turn it off. How can I fix this? -* You don't. Specific Chromebooks have this bug which takes too much effort to debug. If you were looking to disable power-on when you open the lid because of this, they are completely unrelated. + +- You Do not. Specific Chromebooks have this bug which takes too much effort to debug. If you were looking to disable power-on when you open the lid because of this, they are completely unrelated. ### 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. + +- you are 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. + +- 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 running Legacy boot firmware now - can I switch to the UEFI firmware? -* If you're using SeaBIOS, you will likely need to re-install your operating system. Otherwise it should work fine. -### Help! I can't exit Developer Mode! -* If you're trying to exit Developer Mode but get the error `WARNING: TONORM prohibited by GBB_FORCE_DEV_SWITCH_ON` or find the `Return to secure mode` button missing, you need to reset your GBB flags. You can do that by running [MrChromebox's firmware utility script](https://mrchromebox.tech/#fwscript) and selecting `3) Set Boot Options (GBB flags)`, followed by `5) Reset to factory default`. - * Then exit developer mode by choosing "Return to secure mode" on the bootup screen +- If you are using SeaBIOS, you will likely need to re-install your operating system. Otherwise it should work fine. + +### Help! I can't exit Developer Mode + +- If you are trying to exit Developer Mode but get the error `WARNING: TONORM prohibited by GBB_FORCE_DEV_SWITCH_ON` or find the `Return to secure mode` button missing, you need to reset your GBB flags. You can do that by running [MrChromebox's firmware utility script](https://mrchromebox.tech/#fwscript) and selecting `3) Set Boot Options (GBB flags)`, followed by `5) Reset to factory default`. + - Then exit developer mode by choosing "Return to secure mode" on the bootup screen ### Can I modify the fan speed? -* Yes, using ectool. To set the fan to auto, run: `ectool autofanctrl`. To specify a percentage, run `ectool fanduty [0-100]`. + +- Yes, using 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. + +- No. ### I want to buy a Chromebook to run Windows or Linux or macOS -- which should I buy? -* Any 64 bit Chromebook should work in Windows and Linux. Some require paid drivers (Windows only). For information on macOS requirements, see [this page](installing/installing-macos.md). + +- Any 64 bit Chromebook should work in Windows and Linux. Some require paid drivers (Windows only). For information on macOS requirements, see [this page](installing/installing-macos.md).
## Windows questions ### 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. + +- Windows 11 is required for TB4 users. If you Do not have Thunderbolt 4, you may use both 10 or 11. ### Can I pay for Windows drivers using PayPal? -* You can pay via PayPal in Patreon. + +- You can pay via PayPal in Patreon. ### My balance shows zero on coolstars portal, what should I do? -* It may take up to 48 hours for balance to appear in her portal, though it is normally less then 2. + +- It may take up to 48 hours for balance to appear in her portal, though it is normally less then 2. ### How do I buy the Windows audio/Thunderbolt drivers? -* Please see [CoolStar's driver portal](https://coolstar.org/chromebook/driverlicense/login.html) for a step by step tutorial on purchasing drivers. + +- Please see [CoolStar's driver portal](https://coolstar.org/chromebook/driverlicense/login.html) for a step by step tutorial on purchasing drivers. ### Can I get AVS or SOF drivers for free? -* No. Only the Linux drivers are free. + +- No. Only the Linux drivers are free. ### Why is there a license error in Device Manager after installing audio drivers? -* You messed up the license setup. Please refer to [CoolStar's driver portal](https://coolstar.org/chromebook/driverlicense/login.html). + +- You messed up the license setup. Please refer to [CoolStar's driver portal](https://coolstar.org/chromebook/driverlicense/login.html). ### 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. + +- 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. + +- 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. ### Can I use one driver license across multiple devices? -* No. One license per device. + +- No. One license per device.
## Linux Questions ### How come audio isn't working on Ubuntu / Ubuntu forks? -* Ubuntu and Ubuntu-based distros may have issues and are not supported, try switching to another distro. Debian is a great alternative if you are used to Ubuntu. + +- Ubuntu and Ubuntu-based distros may have issues and are not supported, try switching to another distro. Debian is a great alternative if you are used to Ubuntu. ### Why are Ubuntu/Ubuntu based distros not supported? -* They consistently break packages. -* They have started to force snap on their users. -* They have published an LTS distro with a non-LTS kernel. + +- They consistently break packages. +- They have started to force snap on their users. +- They have published an LTS distro with a non-LTS kernel. Becuse of these things, Ubuntu is unsupported. We will not help you fix issues on Ubuntu. ### What Linux distros are recommended? -* See [this page](installing/installing-linux.md). + +- See [this page](installing/installing-linux.md). ### How can I get audio working under Linux? -* Please see [this GitHub repo](https://github.com/WeirdTreeThing/chromebook-linux-audio) + +- Please see [this GitHub repo](https://github.com/WeirdTreeThing/chromebook-linux-audio) ### How do I get my top row keys on Linux to act like how they did on chromeOS? -* Follow the instructions [in this GitHub repo](https://github.com/WeirdTreeThing/cros-keyboard-map). + +- Follow the instructions [in this GitHub repo](https://github.com/WeirdTreeThing/cros-keyboard-map).
## Hackintosh questions ### Can I hackintosh my Celeron/Pentium CPU? -* No. + +- No. ### Can I hackintosh an AMD CPU? -* In theory, it might be possible. It has never been tested, and can be considered unsupported. + +- In theory, it might be possible. It has never been tested, and can be considered unsupported. diff --git a/src/docs/firmware/about.md b/src/docs/firmware/about.md index 6f49430d..9e6b5ed0 100644 --- a/src/docs/firmware/about.md +++ b/src/docs/firmware/about.md @@ -2,32 +2,34 @@ prev: write-protect next: flashing-firmware --- + # Types of Firmware ## 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 linux alongside ChromeOS -* Does not require disabling write-protect -* Carries zero risk of bricking the device -* On many models, includes bugfixes and enables additional functionality +- 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 linux alongside ChromeOS +- Does not require disabling write-protect +- Carries zero risk of bricking the device +- On many models, includes bugfixes and enables additional functionality ::: warning Do not run Windows on RW_LEGACY. 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). ::: ## (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 + +- 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 ::: tip -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. +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 do not mind disabling write-protection on their device. ::: diff --git a/src/docs/firmware/battery.md b/src/docs/firmware/battery.md index ca78e86c..9f845c57 100644 --- a/src/docs/firmware/battery.md +++ b/src/docs/firmware/battery.md @@ -2,6 +2,7 @@ prev: write-protect next: false --- + # Disabling Write Protect via Battery ::: warning @@ -13,22 +14,22 @@ This method requires opening your device. Be sure to use the correct tools to pr 1. Power down your device. Close the lid and flip it over. 2. Take out all of the screws. -::: tip -Screws may be underneath the rubber feet that keep the Chromebook from sliding. -::: + ::: tip + Screws may be underneath the rubber feet that keep the Chromebook from sliding. + ::: 3. Gently pry the back off the Chromebook. If you do not have the proper tools a dull knife would be helpful. - * On some Chromebooks, the keyboard needs to be removed instead of the back. Be careful as there's a ribbon wire underneath that needs disconnecting first. + - On some Chromebooks, the keyboard needs to be removed instead of the back. Be careful as there's a ribbon wire underneath that needs disconnecting first. 4. Unplug the battery connector. You do not need to take the entire battery out of the Chromebook. -## Step 2: Boot using AC power, and flash. +## Step 2: Boot using AC power, and flash 1. Plug the Chromebook into a power adapter. -::: tip -There is a 15V USB-C PD requirement for booting without the battery. -::: + ::: tip + There is a 15V USB-C PD requirement for booting without the battery. + ::: 2. Boot the chromebook up - * If you removed the keyboard, make sure to reattach it for this step. + - If you removed the keyboard, make sure to reattach it for this step. 3. Continue to [Flashing Firmware](flashing-firmware.md) diff --git a/src/docs/firmware/compiling-coreboot.md b/src/docs/firmware/compiling-coreboot.md index a7a8b19e..a54701c3 100644 --- a/src/docs/firmware/compiling-coreboot.md +++ b/src/docs/firmware/compiling-coreboot.md @@ -3,24 +3,24 @@ ## Cloning & Building ROMs ::: danger -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. +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 are 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 install -y bison build-essential curl flex git gnat imagemagick libncurses5-dev m4 nasm python-is-python3 uuid-dev zlib1g-dev libssl-dev` - * Arch based distros: `sudo pacman --needed -S base-devel curl git gcc-ada ncurses zlib nasm imagemagick` - * 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` + - Debian based distros: `sudo apt install -y bison build-essential curl flex git gnat imagemagick libncurses5-dev m4 nasm python-is-python3 uuid-dev zlib1g-dev libssl-dev` + - Arch based distros: `sudo pacman --needed -S base-devel curl git gcc-ada ncurses zlib nasm imagemagick` + - 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.git` + - `git clone https://github.com/mrchromebox/coreboot.git` 3. **`cd` to the coreboot folder, then build the coreboot toolchain** - * `make crossgcc-i386 CPUS=$(nproc)` + - `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`) + - 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 careena` - * ROMs will be stored in `~/dev/firmware` + - create build dir: `mkdir -p ~/dev/firmware` + - `./build-uefi.sh ` + - For example, `./build-uefi.sh careena` + - ROMs will be stored in `~/dev/firmware` 6. **Continue onto [Flashing Manually](manually-flashing.md) to flash** diff --git a/src/docs/firmware/developer-mode.md b/src/docs/firmware/developer-mode.md index 12b6bad5..7de964c0 100644 --- a/src/docs/firmware/developer-mode.md +++ b/src/docs/firmware/developer-mode.md @@ -2,6 +2,7 @@ prev: known-issues next: write-protect --- + # Developer Mode Enabling [developer mode](https://chromium.googlesource.com/chromiumos/docs/+/HEAD/developer_mode.md) is the first step to running an alternate OS on your Chromebook! Developer Mode is an alternate mode that all chromeOS devices have that opens up the ability to make unverified changes to the operating system and hardware. diff --git a/src/docs/firmware/flashing-firmware.md b/src/docs/firmware/flashing-firmware.md index f679670e..c14c918d 100644 --- a/src/docs/firmware/flashing-firmware.md +++ b/src/docs/firmware/flashing-firmware.md @@ -2,12 +2,13 @@ prev: about next: ../installing/ --- + # Flashing Custom Firmware Refer to [this page](about) for an overview of both RW_LEGACY and UEFI. ::: danger -**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. +**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 do not have the ability to recover from a bad flash, **you are 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: @@ -15,19 +16,19 @@ To convert your machine from Google's firmware and ChromeOS to Coreboot and AltO 1. [Enable developer mode](developer-mode.md). 2. [Disable write protect](write-protect.md) (If flashing UEFI). 3. Run [MrChromebox's firmware utility script](https://mrchromebox.tech/#fwscript) within VT-2 (`ctrl` + `alt` + `f2` (right arrow)). - * 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` + - 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. If there's no error, shutdown the device without worry. ::: danger -If flashing fails for UEFI, **do not shutdown** and immedietly attempt to restore stock firmware. +If flashing fails for UEFI, **DO NOT SHUTDOWN** and immediately attempt to restore stock firmware. Otherwise, shutdown without worry. ::: ::: tip -If you unplugged the battery to [disable write protect](battery.md), you can plug it back in now. All subsequent flashing won't require it from now on. +If you unplugged the battery to [disable write protect](battery.md), you can plug it back in now. All flashes after this will not require you to unplug the battery. ::: ## Booting diff --git a/src/docs/firmware/index.md b/src/docs/firmware/index.md index 6e8203c1..c9593406 100644 --- a/src/docs/firmware/index.md +++ b/src/docs/firmware/index.md @@ -2,28 +2,29 @@ prev: false next: supported-devices --- + # Flashing Custom Firmware ::: danger -You are about to make **unofficial** changes to your device! This will **void any warranty** that came with your original purchase. 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**! +You are about to make **UNOFFICAL** changes to your device! This will **VOID ANY WARRANTY** that came with your original purchase. 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**! ::: ::: danger -Do not continue if your device is currently owned or enrolled by a organization, such as a school or employer, unless you were given **direct permission to do so.** +Do not continue if your device is currently owned or enrolled by a organization, such as a school or employer, unless you were given **DIRECT PERMISSION to do so.** ::: ## Prerequisites -* Know your hardware - * Your CPU model and generation - * Your storage devices (HDD/SSD, eMMC, NVMe, etc.) - * **Your boardname** - * For example, the boardname for Asus Chromebook C302CA is `Cave` - * If you don't know where to find this info, take a look at the [System Info Page](system-info.md). -* **A basic knowledge of command lines and how to use a terminal/command prompt.** - * We cannot help you if you do not know how to go to a directory or delete a file from a terminal. -* A minimum of an 8GB USB drive or SD Card for creating a bootable OS installer. -* A second device is recommended, and required in some cases. +- Know your hardware + - Your CPU model and generation + - Your storage devices (HDD/SSD, eMMC, NVMe, etc.) + - **Your boardname** + - For example, the boardname for Asus Chromebook C302CA is `Cave` + - If you do not know where to find this info, take a look at the [System Info Page](system-info.md). +- **A basic knowledge of command lines and how to use a terminal/command prompt.** + - We cannot help you if you do not know how to go to a directory or delete a file from a terminal. +- A minimum of an 8GB USB drive or SD Card for creating a bootable OS installer. +- A second device is recommended, and required in some cases. ::: tip NOTE Only x86_64 devices are currently supported. @@ -38,9 +39,9 @@ If you only have one device, please be sure to [set up a USB with your OS to ins If you are facing a issue, please read the [FAQ](../faq.md) first. ::: tip -When asking for help, ask in English. We can't help you if we don't understand the question. Using a translator is fine. +When asking for help, ask in English. We can't help you if we do not 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. +**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.md). +If you do not know where to find your boardname, take a look [here](system-info.md). diff --git a/src/docs/firmware/known-issues.md b/src/docs/firmware/known-issues.md index d03b8f27..3a5cb1eb 100644 --- a/src/docs/firmware/known-issues.md +++ b/src/docs/firmware/known-issues.md @@ -2,6 +2,7 @@ prev: system-info next: developer-mode --- + # Known Issues ## Devices @@ -10,16 +11,16 @@ next: developer-mode You should avoid buying any devices in this list. ::: -* 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. +- 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 ARM Chromebooks**: No support, though development is slowly starting. -* GeminiLake: Legacy boot mode/alternative firmware menu works but does not show payload list -* AMD Stoneyridge: Some Stoney Ridge devices may not currently have functional Legacy Boot Mode due to bugs in Google's firmware. -* AMD Cezanne: legacy boot mode/alternative firmware menu works, edk2 boots, but screen backlight is off. Will be fixed in next Google fw update (fingers crossed). +- **All ARM Chromebooks**: No support, though development is slowly starting. +- GeminiLake: Legacy boot mode/alternative firmware menu works but does not show payload list +- AMD Stoneyridge: Some Stoney Ridge devices may not currently have functional Legacy Boot Mode due to bugs in Google's firmware. +- AMD Cezanne: legacy boot mode/alternative firmware menu works, edk2 boots, but screen backlight is off. Will be fixed in next Google fw update (fingers crossed). ::: tip For issues relating to OS support, see [this page](../installing/known-issues.md). diff --git a/src/docs/firmware/manually-flashing.md b/src/docs/firmware/manually-flashing.md index 35876a49..1a42d404 100644 --- a/src/docs/firmware/manually-flashing.md +++ b/src/docs/firmware/manually-flashing.md @@ -1,19 +1,19 @@ # Manually Flashing ROMs ::: danger -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. +Flashing your own firmware has the potential to brick your device. Do not do this unless you are sure you know what you are doing/have a way to recover from a bad flash. Some level of knowledge with using the Linux command line is required. ::: 1. Have your firmware rom. We will assume you already have the file you want to flash for this guide. 2. Download flashrom, then give it execute permission. - * `cd; curl -LO https://tree123.org/chrultrabook/utils/flashrom-libpci38; chmod +x flashrom-libpci38` + - `cd; curl -LO https://tree123.org/chrultrabook/utils/flashrom-libpci38; chmod +x flashrom-libpci38` 3. Flash your custom ROM - * Backup your current rom, just in case things go wrong: `./flashrom-libpci38 -p internal -r current.rom` - * Note: Intel Chromebooks should be flashed with `--ifd -i bios` ex: `sudo ./flashrom -p internal --ifd -i bios -w coreboot.rom` - * Flash your custom firmware: `sudo ./flashrom-libpci38 -p internal -w firmware.rom` + - Backup your current rom, just in case things go wrong: `./flashrom-libpci38 -p internal -r current.rom` + - Note: Intel Chromebooks should be flashed with `--ifd -i bios` ex: `sudo ./flashrom -p internal --ifd -i bios -w coreboot.rom` + - Flash your custom firmware: `sudo ./flashrom-libpci38 -p internal -w firmware.rom` 4. Reboot - * Assuming it said `success` on all checks, reboot. + - Assuming it said `success` on all checks, reboot. ::: danger -Do not reboot if any of the checks failed. +Do not reboot if any of the checks failed. ::: diff --git a/src/docs/firmware/recovery-mode.md b/src/docs/firmware/recovery-mode.md index fca8ab6b..17c9314d 100644 --- a/src/docs/firmware/recovery-mode.md +++ b/src/docs/firmware/recovery-mode.md @@ -2,6 +2,7 @@ prev: developer-mode.md next: false --- + # Recovery Mode Recovery mode is used to restore the OS and RW regions of the firmware. It gets triggered when an issue with the device is detected, or you manually start it. @@ -16,23 +17,24 @@ Images sourced from [Google Support](https://support.google.com/chrome/a/answer/ ::: danger Do not continue if your device is currently owned or enrolled by a organization, such as a school or employer. Unless you were given permission by your organization, its a crime. -::: +::: ## Entering Recovery Mode ### Chromebooks Press `ESC` + `Refresh` (arrow icon), + `Power` at the same time. This should bring your system into recovery mode. + - For some devices the power button is on the side. - Some devices may need to hold down the `Fullscreen` button (four corners icon) instead of the `Refresh` button. - +Chromebook Keyboard ### Chromeboxes Find the recovery button hole. A reference of what to look for is below. - +Recovery Button Hole When you do, use something like a paper clip to hold the button down, then turn on the device. This should bring your system into recovery mode. You can stop holding down the button at this point. @@ -41,4 +43,4 @@ You can stop holding down the button at this point. Hold down `Volume Up` + `Volume Down` + `Power` for 10 seconds, then release. This should bring your system into recovery mode. - +tablet Combo diff --git a/src/docs/firmware/suzyq.md b/src/docs/firmware/suzyq.md index cbf30325..34b800ed 100644 --- a/src/docs/firmware/suzyq.md +++ b/src/docs/firmware/suzyq.md @@ -2,6 +2,7 @@ prev: write-protect next: false --- + # Disabling write protect with a SuzyQable ::: tip @@ -18,11 +19,12 @@ This method requires a SuzyQable, a chromeOS debug cable. 1. Open VT-2 (`ctrl` + `alt` + `f2` (right arrow)). 2. Login as `root`. -3. Run `gsctool -a -o`. +3. Run `gsctool -a -o`. 4. You will be prompted to press the `PP` (physical presence) button several times. This is a fancy way of saying to press the power button. This process takes several minutes and ends with the message `PP Done!`. 5. The device will suddenly reboot and exit developer mode. Re-enable developer mode and continue with the instructions. -## Step 2: Disable Write Protect. +## Step 2: Disable Write Protect + 1. Open VT-2 (`ctrl` + `alt` + `f2` (right arrow)). 2. Login as `root`. 3. Plug in your cable @@ -34,4 +36,3 @@ This method requires a SuzyQable, a chromeOS debug cable. 7. Run `gsctool -a -I` to verify you have opened all the CCD flags. The current value for all CCD flags should be set to Y/Always. 8. Verify `crossystem wpsw_cur` returns `0`. 9. Reboot. - diff --git a/src/docs/firmware/system-info.md b/src/docs/firmware/system-info.md index b1f12130..ebc53b96 100644 --- a/src/docs/firmware/system-info.md +++ b/src/docs/firmware/system-info.md @@ -2,6 +2,7 @@ prev: supported-devices next: known-issues --- + # Finding System Info ::: tip @@ -18,6 +19,7 @@ Your system architecture is very important as it determines if your device has a 2. Type `uname -m` and press enter You should now see one of three possible outputs: + 1. `x86_64` 2. `aarch64` 3. `armv7l` @@ -31,10 +33,12 @@ The board name is the special name for your device which determines if it is sup ### How to find your board name #### Developer Mode + 1. Open VT-2 by pressing Ctrl + Alt + 🡢 (F2) and login as `chronos` 2. Type `sudo crossystem hwid` and press Enter #### Recovery Mode + 1. Enter [Recovery Mode](recovery-mode.md) 2. Find the "Model" line diff --git a/src/docs/firmware/ti50-ap-ro.md b/src/docs/firmware/ti50-ap-ro.md index dc187ec6..5363ba10 100644 --- a/src/docs/firmware/ti50-ap-ro.md +++ b/src/docs/firmware/ti50-ap-ro.md @@ -21,7 +21,8 @@ If you disabled WP via CCD and reset your CCD flags with `ccd reset factory`, yo 3. Run `gsctool -a -I | grep AllowUnverifiedRo`. 4. If that command has any output, your device has a Ti50. If you get no output or an error, your device either has a Cr50 or no GSC at all. -## Step 2: Disable RO verification. +## Step 2: Disable RO verification + 1. Unlock the GSC by running `gsctool -a -o`. 2. Run `gsctool -a -I AllowUnverifiedRo:always`. 3. Press the power button when prompted. @@ -30,7 +31,8 @@ If you disabled WP via CCD and reset your CCD flags with `ccd reset factory`, yo If your device has a Ti50 and you don't disable RO verification, flashing full rom will brick the device (can be recovered with steps listed below). ::: -## Recovering a device bricked due to RO verification. +## Recovering a device bricked due to RO verification + ### Chromebooks 1. Press and hold the `Power` button. @@ -53,4 +55,3 @@ If your device has a Ti50 and you don't disable RO verification, flashing full r 4. Repeat the above steps a second time. This will disable RO verification for 15 minutes, allowing you to permanently disable it. - diff --git a/src/docs/firmware/updating-firmware.md b/src/docs/firmware/updating-firmware.md index f240ea5a..78088559 100644 --- a/src/docs/firmware/updating-firmware.md +++ b/src/docs/firmware/updating-firmware.md @@ -5,13 +5,13 @@ The script does not work on Windows. If you are using Windows, boot a live Linux ::: ::: tip -curl is not installed by default for Ubuntu / Ubuntu distros. To install it, run: `sudo apt update && sudo apt install -y curl` +curl is not installed by default for Ubuntu or Ubuntu-based distros. To install it, run: `sudo apt update && sudo apt install -y curl` ::: - + 1. Run [MrChromebox's Firmware Utility Script](https://mrchromebox.tech/#fwscript). - * In case you forgot, type `cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh` and press Enter. + - In case you forgot, type `cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh` and press Enter. 2. Choose option 1: `Install/Update UEFI (Full ROM) Firmware`, and reboot if successful. ::: danger -**Do not reboot if flash was not successful** +**DO NOT REBOOT if flash was not successful** ::: diff --git a/src/docs/firmware/ventoy.md b/src/docs/firmware/ventoy.md index 5ab553f7..495cddcb 100644 --- a/src/docs/firmware/ventoy.md +++ b/src/docs/firmware/ventoy.md @@ -6,13 +6,13 @@ Ventoy is a useful tool that allows you to have multiple OS installer images on Before we begin, be sure to backup any data that may be on your USB drive as it will be erased during this process. - +backup data ## Downloading Ventoy Grab the latest Ventoy release from [GitHub](https://github.com/ventoy/Ventoy/releases). Be sure to get the Linux version. - +download linux version of ventoy ## Extracting Ventoy @@ -28,24 +28,25 @@ On commands 2 and 3, after typing `ventoy`, you can press tab to fill in the res You can then run `ls` to verify you have the correct files, it should look something like this: - +extract tar.gz ## Starting Ventoy Run the following command to start the Ventoy Web GUI: -* `./VentoyWeb.sh` + +- `./VentoyWeb.sh` Next, switch back to VT-1 by pressing Ctrl + Alt + 🡠 (F1)and open `http://localhost:24680` in Chrome. You should see this on your screen now: - +ventoy launch page ## Installing Ventoy to USB 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. - +choose gpt formatting 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. @@ -55,8 +56,8 @@ Download an image of any OS you want. For Windows we recommend that you only use Open Files and click on your USB drive, you should then see a device named "Ventoy". - +picture of ventoy drive -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. +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 are done. - +picture of where to place isos diff --git a/src/docs/firmware/write-protect.md b/src/docs/firmware/write-protect.md index b2dbc7ea..262226a6 100644 --- a/src/docs/firmware/write-protect.md +++ b/src/docs/firmware/write-protect.md @@ -2,6 +2,7 @@ prev: developer-mode next: about --- + # Disabling Write Protect ::: tip @@ -11,10 +12,11 @@ You do not have to disable write protect if flashing [RW_Legacy](about.md#rw_leg Refer to the [supported devices list](supported-devices.md) 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: -* Take out a WP screw -* [Unplug your battery](battery.md) -* Bridge two jumpers -* [Use a SuzyQable](suzyq.md) (A cable that enables CCD (Closed Case Debugging)) + +- Take out a WP screw +- [Unplug your battery](battery.md) +- Bridge two jumpers +- [Use a SuzyQable](suzyq.md) (A cable that enables CCD (Closed Case Debugging)) ::: warning On devices with a Ti50 security chip (2023+), you will additionally need to [disable RO verification](ti50-ap-ro.md). diff --git a/src/docs/installing/bootableusb.md b/src/docs/installing/bootableusb.md index bc4c7097..816e9f59 100644 --- a/src/docs/installing/bootableusb.md +++ b/src/docs/installing/bootableusb.md @@ -13,8 +13,8 @@ Flashing Ventoy or ISOs to an external drive will **wipe all data** on said driv ## Downloading a ISO 1. Determine what OS you want. - * For Linux, keep in mind Ubuntu and Ubuntu-based derivatives **are not supported**. - * For Windows, keep in mind only official versions of Windows 10 and newer are supported. + - For Linux, keep in mind Ubuntu and Ubuntu-based derivatives **are not supported**. + - For Windows, keep in mind only official versions of Windows 10 and newer are supported. 2. Place the ISO in a safe place. ## Flashing using Rufus (Windows) @@ -35,14 +35,17 @@ For this guide, we will be using Rufus to create our bootable USB. Rufus is a us ## Flashing using Ventoy (Windows/Linux/macOS) -For this guide, we will be using Ventoy to create our bootable USB. +For this guide, we will be using Ventoy to create our bootable USB. Ventoy allows you to boot multiple ISO's from a single drive. -1. Download and extract the latest version from [Github](https://www.ventoy.net/en/download.html). - * Download the respective file for your platform. + +1. Download and extract the latest version from [Github](https://www.ventoy.net/en/download.html). + + - Download the respective file for your platform. ![image](/ventoy/download-alt.png) 2. Run `Ventoy2Disk.exe` for Windows or `VentoyGUI.x86_64` for Linux. - * Make sure to allow administrator privilages when prompted. + + - Make sure to allow administrator privilages when prompted. 3. Plug in your external drive and click the green circle to refresh devices. It should pick up your external drive. 4. Click Options > Partition Style and select "GPT". diff --git a/src/docs/installing/dualboot.md b/src/docs/installing/dualboot.md index 25ba710d..c4898b9a 100644 --- a/src/docs/installing/dualboot.md +++ b/src/docs/installing/dualboot.md @@ -3,21 +3,21 @@ After using the Firmware Utility Script to install/update RW_LEGACY, before booting a Linux distro ISO, you will need to shrink the stateful partition to create space for your Linux installation. You can do this from ChromeOS using [CRAP](https://github.com/chrultrabook/crap), a partitioning tool developed by the chrultrabook community. ::: warning -CRAP is the preferred method for resizing partitions to dual boot because it only resizes the stateful partition. Using `chrx`, which resizes the ROOT-C and KERN-C ChromeOS partitions, and changes the disk layout, can cause unintended effects. +CRAP is the preferred method for resizing partitions to dual boot because it only resizes the stateful partition. Using `chrx`, which resizes the ROOT-C and KERN-C ChromeOS partitions, and changes the disk layout, can cause unintended effects. ::: ## Using CRAP -* Run the below command from VT-2 as root. CRAP can only be run in VT-2 [Ctrl + Alt + 🡢 (F2)] - * `bash <(curl -L https://tinyurl.com/crap-cb-01)` -* Then, follow the steps displayed onscreen. +- Run the below command from VT-2 as root. CRAP can only be run in VT-2 [Ctrl + Alt + 🡢 (F2)] + - `bash <(curl -L https://tinyurl.com/crap-cb-01)` +- Then, follow the steps displayed onscreen. ## Installing Linux Continue with the guide at [Installing Linux](installing-linux.md). On the partitioning screen of your distro's installer, choose to partition manually. Create the new partitions for Linux in the free space you have just created. ::: tip -When choosing where to create the EFI system partition (ESP) for your Linux installation, you can reformat and use ChromeOS' ESP (partition 12) as it is not used by ChromeOS. This also avoids edk2 trying to boot from the ChromeOS ESP by default. +When choosing where to create the EFI system partition (ESP) for your Linux installation, you can reformat and use ChromeOS' ESP (partition 12) as it is not used by ChromeOS. This also avoids edk2 trying to boot from the ChromeOS ESP by default. ::: ## Reverting @@ -26,6 +26,6 @@ Should you want to remove your Linux dualboot setup and only use ChromeOS, simpl
---- +--- Read more about ChromeOS' disk layout [here](https://www.chromium.org/chromium-os/developer-library/reference/device/disk-format/) diff --git a/src/docs/installing/ectool.md b/src/docs/installing/ectool.md index 1ac613b2..afa1ad31 100644 --- a/src/docs/installing/ectool.md +++ b/src/docs/installing/ectool.md @@ -14,6 +14,6 @@ Run `ectool help` for a full list of commands. Some common uses of `ectool` include: -* Accessing the EC console: `ectool console` -* Controlling the fan with `ectool fanduty ` -* Set the keyboard backlight in devices that have it: `ectool pwmsetkblight ` +- Accessing the EC console: `ectool console` +- Controlling the fan with `ectool fanduty ` +- Set the keyboard backlight in devices that have it: `ectool pwmsetkblight ` diff --git a/src/docs/installing/index.md b/src/docs/installing/index.md index 987c95e1..42d7977d 100644 --- a/src/docs/installing/index.md +++ b/src/docs/installing/index.md @@ -2,6 +2,7 @@ prev: false next: false --- + # Installing an OS ::: tip @@ -10,18 +11,20 @@ Be sure to check the [supported devices page](../firmware/supported-devices.md) ## Windows -### Pros: -* Works on most platforms with minimal tweaking¹ -* Generally has better application support -* Better game support +### Pros of Windows + +- 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 -* USB4/Thunderbolt driver is paid (20 USD) for **TigerLake** (11th generation Intel processors) and **newer** generations on devices that require them -* Requires the user to install many drivers -* AVS and SOF users may experience instability at times +### Cons of Windows -### [Installing Windows →](installing-windows.md) +- Audio driver is paid (10 USD) for Skylake (6th generation) and newer devices +- USB4/Thunderbolt driver is paid (20 USD) for **TigerLake** (11th generation Intel processors) and **newer** generations on devices that require them +- Requires the user to install many drivers +- AVS and SOF users may experience instability at times + +### [Installing Windows →](installing-windows.md)
@@ -29,15 +32,17 @@ Be sure to check the [supported devices page](../firmware/supported-devices.md) ## 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 +### Pros of Linux + +- 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 +### Cons of Linux + +- 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 ::: warning Ubuntu and Ubuntu-based distributions **may have issues** and are **not supported**. @@ -49,16 +54,18 @@ Be sure to check the [supported devices page](../firmware/supported-devices.md) ## macOS -### Pros: -* OS experience is near identical to a Mac +### Pros of macOS + +- OS experience is near identical to a Mac + +### Cons of macOS -### 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 +- 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 ::: tip Any Chromebook with an ARM, Celeron or Pentium CPU is not supported. AMD Ryzen might have support in the future. diff --git a/src/docs/installing/installing-linux.md b/src/docs/installing/installing-linux.md index 64a9cfe0..b8b8bac9 100644 --- a/src/docs/installing/installing-linux.md +++ b/src/docs/installing/installing-linux.md @@ -2,7 +2,9 @@ prev: ./ next: post-install --- + # Installing Linux + Thanks to recent advancements in the chrultrabook community, Linux works really well on most Chromebooks. ::: tip @@ -21,17 +23,17 @@ Debian versions older than Debian 12 (Bookworm) are **not supported**. Debian 12 **Recommended distros as of October 2023 (in no particular order) are:** -* Arch Linux or EndeavourOS -* Fedora or Ultramarine Linux -* openSUSE Tumbleweed -* Debian 12 (Bookworm) -* Pop!_OS +- Arch Linux or EndeavourOS +- Fedora or Ultramarine Linux +- openSUSE Tumbleweed +- Debian 12 (Bookworm) +- Pop!\_OS ## Installation 1. Create a bootable Linux USB. See [here](bootableusb.md) for a guide. 2. Plug the USB Drive into the Chromebook. -3. Turn on the Chromebook, press ESC at the POST screen (when the coreboot logo appears), and select your USB to boot from. +3. Turn on the Chromebook, press ESC at the POST screen (when the coreboot logo appears), and select your USB to boot from. 4. Install as you would on any other computer. ::: tip NOTE @@ -42,17 +44,19 @@ See [this page](../firmware/flashing-firmware.md) for more information about RW_ ## Fixing Audio -You will likely have audio issues after installing Linux. Run the following script to fix them. +You will likely have audio issues after installing Linux. Run the following script to fix them. -#### Prerequisites -* Python 3.10 or newer -* Git +### Prerequisites + +- Python 3.10 or newer +- Git ::: danger -Using AVS on a device with max98357a will blow your speakers. You have been warned. +Using AVS on a device with max98357a will blow your speakers. You have been warned. ::: #### How to run the script + 1. Open a terminal. 2. `git clone https://github.com/WeirdTreeThing/chromebook-linux-audio.git` 3. `cd chromebook-linux-audio` diff --git a/src/docs/installing/installing-macos.md b/src/docs/installing/installing-macos.md index 4324df77..5df1311d 100644 --- a/src/docs/installing/installing-macos.md +++ b/src/docs/installing/installing-macos.md @@ -1,19 +1,21 @@ # 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 line - * We won't help you if you don't know how to `cd` to a directory. + +- 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 line + - We will not help you if you do not know how to `cd` to a directory. ## Tested Devices @@ -38,26 +40,30 @@ This list is incomplete. Feel free to improve it. **The following devices have dedicated guides written for them:** -* [ChromebookOSX](https://github.com/meghan06/ChromebookOSX): - * Asus C425 (LEONA) - * Asus C434 (SHYVANA) - * Asus C433 (SHYVANA) +- [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) -* [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): -* [macOS-Dragonair](https://github.com/mine-man3000/macOS-Dragonair): - * HP Chromebook x360 14c (DRAGONAIR) + - HP Chromebook x360 14c (DRAGONAIR) -* [LuluMacOS](https://isi95010.github.io/LuluMacOS/) - * Dell Chromebook 13 7310 (LULU) +- [LuluMacOS](https://isi95010.github.io/LuluMacOS/) + - Dell Chromebook 13 7310 (LULU) ## Custom Firmware It is recommended to [flash Coreboot firmware](macos-firmware) with the Management Engine Interface enabled on Skylake and newer. Without the ME interface enabled, the following bugs can occur after waking from sleep: + - Blank Electron / Chromium apps - Buggy video playback in web browsers like Firefox or Safari - Display/Wallpaper settings in SysPref/SysSettings @@ -70,9 +76,11 @@ Amber Lake Chromebooks should follow config.plist setup for Kaby Lake. Add the following SSDTs, kexts and modifications as needed: ### config.plist Fixes + - Disable `Booter->Quirks->DevirtualiseMmio`: Fixes NVRAM and other runtime EFI services -### SSDTs and ACPI Fixes: +### SSDTs and ACPI Fixes + - [croscorebootpatch](https://github.com/meghan06/croscorebootpatch): Fixes freeze during boot when using coreboot 4.20 and newer. Not needed when custom rom is used. - [Keyboard Map](https://github.com/1Revenger1/Acer-Spin-713-Hackintosh/blob/main/src/ACPI/SSDT-ChromeKeys.dsl): Maps FNx keys to ChromeOS mapping. This is an example, you may need to do your own mapping. - Will need to be compiled with either `iASL` or `MaciASL`. @@ -81,11 +89,12 @@ Add the following SSDTs, kexts and modifications as needed: - A pre-compiled version comes in OpenCore's release zip under `Docs/AcpiSamples/Binaries/SSDT-ASL0.aml` ### Kexts + - [EmeraldSDHC.kext](https://github.com/acidanthera/EmeraldSDHC/releases): eMMC driver - [VoodooPS2.kext](https://github.com/1Revenger1/VoodooPS2/releases): Fork of Acidanthera's VoodooPS2 which allows mapping keyboard brightness and other useful keys - [CrosEC.kext](https://github.com/1Revenger1/CrosEC/releases): Adds keyboard brightness, tablet mode, and other functionality -#### Snapshot (cmd + r) or (ctrl + r) your `config.plist` after making modifications. +#### Snapshot (cmd + r) or (ctrl + r) your `config.plist` after making modifications ::: danger If you dualboot with the SSDTs mentioned above, you might run into issues on other OSes. An `OSI_` check is not present in these SSDTs. diff --git a/src/docs/installing/installing-windows.md b/src/docs/installing/installing-windows.md index 6c0ac89b..1405b437 100644 --- a/src/docs/installing/installing-windows.md +++ b/src/docs/installing/installing-windows.md @@ -2,6 +2,7 @@ prev: ./ next: post-install --- + # Installing Windows ::: warning @@ -32,9 +33,11 @@ If you want to create a Windows installer from ChromeOS, see the [Installing Ven 10. Install Windows as you would normally. 3. Install drivers: - - See [Coolstar's Windows Install Helper](https://coolstar.org/chromebook/windows-install.html) for drivers. Some of the drivers may be paid. + +- See [Coolstar's Windows Install Helper](https://coolstar.org/chromebook/windows-install.html) for drivers. Some of the drivers may be paid. ## Installing `.cab` drivers + Cab drivers are a little weird, but they're easy to install. 1. Create a new folder. @@ -49,24 +52,24 @@ Cab drivers are a little weird, but they're easy to install. Please see [CoolStar's driver portal](https://coolstar.org/chromebook/driverlicense/login.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. -| **Cezanne** | SOF | -| **Mendocino** | SOF | + +| 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. | +| **Cezanne** | SOF | | +| **Mendocino** | SOF | | diff --git a/src/docs/installing/known-issues.md b/src/docs/installing/known-issues.md index 5183ed5e..21a8a739 100644 --- a/src/docs/installing/known-issues.md +++ b/src/docs/installing/known-issues.md @@ -4,24 +4,24 @@ ### Windows -* Some Chromebooks have no touchpad support in the installer. -* No fingerprint reader support. -* No TPM 2.0 support. -* No IPU camera support. +- Some Chromebooks have no touchpad support in the installer. +- No fingerprint reader support. +- No TPM 2.0 support. +- No IPU camera support. ### Linux -* Broken USB-C on TigerLake and AlderLake. See Post Install -> Linux for fix. -* No fingerprint reader support. -* Debian 12 (Bookworm) needs a custom kernel. +- Broken USB-C on TigerLake and AlderLake. See Post Install -> Linux for fix. +- No fingerprint reader support. +- Debian 12 (Bookworm) needs a custom kernel. ### macOS -* Broken DRM. -* No audio. -* No PCIe SD card reader support. -* No fingerprint reader support. -* Continuity features (AirDrop, Sidecar, etc). +- Broken DRM. +- No audio. +- No PCIe SD card reader support. +- No fingerprint reader support. +- Continuity features (AirDrop, Sidecar, etc). ::: tip For issues relating to hardware/firmware, see [this page](../firmware/known-issues.md). diff --git a/src/docs/installing/macos-firmware.md b/src/docs/installing/macos-firmware.md index 6dbcae37..520e852d 100644 --- a/src/docs/installing/macos-firmware.md +++ b/src/docs/installing/macos-firmware.md @@ -2,10 +2,11 @@ It is recommended to flash coreboot with the Intel Management Engine interface enabled to prevent bugs after waking from sleep. Without the ME interface enabled, the following bugs can occur after waking from sleep: -* 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 + +- 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 ## Custom Firmware @@ -16,7 +17,7 @@ Prebuilts can be found at [ethanthesleepy.one](https://ethanthesleepy.one/macos/ ### Building Manually 1. Follow the steps [here](../firmware/compiling-coreboot.md) to download the toolchain and build the firmware - * Continue these steps once `build-uefi.sh ` has been ran + - Continue these steps once `build-uefi.sh ` has been ran 2. Run `make menuconfig`. You will be greeted by a menu which looks like the following: ![image](/macos/menuconfig.png) diff --git a/src/docs/installing/macos-hibernation.md b/src/docs/installing/macos-hibernation.md index 322ea747..0405ad54 100644 --- a/src/docs/installing/macos-hibernation.md +++ b/src/docs/installing/macos-hibernation.md @@ -10,14 +10,14 @@ Some fixes in the `config.plist` are required in order to take advantage of this - While not strictly required, this speeds up resume times and prevents accidently booting another OS and changing hardware state underneath macOS. - Create a reserved memory region under `UEFI->ReservedMemory` with the properties: - | Field | Type | Value | - | ------- | ------- | ----- | - | Comment | String | Fix black screen on wake from hibernation | - | Enabled | Boolean | True | - | Address | Number | 569344 | - | Enabled | Boolean | True | - | Size | Number | 4096 | - | Type | String | RuntimeCode | + | Field | Type | Value | + | ------- | ------- | ----------------------------------------- | + | Comment | String | Fix black screen on wake from hibernation | + | Enabled | Boolean | True | + | Address | Number | 569344 | + | Enabled | Boolean | True | + | Size | Number | 4096 | + | Type | String | RuntimeCode | ## Testing Hibernation @@ -30,7 +30,7 @@ Some models (such as `KLED`) have drives not marked as internal, which prevents To fix this, add the `built-in` property to the PCI device under `DeviceProperties->Add->`: | Field | Type | Value | -| -------- | ---- | ---------- | +| -------- | ---- | ---------- | | built-in | Data | <01000000> | You may need to add an ACPI device as well. diff --git a/src/docs/installing/post-install.md b/src/docs/installing/post-install.md index f2c90b1a..523a814e 100644 --- a/src/docs/installing/post-install.md +++ b/src/docs/installing/post-install.md @@ -2,6 +2,7 @@ prev: ./ next: false --- + # Post Install ::: tip @@ -11,11 +12,12 @@ Install [Chrultrabook Tools](https://github.com/death7654/Chrultrabook-Tools/rel ## 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 and Thunderbolt/USB4 drivers (if needed), see [CoolStar's driver portal](https://coolstar.org/chromebook/driverlicense/login.html) -### CELES Post Install Workaround +- 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 and Thunderbolt/USB4 drivers (if needed), see [CoolStar's driver portal](https://coolstar.org/chromebook/driverlicense/login.html) + +### CELES Post Install Workaround (Windows) 1. Boot the Windows install media you used to install Windows. 2. Click "Repair my computer" and select the Command Prompt option. @@ -26,41 +28,41 @@ Install [Chrultrabook Tools](https://github.com/death7654/Chrultrabook-Tools/rel ### General QOL Fixes -* Run the [audio script](https://github.com/WeirdTreeThing/chromebook-linux-audio) if you haven't already. -* Run the [cros-keyboard-map](https://github.com/WeirdTreeThing/cros-keyboard-map) script to remap top row FX keys. +- Run the [audio script](https://github.com/WeirdTreeThing/chromebook-linux-audio) if you haven't already. +- Run the [cros-keyboard-map](https://github.com/WeirdTreeThing/cros-keyboard-map) script to remap top row FX keys. ### 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: - ``` + ```txt [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 it should work. -### CELES Post Install Workaround +### CELES Post Install Workaround Possible (Linux) -If you experience issues in applications such as Parsec, or encounter disruptive freezes, adding the kernel parameters `clocksource=hpet hpet=force` may fix your problem. The following instructions assume you're using GRUB, and will be different for other bootloaders. Do your own research on how to set kernel parameters in your bootloader if these do not apply. +If you experience issues in applications such as Parsec, or encounter disruptive freezes, adding the kernel parameters `clocksource=hpet hpet=force` may fix your problem. The following instructions assume you are using GRUB, and will be different for other bootloaders. Do your own research on how to set kernel parameters in your bootloader if these do not apply. 1. Edit `/etc/default/grub` with your preferred text editor (e.g. nano). 2. Add `clocksource=hpet hpet=force` inside of GRUB_CMDLINE_LINUX_DEFAULT and save your changes. If you exclude either parameter, this will not work. Use sudo, su, or doas if necessary. 3. Type `grub-mkconfig -o /boot/grub/grub.cfg` or `update-grub` into a terminal and press Enter. Use sudo, su, or doas if necessary. 4. Reboot -## macOS +## macOS -* [Remove Verbose](https://dortania.github.io/OpenCore-Post-Install/cosmetic/verbose.html#macos-decluttering) -* [OpenCore GUI Setup](https://dortania.github.io/OpenCore-Post-Install/cosmetic/gui.html#setting-up-opencore-s-gui) -* Disable `DevirtualiseMmio` if you're on CometLake (10th gen) +- [Remove Verbose](https://dortania.github.io/OpenCore-Post-Install/cosmetic/verbose.html#macos-decluttering) +- [OpenCore GUI Setup](https://dortania.github.io/OpenCore-Post-Install/cosmetic/gui.html#setting-up-opencore-s-gui) +- Disable `DevirtualiseMmio` if you are on CometLake (10th gen) diff --git a/src/docs/reverting/booting-recovery-usb.md b/src/docs/reverting/booting-recovery-usb.md index 29f5357f..f15ae868 100644 --- a/src/docs/reverting/booting-recovery-usb.md +++ b/src/docs/reverting/booting-recovery-usb.md @@ -2,6 +2,7 @@ prev: making-recovery-usb next: false --- + # Booting the Recovery USB ::: tip diff --git a/src/docs/reverting/flashing-stock.md b/src/docs/reverting/flashing-stock.md index 2ea8b5c5..b4057b1d 100644 --- a/src/docs/reverting/flashing-stock.md +++ b/src/docs/reverting/flashing-stock.md @@ -2,6 +2,7 @@ prev: index.md next: making-recovery-usb --- + # Flashing Stock Firmware ::: warning @@ -13,18 +14,19 @@ If your device has hit AUE (Auto Update Expiration), you will not be able to rev 2. Connect to WiFi. 3. Open a terminal, then update and install `curl`. - * Use the distro's package manager to install it. + + - Use the distro's package manager to install it. 4. Obtain your ROM backup. 5. Run [MrChromebox's firmware utility script](https://mrchromebox.tech/#fwscript). - * In case you forgot, type `cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh` and press Enter. + + - In case you forgot, type `cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh` and press Enter. 6. Choose option 2: `Restore Stock ChromeOS Firmware`. -::: tip -If, for whatever reason, lost your stock firmware backup, Use an additional drive to flash a [recovery image](making-recovery-usb.md). -::: + ::: tip + If, for whatever reason, lost your stock firmware backup, Use an additional drive to flash a [recovery image](making-recovery-usb.md). + ::: 7. Follow on-screen instructions - diff --git a/src/docs/reverting/index.md b/src/docs/reverting/index.md index 4ee9f442..4a4f561b 100644 --- a/src/docs/reverting/index.md +++ b/src/docs/reverting/index.md @@ -2,6 +2,7 @@ prev: false next: flashing-stock --- + # Reverting to Stock chromeOS ::: warning @@ -18,4 +19,3 @@ If your device has hit AUE (Auto Update Expiration), you will not be able to rev You can revert your firmware back to stock and reinstall chromeOS. This is useful if your planning to sell your device. - diff --git a/src/docs/reverting/making-recovery-usb.md b/src/docs/reverting/making-recovery-usb.md index e6f46b6b..1bc20a21 100644 --- a/src/docs/reverting/making-recovery-usb.md +++ b/src/docs/reverting/making-recovery-usb.md @@ -2,6 +2,7 @@ prev: flashing-stock next: booting-recovery-usb --- + # Making a Recovery USB ::: danger @@ -36,4 +37,3 @@ Use [Rufus](../installing/bootableusb.md#flashing-using-rufus-windows) to flash ### macOS/ChromeOS/Linux Use [dd](../installing/bootableusb.md#flashing-with-dd-linux-macos) to flash the recovery .bin file to USB. - diff --git a/src/docs/terminology.md b/src/docs/terminology.md index 6f375e6f..59899105 100644 --- a/src/docs/terminology.md +++ b/src/docs/terminology.md @@ -2,35 +2,36 @@ prev: false next: firmware/ --- + # 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 +| **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/src/docs/unbricking/index.md b/src/docs/unbricking/index.md index 323fda2f..53793a06 100644 --- a/src/docs/unbricking/index.md +++ b/src/docs/unbricking/index.md @@ -5,7 +5,7 @@ prev: false # Unbricking -If your device's firmware got into a bad state (won't POST), you can try unbricking it. +If your device's firmware got into a bad state (will not POST), you can try unbricking it. ::: tip Try performing a EC reset beforehand to see if your device can recover. @@ -19,9 +19,11 @@ If your device has a Ti50 chip and you didn't disable RO verification before fla Here is the following ways that you can unbrick your device: -### [Unbricking with a ch341a USB programmer](unbrick-ch341a) -### [Unbricking with a Suzy-Q cable](unbrick-suzyq) -### [Unbricking with a flipper Zero](unbrick-flipper) +## [Unbricking with a ch341a USB programmer](unbrick-ch341a) + +## [Unbricking with a Suzy-Q cable](unbrick-suzyq) + +## [Unbricking with a flipper Zero](unbrick-flipper) --- diff --git a/src/docs/unbricking/unbrick-ch341a.md b/src/docs/unbricking/unbrick-ch341a.md index 9cfafa03..190b4e9a 100644 --- a/src/docs/unbricking/unbrick-ch341a.md +++ b/src/docs/unbricking/unbrick-ch341a.md @@ -6,7 +6,7 @@ prev: false # Unbricking/Flashing with a ch341a USB programmer ## Requirements - + ::: tip Most Skylake and older models (with a few exceptions) use a SOIC-8 flash chip which is easily clippable. 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. ::: @@ -16,26 +16,26 @@ Most Skylake and older models (with a few exceptions) use a SOIC-8 flash chip wh 3. A ch341a USB flash programmer 4. A 1.8v adapter -::: tip -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 -::: + ::: tip + 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 + ::: 5. 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. + A ch341a programmer, 1.8v adapter, and a SOIC-8 clip are often bundled together at a lower cost, and if you are 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) - * Some Chromebooks open up through the back and some through the keyboard, and as mentioned in [Disabling write protect via Battery](../firmware/battery.html). On keyboard, you have to pry it out and remove a ribbon wire under the keyboard. -* Disconnect the internal battery (for Chromeboxes, disconnect the small CMOS battery) -* Locate the SPI flash chip +- Disconnect all external power +- Remove bottom cover (screws are often located under rubber feet or strips) + - Some Chromebooks open up through the back and some through the keyboard, and as mentioned in [Disabling write protect via Battery](../firmware/battery.html). On keyboard, you have to pry it out and remove a ribbon wire under the keyboard. +- Disconnect the internal battery (for Chromeboxes, disconnect the small CMOS battery) +- Locate the SPI flash chip ::: danger -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]. +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]. ::: ::: warning @@ -57,61 +57,61 @@ So let's get to it: 1. Boot your Linux environment (Ubuntu live USB or later recommended) 2. Connect to WiFi/internet 3. Open a (non-root) terminal/shell window, change to home directory - * `cd;` + - `cd;` 4. Install flashrom via apt: - * `sudo apt update` - * `sudo apt install flashrom` + - `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. ![image](/ch341aunbrick/500px-Ch341a_annotated.png) 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. ![image](/ch341aunbrick/500px-SOIC-8_chip.jpg) 7. Test connectivity and ensure the flash chip is properly identified: - * `sudo flashrom -p ch341a_spi` + - `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. + 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. -![image](/ch341aunbrick/500px-Flashrom_chip_detect.png) + ![image](/ch341aunbrick/500px-Flashrom_chip_detect.png) 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` + - 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` + - Do not 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` ::: tip -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). +If you are not sure which file to use for your device / do not 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. +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 are 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. ::: tip 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. +You do not 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` + - `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. @@ -120,22 +120,22 @@ Now the firmware image is ready to be flashed, and will maintain the device's un 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 ` + - 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. + 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. +- 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 diff --git a/src/docs/unbricking/unbrick-flipper.md b/src/docs/unbricking/unbrick-flipper.md index 48caced9..265f0d95 100644 --- a/src/docs/unbricking/unbrick-flipper.md +++ b/src/docs/unbricking/unbrick-flipper.md @@ -1,20 +1,20 @@ -# Unbricking with a Flipper Zero +# 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 +- Your brain (please) +- A Flipper Zero with up-to-date firmware + - It doesn't matter if you are 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](./), under "Hardware Disassembly") 2. A understanding that this may not work on your system diff --git a/src/docs/unbricking/unbrick-suzyq.md b/src/docs/unbricking/unbrick-suzyq.md index ba0634b8..7ebc5899 100644 --- a/src/docs/unbricking/unbrick-suzyq.md +++ b/src/docs/unbricking/unbrick-suzyq.md @@ -2,84 +2,85 @@ ## 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. +- 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. ::: tip NOTE 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 write protect with a SuzyQable](../firmware/suzyq)), or the battery must be unplugged/disconnected from the mainboard. -* Another device running Linux, preferably a current Debian/Ubuntu-based distro +- 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 write protect with a SuzyQable](../firmware/suzyq)), 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 if you didnt follow the guide to [Disable write protect with a SuzyQable](../firmware/suzyq). 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 all external power +- Remove bottom cover (screws are often located under rubber feet or strips) - Some Chromebooks open up through the back and some through the keyboard, and as mentioned in [Disabling write protect via Battery](../firmware/battery.html). On keyboard, you have to pry it out and remove a ribbon wire under the keyboard. -* Disconnect the internal battery +- 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 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 live USB or later recommended) 2. Connect to the internet 3. Open a (non-root) terminal/shell window, change to home directory - * `cd;` + - `cd;` 4. Install flashrom via apt: - * `sudo apt update` - * `sudo apt install flashrom` + - `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 + - `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` + - `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` + - 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` + - Do not 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` ::: tip -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). +If you are not sure which file to use for your device / do not 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. +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 are 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. ::: tip 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. +You do not 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 raiden_debug_spi:target=AP -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` + - `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 raiden_debug_spi:target=AP -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. @@ -88,11 +89,11 @@ Now the firmware image is ready to be flashed, and will maintain the device's un 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. + - 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 diff --git a/src/index.md b/src/index.md index 8419dfcb..21221cc2 100644 --- a/src/index.md +++ b/src/index.md @@ -14,12 +14,13 @@ footer: --- -## What is a chrultrabook and who is this documentation for? +# What is a chrultrabook and who is this documentation for? + A chrultrabook is a modified Chromebook that is able to run Windows, Linux, and sometimes macOS by using MrChromebox’s coreboot firmware. The purpose of this site is to provide documentation that is detailed, user-friendly, and has up-to-date information about the hardware, software, and firmware on Chromebooks. --- -## These docs focus on two main things: +## These docs focus on two main things - Installing Windows/Linux/macOS on your Chromebook. - Learning in-depth information about your Chromebook. diff --git a/supported-devices/devices.json b/supported-devices/devices.json index 8d03b624..35ff73e2 100644 --- a/supported-devices/devices.json +++ b/supported-devices/devices.json @@ -1,1904 +1,1401 @@ { - "Sandybridge/Ivybridge": { - "default_wpmethod": "switch", - "default_rwLegacy": false, - "default_fullrom": true, - "default_windows": "Supported", - "default_mac": "Not tested. Celeron/Pentium devices unsupported.", - "default_linux": "Supported", - "devices": [ - { - "device": [ - "HP Pavilion Chromebook 14" - ], - "boardname": "BUTTERFLY" - }, - { - "device": [ - "Google Chromebook Pixel (2013)" - ], - "boardname": "LINK", - "rwLegacy": null, - "wpMethod": "screw" - }, - { - "device": [ - "Samsung Chromebook Series 5 550" - ], - "boardname": "LUMPY", - "wpMethod": "jumper" - }, - { - "device": [ - "Acer C7/C710 Chromebook" - ], - "boardname": "PARROT", - "wpMethod": "jumper" - }, - { - "device": [ - "Lenovo Thinkpad X131e Chromebook" - ], - "boardname": "STOUT", - "wpMethod": "switch" - }, - { - "device": [ - "Samsung Chromebox Series 3" - ], - "boardname": "STUMPY", - "wpMethod": "jumper" - } - ] - }, - "Haswell": { - "default_wpmethod": "screw", - "default_rwLegacy": null, - "default_fullrom": true, - "default_windows": "Supported", - "default_mac": "Not tested. Celeron/Pentium devices unsupported.", - "default_linux": "Supported", - "devices": [ - { - "device": [ - "HP Chromebook 14" - ], - "boardname": "FALCO" - }, - { - "device": [ - "Toshiba Chromebook 13 (CB30)" - ], - "boardname": "LEON", - "wpMethod": "screw" - }, - { - "device": [ - "Acer Chromebox CXI" - ], - "boardname": "McCLOUD", - "wpMethod": "screw" - }, - { - "device": [ - "LG Chromebase 22" - ], - "boardname": "MONROE", - "wpMethod": "screw" - }, - { - "device": [ - "Asus Chromebox CN60" - ], - "boardname": "PANTHER", - "wpMethod": "screw" - }, - { - "device": [ - "Acer C720/C720P Chromebook" - ], - "boardname": "PEPPY", - "wpMethod": "screw", - "mac": "Tested, Supported." - }, - { - "device": [ - "Dell Chromebox 3010" - ], - "boardname": "TRICKY", - "wpMethod": "screw" - }, - { - "device": [ - "Dell Chromebook 11 (CB1C13)" - ], - "boardname": "WOLF", - "wpMethod": "screw" - }, - { - "device": [ - "HP Chromebox CB1 / G1" - ], - "boardname": "ZAKO", - "wpMethod": "screw" - } - ] - }, - "Broadwell": { - "default_wpmethod": "screw", - "default_rwLegacy": null, - "default_fullrom": true, - "default_windows": "Supported", - "default_mac": "Not tested. Celeron/Pentium devices unsupported.", - "default_linux": "Supported", - "devices": [ - { - "device": [ - "Acer C740 Chromebook" - ], - "boardname": "AURON_PAINE" - }, - { - "device": [ - "Acer C910 Chromebook (CB5-571)" - ], - "boardname": "AURON_YUNA" - }, - { - "device": [ - "Acer Chromebase 24" - ], - "boardname": "BUDDY", - "wpMethod": "screw" - }, - { - "device": [ - "Toshiba Chromebook2 (2015)" - ], - "boardname": "GANDOF", - "wpMethod": "screw" - }, - { - "device": [ - "Asus Chromebox 2 (CN62)" - ], - "boardname": "GUADO", - "wpMethod": "screw", - "mac": "Tested, Supported." - }, - { - "device": [ - "Dell Chromebook 13 7310" - ], - "boardname": "LULU", - "mac": "Tested, Supported." - }, - { - "device": [ - "Acer Chromebox CXI2" - ], - "boardname": "RIKKU", - "wpMethod": "screw" - }, - { - "device": [ - "Google Chromebook Pixel (2015)" - ], - "boardname": "SAMUS", - "wpMethod": "screw" - }, - { - "device": [ - "Lenovo ThinkCentre Chromebox" - ], - "boardname": "TIDUS", - "wpMethod": "screw" - } - ] - }, - "Baytrail": { - "default_wpmethod": "screw", - "default_rwLegacy": null, - "default_fullrom": true, - "default_windows": "Supported", - "default_mac": "No MacOS support.", - "default_linux": "Supported", - "devices": [ - { - "device": [ - "Acer Chromebook 15 (CB3-531)" - ], - "boardname": "BANJO" - }, - { - "device": [ - "Dell Chromebook 11 (3120)" - ], - "boardname": "CANDY" - }, - { - "device": [ - "Lenovo N20/N20P Chromebook" - ], - "boardname": "CLAPPER" - }, - { - "device": [ - "Lenovo N21 Chromebook" - ], - "boardname": "ENGUARDE" - }, - { - "device": [ - "Lenovo ThinkPad 11e/Yoga Chromebook" - ], - "boardname": "GLIMMER" - }, - { - "device": [ - "Acer Chromebook 11 (CB3-111/131, C730, C730E, C735)" - ], - "boardname": "GNAWTY" - }, - { - "device": [ - "Haier Chromebook G2" - ], - "boardname": "HELI" - }, - { - "device": [ - "HP Chromebook 11 G3/G4", - "HP Chromebook 14 G4" - ], - "boardname": "KIP" - }, - { - "device": [ - "AOpen Chromebox Commercial" - ], - "boardname": "NINJA" - }, - { - "device": [ - "Lenovo Ideapad 100S Chromebook" - ], - "boardname": "ORCO" - }, - { - "device": [ - "Asus Chromebook C300" - ], - "boardname": "QUAWKS" - }, - { - "device": [ - "Asus Chromebook C200" - ], - "boardname": "SQUAWKS" - }, - { - "device": [ - "AOpen Chromebase Commercial" - ], - "boardname": "SUMO" - }, - { - "device": [ - "Toshiba Chromebook 2 (2014)" - ], - "boardname": "SWANKY" - }, - { - "device": [ - "Samsung Chromebook 2 (XE500C12)" - ], - "boardname": "WINKY" - } - ] - }, - "Braswell": { - "default_wpmethod": "screw", - "default_rwLegacy": null, - "default_fullrom": true, - "default_windows": "Supported", - "default_mac": "No MacOS support.", - "default_linux": "Supported", - "devices": [ - { - "device": [ - "Acer Chromebook 15 (CB3-532)" - ], - "boardname": "BANON" - }, - { - "device": [ - "Samsung Chromebook 3" - ], - "boardname": "CELES", - "wpMethod": "screw", - "windows": "Requires platform clock workaround. (See post install)" - }, - { - "device": [ - "Acer Chromebook R11 (C738T, CB5-132T)" - ], - "windows": "No microphone support", - "boardname": "CYAN", - "wpMethod": "screw" - }, - { - "device": [ - "Acer Chromebook 14 (CB3-431)" - ], - "boardname": "EDGAR", - "wpMethod": "screw" - }, - { - "device": [ - "Dell Chromebook 11 3180/3189" - ], - "boardname": "KEFKA", - "wpMethod": "screw" - }, - { - "device": [ - "Lenovo N22/N42 Chromebook" - ], - "boardname": "REKS", - "wpMethod": "screw" - }, - { - "device": [ - "Acer Chromebook 11 N7 (C731)", - "CTL NL61 Chromebook", - "Edxis Education Chromebook (NL6D)", - "HP Chromebook 11 G5 EE", - "Mecer V2 Chromebook", - "Positivo Chromebook C216B" - ], - "boardname": "RELM", - "wpMethod": "screw" - }, - { - "device": [ - "HP Chromebook 11 G5" - ], - "boardname": "SETZER", - "wpMethod": "screw" - }, - { - "device": [ - "Asus Chromebook C202S/C202SA" - ], - "boardname": "TERRA", - "wpMethod": "screw" - }, - { - "device": [ - "Asus Chromebook C300SA/C301SA" - ], - "boardname": "TERRA13", - "wpMethod": "screw" - }, - { - "device": [ - "Lenovo ThinkPad 11e/Yoga Chromebook (G3)" - ], - "boardname": "ULTIMA", - "wpMethod": "screw" - }, - { - "device": [ - "CTL J5 Chromebook", - "Edugear CMT Chromebook", - "Haier Chromebook 11 C", - "Multilaser Chromebook M11C", - "PCMerge Chromebook PCM-116T-432B", - "Prowise Chromebook Proline", - "Viglen Chromebook 360" - ], - "boardname": "WIZPIG", - "wpMethod": "screw" - } - ] - }, - "Skylake": { - "default_wpmethod": "screw", - "default_rwLegacy": null, - "default_fullrom": true, - "default_windows": "Audio driver is paid.", - "default_mac": "Not tested. Celeron/Pentium devices unsupported.", - "default_linux": "max98357a doesn't have a volume limiter so speakers could get fried.", - "devices": [ - { - "device": [ - "Dell Chromebook 13 3380" - ], - "boardname": "ASUKA" - }, - { - "device": [ - "Samsung Chromebook Pro" - ], - "boardname": "CAROLINE", - "mac": "Tested, unsupported. HD 515 broken, artifacts in recovery. EmeraldSDHC kernel panics." - }, - { - "device": [ - "Asus Chromebook C302CA" - ], - "boardname": "CAVE" - }, - { - "device": [ - "HP Chromebook 13 G1" - ], - "boardname": "CHELL" - }, - { - "device": [ - "Acer Chromebook 14 for Work", - "Acer Chromebook 11 (C771/C771T)" - ], - "boardname": "LARS", - "mac": "Tested, supported. No touchscreen support." - }, - { - "device": [ - "Lenovo Thinkpad 13 Chromebook" - ], - "boardname": "SENTRY" - } - ] - }, - "Apollolake": { - "default_wpmethod": "CR50 (battery)", - "default_rwLegacy": true, - "default_fullrom": true, - "default_windows": "Audio driver is paid. Buggy SD card.", - "default_mac": "No MacOS support.", - "default_linux": "MicroSD detection issues

No headphone jack on SOF

max98357a on AVS doesn't have a volume limiter so speakers could get fried", - "devices": [ - { - "device": [ - "Acer Chromebook 11 (C732)" - ], - "boardname": "ASTRONAUT" - }, - { - "device": [ - "Asus Chromebook C223NA" - ], - "boardname": "BABYMEGA" - }, - { - "device": [ - "Asus Chromebook C523NA" - ], - "boardname": "BABYTIGER" - }, - { - "device": [ - "CTL Chromebook NL7/NL7T", - "Edxis Chromebook 11/X11", - "Positivo Chromebook N2110/N2112", - "Viglen Chromebook 360C", - "" - ], - "boardname": "BLACKTIP" - }, - { - "device": [ - "Acer Chromebook 15 (CB315)" - ], - "boardname": "BLUE" - }, - { - "device": [ - "Acer Chromebook Spin 15 (CP315)" - ], - "boardname": "BRUCE" - }, - { - "device": [ - "Acer Chromebook Spin 11 (R751T)" - ], - "boardname": "ELECTRO" - }, - { - "device": [ - "Acer Chromebook 514" - ], - "boardname": "EPAULETTE" - }, - { - "device": [ - "Acer Chromebook Spin 11 CP311" - ], - "boardname": "LAVA" - }, - { - "device": [ - "Dell Chromebook 11 5190" - ], - "boardname": "NASHER" - }, - { - "device": [ - "Dell Chromebook 11 5190 2-in-1" - ], - "boardname": "NASHER360" - }, - { - "device": [ - "Lenovo Thinkpad 11e/Yoga 11e (G4)" - ], - "boardname": "PYRO" - }, - { - "device": [ - "Asus Chromebook C423" - ], - "boardname": "RABBID" - }, - { - "device": [ - "Asus Chromebook Flip C213SA" - ], - "boardname": "REEF" - }, - { - "device": [ - "Lenovo 100e Chromebook" - ], - "boardname": "ROBO" - }, - { - "device": [ - "Lenovo 500e Chromebook" - ], - "boardname": "ROBO360" - }, - { - "device": [ - "Acer Chromebook 15 (CB515-1HT)" - ], - "boardname": "SAND" - }, - { - "device": [ - "Acer Chromebook 11 (CB311-8H)" - ], - "boardname": "SANTA" - }, - { - "device": [ - "HP Chromebook x360 11 G1 EE", - "HP Chromebook 11 G6", - "HP Chromebook 14 G5" - ], - "boardname": "SNAPPY" - }, - { - "device": [ - "CTL Chromebook J41/J41T", - "PCmerge Chromebook AL116", - "Prowise Chromebook Eduline", - "Sector 5 E3 Chromebook", - "Viglen Chromebook 11C" - ], - "boardname": "WHITETIP" - } - ] - }, - "Kabylake / Amberlake": { - "default_wpmethod": "CR50 (battery)", - "default_rwLegacy": true, - "default_fullrom": true, - "default_windows": "Audio driver is paid.", - "default_mac": "Not tested. Celeron/Pentium devices unsupported.", - "default_linux": "max98357a doesn't have a volume limiter so speakers could get fried.", - "devices": [ - { - "device": [ - "Acer Chromebook 13" - ], - "boardname": "AKALI" - }, - { - "device": [ - "Acer Chromebook Spin 13" - ], - "boardname": "AKALI360", - "mac": "Tested, unsupported. EmeraldSDHC does not show eMMC drive. EmeraldSDHC + IRQ Conflict patch causes kernel panic" - }, - { - "device": [ - "Google Pixelbook Go (2019)" - ], - "boardname": "ATLAS", - "windows": "Audio driver is paid. No webcam support.", - "linux": "Cameras don't work.", - "mac": "Tested, Supported." - }, - { - "device": [ - "Acer Chromebook 715 (CB715)" - ], - "boardname": "BARD" - }, - { - "device": [ - "Acer Chromebook 714 (CB714)" - ], - "boardname": "EKKO" - }, - { - "device": [ - "Google Pixelbook (2017)" - ], - "boardname": "EVE", - "mac": "Tested, Supported." - }, - { - "device": [ - "Asus Google Meet kit (KBL)" - ], - "boardname": "EXCELSIOR", - "wpMethod": "CR50, screw" - }, - { - "device": [ - "AOpen Chromebox Commercial 2", - "Newline Chromebox A10" - ], - "boardname": "JAX", - "wpMethod": "CR50, screw" - }, - { - "device": [ - "Acer Chromebase 24I2" - ], - "boardname": "KARMA", - "wpMethod": "CR50, screw" - }, - { - "device": [ - "HP Chromebox G2" - ], - "boardname": "KENCH", - "wpMethod": "CR50, screw" - }, - { - "device": [ - "Asus Chromebook C425" - ], - "boardname": "LEONA", - "mac": "Tested, Supported." - }, - { - "device": [ - "Samsung Chromebook Plus V2" - ], - "boardname": "NAUTILUS", - "linux": "Camera on the keyboard doesn't work.", - "mac": "Tested, unsupported. HD 615 broken, will not boot without Ivy Bridge CPUID spoof and -igfxvesa. No acceleration." - }, - { - "device": [ - "Google Pixel Slate" - ], - "boardname": "NOCTURNE", - "windows": "Audio driver is paid. No webcam support.", - "linux": "Cameras don't work.", - "mac": "Tested, Supported." - }, - { - "device": [ - "Lenovo Yoga Chromebook C630" - ], - "boardname": "PANTHEON" - }, - { - "device": [ - "Asus Chromebook Flip C433/C434" - ], - "boardname": "SHYVANA", - "mac": "Tested, Supported." - }, - { - "device": [ - "Acer Chromebox CXI3" - ], - "boardname": "SION", - "wpMethod": "CR50, screw" - }, - { - "device": [ - "HP Chromebook x360 14" - ], - "boardname": "SONA" - }, - { - "device": [ - "HP Chromebook X2" - ], - "boardname": "SORAKA" - }, - { - "device": [ - "HP Chromebook 15 G1" - ], - "boardname": "SYNDRA" - }, - { - "device": [ - "Asus Chromebox 3 (CN65)" - ], - "boardname": "TEEMO", - "wpMethod": "CR50, screw" - }, - { - "device": [ - "Dell Inspiron Chromebook 14 (7460)" - ], - "boardname": "VAYNE" - }, - { - "device": [ - "CTL Chromebox CBx1", - "Promethean Chromebox", - "SMART Chromebox G3", - "ViewSonic NMP660 Chromebox" - ], - "boardname": "WUKONG", - "wpMethod": "CR50, screw" - } - ] - }, - "Geminilake": { - "default_wpmethod": "CR50 (battery)", - "default_rwLegacy": true, - "default_fullrom": true, - "default_windows": "Audio driver is paid.", - "default_mac": "No MacOS support.", - "default_linux": "Supported", - "devices": [ - { - "device": [ - "Asus Chromebook Flip C214/C234" - ], - "boardname": "AMPTON" - }, - { - "device": [ - "Asus Chromebook Flip C204" - ], - "boardname": "APEL" - }, - { - "device": [ - "HP Chromebook x360 12b-ca0" - ], - "boardname": "BLOOG" - }, - { - "device": [ - "HP Chromebook 14a-na0" - ], - "boardname": "BLOOGLET" - }, - { - "device": [ - "HP Chromebook x360 14a-ca0/14b-ca0" - ], - "boardname": "BLOOGUARD" - }, - { - "device": [ - "Acer Chromebook 315" - ], - "boardname": "BLORB" - }, - { - "device": [ - "Samsung Chromebook 4" - ], - "boardname": "BLUEBIRD" - }, - { - "device": [ - "Acer Chromebook 311", - "(CB311-9H, CB311-9HT, C733, C733U, C733T)" - ], - "boardname": "BOBBA" - }, - { - "device": [ - "Acer Chromebook Spin 311 (CP311-2H, CP311-2HN)", - "Acer Chromebook Spin 511 (R752T, R752TN)" - ], - "boardname": "BOBBA360" - }, - { - "device": [ - "Samsung Chromebook 4+" - ], - "boardname": "CASTA" - }, - { - "device": [ - "NEC Chromebook Y2" - ], - "boardname": "DOOD" - }, - { - "device": [ - "HP Chromebook 14 G6" - ], - "boardname": "DORP" - }, - { - "device": [ - "Acer Chromebook 314 (CB314)", - "Packard Bell Chromebook 314 (PCB314)" - ], - "boardname": "DROID" - }, - { - "device": [ - "Dell Chromebook 3100" - ], - "boardname": "FLEEX" - }, - { - "device": [ - "CTL Chromebook VX11/VX11T", - "Poin2 Chromebook 11P" - ], - "boardname": "FOOB" - }, - { - "device": [ - "Poin2 Chromebook 11P" - ], - "boardname": "FOOB360" - }, - { - "device": [ - "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" - ], - "boardname": "GARG" - }, - { - "device": [ - "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" - ], - "boardname": "GARG360" - }, - { - "device": [ - "CTL Chromebook NL81/NL81T" - ], - "boardname": "GARFOUR" - }, - { - "device": [ - "Acer Chromebook 311" - ], - "boardname": "GLK" - }, - { - "device": [ - "Acer Chromebook Spin 311" - ], - "boardname": "GLK360" - }, - { - "device": [ - "Dell Chromebook 3100 2-in-1" - ], - "boardname": "GRABBITER" - }, - { - "device": [ - "Lenovo Chromebook C340" - ], - "boardname": "LASER" - }, - { - "device": [ - "Lenovo Chromebook S340/IdeaPad 3" - ], - "boardname": "LASER14" - }, - { - "device": [ - "Lenovo Ideapad 3 Chromebook" - ], - "boardname": "LICK" - }, - { - "device": [ - "HP Chromebook x360 11 G2 EE" - ], - "boardname": "MEEP" - }, - { - "device": [ - "HP Chromebook 11 G7 EE" - ], - "boardname": "MIMROCK" - }, - { - "device": [ - "Asus Chromebook C424" - ], - "boardname": "NOSPIKE" - }, - { - "device": [ - "Dell Chromebook 3400" - ], - "boardname": "ORBATRIX" - }, - { - "device": [ - "Lenovo 100e Chromebook Gen 2" - ], - "boardname": "PHASER" - }, - { - "device": [ - "Lenovo 300e Chromebook Gen 2/IdeaPad Flex 3", - "NEC Chromebook Y1" - ], - "boardname": "PHASER360" - }, - { - "device": [ - "Lenovo 500e Chromebook Gen 2" - ], - "boardname": "PHASER360S" - }, - { - "device": [ - "Acer Chromebook 512 (C851/C851T)" - ], - "boardname": "SPARKY" - }, - { - "device": [ - "Acer Chromebook Spin 512 (R851TN)" - ], - "boardname": "SPARKY360" - }, - { - "device": [ - "HP Chromebook 11 G8 EE" - ], - "boardname": "VORTICON" - }, - { - "device": [ - "HP Chromebook x360 11 G3 EE" - ], - "boardname": "VORTININJA" - } - ] - }, - "Whiskeylake": { - "default_wpmethod": "battery", - "default_rwLegacy": true, - "default_fullrom": false, - "default_windows": "?", - "default_mac": "Not tested. Celeron/Pentium devices unsupported.", - "default_linux": "?", - "devices": [ - { - "device": [ - "Dell Latitude 5300 2-in-1 Chromebook Enterprise" - ], - "boardname": "ARCADA" - }, - { - "device": [ - "Dell Latitude 5400 Chromebook Enterprise" - ], - "boardname": "SARIEN", - "linux": "Sim card slot was not tested. Everything else works under RW_LEGACY. This Chromebook has upgradable RAM and SSD." - } - ] - }, - "Cometlake": { - "default_wpmethod": "CR50 (battery)", - "default_rwLegacy": false, - "default_fullrom": true, - "default_windows": "Audio driver is paid.", - "default_mac": "Not tested. Celeron/Pentium devices unsupported.", - "default_linux": "Supported", - "devices": [ - { - "device": [ - "Lenovo Ideapad Flex 5 Chromebook" - ], - "boardname": "AKEMI" - }, - { - "device": [ - "HP Chromebook x360 14c-ca0" - ], - "boardname": "DRAGONAIR", - "linux": "Fingerprint reader doesn't work", - "mac": "Tested, Supported.

Requires `DevirtualiseMmio` to be disabled." - }, - { - "device": [ - "Dell Latitude 7410 Chromebook Enterprise" - ], - "boardname": "DRALLION", - "rwLegacy": true, - "windows": "Supported", - "mac": "Tested, Supported.

Requires `DevirtualiseMmio` to be disabled." - }, - { - "device": [ - "HP Pro c640 Chromebook" - ], - "boardname": "DRATINI", - "linux": "Fingerprint reader doesn't work" - }, - { - "device": [ - "Asus Chromebox 4" - ], - "boardname": "DUFFY", - "rwLegacy": true, - "wpMethod": "CR50, jumper" - }, - { - "device": [ - "Asus Fanless Chromebox" - ], - "boardname": "FAFFY", - "rwLegacy": true, - "wpMethod": "CR50, jumper" - }, - { - "device": [ - "Asus Chromebook Flip C436FA" - ], - "boardname": "HELIOS" - }, - { - "device": [ - "HP Elite c1030 Chromebook", - "HP Chromebook x360 13c-ca0" - ], - "boardname": "JINLON", - "linux": "Fingerprint reader doesn't work" - }, - { - "device": [ - "Acer Chromebox CXI4" - ], - "boardname": "KAISA", - "rwLegacy": true, - "wpMethod": "CR50, jumper" - }, - { - "device": [ - "Acer Chromebook 712 (C871)" - ], - "boardname": "KINDRED" - }, - { - "device": [ - "Acer Chromebook Spin 713 (CP713-2W)" - ], - "boardname": "KLED", - "mac": "Tested, Supported.

Requires `DevirtualiseMmio` to be disabled." - }, - { - "device": [ - "Samsung Galaxy Chromebook" - ], - "boardname": "KOHAKU", - "linux": "Fingerprint reader doesn't work.

Sleep issues related to EC (wakes up with lid closed)" - }, - { - "device": [ - "Samsung Galaxy Chromebook 2" - ], - "boardname": "NIGHTFURY" - }, - { - "device": [ - "HP Chromebox G3" - ], - "boardname": "NOIBAT", - "rwLegacy": true, - "wpMethod": "CR50, jumper" - }, - { - "device": [ - "CTL Chromebox CBx2" - ], - "boardname": "WYVERN", - "rwLegacy": true, - "wpMethod": "CR50, jumper" - } - ] - }, - "TigerLake": { - "default_wpmethod": "CR50 (battery)", - "default_rwLegacy": true, - "default_fullrom": true, - "default_windows": "Audio and Thunderbolt drivers are paid.", - "default_mac": "No MacOS support.", - "default_linux": "No fingerprint functionality on models that have it.

USB4 requires systemd service (See post install)", - "devices": [ - { - "device": [ - "FMV Chromebook 14F" - ], - "boardname": "CHRONICLER" - }, - { - "device": [ - "Asus Chromebook Flip CX3" - ], - "boardname": "COLLIS" - }, - { - "device": [ - "Asus Chromebook Flip CX5 (CX5400)" - ], - "boardname": "COPANO" - }, - { - "device": [ - "Asus Chromebook Flip CX55, CX5 (CX5500), C536" - ], - "boardname": "DELBIN" - }, - { - "device": [ - "Asus Chromebook CX9 (CX9400)" - ], - "boardname": "DROBIT" - }, - { - "device": [ - "HP Chromebook x360 14c-cc0" - ], - "boardname": "ELDRID" - }, - { - "device": [ - "HP Pro c640 G2 Chromebook", - "HP Chromebook 14b-nb0" - ], - "boardname": "ELEMI" - }, - { - "device": [ - "Lenovo IdeaPad Flex 5i Chromebook" - ], - "boardname": "LILLIPUP" - }, - { - "device": [ - "Lenovo 5i-14 Chromebook", - "Lenovo Slim 5 Chromebook" - ], - "boardname": "LINDAR" - }, - { - "device": [ - "Acer Chromebook Spin 514 (CB514-2H)" - ], - "boardname": "VOEMA" - }, - { - "device": [ - "Acer Chromebook 515 (CB515-1W, CB515-1WT)" - ], - "boardname": "VOLET" - }, - { - "device": [ - "Acer Chromebook 514 (CB514-1W, CB514-1WT)" - ], - "boardname": "VOLTA" - }, - { - "device": [ - "Acer Chromebook Spin 713 (CP713-3W)" - ], - "boardname": "VOXEL" - } - ] - }, - "JasperLake": { - "default_wpmethod": "CR50, jumper", - "default_rwLegacy": true, - "default_fullrom": true, - "default_windows": "Audio driver is paid.", - "default_mac": "No MacOS support.", - "default_linux": "Cameras untested.", - "devices": [ - { - "device": [ - "Lenovo Flex 3i 15 / Ideapad Flex 3i Chromebook" - ], - "boardname": "BEETLEY" - }, - { - "device": [ - "Lenovo 3i-15 Chromebook" - ], - "boardname": "BLIPPER" - }, - { - "device": [ - "Lenovo 100e Chromebook Gen 3" - ], - "boardname": "BOOKEM", - "wpMethod": "CR50, jumper" - }, - { - "device": [ - "Lenovo 500e Chromebook Gen 3" - ], - "boardname": "BOTEN", - "wpMethod": "CR50, jumper" - }, - { - "device": [ - "Lenovo Flex 3i-11 / IdeaPad Flex 3i Chromebook" - ], - "boardname": "BOTENFLEX", - "wpMethod": "CR50, jumper" - }, - { - "device": [ - "Samsung Galaxy Chromebook 2 360" - ], - "boardname": "BUGZZY" - }, - { - "device": [ - "Dell Chromebook 3110" - ], - "boardname": "CRET" - }, - { - "device": [ - "Dell Chromebook 3110 2-in-1" - ], - "boardname": "CRET360" - }, - { - "device": [ - "HP Chromebook x360 11 G4 EE" - ], - "boardname": "DRAWCIA", - "wpMethod": "CR50, jumper" - }, - { - "device": [ - "HP Chromebook 11 G9 EE" - ], - "boardname": "DRAWLAT", - "wpMethod": "CR50, jumper" - }, - { - "device": [ - "HP Chromebook 14 G7" - ], - "boardname": "DRAWMAN", - "wpMethod": "CR50, jumper" - }, - { - "device": [ - "HP Fortis 14 G10 Chromebook" - ], - "boardname": "DRAWPER", - "wpMethod": "CR50, jumper" - }, - { - "device": [ - "Asus Chromebook CX1500CKA" - ], - "boardname": "GALITH" - }, - { - "device": [ - "Asus Chromebook CX1500FKA" - ], - "boardname": "GALITH360" - }, - { - "device": [ - "Asus Chromebook CX1700CKA" - ], - "boardname": "GALLOP" - }, - { - "device": [ - "Asus Chromebook CX1 CX1102" - ], - "boardname": "GALNAT" - }, - { - "device": [ - "Asus Chromebook Flip CX1 CX1102" - ], - "boardname": "GALNAT360" - }, - { - "device": [ - "Asus Chromebook CX1" - ], - "boardname": "GALTIC" - }, - { - "device": [ - "Asus Chromebook CX1400FKA" - ], - "boardname": "GALTIC360" - }, - { - "device": [ - "CTL Chromebook NL72" - ], - "boardname": "KRACKO" - }, - { - "device": [ - "CTL Chromebook NL72T", - "LG Chromebook 11TC50Q/11TQ50Q" - ], - "boardname": "KRACKO360" - }, - { - "device": [ - "HP Chromebook x360 14a-ca1" - ], - "boardname": "LANDIA" - }, - { - "device": [ - "HP Chromebook 15a-na0" - ], - "boardname": "LANDRID" - }, - { - "device": [ - "HP Chromebook 14a-na1" - ], - "boardname": "LANTIS" - }, - { - "device": [ - "HP Chromebook x360 14b-cb0" - ], - "boardname": "MADOO" - }, - { - "device": [ - "Acer Chromebook Spin 314" - ], - "boardname": "MAGISTER" - }, - { - "device": [ - "Acer Chromebook 512 [C852]" - ], - "boardname": "MAGLET" - }, - { - "device": [ - "Acer Chromebook Spin 512 [R853TA/R853TNA]" - ], - "boardname": "MAGLIA", - "wpMethod": "CR50, jumper" - }, - { - "device": [ - "Acer Chromebook 511 [C733/C734]" - ], - "boardname": "MAGLITH" - }, - { - "device": [ - "Acer Chromebook 315 [CB315-4H/4HT]" - ], - "boardname": "MAGMA" - }, - { - "device": [ - "Acer Chromebook 314 [CB314-3H/3HT, C934/C934T]" - ], - "boardname": "MAGNETO" - }, - { - "device": [ - "Acer Chromebook Spin 511 [R753T]" - ], - "boardname": "MAGOLOR" - }, - { - "device": [ - "Acer Chromebook 317 [CB317-1H]" - ], - "boardname": "MAGPIE", - "wpMethod": "CR50, jumper" - }, - { - "device": [ - "NEC Chromebook Y3" - ], - "boardname": "METAKNIGHT", - "wpMethod": "CR50, jumper" - }, - { - "device": [ - "Gateway Chromebook 15" - ], - "boardname": "PASARA" - }, - { - "device": [ - "Axioo Chromebook P11", - "CTL Chromebook PX11E", - "SPC Chromebook Z1 Mini", - "Zyrex Chromebook M432-2" - ], - "boardname": "PIRETTE" - }, - { - "device": [ - "Axioo Chromebook P14", - "Gateway Chromebook 14" - ], - "boardname": "PIRIKA" - }, - { - "device": [ - "Samsung Galaxy Chromebook Go" - ], - "boardname": "SASUKE" - }, - { - "device": [ - "Asus Chromebook CR1100CKA" - ], - "boardname": "STORO" - }, - { - "device": [ - "Asus Chromebook Flip CR1100FKA" - ], - "boardname": "STORO360" - } - ] - }, - "Alderlake": { - "default_wpmethod": "CR50", - "default_rwLegacy": true, - "default_fullrom": true, - "default_windows": "Audio and Thunderbolt drivers are paid.", - "default_mac": "No MacOS support.", - "default_linux": "No fingerprint functionality on models that have it.

USB4 requires systemd service (See post install)", - "devices": [ - { - "device": [ - "HP Elite c640 14 inch G3 Chromebook" - ], - "boardname": "ANAHERA" - }, - { - "device": [ - "Framework Laptop Chromebook Edition" - ], - "boardname": "BANSHEE" - }, - { - "device": [ - "Dell Latitude 5430 Chromebook" - ], - "boardname": "CROTA" - }, - { - "device": [ - "Dell Latitude 5430 2-in-1 Chromebook" - ], - "boardname": "CROTA360" - }, - { - "device": [ - "Asus Chromebook Flip CX5 (CX5601)" - ], - "boardname": "FELWINTER" - }, - { - "device": [ - "HP Chromebook x360 14c-cd0" - ], - "boardname": "GIMBLE" - }, - { - "device": [ - "Acer Chromebook Spin 714 (CP714-1WN)" - ], - "boardname": "KANO", - "windows": "Audio and Thunderbolt drivers are paid. No webcam support." - }, - { - "device": [ - "ASUS Chromebook Plus CX34" - ], - "boardname": "MARASOV" - }, - { - "device": [ - "Asus Chromebook CX34 Flip", - "Asus Chromebook Vibe CX34 Flip" - ], - "boardname": "MITHRAX" - }, - { - "device": [ - "Acer Chromebook Plus 515 (CB515-2H, CB515-2HT)" - ], - "boardname": "OMNIGUL" - }, - { - "device": [ - "Acer Chromebook 516 GE (CBG516-1H)" - ], - "boardname": "OSIRIS" - }, - { - "device": [ - "Lenovo ThinkPad C14 Gen 1 Chromebook" - ], - "boardname": "PRIMUS" - }, - { - "device": [ - "HP Elite Dragonfly Chromebook" - ], - "boardname": "REDRIX", - "windows": "Audio and Thunderbolt drivers are paid. No webcam support.", - "linux": "Touchpad needs fix, no camera, see #72" - }, - { - "device": [ - "Lenovo IdeaPad Gaming Chromebook 16" - ], - "boardname": "TANIKS" - }, - { - "device": [ - "Lenovo Flex 5i Chromebook / IdeaPad Flex 5i Chromebook" - ], - "boardname": "TAEKO" - }, - { - "device": [ - "Acer Chromebook Vero 514" - ], - "boardname": "VOLMAR" - }, - { - "device": [ - "Acer Chromebook Vero 712 (CV872, CV872T)" - ], - "boardname": "ZAVALA" - } - ] - }, - "Intel Alderlake-N": { - "default_wpmethod": "CR50", - "default_rwLegacy": true, - "default_fullrom": true, - "default_windows": "Audio and USB4 drivers are paid.", - "default_mac": "No MacOS support.", - "default_linux": "Audio may not work.", - "devices": [ - { - "device": [ - "Acer Chromebook Spin 512" - ], - "boardname": "CRAASK" - }, - { - "device": [ - "Acer Chromebook Spin 511" - ], - "boardname": "CRAASKBOWL" - }, - { - "device": [ - "Acer Chromebook 511" - ], - "boardname": "CRAASKVIN" - }, - { - "device": [ - "Acer Chromebook 314" - ], - "boardname": "CRAASNETO" - }, - { - "device": [ - "Lenovo 500e Yoga Chromebook Gen 4" - ], - "boardname": "PUJJO" - }, - { - "device": [ - "Lenovo IdeaPad Flex 3i Chromebook" - ], - "boardname": "PUJJOFLEX" - }, - { - "device": [ - "Lenovo 14e Chromebook Gen 3" - ], - "boardname": "PUJJOTEEN" - }, - { - "device": [ - "Lenovo Ideapad Slim 3i Chromebook" - ], - "boardname": "PUJJOTEEN15W" - }, - { - "device": [ - "Asus Chromebook CR11 [CR1102C]" - ], - "boardname": "XIVU" - }, - { - "device": [ - "Asus Chromebook CR11 [CR1102F]" - ], - "boardname": "XIVU360" - }, - { - "device": [ - "HP Chromebook 15a-nb0" - ], - "boardname": "YAVIKS" - }, - { - "device": [ - "HP Fortis G10 Chromebook" - ], - "boardname": "YAVILLA" - }, - { - "device": [ - "HP Fortis x360 G5 Chromebook" - ], - "boardname": "YAVILLY" - } - ] - }, - "Stoneyridge": { - "default_wpmethod": "CR50 (battery)", - "default_rwLegacy": true, - "default_fullrom": true, - "default_windows": "Experimental Windows support. Requires patched drivers with testsigning enabled.", - "default_mac": "No MacOS support.", - "default_linux": "Needs kernel compiled with AMDGPU=Y instead of =M and firmware built-in to get working audio", - "devices": [ - { - "device": [ - "Acer Chromebook 315 (CB315-2H)" - ], - "boardname": "ALEENA" - }, - { - "device": [ - "HP Chromebook 11A G6 EE", - "HP Chromebook 11A G8 EE" - ], - "boardname": "BARLA" - }, - { - "device": [ - "HP Chromebook 14A G5" - ], - "boardname": "CAREENA" - }, - { - "device": [ - "Acer Chromebook 311 (C721)" - ], - "boardname": "KASUMI" - }, - { - "device": [ - "Acer Chromebook Spin 311 (R721T)" - ], - "boardname": "KASUMI360" - }, - { - "device": [ - "Lenovo 14e Chromebook (S345)" - ], - "boardname": "LIARA" - }, - { - "device": [ - "Lenovo 100e Chromebook Gen 2 AMD" - ], - "boardname": "TREEYA" - }, - { - "device": [ - "Lenovo 300e Chromebook Gen 2 AMD" - ], - "boardname": "TREEYA360" - } - ] - }, - "Picasso/Dali": { - "default_wpmethod": "CR50 (battery)", - "default_rwLegacy": true, - "default_fullrom": true, - "default_windows": "Supported", - "default_mac": "No MacOS support.", - "default_linux": "Needs to add \"iommu=pt\" to kernel parameters", - "devices": [ - { - "device": [ - "HP Pro c645 Chromebook Enterprise", - "HP Chromebook 14b-na0" - ], - "boardname": "BERKNIP" - }, - { - "device": [ - "HP Chromebook 14a-nd0" - ], - "boardname": "DIRINBOZ" - }, - { - "device": [ - "Acer Chromebook Spin 514" - ], - "boardname": "EZKINIL" - }, - { - "device": [ - "HP Chromebook x360 14a-cb0" - ], - "boardname": "GUMBOZ" - }, - { - "device": [ - "Asus Chromebook Flip CM1" - ], - "boardname": "JELBOZ360" - }, - { - "device": [ - "Lenovo ThinkPad C13 Yoga Chromebook" - ], - "boardname": "MORPHIUS" - }, - { - "device": [ - "Lenovo 100e Chromebook Gen 3" - ], - "boardname": "VILBOZ" - }, - { - "device": [ - "Lenovo 14e Chromebook Gen 2" - ], - "boardname": "VILBOZ14" - }, - { - "device": [ - "Lenovo 300e Chromebook Gen 3" - ], - "boardname": "VILBOZ360" - }, - { - "device": [ - "Asus Chromebook Flip CM5" - ], - "boardname": "WOOMAX" - } - ] - }, - "AMD Cezanne": { - "default_wpmethod": "CR50, jumper", - "default_rwLegacy": true, - "default_fullrom": true, - "default_windows": "Audio driver is paid.", - "default_mac": "No MacOS support.", - "default_linux": "Speakers are not working currently.", - "devices": [ - { - "device": [ - "Acer Chromebook Spin 514 [CP514-3H, CP514-3HH, CP514-3WH]" - ], - "boardname": "DEWATT" - }, - { - "device": [ - "HP Elite c645 G2 Chromebook" - ], - "boardname": "NIPPERKIN" - } - ] - }, - "AMD Mendocino": { - "default_wpmethod": "CR50, jumper", - "default_rwLegacy": true, - "default_fullrom": true, - "default_windows": "Audio driver is paid.", - "default_mac": "No MacOS support.", - "default_linux": "A recent kernel (6.8+) is needed for headphones to work.", - "devices": [ - { - "device": [ - "TBD" - ], - "boardname": "CRYSTALDRIFT" - }, - { - "device": [ - "Asus Chromebook CM34 Flip" - ], - "boardname": "FROSTFLOW" - }, - { - "device": [ - "Acer Chromebook Plus 514" - ], - "boardname": "MARKARTH" - }, - { - "device": [ - "Dell Latitude 3445 Chromebook" - ], - "boardname": "WHITERUN" - } - ] - } + "Sandybridge/Ivybridge": { + "default_wpmethod": "switch", + "default_rwLegacy": false, + "default_fullrom": true, + "default_windows": "Supported", + "default_mac": "Not tested. Celeron/Pentium devices unsupported.", + "default_linux": "Supported", + "devices": [ + { + "device": ["HP Pavilion Chromebook 14"], + "boardname": "BUTTERFLY" + }, + { + "device": ["Google Chromebook Pixel (2013)"], + "boardname": "LINK", + "rwLegacy": null, + "wpMethod": "screw" + }, + { + "device": ["Samsung Chromebook Series 5 550"], + "boardname": "LUMPY", + "wpMethod": "jumper" + }, + { + "device": ["Acer C7/C710 Chromebook"], + "boardname": "PARROT", + "wpMethod": "jumper" + }, + { + "device": ["Lenovo Thinkpad X131e Chromebook"], + "boardname": "STOUT", + "wpMethod": "switch" + }, + { + "device": ["Samsung Chromebox Series 3"], + "boardname": "STUMPY", + "wpMethod": "jumper" + } + ] + }, + "Haswell": { + "default_wpmethod": "screw", + "default_rwLegacy": null, + "default_fullrom": true, + "default_windows": "Supported", + "default_mac": "Not tested. Celeron/Pentium devices unsupported.", + "default_linux": "Supported", + "devices": [ + { + "device": ["HP Chromebook 14"], + "boardname": "FALCO" + }, + { + "device": ["Toshiba Chromebook 13 (CB30)"], + "boardname": "LEON", + "wpMethod": "screw" + }, + { + "device": ["Acer Chromebox CXI"], + "boardname": "McCLOUD", + "wpMethod": "screw" + }, + { + "device": ["LG Chromebase 22"], + "boardname": "MONROE", + "wpMethod": "screw" + }, + { + "device": ["Asus Chromebox CN60"], + "boardname": "PANTHER", + "wpMethod": "screw" + }, + { + "device": ["Acer C720/C720P Chromebook"], + "boardname": "PEPPY", + "wpMethod": "screw", + "mac": "Tested, Supported." + }, + { + "device": ["Dell Chromebox 3010"], + "boardname": "TRICKY", + "wpMethod": "screw" + }, + { + "device": ["Dell Chromebook 11 (CB1C13)"], + "boardname": "WOLF", + "wpMethod": "screw" + }, + { + "device": ["HP Chromebox CB1 / G1"], + "boardname": "ZAKO", + "wpMethod": "screw" + } + ] + }, + "Broadwell": { + "default_wpmethod": "screw", + "default_rwLegacy": null, + "default_fullrom": true, + "default_windows": "Supported", + "default_mac": "Not tested. Celeron/Pentium devices unsupported.", + "default_linux": "Supported", + "devices": [ + { + "device": ["Acer C740 Chromebook"], + "boardname": "AURON_PAINE" + }, + { + "device": ["Acer C910 Chromebook (CB5-571)"], + "boardname": "AURON_YUNA" + }, + { + "device": ["Acer Chromebase 24"], + "boardname": "BUDDY", + "wpMethod": "screw" + }, + { + "device": ["Toshiba Chromebook2 (2015)"], + "boardname": "GANDOF", + "wpMethod": "screw" + }, + { + "device": ["Asus Chromebox 2 (CN62)"], + "boardname": "GUADO", + "wpMethod": "screw", + "mac": "Tested, Supported." + }, + { + "device": ["Dell Chromebook 13 7310"], + "boardname": "LULU", + "mac": "Tested, Supported." + }, + { + "device": ["Acer Chromebox CXI2"], + "boardname": "RIKKU", + "wpMethod": "screw" + }, + { + "device": ["Google Chromebook Pixel (2015)"], + "boardname": "SAMUS", + "wpMethod": "screw" + }, + { + "device": ["Lenovo ThinkCentre Chromebox"], + "boardname": "TIDUS", + "wpMethod": "screw" + } + ] + }, + "Baytrail": { + "default_wpmethod": "screw", + "default_rwLegacy": null, + "default_fullrom": true, + "default_windows": "Supported", + "default_mac": "No MacOS support.", + "default_linux": "Supported", + "devices": [ + { + "device": ["Acer Chromebook 15 (CB3-531)"], + "boardname": "BANJO" + }, + { + "device": ["Dell Chromebook 11 (3120)"], + "boardname": "CANDY" + }, + { + "device": ["Lenovo N20/N20P Chromebook"], + "boardname": "CLAPPER" + }, + { + "device": ["Lenovo N21 Chromebook"], + "boardname": "ENGUARDE" + }, + { + "device": ["Lenovo ThinkPad 11e/Yoga Chromebook"], + "boardname": "GLIMMER" + }, + { + "device": ["Acer Chromebook 11 (CB3-111/131, C730, C730E, C735)"], + "boardname": "GNAWTY" + }, + { + "device": ["Haier Chromebook G2"], + "boardname": "HELI" + }, + { + "device": ["HP Chromebook 11 G3/G4", "HP Chromebook 14 G4"], + "boardname": "KIP" + }, + { + "device": ["AOpen Chromebox Commercial"], + "boardname": "NINJA" + }, + { + "device": ["Lenovo Ideapad 100S Chromebook"], + "boardname": "ORCO" + }, + { + "device": ["Asus Chromebook C300"], + "boardname": "QUAWKS" + }, + { + "device": ["Asus Chromebook C200"], + "boardname": "SQUAWKS" + }, + { + "device": ["AOpen Chromebase Commercial"], + "boardname": "SUMO" + }, + { + "device": ["Toshiba Chromebook 2 (2014)"], + "boardname": "SWANKY" + }, + { + "device": ["Samsung Chromebook 2 (XE500C12)"], + "boardname": "WINKY" + } + ] + }, + "Braswell": { + "default_wpmethod": "screw", + "default_rwLegacy": null, + "default_fullrom": true, + "default_windows": "Supported", + "default_mac": "No MacOS support.", + "default_linux": "Supported", + "devices": [ + { + "device": ["Acer Chromebook 15 (CB3-532)"], + "boardname": "BANON" + }, + { + "device": ["Samsung Chromebook 3"], + "boardname": "CELES", + "wpMethod": "screw", + "windows": "Requires platform clock workaround. (See post install)" + }, + { + "device": ["Acer Chromebook R11 (C738T, CB5-132T)"], + "windows": "No microphone support", + "boardname": "CYAN", + "wpMethod": "screw" + }, + { + "device": ["Acer Chromebook 14 (CB3-431)"], + "boardname": "EDGAR", + "wpMethod": "screw" + }, + { + "device": ["Dell Chromebook 11 3180/3189"], + "boardname": "KEFKA", + "wpMethod": "screw" + }, + { + "device": ["Lenovo N22/N42 Chromebook"], + "boardname": "REKS", + "wpMethod": "screw" + }, + { + "device": [ + "Acer Chromebook 11 N7 (C731)", + "CTL NL61 Chromebook", + "Edxis Education Chromebook (NL6D)", + "HP Chromebook 11 G5 EE", + "Mecer V2 Chromebook", + "Positivo Chromebook C216B" + ], + "boardname": "RELM", + "wpMethod": "screw" + }, + { + "device": ["HP Chromebook 11 G5"], + "boardname": "SETZER", + "wpMethod": "screw" + }, + { + "device": ["Asus Chromebook C202S/C202SA"], + "boardname": "TERRA", + "wpMethod": "screw" + }, + { + "device": ["Asus Chromebook C300SA/C301SA"], + "boardname": "TERRA13", + "wpMethod": "screw" + }, + { + "device": ["Lenovo ThinkPad 11e/Yoga Chromebook (G3)"], + "boardname": "ULTIMA", + "wpMethod": "screw" + }, + { + "device": [ + "CTL J5 Chromebook", + "Edugear CMT Chromebook", + "Haier Chromebook 11 C", + "Multilaser Chromebook M11C", + "PCMerge Chromebook PCM-116T-432B", + "Prowise Chromebook Proline", + "Viglen Chromebook 360" + ], + "boardname": "WIZPIG", + "wpMethod": "screw" + } + ] + }, + "Skylake": { + "default_wpmethod": "screw", + "default_rwLegacy": null, + "default_fullrom": true, + "default_windows": "Audio driver is paid.", + "default_mac": "Not tested. Celeron/Pentium devices unsupported.", + "default_linux": "max98357a doesn't have a volume limiter so speakers could get fried.", + "devices": [ + { + "device": ["Dell Chromebook 13 3380"], + "boardname": "ASUKA" + }, + { + "device": ["Samsung Chromebook Pro"], + "boardname": "CAROLINE", + "mac": "Tested, unsupported. HD 515 broken, artifacts in recovery. EmeraldSDHC kernel panics." + }, + { + "device": ["Asus Chromebook C302CA"], + "boardname": "CAVE" + }, + { + "device": ["HP Chromebook 13 G1"], + "boardname": "CHELL" + }, + { + "device": [ + "Acer Chromebook 14 for Work", + "Acer Chromebook 11 (C771/C771T)" + ], + "boardname": "LARS", + "mac": "Tested, supported. No touchscreen support." + }, + { + "device": ["Lenovo Thinkpad 13 Chromebook"], + "boardname": "SENTRY" + } + ] + }, + "Apollolake": { + "default_wpmethod": "CR50 (battery)", + "default_rwLegacy": true, + "default_fullrom": true, + "default_windows": "Audio driver is paid. Buggy SD card.", + "default_mac": "No MacOS support.", + "default_linux": "MicroSD detection issues

No headphone jack on SOF

max98357a on AVS doesn't have a volume limiter so speakers could get fried", + "devices": [ + { + "device": ["Acer Chromebook 11 (C732)"], + "boardname": "ASTRONAUT" + }, + { + "device": ["Asus Chromebook C223NA"], + "boardname": "BABYMEGA" + }, + { + "device": ["Asus Chromebook C523NA"], + "boardname": "BABYTIGER" + }, + { + "device": [ + "CTL Chromebook NL7/NL7T", + "Edxis Chromebook 11/X11", + "Positivo Chromebook N2110/N2112", + "Viglen Chromebook 360C", + "" + ], + "boardname": "BLACKTIP" + }, + { + "device": ["Acer Chromebook 15 (CB315)"], + "boardname": "BLUE" + }, + { + "device": ["Acer Chromebook Spin 15 (CP315)"], + "boardname": "BRUCE" + }, + { + "device": ["Acer Chromebook Spin 11 (R751T)"], + "boardname": "ELECTRO" + }, + { + "device": ["Acer Chromebook 514"], + "boardname": "EPAULETTE" + }, + { + "device": ["Acer Chromebook Spin 11 CP311"], + "boardname": "LAVA" + }, + { + "device": ["Dell Chromebook 11 5190"], + "boardname": "NASHER" + }, + { + "device": ["Dell Chromebook 11 5190 2-in-1"], + "boardname": "NASHER360" + }, + { + "device": ["Lenovo Thinkpad 11e/Yoga 11e (G4)"], + "boardname": "PYRO" + }, + { + "device": ["Asus Chromebook C423"], + "boardname": "RABBID" + }, + { + "device": ["Asus Chromebook Flip C213SA"], + "boardname": "REEF" + }, + { + "device": ["Lenovo 100e Chromebook"], + "boardname": "ROBO" + }, + { + "device": ["Lenovo 500e Chromebook"], + "boardname": "ROBO360" + }, + { + "device": ["Acer Chromebook 15 (CB515-1HT)"], + "boardname": "SAND" + }, + { + "device": ["Acer Chromebook 11 (CB311-8H)"], + "boardname": "SANTA" + }, + { + "device": [ + "HP Chromebook x360 11 G1 EE", + "HP Chromebook 11 G6", + "HP Chromebook 14 G5" + ], + "boardname": "SNAPPY" + }, + { + "device": [ + "CTL Chromebook J41/J41T", + "PCmerge Chromebook AL116", + "Prowise Chromebook Eduline", + "Sector 5 E3 Chromebook", + "Viglen Chromebook 11C" + ], + "boardname": "WHITETIP" + } + ] + }, + "Kabylake / Amberlake": { + "default_wpmethod": "CR50 (battery)", + "default_rwLegacy": true, + "default_fullrom": true, + "default_windows": "Audio driver is paid.", + "default_mac": "Not tested. Celeron/Pentium devices unsupported.", + "default_linux": "max98357a doesn't have a volume limiter so speakers could get fried.", + "devices": [ + { + "device": ["Acer Chromebook 13"], + "boardname": "AKALI" + }, + { + "device": ["Acer Chromebook Spin 13"], + "boardname": "AKALI360", + "mac": "Tested, unsupported. EmeraldSDHC does not show eMMC drive. EmeraldSDHC + IRQ Conflict patch causes kernel panic" + }, + { + "device": ["Google Pixelbook Go (2019)"], + "boardname": "ATLAS", + "windows": "Audio driver is paid. No webcam support.", + "linux": "Cameras do not work.", + "mac": "Tested, Supported." + }, + { + "device": ["Acer Chromebook 715 (CB715)"], + "boardname": "BARD" + }, + { + "device": ["Acer Chromebook 714 (CB714)"], + "boardname": "EKKO" + }, + { + "device": ["Google Pixelbook (2017)"], + "boardname": "EVE", + "mac": "Tested, Supported." + }, + { + "device": ["Asus Google Meet kit (KBL)"], + "boardname": "EXCELSIOR", + "wpMethod": "CR50, screw" + }, + { + "device": ["AOpen Chromebox Commercial 2", "Newline Chromebox A10"], + "boardname": "JAX", + "wpMethod": "CR50, screw" + }, + { + "device": ["Acer Chromebase 24I2"], + "boardname": "KARMA", + "wpMethod": "CR50, screw" + }, + { + "device": ["HP Chromebox G2"], + "boardname": "KENCH", + "wpMethod": "CR50, screw" + }, + { + "device": ["Asus Chromebook C425"], + "boardname": "LEONA", + "mac": "Tested, Supported." + }, + { + "device": ["Samsung Chromebook Plus V2"], + "boardname": "NAUTILUS", + "linux": "Camera on the keyboard doesn't work.", + "mac": "Tested, unsupported. HD 615 broken, will not boot without Ivy Bridge CPUID spoof and -igfxvesa. No acceleration." + }, + { + "device": ["Google Pixel Slate"], + "boardname": "NOCTURNE", + "windows": "Audio driver is paid. No webcam support.", + "linux": "Cameras do not work.", + "mac": "Tested, Supported." + }, + { + "device": ["Lenovo Yoga Chromebook C630"], + "boardname": "PANTHEON" + }, + { + "device": ["Asus Chromebook Flip C433/C434"], + "boardname": "SHYVANA", + "mac": "Tested, Supported." + }, + { + "device": ["Acer Chromebox CXI3"], + "boardname": "SION", + "wpMethod": "CR50, screw" + }, + { + "device": ["HP Chromebook x360 14"], + "boardname": "SONA" + }, + { + "device": ["HP Chromebook X2"], + "boardname": "SORAKA" + }, + { + "device": ["HP Chromebook 15 G1"], + "boardname": "SYNDRA" + }, + { + "device": ["Asus Chromebox 3 (CN65)"], + "boardname": "TEEMO", + "wpMethod": "CR50, screw" + }, + { + "device": ["Dell Inspiron Chromebook 14 (7460)"], + "boardname": "VAYNE" + }, + { + "device": [ + "CTL Chromebox CBx1", + "Promethean Chromebox", + "SMART Chromebox G3", + "ViewSonic NMP660 Chromebox" + ], + "boardname": "WUKONG", + "wpMethod": "CR50, screw" + } + ] + }, + "Geminilake": { + "default_wpmethod": "CR50 (battery)", + "default_rwLegacy": true, + "default_fullrom": true, + "default_windows": "Audio driver is paid.", + "default_mac": "No MacOS support.", + "default_linux": "Supported", + "devices": [ + { + "device": ["Asus Chromebook Flip C214/C234"], + "boardname": "AMPTON" + }, + { + "device": ["Asus Chromebook Flip C204"], + "boardname": "APEL" + }, + { + "device": ["HP Chromebook x360 12b-ca0"], + "boardname": "BLOOG" + }, + { + "device": ["HP Chromebook 14a-na0"], + "boardname": "BLOOGLET" + }, + { + "device": ["HP Chromebook x360 14a-ca0/14b-ca0"], + "boardname": "BLOOGUARD" + }, + { + "device": ["Acer Chromebook 315"], + "boardname": "BLORB" + }, + { + "device": ["Samsung Chromebook 4"], + "boardname": "BLUEBIRD" + }, + { + "device": [ + "Acer Chromebook 311", + "(CB311-9H, CB311-9HT, C733, C733U, C733T)" + ], + "boardname": "BOBBA" + }, + { + "device": [ + "Acer Chromebook Spin 311 (CP311-2H, CP311-2HN)", + "Acer Chromebook Spin 511 (R752T, R752TN)" + ], + "boardname": "BOBBA360" + }, + { + "device": ["Samsung Chromebook 4+"], + "boardname": "CASTA" + }, + { + "device": ["NEC Chromebook Y2"], + "boardname": "DOOD" + }, + { + "device": ["HP Chromebook 14 G6"], + "boardname": "DORP" + }, + { + "device": [ + "Acer Chromebook 314 (CB314)", + "Packard Bell Chromebook 314 (PCB314)" + ], + "boardname": "DROID" + }, + { + "device": ["Dell Chromebook 3100"], + "boardname": "FLEEX" + }, + { + "device": ["CTL Chromebook VX11/VX11T", "Poin2 Chromebook 11P"], + "boardname": "FOOB" + }, + { + "device": ["Poin2 Chromebook 11P"], + "boardname": "FOOB360" + }, + { + "device": [ + "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" + ], + "boardname": "GARG" + }, + { + "device": [ + "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" + ], + "boardname": "GARG360" + }, + { + "device": ["CTL Chromebook NL81/NL81T"], + "boardname": "GARFOUR" + }, + { + "device": ["Acer Chromebook 311"], + "boardname": "GLK" + }, + { + "device": ["Acer Chromebook Spin 311"], + "boardname": "GLK360" + }, + { + "device": ["Dell Chromebook 3100 2-in-1"], + "boardname": "GRABBITER" + }, + { + "device": ["Lenovo Chromebook C340"], + "boardname": "LASER" + }, + { + "device": ["Lenovo Chromebook S340/IdeaPad 3"], + "boardname": "LASER14" + }, + { + "device": ["Lenovo Ideapad 3 Chromebook"], + "boardname": "LICK" + }, + { + "device": ["HP Chromebook x360 11 G2 EE"], + "boardname": "MEEP" + }, + { + "device": ["HP Chromebook 11 G7 EE"], + "boardname": "MIMROCK" + }, + { + "device": ["Asus Chromebook C424"], + "boardname": "NOSPIKE" + }, + { + "device": ["Dell Chromebook 3400"], + "boardname": "ORBATRIX" + }, + { + "device": ["Lenovo 100e Chromebook Gen 2"], + "boardname": "PHASER" + }, + { + "device": [ + "Lenovo 300e Chromebook Gen 2/IdeaPad Flex 3", + "NEC Chromebook Y1" + ], + "boardname": "PHASER360" + }, + { + "device": ["Lenovo 500e Chromebook Gen 2"], + "boardname": "PHASER360S" + }, + { + "device": ["Acer Chromebook 512 (C851/C851T)"], + "boardname": "SPARKY" + }, + { + "device": ["Acer Chromebook Spin 512 (R851TN)"], + "boardname": "SPARKY360" + }, + { + "device": ["HP Chromebook 11 G8 EE"], + "boardname": "VORTICON" + }, + { + "device": ["HP Chromebook x360 11 G3 EE"], + "boardname": "VORTININJA" + } + ] + }, + "Whiskeylake": { + "default_wpmethod": "battery", + "default_rwLegacy": true, + "default_fullrom": false, + "default_windows": "?", + "default_mac": "Not tested. Celeron/Pentium devices unsupported.", + "default_linux": "?", + "devices": [ + { + "device": ["Dell Latitude 5300 2-in-1 Chromebook Enterprise"], + "boardname": "ARCADA" + }, + { + "device": ["Dell Latitude 5400 Chromebook Enterprise"], + "boardname": "SARIEN", + "linux": "Sim card slot was not tested. Everything else works under RW_LEGACY. This Chromebook has upgradable RAM and SSD." + } + ] + }, + "Cometlake": { + "default_wpmethod": "CR50 (battery)", + "default_rwLegacy": false, + "default_fullrom": true, + "default_windows": "Audio driver is paid.", + "default_mac": "Not tested. Celeron/Pentium devices unsupported.", + "default_linux": "Supported", + "devices": [ + { + "device": ["Lenovo Ideapad Flex 5 Chromebook"], + "boardname": "AKEMI" + }, + { + "device": ["HP Chromebook x360 14c-ca0"], + "boardname": "DRAGONAIR", + "linux": "Fingerprint reader doesn't work", + "mac": "Tested, Supported.

Requires `DevirtualiseMmio` to be disabled." + }, + { + "device": ["Dell Latitude 7410 Chromebook Enterprise"], + "boardname": "DRALLION", + "rwLegacy": true, + "windows": "Supported", + "mac": "Tested, Supported.

Requires `DevirtualiseMmio` to be disabled." + }, + { + "device": ["HP Pro c640 Chromebook"], + "boardname": "DRATINI", + "linux": "Fingerprint reader doesn't work" + }, + { + "device": ["Asus Chromebox 4"], + "boardname": "DUFFY", + "rwLegacy": true, + "wpMethod": "CR50, jumper" + }, + { + "device": ["Asus Fanless Chromebox"], + "boardname": "FAFFY", + "rwLegacy": true, + "wpMethod": "CR50, jumper" + }, + { + "device": ["Asus Chromebook Flip C436FA"], + "boardname": "HELIOS" + }, + { + "device": ["HP Elite c1030 Chromebook", "HP Chromebook x360 13c-ca0"], + "boardname": "JINLON", + "linux": "Fingerprint reader doesn't work" + }, + { + "device": ["Acer Chromebox CXI4"], + "boardname": "KAISA", + "rwLegacy": true, + "wpMethod": "CR50, jumper" + }, + { + "device": ["Acer Chromebook 712 (C871)"], + "boardname": "KINDRED" + }, + { + "device": ["Acer Chromebook Spin 713 (CP713-2W)"], + "boardname": "KLED", + "mac": "Tested, Supported.

Requires `DevirtualiseMmio` to be disabled." + }, + { + "device": ["Samsung Galaxy Chromebook"], + "boardname": "KOHAKU", + "linux": "Fingerprint reader doesn't work.

Sleep issues related to EC (wakes up with lid closed)" + }, + { + "device": ["Samsung Galaxy Chromebook 2"], + "boardname": "NIGHTFURY" + }, + { + "device": ["HP Chromebox G3"], + "boardname": "NOIBAT", + "rwLegacy": true, + "wpMethod": "CR50, jumper" + }, + { + "device": ["CTL Chromebox CBx2"], + "boardname": "WYVERN", + "rwLegacy": true, + "wpMethod": "CR50, jumper" + } + ] + }, + "TigerLake": { + "default_wpmethod": "CR50 (battery)", + "default_rwLegacy": true, + "default_fullrom": true, + "default_windows": "Audio and Thunderbolt drivers are paid.", + "default_mac": "No MacOS support.", + "default_linux": "No fingerprint functionality on models that have it.

USB4 requires systemd service (See post install)", + "devices": [ + { + "device": ["FMV Chromebook 14F"], + "boardname": "CHRONICLER" + }, + { + "device": ["Asus Chromebook Flip CX3"], + "boardname": "COLLIS" + }, + { + "device": ["Asus Chromebook Flip CX5 (CX5400)"], + "boardname": "COPANO" + }, + { + "device": ["Asus Chromebook Flip CX55, CX5 (CX5500), C536"], + "boardname": "DELBIN" + }, + { + "device": ["Asus Chromebook CX9 (CX9400)"], + "boardname": "DROBIT" + }, + { + "device": ["HP Chromebook x360 14c-cc0"], + "boardname": "ELDRID" + }, + { + "device": ["HP Pro c640 G2 Chromebook", "HP Chromebook 14b-nb0"], + "boardname": "ELEMI" + }, + { + "device": ["Lenovo IdeaPad Flex 5i Chromebook"], + "boardname": "LILLIPUP" + }, + { + "device": ["Lenovo 5i-14 Chromebook", "Lenovo Slim 5 Chromebook"], + "boardname": "LINDAR" + }, + { + "device": ["Acer Chromebook Spin 514 (CB514-2H)"], + "boardname": "VOEMA" + }, + { + "device": ["Acer Chromebook 515 (CB515-1W, CB515-1WT)"], + "boardname": "VOLET" + }, + { + "device": ["Acer Chromebook 514 (CB514-1W, CB514-1WT)"], + "boardname": "VOLTA" + }, + { + "device": ["Acer Chromebook Spin 713 (CP713-3W)"], + "boardname": "VOXEL" + } + ] + }, + "JasperLake": { + "default_wpmethod": "CR50, jumper", + "default_rwLegacy": true, + "default_fullrom": true, + "default_windows": "Audio driver is paid.", + "default_mac": "No MacOS support.", + "default_linux": "Cameras untested.", + "devices": [ + { + "device": ["Lenovo Flex 3i 15 / Ideapad Flex 3i Chromebook"], + "boardname": "BEETLEY" + }, + { + "device": ["Lenovo 3i-15 Chromebook"], + "boardname": "BLIPPER" + }, + { + "device": ["Lenovo 100e Chromebook Gen 3"], + "boardname": "BOOKEM", + "wpMethod": "CR50, jumper" + }, + { + "device": ["Lenovo 500e Chromebook Gen 3"], + "boardname": "BOTEN", + "wpMethod": "CR50, jumper" + }, + { + "device": ["Lenovo Flex 3i-11 / IdeaPad Flex 3i Chromebook"], + "boardname": "BOTENFLEX", + "wpMethod": "CR50, jumper" + }, + { + "device": ["Samsung Galaxy Chromebook 2 360"], + "boardname": "BUGZZY" + }, + { + "device": ["Dell Chromebook 3110"], + "boardname": "CRET" + }, + { + "device": ["Dell Chromebook 3110 2-in-1"], + "boardname": "CRET360" + }, + { + "device": ["HP Chromebook x360 11 G4 EE"], + "boardname": "DRAWCIA", + "wpMethod": "CR50, jumper" + }, + { + "device": ["HP Chromebook 11 G9 EE"], + "boardname": "DRAWLAT", + "wpMethod": "CR50, jumper" + }, + { + "device": ["HP Chromebook 14 G7"], + "boardname": "DRAWMAN", + "wpMethod": "CR50, jumper" + }, + { + "device": ["HP Fortis 14 G10 Chromebook"], + "boardname": "DRAWPER", + "wpMethod": "CR50, jumper" + }, + { + "device": ["Asus Chromebook CX1500CKA"], + "boardname": "GALITH" + }, + { + "device": ["Asus Chromebook CX1500FKA"], + "boardname": "GALITH360" + }, + { + "device": ["Asus Chromebook CX1700CKA"], + "boardname": "GALLOP" + }, + { + "device": ["Asus Chromebook CX1 CX1102"], + "boardname": "GALNAT" + }, + { + "device": ["Asus Chromebook Flip CX1 CX1102"], + "boardname": "GALNAT360" + }, + { + "device": ["Asus Chromebook CX1"], + "boardname": "GALTIC" + }, + { + "device": ["Asus Chromebook CX1400FKA"], + "boardname": "GALTIC360" + }, + { + "device": ["CTL Chromebook NL72"], + "boardname": "KRACKO" + }, + { + "device": ["CTL Chromebook NL72T", "LG Chromebook 11TC50Q/11TQ50Q"], + "boardname": "KRACKO360" + }, + { + "device": ["HP Chromebook x360 14a-ca1"], + "boardname": "LANDIA" + }, + { + "device": ["HP Chromebook 15a-na0"], + "boardname": "LANDRID" + }, + { + "device": ["HP Chromebook 14a-na1"], + "boardname": "LANTIS" + }, + { + "device": ["HP Chromebook x360 14b-cb0"], + "boardname": "MADOO" + }, + { + "device": ["Acer Chromebook Spin 314"], + "boardname": "MAGISTER" + }, + { + "device": ["Acer Chromebook 512 [C852]"], + "boardname": "MAGLET" + }, + { + "device": ["Acer Chromebook Spin 512 [R853TA/R853TNA]"], + "boardname": "MAGLIA", + "wpMethod": "CR50, jumper" + }, + { + "device": ["Acer Chromebook 511 [C733/C734]"], + "boardname": "MAGLITH" + }, + { + "device": ["Acer Chromebook 315 [CB315-4H/4HT]"], + "boardname": "MAGMA" + }, + { + "device": ["Acer Chromebook 314 [CB314-3H/3HT, C934/C934T]"], + "boardname": "MAGNETO" + }, + { + "device": ["Acer Chromebook Spin 511 [R753T]"], + "boardname": "MAGOLOR" + }, + { + "device": ["Acer Chromebook 317 [CB317-1H]"], + "boardname": "MAGPIE", + "wpMethod": "CR50, jumper" + }, + { + "device": ["NEC Chromebook Y3"], + "boardname": "METAKNIGHT", + "wpMethod": "CR50, jumper" + }, + { + "device": ["Gateway Chromebook 15"], + "boardname": "PASARA" + }, + { + "device": [ + "Axioo Chromebook P11", + "CTL Chromebook PX11E", + "SPC Chromebook Z1 Mini", + "Zyrex Chromebook M432-2" + ], + "boardname": "PIRETTE" + }, + { + "device": ["Axioo Chromebook P14", "Gateway Chromebook 14"], + "boardname": "PIRIKA" + }, + { + "device": ["Samsung Galaxy Chromebook Go"], + "boardname": "SASUKE" + }, + { + "device": ["Asus Chromebook CR1100CKA"], + "boardname": "STORO" + }, + { + "device": ["Asus Chromebook Flip CR1100FKA"], + "boardname": "STORO360" + } + ] + }, + "Alderlake": { + "default_wpmethod": "CR50", + "default_rwLegacy": true, + "default_fullrom": true, + "default_windows": "Audio and Thunderbolt drivers are paid.", + "default_mac": "No MacOS support.", + "default_linux": "No fingerprint functionality on models that have it.

USB4 requires systemd service (See post install)", + "devices": [ + { + "device": ["HP Elite c640 14 inch G3 Chromebook"], + "boardname": "ANAHERA" + }, + { + "device": ["Framework Laptop Chromebook Edition"], + "boardname": "BANSHEE" + }, + { + "device": ["Dell Latitude 5430 Chromebook"], + "boardname": "CROTA" + }, + { + "device": ["Dell Latitude 5430 2-in-1 Chromebook"], + "boardname": "CROTA360" + }, + { + "device": ["Asus Chromebook Flip CX5 (CX5601)"], + "boardname": "FELWINTER" + }, + { + "device": ["HP Chromebook x360 14c-cd0"], + "boardname": "GIMBLE" + }, + { + "device": ["Acer Chromebook Spin 714 (CP714-1WN)"], + "boardname": "KANO", + "windows": "Audio and Thunderbolt drivers are paid. No webcam support." + }, + { + "device": ["ASUS Chromebook Plus CX34"], + "boardname": "MARASOV" + }, + { + "device": [ + "Asus Chromebook CX34 Flip", + "Asus Chromebook Vibe CX34 Flip" + ], + "boardname": "MITHRAX" + }, + { + "device": ["Acer Chromebook Plus 515 (CB515-2H, CB515-2HT)"], + "boardname": "OMNIGUL" + }, + { + "device": ["Acer Chromebook 516 GE (CBG516-1H)"], + "boardname": "OSIRIS" + }, + { + "device": ["Lenovo ThinkPad C14 Gen 1 Chromebook"], + "boardname": "PRIMUS" + }, + { + "device": ["HP Elite Dragonfly Chromebook"], + "boardname": "REDRIX", + "windows": "Audio and Thunderbolt drivers are paid. No webcam support.", + "linux": "Touchpad needs fix, no camera, see #72" + }, + { + "device": ["Lenovo IdeaPad Gaming Chromebook 16"], + "boardname": "TANIKS" + }, + { + "device": ["Lenovo Flex 5i Chromebook / IdeaPad Flex 5i Chromebook"], + "boardname": "TAEKO" + }, + { + "device": ["Acer Chromebook Vero 514"], + "boardname": "VOLMAR" + }, + { + "device": ["Acer Chromebook Vero 712 (CV872, CV872T)"], + "boardname": "ZAVALA" + } + ] + }, + "Intel Alderlake-N": { + "default_wpmethod": "CR50", + "default_rwLegacy": true, + "default_fullrom": true, + "default_windows": "Audio and USB4 drivers are paid.", + "default_mac": "No MacOS support.", + "default_linux": "Audio may not work.", + "devices": [ + { + "device": ["Acer Chromebook Spin 512"], + "boardname": "CRAASK" + }, + { + "device": ["Acer Chromebook Spin 511"], + "boardname": "CRAASKBOWL" + }, + { + "device": ["Acer Chromebook 511"], + "boardname": "CRAASKVIN" + }, + { + "device": ["Acer Chromebook 314"], + "boardname": "CRAASNETO" + }, + { + "device": ["Lenovo 500e Yoga Chromebook Gen 4"], + "boardname": "PUJJO" + }, + { + "device": ["Lenovo IdeaPad Flex 3i Chromebook"], + "boardname": "PUJJOFLEX" + }, + { + "device": ["Lenovo 14e Chromebook Gen 3"], + "boardname": "PUJJOTEEN" + }, + { + "device": ["Lenovo Ideapad Slim 3i Chromebook"], + "boardname": "PUJJOTEEN15W" + }, + { + "device": ["Asus Chromebook CR11 [CR1102C]"], + "boardname": "XIVU" + }, + { + "device": ["Asus Chromebook CR11 [CR1102F]"], + "boardname": "XIVU360" + }, + { + "device": ["HP Chromebook 15a-nb0"], + "boardname": "YAVIKS" + } + ] + }, + "Stoneyridge": { + "default_wpmethod": "CR50 (battery)", + "default_rwLegacy": true, + "default_fullrom": true, + "default_windows": "Experimental Windows support. Requires patched drivers with testsigning enabled.", + "default_mac": "No MacOS support.", + "default_linux": "Needs kernel compiled with AMDGPU=Y instead of =M and firmware built-in to get working audio", + "devices": [ + { + "device": ["Acer Chromebook 315 (CB315-2H)"], + "boardname": "ALEENA" + }, + { + "device": ["HP Chromebook 11A G6 EE", "HP Chromebook 11A G8 EE"], + "boardname": "BARLA" + }, + { + "device": ["HP Chromebook 14A G5"], + "boardname": "CAREENA" + }, + { + "device": ["Acer Chromebook 311 (C721)"], + "boardname": "KASUMI" + }, + { + "device": ["Acer Chromebook Spin 311 (R721T)"], + "boardname": "KASUMI360" + }, + { + "device": ["Lenovo 14e Chromebook (S345)"], + "boardname": "LIARA" + }, + { + "device": ["Lenovo 100e Chromebook Gen 2 AMD"], + "boardname": "TREEYA" + }, + { + "device": ["Lenovo 300e Chromebook Gen 2 AMD"], + "boardname": "TREEYA360" + } + ] + }, + "Picasso/Dali": { + "default_wpmethod": "CR50 (battery)", + "default_rwLegacy": true, + "default_fullrom": true, + "default_windows": "Supported", + "default_mac": "No MacOS support.", + "default_linux": "Needs to add \"iommu=pt\" to kernel parameters", + "devices": [ + { + "device": [ + "HP Pro c645 Chromebook Enterprise", + "HP Chromebook 14b-na0" + ], + "boardname": "BERKNIP" + }, + { + "device": ["HP Chromebook 14a-nd0"], + "boardname": "DIRINBOZ" + }, + { + "device": ["Acer Chromebook Spin 514"], + "boardname": "EZKINIL" + }, + { + "device": ["HP Chromebook x360 14a-cb0"], + "boardname": "GUMBOZ" + }, + { + "device": ["Asus Chromebook Flip CM1"], + "boardname": "JELBOZ360" + }, + { + "device": ["Lenovo ThinkPad C13 Yoga Chromebook"], + "boardname": "MORPHIUS" + }, + { + "device": ["Lenovo 100e Chromebook Gen 3"], + "boardname": "VILBOZ" + }, + { + "device": ["Lenovo 14e Chromebook Gen 2"], + "boardname": "VILBOZ14" + }, + { + "device": ["Lenovo 300e Chromebook Gen 3"], + "boardname": "VILBOZ360" + }, + { + "device": ["Asus Chromebook Flip CM5"], + "boardname": "WOOMAX" + } + ] + }, + "AMD Cezanne": { + "default_wpmethod": "CR50, jumper", + "default_rwLegacy": true, + "default_fullrom": true, + "default_windows": "Audio driver is paid.", + "default_mac": "No MacOS support.", + "default_linux": "Speakers are not working currently.", + "devices": [ + { + "device": ["Acer Chromebook Spin 514 [CP514-3H, CP514-3HH, CP514-3WH]"], + "boardname": "DEWATT" + }, + { + "device": ["HP Elite c645 G2 Chromebook"], + "boardname": "NIPPERKIN" + } + ] + }, + "AMD Mendocino": { + "default_wpmethod": "CR50, jumper", + "default_rwLegacy": true, + "default_fullrom": true, + "default_windows": "Audio driver is paid.", + "default_mac": "No MacOS support.", + "default_linux": "A recent kernel (6.8+) is needed for headphones to work.", + "devices": [ + { + "device": ["TBD"], + "boardname": "CRYSTALDRIFT" + }, + { + "device": ["Asus Chromebook CM34 Flip"], + "boardname": "FROSTFLOW" + }, + { + "device": ["Acer Chromebook Plus 514"], + "boardname": "MARKARTH" + }, + { + "device": ["Dell Latitude 3445 Chromebook"], + "boardname": "WHITERUN" + } + ] + } } diff --git a/supported-devices/index.js b/supported-devices/index.js index 2d3b5bda..82531e94 100644 --- a/supported-devices/index.js +++ b/supported-devices/index.js @@ -35,32 +35,35 @@ */ - function generateHTML(chromebooks) { - let html = ` + let html = ` `; - let first = true; - for (const generation in chromebooks) { - let devices = chromebooks[generation]; - devices.devices.forEach(device => { - //set defaults - if (device.windows === undefined) device.windows = devices.default_windows; - if (device.linux === undefined) device.linux = devices.default_linux; - if (device.mac === undefined) device.mac = devices.default_mac; - if (device.wpMethod === undefined) device.wpMethod = devices.default_wpmethod; - if (device.fullrom === undefined) device.fullrom = devices.default_fullrom; - if (device.rwLegacy === undefined) device.rwLegacy = devices.default_rwLegacy; - }) - if (first) { - first = false; - } else { - html += ` + let first = true; + for (const generation in chromebooks) { + let devices = chromebooks[generation]; + devices.devices.forEach((device) => { + //set defaults + if (device.windows === undefined) + device.windows = devices.default_windows; + if (device.linux === undefined) device.linux = devices.default_linux; + if (device.mac === undefined) device.mac = devices.default_mac; + if (device.wpMethod === undefined) + device.wpMethod = devices.default_wpmethod; + if (device.fullrom === undefined) + device.fullrom = devices.default_fullrom; + if (device.rwLegacy === undefined) + device.rwLegacy = devices.default_rwLegacy; + }); + if (first) { + first = false; + } else { + html += ` `; - } - html += ` + } + html += ` @@ -74,56 +77,55 @@ function generateHTML(chromebooks) { `; - - let windows; - let linux; - let mac; - - devices.devices.forEach((device, index) => { - let devicename = device.device.join("
"); - let rw_legacy = ""; - if (device.rwLegacy === null) { - rw_legacy = "EOL"; - } else if (device.rwLegacy === true) { - rw_legacy = "✅"; - } - let full_rom = device.fullrom ? "✅" : ""; - - let win_out = ""; - let linux_out = ""; - let mac_out = ""; - if (windows !== device.windows) { - let length = 0; - windows = device.windows; - for (let i=index; i${windows}`; - } - if (linux !== device.linux) { - let length = 0; - linux = device.linux; - for (let i=index; i${linux}`; - } - if (mac !== device.mac) { - let length = 0; - mac = device.mac; - for (let i=index; i${mac}`; - } - - - html += ` + + let windows; + let linux; + let mac; + + devices.devices.forEach((device, index) => { + let devicename = device.device.join("
"); + let rw_legacy = ""; + if (device.rwLegacy === null) { + rw_legacy = 'EOL'; + } else if (device.rwLegacy === true) { + rw_legacy = "✅"; + } + let full_rom = device.fullrom ? "✅" : ""; + + let win_out = ""; + let linux_out = ""; + let mac_out = ""; + if (windows !== device.windows) { + let length = 0; + windows = device.windows; + for (let i = index; i < devices.devices.length; i++) { + if (devices.devices[i].windows === windows) length++; + else break; + } + win_out = `\n
`; + } + if (linux !== device.linux) { + let length = 0; + linux = device.linux; + for (let i = index; i < devices.devices.length; i++) { + if (devices.devices[i].linux === linux) length++; + else break; + } + if (!linux) linux = devices.default_linux; + linux_out = `\n `; + } + if (mac !== device.mac) { + let length = 0; + mac = device.mac; + for (let i = index; i < devices.devices.length; i++) { + if (devices.devices[i].mac === mac) length++; + else break; + } + if (!mac) mac = devices.default_mac; + mac_out = `\n `; + } + + html += ` @@ -131,13 +133,12 @@ function generateHTML(chromebooks) { ${win_out}${linux_out}${mac_out} `; - - }) - } - html += ` + }); + } + html += `
${generation}
Linux Notes MacOS Notes
${windows}${linux}${mac}
${devicename} ${device.boardname} ${full_rom} ${device.wpMethod}
`; - return html; + return html; } const path = require("path"); @@ -145,13 +146,24 @@ const path = require("path"); console.log("Loading..."); const fs = require("fs"); let data = fs.readFileSync(path.join(__dirname, "template.md"), "utf8"); -data = data.replace("${{TABLE}}", generateHTML(require('./devices.json'))); +data = data.replace("${{TABLE}}", generateHTML(require("./devices.json"))); //Putting this in the template file causes the template be be showed in the listing -fs.writeFileSync(path.join(__dirname, "../src/docs/firmware/supported-devices.md"), data); +fs.writeFileSync( + path.join(__dirname, "../src/docs/firmware/supported-devices.md"), + data +); //Dont question the function.toString.... Javascript is funny -fs.writeFileSync(path.join(__dirname, "../src/.vuepress/public/supported-devices.js"), fs.readFileSync(path.join(__dirname, "search.js"), "utf-8").replace("{{script}}", generateHTML.toString())); -fs.copyFileSync(path.join(__dirname, "devices.json"), path.join(__dirname, "../src/.vuepress/public/devices.json")); +fs.writeFileSync( + path.join(__dirname, "../src/.vuepress/public/supported-devices.js"), + fs + .readFileSync(path.join(__dirname, "search.js"), "utf-8") + .replace("{{script}}", generateHTML.toString()) +); +fs.copyFileSync( + path.join(__dirname, "devices.json"), + path.join(__dirname, "../src/.vuepress/public/devices.json") +); console.log("Done!"); diff --git a/supported-devices/template.md b/supported-devices/template.md index 27e8d2b6..ed5cdebd 100644 --- a/supported-devices/template.md +++ b/supported-devices/template.md @@ -8,12 +8,14 @@ NOTE - do not edit the supported-devices.md file, edit the template file in the --> # Supported Devices and Platforms -Supported devices are listed in the table below, grouped by platform/family. If your device is not listed, it is not supported. Support is determined entirely and exclusively by the boardname. Use your Chromebook's boardname to see if it has support. + +Supported devices are listed in the table below, grouped by platform/family. If your device is not listed, it is not supported. Support is determined entirely and exclusively by the boardname. Use your Chromebook's boardname to see if it has support. ## 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). -The chart below provides a full list of all ChromeOS devices currently supported by MrChromebox's Firmware Utility Script, the firmware types available for each, the hardware write-protect method used, and notes for Windows, Linux, and macOS operating systems. +The chart below provides a full list of all ChromeOS devices currently supported by MrChromebox's Firmware Utility Script, the firmware types available for each, the hardware write-protect method used, and notes for Windows, Linux, and macOS operating systems. In most cases, all of the devices in a given platform/family are supported, but sometimes there are exceptions (especially with older or newer devices). The goal is to offer both RW_LEGACY and UEFI Full ROM firmware for all devices, so you may have the option of dual booting ChromeOS, or liberating your device completely :) @@ -25,8 +27,8 @@ A device having firmware available (either RW_LEGACY or UEFI Full ROM) does not ## Supported Platforms -| Intel | AMD | ARM | -| - | - | - | +| Intel | AMD | ARM | +| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Intel platforms have good support for both Linux and Windows. Some have support for macOS. | Stoneyridge support in Windows is questionable, and installing a custom kernel is required to get working audio in Linux. Ryzen has support for both Linux and Windows. MacOS is **untested** on AMD platforms. | Currently unsupported by the Chrultrabook dev team. [PostmarketOS](https://wiki.postmarketos.org/wiki/Chrome_OS_devices) has support for a few ARM Chromebooks. | ## Firmware and OS Support @@ -36,7 +38,7 @@ If your device isn't listed, it doesn't have support. ::: ::: tip -If you're on a smaller screen, scroll sideways to see whole table. +If you are on a smaller screen, scroll sideways to see whole table. :::