From 815bba2e0d26f33b9b1e26a4a2900fca1150c439 Mon Sep 17 00:00:00 2001 From: Bastian de Byl Date: Sun, 12 Jul 2020 23:14:53 -0400 Subject: [PATCH] Write up on LineageOS for Pixel 3a and fixes --- Makefile | 8 ++ content/post/aperture-study.md | 21 +++-- content/post/emacs_clang_libopencm3.md | 2 +- content/post/lineageos_pixel3a.md | 111 +++++++++++++++++++++++++ make-thumbs.sh | 84 ------------------- 5 files changed, 134 insertions(+), 92 deletions(-) create mode 100644 content/post/lineageos_pixel3a.md delete mode 100755 make-thumbs.sh diff --git a/Makefile b/Makefile index b4b2bdd..7494332 100644 --- a/Makefile +++ b/Makefile @@ -10,6 +10,10 @@ HUGO_IMAGE_NAME=bdebyl/hugo HUGO_IMAGE_TAG?=latest HUGO_IMAGE=$(HUGO_IMAGE_NAME):$(HUGO_IMAGE_TAG) +THUMBR_IMAGE_NAME=bdebyl/awscli +THUMBR_IMAGE_TAG?=latest +THUMBR_IMAGE?=$(THUMBR_IMAGE_NAME):$(THUMBR_IMAGE_TAG) + AWS_IMAGE_NAME=bdebyl/awscli AWS_IMAGE_TAG?=latest AWS_IMAGE=$(AWS_IMAGE_NAME):$(AWS_IMAGE_TAG) @@ -45,6 +49,10 @@ static-push: aws s3 sync --acl "public-read" --sse "AES256" ${STATIC_DIR}/ s3://${STATIC_BUCKET} .PHONY: static-push +static-images: + @${DOCKER_RUN} ${THUMBR_IMAGE} ${STATIC_DIR}/static/img +.PHONY: static-images + css-push: aws s3 cp --acl "public-read" --sse "AES256" public/dist/style.css s3://${WEB_BUCKET}/dist/style.css .PHONY: css-push diff --git a/content/post/aperture-study.md b/content/post/aperture-study.md index 817ab0a..e8c8dda 100644 --- a/content/post/aperture-study.md +++ b/content/post/aperture-study.md @@ -67,11 +67,18 @@ Below is the entire collection of all the photos taken of the subject at increasing aperture steps. {{< thumbgallery >}} - {{< thumb src="/static/img/aperture-study/f17.jpg" sub="f/1.7" >}} - {{< thumb src="/static/img/aperture-study/f20.jpg" sub="f/2.0" >}} - {{< thumb src="/static/img/aperture-study/f22.jpg" sub="f/2.2" >}} - {{< thumb src="/static/img/aperture-study/f25.jpg" sub="f/2.5" >}} - {{< thumb src="/static/img/aperture-study/f28.jpg" sub="f/2.8" >}} - {{< thumb src="/static/img/aperture-study/f32.jpg" sub="f/3.2" >}} - {{< thumb src="/static/img/aperture-study/f40.jpg" sub="f/4.0" >}} + {{< thumb src="/static/img/aperture-study/f17.jpg" sub="f/1.7" + alt="Photograph showing photo at aperture f/1.7" >}} + {{< thumb src="/static/img/aperture-study/f20.jpg" sub="f/2.0" + alt="Photograph showing photo at aperture f/2.0" >}} + {{< thumb src="/static/img/aperture-study/f22.jpg" sub="f/2.2" + alt="Photograph showing photo at aperture f/2.2" >}} + {{< thumb src="/static/img/aperture-study/f25.jpg" sub="f/2.5" + alt="Photograph showing photo at aperture f/2.5" >}} + {{< thumb src="/static/img/aperture-study/f28.jpg" sub="f/2.8" + alt="Photograph showing photo at aperture f/2.8" >}} + {{< thumb src="/static/img/aperture-study/f32.jpg" sub="f/3.2" + alt="Photograph showing photo at aperture f/3.2" >}} + {{< thumb src="/static/img/aperture-study/f40.jpg" sub="f/4.0" + alt="Photograph showing photo at aperture f/4.0" >}} {{< /thumbgallery >}} diff --git a/content/post/emacs_clang_libopencm3.md b/content/post/emacs_clang_libopencm3.md index a3516a9..fb72478 100644 --- a/content/post/emacs_clang_libopencm3.md +++ b/content/post/emacs_clang_libopencm3.md @@ -3,7 +3,7 @@ title: "Auto-complete for libopencm3 in Emacs" date: 2019-10-18 lastmod: 2019-10-18 tags: ["emacs", "linux"] -categories: ["Tutorials"] +categories: ["Tutorial"] contentCopyright: true hideHeaderAndFooter: false --- diff --git a/content/post/lineageos_pixel3a.md b/content/post/lineageos_pixel3a.md new file mode 100644 index 0000000..46d8d90 --- /dev/null +++ b/content/post/lineageos_pixel3a.md @@ -0,0 +1,111 @@ +--- +title: "Installing LineageOS Unofficial on Pixel 3a" +date: 2020-07-13 +lastmod: 2020-07-13 +draft: false +tags: ["android", "security", "hacking"] +categories: ["Tutorial"] +contentCopyright: true +hideHeaderAndFooter: false +preview: "/static/img/lineageos-pixel3a/lineage-settings.png" +--- +In this post I aim to highlight my findings in deciding to go through the +process of installing LineageOS on my Pixel 3a. Currently, LineageOS does not +officially support the Pixel 3a. However, InvisibleK (Dan Pasanen) does host +updated versions of his unofficial LineageOS build for the Pixel 3a complete +with a custom recovery to utilize for this purpose! + +{{< thumbgallery >}} + {{< thumb src="/static/img/lineageos-pixel3a/lineage-settings.png" + alt="Screenshot showing the LineageOS version and other LineageOS settings on the Pixel 3a" >}} + {{< thumb src="/static/img/lineageos-pixel3a/lineage-trust.png" + alt="Screenshot showing the LineageOS Trust feature" >}} +{{< /thumbgallery >}} + + + +# Thank You +Before going on any further, I'd like to take a moment to give my sincere thanks +to InvisibleK (Dan Pasanen). Having to set up the entire custom build for Pixel +3a of LineageOS myself would add far more overhead in the overall simple task in +trying to get LineageOS to work on a Pixel 3a! + +# Preface +There are plenty of guides out there on how to install and set up ADB and +Fastboot on your host machine. For me, on Arch Linux, this was as simple as +running `pacman -S android-tools`. However, should you be on MacOS or Windows +you may have to find resources on how to go about this. I do not intend to go +over this here -- __sorry_. + +Additionally, this _guide_ also assumes the reader has some familiarity with ADB +and/or Fastboot. + +# Source Files +If you, the reader, knows what you're doing and simply just require the files +for your Pixel 3a they can be found here: +- https://updater.invisiblek.org/sargo + +# Installation +{{< admonition warning "Warning!" >}} +If it isn't abundantly clear by now, be aware that you **will be destroying all +the data currently on your Pixel 3a** in the process of installing LineageOS on +your device! Stop now and back up any files, 2FA codes, or other prior to +proceeding. +{{< /admonition >}} + +## Note about TWRP +As of writing this, TWRP[^1] (_a custom recovery commonly used in custom OS +installation_) does not support Pixel 3a. However, if it does + +## Flash to Stock +Google is kind enough to provide a plethora of versions of the stock images for +the Pixel devices. In my process of installing LineageOS, as it will be on +Android 10, I made sure to flash to the latest stock version of Pixel 3a Android +10. Do note that the versions are listed in reverse order, with the latest being +found in the bottom-most row. +- https://developers.google.com/android/images + +Additionally, Google provides a helper script `flash-all` that I highly +recommend running as-is to flash your Pixel 3a to stock. This will take some + +## Flash Custom Recovery +Using InvisibleK's build page, you'll find the required custom recovery image +for flashing found at the bottom of the list of zip files marked with a lone +"download" link. + +Download, then flash it via the following: +1. Reboot to recovery + ```bash + $ adb reboot bootloader + ``` +1. Flash the custom recovery (_make sure to replace `N` with the version you + downloaded, mine was '4'_) + ```bash + $ fastboot flash boot sargo-recovery-eng-N.img + ``` +1. Boot the custom recovery either by re-entering recovery mode or fastboot -- + make sure to wait for it to enter Android Recovery after + ```bash + $ fastboot boot sargo-recovery-eng-N.img + ``` + +## Install LineageOS +Now that the custom recovery is set up and booted into, we're ready to install LineageOS! +1. **Important!** Once in recovery, ensure to 'Wipe data/factory reset' prior to + proceeding. +1. Select 'Apply update from ADB' +1. ADB Sideload the version, if not latest, of LineageOS you want for your Pixel + 3a + ```bash + $ adb sideload lineage-17.1-2020517-UNOFFICIAL-sargo.zip + ``` +1. Wait for installation to complete then select 'Reboot system now' from the + recovery menu +1. Enjoy LineageOS! + +## Verification +Once in LineageOS, you can browse the settings to verify the installation and +set up Trust the preferred way. Personally, I chose to leave the defaults. + + +[^1]: [Team Win Recovery Project](https://twrp.me/) diff --git a/make-thumbs.sh b/make-thumbs.sh deleted file mode 100755 index e9798fa..0000000 --- a/make-thumbs.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/sh -{ usage="$(cat)"; }<<'EOF' -USAGE - make-thumbs.sh [OPTIONS] - -DESCRIPTION - Recursively searches through the passed path, ignoring existing thumbnails, - and generates thumbnails for images greater than 600px in width. - -OPTIONS - -h, --help Shows this help prompt - -d, --dry-run Dry-run that will not create actual thumbnails -EOF - -die() { - printf '%s\n' "$1" >&2 - exit 1 -} - -show_help() { - printf '%s\n' "$usage" - exit -} - -while :; do - case $1 in - -h|-\?|--help) - show_help - exit - ;; - -d|--dry-run) - DRYRUN=1 - ;; - --) - shift - break - ;; - -?*) - printf 'WARN: Unknown option (ignored): %s\n' "$1" >&2 - ;; - *) - if [ "$1" ]; then - BROWSE_PATH=$1 - else - break - fi - ;; - esac - - shift -done - -if [ -z "$BROWSE_PATH" ]; then - die 'ERROR: path not specified! (See -h/--help)' -fi - -CONVERT=$(command -v convert) -if [ ! "$CONVERT" ]; then - echo "ERROR: imagemagick must be installed!" - exit 1 -fi - -find "$BROWSE_PATH" -type f -not -path '*thumb*' | while read -r i; do - THUMB_PATH="$(dirname "$i")/thumb" - IMG_NAME="$(basename "$i")" - - # Generate a thumbnail if the width is greater than 600px - if [ "$(identify -format "%w" "$i")" -gt 600 ]; then - # Create the thumbnail directory fo the image to be made - if [ ! -d "$THUMB_PATH" ]; then - if [ ! "$DRYRUN" ]; then - mkdir -p "$THUMB_PATH" - fi - fi - - # Create the thumbnail image - if [ ! -f "$THUMB_PATH/$IMG_NAME" ]; then - printf "└─ Converting %s to thumbnail in %s \n" "$BROWSE_PATH/$IMG_NAME" "$THUMB_PATH" - if [ ! "$DRYRUN" ]; then - "$CONVERT" -resize 600x "$i" "$THUMB_PATH/$IMG_NAME"; - fi - fi - fi -done