From 3d4da5ac6000a4871c5caa80d1e61f2782da3069 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Sat, 2 Dec 2023 23:27:35 -0600 Subject: feat: finish converting md to org --- blog/2022-09-21-graphene-os.org | 258 ++++++++++++++++++++++------------------ 1 file changed, 142 insertions(+), 116 deletions(-) (limited to 'blog/2022-09-21-graphene-os.org') diff --git a/blog/2022-09-21-graphene-os.org b/blog/2022-09-21-graphene-os.org index b16b88a..f17f860 100644 --- a/blog/2022-09-21-graphene-os.org +++ b/blog/2022-09-21-graphene-os.org @@ -1,160 +1,186 @@ -+++ -date = 2022-09-21 -title = "Installing Graphene OS on the Pixel 6 Pro" -description = "A walkthrough tutorial on how to install GrapheneOS on the Pixel 6 Pro with Fedora Linux." -+++ - -## Introduction - -After using iOS for a couple of years, I finally took the plunge and +#+title: Installing Graphene OS on the Pixel 6 Pro +#+date: 2022-09-21 + +** Introduction +:PROPERTIES: +:CUSTOM_ID: introduction +:END: +After using iOS for a couple of years, I finally took the plunge and purchased a Pixel 6 Pro in order to test and use [GrapheneOS] (https://grapheneos.org). -The installation process was rather quick once you have the tools and files you -need. Overall, it can be done in just a few minutes. - -## Gathering Tools & Files - -### Android Tools - -First, in order to interact with the device, we will need the [Android -platform -tools](https://developer.android.com/studio/releases/platform-tools.html). Find -the Linux download and save the ZIP folder to your preferred location. - -Once we've downloaded the files, we will need to unzip them, enter the -directory, and move the necessary executables to a central location, such as -`/usr/bin/`. For this installation, we only need the `fastboot` and `adb` -executables. - -```sh +The installation process was rather quick once you have the tools and +files you need. Overall, it can be done in just a few minutes. + +** Gathering Tools & Files +:PROPERTIES: +:CUSTOM_ID: gathering-tools-files +:END: +*** Android Tools +:PROPERTIES: +:CUSTOM_ID: android-tools +:END: +First, in order to interact with the device, we will need the +[[https://developer.android.com/studio/releases/platform-tools.html][Android +platform tools]]. Find the Linux download and save the ZIP folder to +your preferred location. + +Once we've downloaded the files, we will need to unzip them, enter the +directory, and move the necessary executables to a central location, +such as =/usr/bin/=. For this installation, we only need the =fastboot= +and =adb= executables. + +#+begin_src sh cd ~/Downloads -``` +#+end_src -```sh +#+begin_src sh unzip platform-tools_r33.0.3-linux.zip cd platform-tools sudo mv fastboot /usr/bin/ sudo mv adb /usr/bin -``` - -### GrapheneOS Files +#+end_src -Next, we need the [GrapheneOS files](https://grapheneos.org/releases) for -our device and model. For example, the Pixel 6 Pro is codenamed `raven` on the -release page. +*** GrapheneOS Files +:PROPERTIES: +:CUSTOM_ID: grapheneos-files +:END: +Next, we need the [[https://grapheneos.org/releases][GrapheneOS files]] +for our device and model. For example, the Pixel 6 Pro is codenamed +=raven= on the release page. Once we have the links, let's download them to our working directory: -```sh +#+begin_src sh curl -O https://releases.grapheneos.org/factory.pub curl -0 https://releases.grapheneos.org/raven-factory-2022091400.zip curl -0 https://releases.grapheneos.org/raven-factory-2022091400.zip.sig -``` - -#### Validate Integrity +#+end_src -In order to validate the integrity of the downloaded files, we will need the -`signify` package and Graphene's `factory.pub` file. +**** Validate Integrity +:PROPERTIES: +:CUSTOM_ID: validate-integrity +:END: +In order to validate the integrity of the downloaded files, we will need +the =signify= package and Graphene's =factory.pub= file. -```sh +#+begin_src sh sudo dnf install signify -``` +#+end_src -```sh +#+begin_src sh curl -O https://releases.grapheneos.org/factory.pub -``` +#+end_src -Then we can validate the files and ensure that no data was corrupted or +Then we can validate the files and ensure that no data was corrupted or modified before it was saved to our device. -```sh +#+begin_src sh signify -Cqp factory.pub -x raven-factory-2022091400.zip.sig && echo verified -``` +#+end_src -#### Unzip Files +**** Unzip Files +:PROPERTIES: +:CUSTOM_ID: unzip-files +:END: +Once the files are verified, we can unzip the Graphene image and enter +the directory: -Once the files are verified, we can unzip the Graphene image and enter the -directory: - -```sh +#+begin_src sh unzip raven-factory-2022091400.zip && cd raven-factory-2022091400 -``` - -## Installation Process - -### Enable Developer Debugging & OEM Unlock - -Before we can actually flash anything to the phone, we will need to enable -OEM Unlocking, as well as either USB Debugging or Wireless Debugging, depending on -which method we will be using. - -To start, enable developer mode by going to `Settings` > `About` and tapping -`Build Number` seven (7) times. You may need to enter your PIN to enable this -mode. - -Once developer mode is enabled, go to `Settings` > `System` > `Devloper -Options` and enable OEM Unlocking, as well as USB or Wireless Debugging. In my -case, I chose USB Debugging and performed all actions via USB cable. - -Once these options are enabled, plug the phone into the computer and execute the -following command: - -```sh +#+end_src + +** Installation Process +:PROPERTIES: +:CUSTOM_ID: installation-process +:END: +*** Enable Developer Debugging & OEM Unlock +:PROPERTIES: +:CUSTOM_ID: enable-developer-debugging-oem-unlock +:END: +Before we can actually flash anything to the phone, we will need to +enable OEM Unlocking, as well as either USB Debugging or Wireless +Debugging, depending on which method we will be using. + +To start, enable developer mode by going to =Settings= > =About= and +tapping =Build Number= seven (7) times. You may need to enter your PIN +to enable this mode. + +Once developer mode is enabled, go to =Settings= > =System= > +=Devloper Options= and enable OEM Unlocking, as well as USB or Wireless +Debugging. In my case, I chose USB Debugging and performed all actions +via USB cable. + +Once these options are enabled, plug the phone into the computer and +execute the following command: + +#+begin_src sh adb devices -``` - -If an unauthorized error occurs, make sure the USB mode on the phone is -changed from charging to something like "File Transfer" or "PTP." -You can find the USB mode in the notification tray. +#+end_src -### Reboot Device +If an unauthorized error occurs, make sure the USB mode on the phone is +changed from charging to something like "File Transfer" or "PTP." You +can find the USB mode in the notification tray. -Once we have found the device via `adb`, we can either boot into the -bootloader interface by holding the volume down button while the phone reboots -or by executing the following command: +*** Reboot Device +:PROPERTIES: +:CUSTOM_ID: reboot-device +:END: +Once we have found the device via =adb=, we can either boot into the +bootloader interface by holding the volume down button while the phone +reboots or by executing the following command: -```sh +#+begin_src sh adb reboot bootloader -``` +#+end_src -### Unlock the Bootloader +*** Unlock the Bootloader +:PROPERTIES: +:CUSTOM_ID: unlock-the-bootloader +:END: +The phone will reboot and load the bootloader screen upon startup. At +this point, we are ready to start the actual flashing of GrapheneOS onto +the device. -The phone will reboot and load the bootloader screen upon startup. At this -point, we are ready to start the actual flashing of GrapheneOS onto the device. +*NOTE*: In my situation, I needed to use =sudo= with every =fastboot= +command, but not with =adb= commands. I am not sure if this is standard +or a Fedora quirk, but I'm documenting my commands verbatim in this +post. -**NOTE**: In my situation, I needed to use `sudo` with every `fastboot` -command, but not with `adb` commands. I am not sure if this is standard or a -Fedora quirk, but I'm documenting my commands verbatim in this post. +First, we start by unlocking the bootloader so that we can load other +ROMs: -First, we start by unlocking the bootloader so that we can load other ROMs: - -```sh +#+begin_src sh sudo fastboot flashing unlock -``` - -### Flashing Factory Images +#+end_src -Once the phone is unlocked, we can flash it with the `flash-all.sh` script found -inside the `raven-factory-2022091400` folder we entered earlier: +*** Flashing Factory Images +:PROPERTIES: +:CUSTOM_ID: flashing-factory-images +:END: +Once the phone is unlocked, we can flash it with the =flash-all.sh= +script found inside the =raven-factory-2022091400= folder we entered +earlier: -```sh +#+begin_src sh sudo ./flash-all.sh -``` - -This process should take a few minutes and will print informational messages as -things progress. Avoid doing anything on the phone while this process is -operating. - -### Lock the Bootloader - -If everything was successful, the phone should reboot a few times and finally -land back on the bootloader screen. At this point, we can re-lock the -bootloader to enable full verified boot and protect the device from unwanted -flashing or erasure of data. - -```sh +#+end_src + +This process should take a few minutes and will print informational +messages as things progress. Avoid doing anything on the phone while +this process is operating. + +*** Lock the Bootloader +:PROPERTIES: +:CUSTOM_ID: lock-the-bootloader +:END: +If everything was successful, the phone should reboot a few times and +finally land back on the bootloader screen. At this point, we can +re-lock the bootloader to enable full verified boot and protect the +device from unwanted flashing or erasure of data. + +#+begin_src sh sudo fastboot flashing lock -``` +#+end_src Once done, the device will be wiped and ready for a fresh set-up! -- cgit v1.2.3-70-g09d2