Write up on LineageOS for Pixel 3a and fixes
This commit is contained in:
8
Makefile
8
Makefile
@@ -10,6 +10,10 @@ HUGO_IMAGE_NAME=bdebyl/hugo
|
|||||||
HUGO_IMAGE_TAG?=latest
|
HUGO_IMAGE_TAG?=latest
|
||||||
HUGO_IMAGE=$(HUGO_IMAGE_NAME):$(HUGO_IMAGE_TAG)
|
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_NAME=bdebyl/awscli
|
||||||
AWS_IMAGE_TAG?=latest
|
AWS_IMAGE_TAG?=latest
|
||||||
AWS_IMAGE=$(AWS_IMAGE_NAME):$(AWS_IMAGE_TAG)
|
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}
|
aws s3 sync --acl "public-read" --sse "AES256" ${STATIC_DIR}/ s3://${STATIC_BUCKET}
|
||||||
.PHONY: static-push
|
.PHONY: static-push
|
||||||
|
|
||||||
|
static-images:
|
||||||
|
@${DOCKER_RUN} ${THUMBR_IMAGE} ${STATIC_DIR}/static/img
|
||||||
|
.PHONY: static-images
|
||||||
|
|
||||||
css-push:
|
css-push:
|
||||||
aws s3 cp --acl "public-read" --sse "AES256" public/dist/style.css s3://${WEB_BUCKET}/dist/style.css
|
aws s3 cp --acl "public-read" --sse "AES256" public/dist/style.css s3://${WEB_BUCKET}/dist/style.css
|
||||||
.PHONY: css-push
|
.PHONY: css-push
|
||||||
|
|||||||
@@ -67,11 +67,18 @@ Below is the entire collection of all the photos taken of the subject at
|
|||||||
increasing aperture steps.
|
increasing aperture steps.
|
||||||
|
|
||||||
{{< thumbgallery >}}
|
{{< thumbgallery >}}
|
||||||
{{< thumb src="/static/img/aperture-study/f17.jpg" sub="f/1.7" >}}
|
{{< thumb src="/static/img/aperture-study/f17.jpg" sub="f/1.7"
|
||||||
{{< thumb src="/static/img/aperture-study/f20.jpg" sub="f/2.0" >}}
|
alt="Photograph showing photo at aperture f/1.7" >}}
|
||||||
{{< thumb src="/static/img/aperture-study/f22.jpg" sub="f/2.2" >}}
|
{{< thumb src="/static/img/aperture-study/f20.jpg" sub="f/2.0"
|
||||||
{{< thumb src="/static/img/aperture-study/f25.jpg" sub="f/2.5" >}}
|
alt="Photograph showing photo at aperture f/2.0" >}}
|
||||||
{{< thumb src="/static/img/aperture-study/f28.jpg" sub="f/2.8" >}}
|
{{< thumb src="/static/img/aperture-study/f22.jpg" sub="f/2.2"
|
||||||
{{< thumb src="/static/img/aperture-study/f32.jpg" sub="f/3.2" >}}
|
alt="Photograph showing photo at aperture f/2.2" >}}
|
||||||
{{< thumb src="/static/img/aperture-study/f40.jpg" sub="f/4.0" >}}
|
{{< 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 >}}
|
{{< /thumbgallery >}}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ title: "Auto-complete for libopencm3 in Emacs"
|
|||||||
date: 2019-10-18
|
date: 2019-10-18
|
||||||
lastmod: 2019-10-18
|
lastmod: 2019-10-18
|
||||||
tags: ["emacs", "linux"]
|
tags: ["emacs", "linux"]
|
||||||
categories: ["Tutorials"]
|
categories: ["Tutorial"]
|
||||||
contentCopyright: true
|
contentCopyright: true
|
||||||
hideHeaderAndFooter: false
|
hideHeaderAndFooter: false
|
||||||
---
|
---
|
||||||
|
|||||||
111
content/post/lineageos_pixel3a.md
Normal file
111
content/post/lineageos_pixel3a.md
Normal file
@@ -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 >}}
|
||||||
|
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
|
# 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/)
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
{ usage="$(cat)"; }<<'EOF'
|
|
||||||
USAGE
|
|
||||||
make-thumbs.sh [OPTIONS] <path>
|
|
||||||
|
|
||||||
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
|
|
||||||
Reference in New Issue
Block a user