diff --git a/README.md b/README.md index c66b632..d821811 100644 --- a/README.md +++ b/README.md @@ -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 @@ -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. @@ -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): @@ -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 @@ -125,7 +139,7 @@ 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 @@ -133,7 +147,7 @@ Reading the [AVBRoot docs](https://github.com/chenxiaolong/AVBRoot) is essential 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: @@ -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 @@ -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