diff options
Diffstat (limited to 'blog/2022-09-21-graphene-os.org')
-rw-r--r-- | blog/2022-09-21-graphene-os.org | 186 |
1 files changed, 0 insertions, 186 deletions
diff --git a/blog/2022-09-21-graphene-os.org b/blog/2022-09-21-graphene-os.org deleted file mode 100644 index f17f860..0000000 --- a/blog/2022-09-21-graphene-os.org +++ /dev/null @@ -1,186 +0,0 @@ -#+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 -: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 - -#+begin_src sh -unzip platform-tools_r33.0.3-linux.zip -cd platform-tools -sudo mv fastboot /usr/bin/ -sudo mv adb /usr/bin -#+end_src - -*** 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: - -#+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 -#+end_src - -**** 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. - -#+begin_src sh -sudo dnf install signify -#+end_src - -#+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 -modified before it was saved to our device. - -#+begin_src sh -signify -Cqp factory.pub -x raven-factory-2022091400.zip.sig && echo verified -#+end_src - -**** Unzip Files -:PROPERTIES: -:CUSTOM_ID: unzip-files -:END: -Once the files are verified, we can unzip the Graphene image and enter -the directory: - -#+begin_src sh -unzip raven-factory-2022091400.zip && cd raven-factory-2022091400 -#+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 -#+end_src - -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. - -*** 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: - -#+begin_src sh -adb reboot bootloader -#+end_src - -*** 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. - -*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: - -#+begin_src sh -sudo fastboot flashing unlock -#+end_src - -*** 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: - -#+begin_src sh -sudo ./flash-all.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! |