Skip to content

Commit

Permalink
Merge branch 'main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
meghan06 authored Aug 26, 2023
2 parents 00b42aa + 599ce0d commit 097f34b
Show file tree
Hide file tree
Showing 19 changed files with 462 additions and 41 deletions.
29 changes: 29 additions & 0 deletions .github/actions/spelling/allow.txt
Original file line number Diff line number Diff line change
Expand Up @@ -578,3 +578,32 @@ GPIO
meghann
Ximimark
Yourfilename
AMDGPU
ASUS
autofanctrl
bootableusb
BSOD
bugzilla
cgi
choie
cmdline
crosec
Devirtualize
driverinstallers
instructionaly
iommu
Mimo
newner
oneshot
overclock
pmc
QOL
redhat
rmmod
sbin
systemctl
systemd
TARLO
typec
usbc
USBs
5 changes: 1 addition & 4 deletions .github/workflows/spelling.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,4 @@ jobs:
with:
checkout: true
spell_check_this: check-spelling/spell-check-this@prerelease
task: ${{ needs.spelling.outputs.followup }}

# Removed PR portions to make bot shut the hell up
# - meghan6
task: ${{ needs.spelling.outputs.followup }}
12 changes: 12 additions & 0 deletions docs/advanced.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: Advanced
layout: default
nav_order: 17
has_children: true
---

## Advanced

These pages are for advanced users only. If you are just a average user, you probably don't need to read this.

It never hurts to do, though 😉.
9 changes: 9 additions & 0 deletions docs/allaboutfirmware.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ nav_order: 8

## All About Firmware

### Terminology

| **Term** | **Description** |
| - | - |
| coreboot | UEFI firmware firmware replacement |
| UEFI | The Unified Extensible Firmware Interface (UEFI) is a specification that defines a software interface between an operating system and platform firmware. UEFI replaces the legacy Basic Input/Output System (BIOS) firmware interface originally present in all IBM PC-compatible personal computers, with most UEFI firmware implementations providing support for legacy BIOS services. UEFI can support remote diagnostics and repair of computers, even with no operating system installed. (source: Wikipedia) |
| EC | Embedded Controller. Communicates between the main board and embedded peripherals such as hotkeys, ports, or battery.


### Firmware Types

----------------------
Expand Down
4 changes: 2 additions & 2 deletions docs/altos.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ Pros:
* Better game support

Cons:
* Audio driver is paid (10 USD)
* Thunderbolt driver is paid (20 USD)
* Audio driver is paid (10 USD) for Skylake (6th generation) and newer devices
* Thunderbolt driver is paid (20 USD) for certain generations
* Requires the user to install many drivers
* AVS and SOF users experience instability at times

Expand Down
37 changes: 37 additions & 0 deletions docs/bootableusb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: Making a Bootable USB
layout: default
nav_order: 25
---

## Making a Bootable USB

### Prerequisites
1. Another PC or laptop with at least 8GB storage
2. A internet connection
3. A USB drive or SD card thats at least 8 gigabytes.
- You will be erasing this drive, backup anything if you need to do so.


### Downloading a ISO
1. Determine what OS you want.
- For Linux, keep in mind Ubuntu and any derivatives will not work.
- For windows, keep in mind only Windows 10 and newer are supported.
2. Place the ISO in a safe place.


### Flashing using Rufus

For this guide, we will be using Rufus to create our bootable USBs.

1. Download Rufus from [here](https://rufus.ie/en/). The standard Windows x64 version will do.

![image](https://github.com/meghan06/docs/assets/77316348/9d9be52c-8e32-4b2f-ae17-8b3917f64032)

2. Plug in your USB.
3. Locate and launch Rufus. It should ask you to launch with administrator privileges, select YES.
4. On the right hand side, there should be a button with the words `SELECT` on it.
5. A File Explorer window should pop up, find your ISO of choie, then click `Open`.
6. Click `Start`. The default options should work just fine.
7. Wait for the green bar to say `READY`, then click `Close` and eject your newly made USB
8. Profit
1 change: 1 addition & 0 deletions docs/compiling-coreboot.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: Compiling Custom Firmware
layout: default
nav_order: 18
parent: Advanced
---

### Cloning & Building ROMs
Expand Down
10 changes: 10 additions & 0 deletions docs/debugging.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: Debugging
layout: default
nav_order: 17
parent: Advanced
---

## Debugging
Expand All @@ -10,6 +11,15 @@ This page has instructions on using multiple different utilities to debug issues

-----------

### Grabbing Logs

* If you're experiencing firmware bugs, provide output from `cbmem` console.
* If you're experiencing issues with Linux, provide output from `dmesg`, `dmidecode` and `journalctl` or `/var/log/messages`, respectively
* Ift you're experiencing issues with Windows, provide screenshots from Device Manager, Event Viewer, coredumps etc.
* If you're experiencing issues with macOS, please ask for help in the Chrultrabook Discord, in the #hackintosh channel.

-----------

### Firmware

To debug firmware, you will need the following tools:
Expand Down
1 change: 1 addition & 0 deletions docs/distros.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: Distro Specific Configuration
layout: default
nav_order: 23
parent: Advanced
---


Expand Down
6 changes: 3 additions & 3 deletions docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,16 +54,16 @@ Please read this page before asking a question in the Discord. Your help request
* No. One license per device.

**I want to buy a Chromebook to run Windows or Linux or macOS -- which should I buy?**
* Buying any Chromebook with the intention of running macOS, Windows or Linux is not a great idea. Many can't boot anything other than ChromeOS; Those that can boot Linux (or Windows) often have functional deficiencies -- DO NOT EXPECT EVERYTHING TO WORK OUT OF THE BOX. Older models may fair better compatibility wise, but there are still lots of caveats, and it's not recommended to buy a Chromebook as a cheap Linux device.
* Buying any Chromebook with the intention of running macOS, Windows or Linux is not a great idea.s -- DO NOT EXPECT EVERYTHING TO WORK OUT OF THE BOX. Older models may fair better compatibility wise, but there are still lots of caveats, and it's not recommended to buy a Chromebook as a cheap Linux device.

**How can I get audio working under Linux?**
* Please see [here](https://github.com/WeirdTreeThing/chromebook-linux-audio)

**I just want to boot Linux from USB on my Chromebook, what do I need to do?**
* Check the Supported Devices page, to ensure your device has functional RW_LEGACY firmware available. If so, then simply put your device into Developer Mode, then run my script and update the RW_LEGACY firmware (no need to disable the firmware write protect for this). Reboot, press CTRL+L to boot in Legacy Boot Mode/Alternative Bootloader Menu, then press ESC and select your USB from the boot menu.
* Check the Supported Devices page, to ensure your device has functional RW_LEGACY firmware available. If so, flash RWL and use that.

**I just installed the UEFI firmware, and now my device boots to a black screen that says 'shell' - what do I do?**
* You're in the EFI shell; the firmware boots there when it can't find a valid UEFI boot device, either externally (USB, SD) or internally. Just type 'exit' to get back to the the UEFI settings menu, from which you can select your boot device or reboot. You need to install a UEFI-boot capable OS from a properly formatted USB/SD device. If you're creating the install media from Windows, use Rufus to write the ISO to USB. If writing a Windows ISO, select the ISO, then set the Partition scheme to 'MBR for UEFI' or 'GPT for UEFI;' 'MBR for UEFI-CSM' will not work since CSM = Legacy BIOS and the UEFI firmware doesn't support Legacy mode. For a Linux ISO, select the ISO, then change the write mode from 'ISO Image' to 'DD Image' from the drop-down menu. As most Linux ISO images these days are compatible with both Legacy and UEFI booting, this ensures maximum compatibility.
* You're in the EFI shell; the firmware boots there when it can't find a valid UEFI boot device, either externally (USB, SD) or internally. Just type 'exit' to get back to the the UEFI settings menu.

**Should I install 32 or 64-bit OS?**
* The UEFI Full ROM firmware only supports 64-bit OS, so be sure to use the 'x86_64' version of whatever OS you want to install. USB media created from 32-bit ISOs will simply fail to boot.
Expand Down
19 changes: 16 additions & 3 deletions docs/firmware.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ layout: default
nav_order: 9
---

### Terminology

| **Term** | **Description** |
| - | - |
| SuzyQable | A cable that enables CCD (Closed Case Debug). Used to disable WP. |



**Flashing Custom Firmware**

Refer to [here](allaboutfirmware.html) for an overview of both RW_LEGACY and UEFI.
Expand All @@ -29,6 +37,7 @@ To convert your machine from Google's firmware and chromeOS to Coreboot and AltO
* Undo a WP screw
* Unplug your battery
* Bridge two jumpers
* Plug in a SuzyQable

3. Run [MrChromebox's firmware utility script.](https://mrchromebox.tech/#fwscript)
* Type `cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh` and press Enter.
Expand All @@ -41,15 +50,19 @@ To convert your machine from Google's firmware and chromeOS to Coreboot and AltO

**Updating coreboot**

1. Boot a Linux live USB (Ubuntu 22.04 recommended)
1. Boot a live Linux USB. See [here](bootableusb.html) for a guide on making a bootable USB.

{: .note }
curl is not installed by default for Ubuntu / Ubuntu distros. To install it, run: `sudo apt update;sudo apt install curl -y`

2. Run the same firmware utility script you used to install coreboot
2. Once you have booted the live USB, **do not install the OS. Some distros may have the option to "try now" click that.**

3. Connect to the internet. Then open a terminal.

4. Run the same firmware utility script you used to install coreboot
* In case you forgot, type `cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh` and press Enter.

3. Pick option 1; "Install/Update UEFI (Full ROM) Firmware" and reboot if successful
5. Pick option 1; "Install/Update UEFI (Full ROM) Firmware" and reboot if successful

-------

Expand Down
17 changes: 8 additions & 9 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,14 @@ nav_order: 4
---

## Getting Started
Before we begin, we need to go over a few things.

### 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) |

-------------

Expand Down Expand Up @@ -45,14 +52,6 @@ If you are facing a issue, please read the [FAQ](faq.html) first.
**Do not use manufacturer's model name or serial number when asking for help** (i.e: HP Chromebook 14a), it doesn't help with identifying the machine. Provide the boardname, otherwise your support request will be ignored. If you don't know where to find your boardname, take a look [here.](system-info.html)


### Provide logs.

* If you're experiencing firmware bugs, provide output from `cbmem` console.
* If you're experiencing issues with Linux, provide output from `dmesg`, `dmidecode` and `journalctl` or `/var/log/messages`, respectively
* Ift you're experiencing issues with Windows, provide screenshots from Device Manager, Event Viewer, coredumps etc.
* If you're experiencing issues with macOS, please ask for help in the Chrultrabook Discord, in the #hackintosh channel.

See the [Debugging Page](debugging.html) for instructions on how to get these logs.

--------------

Expand Down
19 changes: 13 additions & 6 deletions docs/installing-linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,21 @@ Only Linux kernel 6.1 LTS or newer is supported.
{: .warning }
Ubuntu and Ubuntu-based distributions, such as Mint or ElementaryOS are unsupported.

**Recommended distros as of June 2023 (in no particular order) are:**
**Recommended distros as of August 2023 (in no particular order) are:**

* Arch Linux
* Fedora
* OpenSUSE Tumbleweed
* Pop!_OS
* Debian 12 (Bookworm)

----------------


### Installation:

1. Create a bootable Linux USB. Ubuntu and Ubuntu based distros have outdated packages and thus are not supported.
1. Create a bootable Linux USB. See [here](bootableusb.html) for a guide.
2. Plug the USB Drive into the Chromebook.
3. Turn on the Chromebook, press `ESC` at the POST screen, and select the USB to boot from.
3. Turn on the Chromebook, press `ESC` at the POST screen (when the boot logo appears), and select your USB to boot from.
4. Install as you would on any other computer.


Expand All @@ -44,9 +43,17 @@ Ubuntu and Ubuntu-based distributions, such as Mint or ElementaryOS are unsuppor
{: .warning }
Using AVS on a device with max98357a will blow your speakers. You have been warned.

<br>
**Prerequisites**
- Python 3.10 or newner
- Git

1. Run WeirdTreeThing's [audio script.](https://github.com/WeirdTreeThing/chromebook-linux-audio)
**Installation**
0. Open a terminal.
1. `git clone https://github.com/WeirdTreeThing/chromebook-linux-audio`
2. `cd chromebook-linux-audio`
3. `./setup-audio`

For more information please see [WeirdTreeThing's repo](https://github.com/WeirdTreeThing/chromebook-linux-audio)

{: .fs-5 }

Expand Down
5 changes: 5 additions & 0 deletions docs/installing-macos.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ Before we begin, it's important to know whether your Chromebook is even supporte
### Known Issues

- Broken NVRAM on Comet Lake Devices
- To fix this, **DISABLE** `DevirtualizeMimo`.
{: .warning}
If your device has a Comet Lake CPU, this MUST be disabled.


- Waking from sleep causes:
- Blank Electron / Chromium apps
- Buggy video playback in web browsers like Firefox or Safari
Expand Down
5 changes: 3 additions & 2 deletions docs/known-issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,15 @@ You should avoid buying any devices in this list.
* No fingerprint reader support
* No TPM support
* No IPU camera support
* OS will BSOD with AVS/SOF driver installer when transitioning from sleep

Check failure on line 43 in docs/known-issues.md

View workflow job for this annotation

GitHub Actions / Check Spelling

`transitioning` is not a recognized word. (unrecognized-spelling)


### Linux

* Broken USB-C on TigerLake and AlderLake (although there is a workaround)
* Broken USB-C on TigerLake and AlderLake. See Post Install -> Linux for fix.
* No fingerprint reader support
* Sandybridge/Ivybridge need a [workaround](https://github.com/MrChromebox/scripts/issues/277) to flash firmware from linux.

* PopOS and Debian 12 Bookworm need a custom kernel

### macOS

Expand Down
28 changes: 26 additions & 2 deletions docs/post-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,11 @@ nav_order: 16


### 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
* Install [CoolStar's drivers](https://coolstar.org/chromebook/windows-install.html) if you haven't already
* Buy audio drivers (if needed), see [the guide](csdriver.html)

**CELES Post Install Workaround**

Expand All @@ -22,18 +25,39 @@ nav_order: 16


### Linux

**General QOL Fixes**

* Run the [audio script](https://github.com/WeirdTreeThing/chromebook-linux-audio) if you haven't already.
* Install [keyd](https://github.com/rvaiya/keyd) with the instructions in the README to remap top row FX keys.
* Pick the relevant [keyboard layout](https://github.com/chrultrabook/keydconfig) and copy to `/etc/keyd/default.conf`

**Fixing USB C on TigerLake and AlderLake**
1. Create a file called `chromebook-usbc.service` file in `/etc/systemd/system/`
2. Paste the following contents into the file:

```
[Unit]
Description=Enable USB-C on chromebook
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/sbin/modprobe -r -a cros-ec-typec intel-pmc-mux
ExecStart=/sbin/modprobe -a intel-pmc-mux cros-ec-typec
[Install]
WantedBy=multi-user.target
```
3. Enable the systemd service by typing `systemctl enable --now chromebook-usbc.service`, then reboot.

-----------------------


### macOS
* [Remove Verbose](https://dortania.github.io/OpenCore-Post-Install/cosmetic/verbose.html#macos-decluttering)
* [OpenCore GUI](https://dortania.github.io/OpenCore-Post-Install/cosmetic/gui.html#setting-up-opencore-s-gui)
* [Setup Emulated NVRAM](https://dortania.github.io/OpenCore-Post-Install/misc/nvram.html) if necessary.
* Disable `DevirtualizeMimo` if you're on CML (CometLake, 10th generation)


<br>
Expand Down
Loading

1 comment on commit 097f34b

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@check-spelling-bot Report

🔴 Please review

See the 📜action log for details.

Unrecognized words (2)

Entreprise
transitioning

To accept ✔️ these unrecognized words as correct, run the following commands

... in a clone of the [email protected]:chrultrabook/docs.git repository
on the main branch (ℹ️ how do I use this?):

curl -s -S -L 'https://raw.githubusercontent.com/check-spelling/check-spelling/main/apply.pl' |
perl - 'https://github.com/chrultrabook/docs/actions/runs/5982912894/attempts/1'
Available 📚 dictionaries could cover words not in the 📘 dictionary
Dictionary Entries Covers
cspell:cpp/src/cpp.txt 30216 1

Consider adding them using (in .github/workflows/spelling.yml):

      with:
        extra_dictionaries:
          cspell:cpp/src/cpp.txt

To stop checking additional dictionaries, add:

      with:
        check_extra_dictionaries: ''

Please sign in to comment.