Skip to content

Commit

Permalink
docs(installation): add web installer section (#101)
Browse files Browse the repository at this point in the history
  • Loading branch information
pixincreate authored Jan 8, 2025
1 parent 87b7e04 commit 4e2a8a2
Showing 1 changed file with 23 additions and 9 deletions.
32 changes: 23 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,24 @@ This repository acts as a server.

Reading the [AVBRoot docs](https://github.com/chenxiaolong/AVBRoot) is essential before proceeding with PixeneOS.

1. Ensure the device has an unpatched version of GrapheneOS installed. The version must match the one from PixeneOS.
1. Ensure the device has an unpatched version of GrapheneOS installed. The version must match the one from PixeneOS. It is important to make sure that the version installed matches the version on PixeneOS
2. Start with a version before the latest to ensure OTA functionality.

> [!IMPORTANT]
> `Factory image` and `OTA image` are different. This project deals with **OTA images**.
> `Factory image` and `OTA image` are different. AVBRoot is meant to deal with **OTA images**. So does PixeneOS.
### Detailed Instructions

#### Web Install

It is easier to use the web installer to flash GrapheneOS. However, it is recommended to use the manual method since it makes it possible to install an older version of GrapheneOS unlike the web installer which always installs the latest version.

- Use the [web installer](https://grapheneos.org/install/web) to install GrapheneOS
- Once installed, **do not** re-lock the bootloader by clicking `Lock bootloader` under the `Locking the bootloader` section
- Proceed to the [patching section](#patching-grapheneos-cooking-pixeneos)

#### Manual Install

1. Ensure Fastboot version is `34` or newer. `35` or above is recommended as older versions are known to have bugs that prevent commands like `fastboot flashall` from running.

```shell
Expand All @@ -82,7 +92,11 @@ Reading the [AVBRoot docs](https://github.com/chenxiaolong/AVBRoot) is essential
./flash-all.sh # or .bat on Windows
```

4. Download the [OTA from the releases](https://github.com/pixincreate/PixeneOS/releases). Ensure the version matches the installed version.
4. Proceed to the [patching section](#patching-grapheneos-cooking-pixeneos)

#### Patching GrapheneOS (cooking PixeneOS)

1. Download the [OTA from the releases](https://github.com/pixincreate/PixeneOS/releases). Ensure the version matches the installed version.

Extract the partition images from the patched OTA that are different from the original.

Expand All @@ -95,7 +109,7 @@ Reading the [AVBRoot docs](https://github.com/chenxiaolong/AVBRoot) is essential

To extract and flash all OS partitions, pass `--all`.

5. Set the `ANDROID_PRODUCT_OUT` environment variable to the directory containing the extracted files.
2. Set the `ANDROID_PRODUCT_OUT` environment variable to the directory containing the extracted files.

For `sh`/`bash`/`zsh` (Linux, macOS, WSL):

Expand All @@ -115,7 +129,7 @@ Reading the [AVBRoot docs](https://github.com/chenxiaolong/AVBRoot) is essential
set ANDROID_PRODUCT_OUT=extracted
```

6. Flash the partition images.
3. Flash the partition images.

```shell
fastboot flashall --skip-reboot
Expand All @@ -125,15 +139,15 @@ Reading the [AVBRoot docs](https://github.com/chenxiaolong/AVBRoot) is essential

Alternatively, for Pixel devices, running `flash-base.sh` from the factory image will also update the bootloader and modem.

7. Set up the custom AVB public key in the bootloader after rebooting from fastbootd to bootloader.
4. Set up the custom AVB public key in the bootloader after rebooting from fastbootd to bootloader.

```shell
fastboot reboot-bootloader
fastboot erase avb_custom_key
fastboot flash avb_custom_key /path/to/avb_pkmd.bin
```

8. **[Optional]** Before locking the bootloader, reboot into Android to confirm proper signing.
5. **[Optional]** Before locking the bootloader, reboot into Android to confirm proper signing.

Install the Magisk or KernelSU app and run:

Expand All @@ -147,7 +161,7 @@ Reading the [AVBRoot docs](https://github.com/chenxiaolong/AVBRoot) is essential
init: [libfs_avb]Returning avb_handle with status: Success
```

9. Reboot into fastboot and lock the bootloader. This will trigger a data wipe.
6. Reboot into fastboot and lock the bootloader. This will trigger a data wipe.

```shell
fastboot flashing lock
Expand All @@ -157,7 +171,7 @@ Reading the [AVBRoot docs](https://github.com/chenxiaolong/AVBRoot) is essential

> [!CAUTION] > **Do not uncheck `OEM unlocking`!**
10. For future updates, see the [updates section](#updates).
7. For future updates, see the [updates section](#updates).

### Using Root

Expand Down

0 comments on commit 4e2a8a2

Please sign in to comment.