Selection | Checkout | Setup | Apps | Repair | Top |
The first step is to make a documentation directory for the new phone, where the various ID numbers can be recorded. Suggestion: clone it from the old phone, but remove photos etc. specific to the old phone.
Chassis Name | Hostname | Future | |
---|---|---|---|
Old Phone | Barbet | Selen | Barbet |
New Phone | Akita | Orion | Selen |
When Orion is set up and reasonably operational, which I hope to be soon, the old Selen will be renamed to Barbet and Orion will be renamed to Selen. The IP addresses follow the names; the MAC address stays with the chassis. Both phones are on Google Fi which uses eSIMs; rather than trying to move the currently active eSIM to the new phone, I expect that the setup program will provide a way to map my phone number to the new phone's preinstalled eSIM. [Yes this happened.]
What's in the box:
Power it up and follow the on-screen instructions.
First steps:
Use Device MAC. (Then finish hostdata.db and firewall setup.)
Going through the steps in Google's guide to import data etc. from an old Android phone.
Make sure you have:
Preparation to port your phone number to the new phone, if you're using
an eSIM or a new physical SIM. Get on your carrier's app or website.
It's likely that you have turned on port-out suppression so your number
can't be stolen
. Turn this off, so your number can be detached from
your old phone. (And turn it back on after it works on the new phone.)
Update the old phone's software. Back up user data. (Done)
Create a Google account if you don't already have one. (Have one)
SMS, Calendar and Contacts will sync to your Google account (if you use Google for these items, which I don't), also photos and videos. Let them sync off the old phone, later onto the new phone.
On the old phone, open Settings-Accounts-(Google account). Click on Google Account — This controls what happens to your data once Google has it (not what I need now). Click on Account Sync. My stuff was synced this morning, no need to sync again. I'm afraid that the important stuff like device settings and app list aren't synced from this page.
Power on the new phone. Hold down the power button for 3 secs at least, until a splash screen appears. For stock it's the Google logo; for LOS it's a 10 sec warning that your bootloader is unlocked and the GRU could have messed with everything on the phone. Give it some time for initial boot because it has to recompile all the Java bytecode. On the stock OS it took about 2 minutes; only 1 min for LOS because there were fewer factory installed apps.
Steps in the Pixel 8a (Android-14) setup wizard:
When the phone finishes booting, it will run the setup wizard. Select language and accessibility options (I didn't change any). The default language is English. Hit Get Started.
First screen: Set up using another device. Click Pixel or Android.
They give you a magic QR code. Scan it on the old phone. I'm speculating here: the new phone turns on a hotspot with a random ESSID and password, which the old phone uses to copy stuff to the new phone. They say they could also use the USB cable if Wi-Fi is hosed, but I didn't see an option to decline working Wi-Fi. What about NFC? On the old phone I tried the camera app; it will do the MIME thing for some schemas but evidently didn't recognize this one. I used QR Scanner (ad supported, hiss, boo), which worked; both phones said they were copying stuff.
The new phone eventually asks for your pattern or other authentication method like a PIN, transferred from the old phone. And it installs this method on the new phone (if the box is checked).
Important step: Connect to Mobile Network -- download the eSIM.
Confirm your carrier. Move your number to the new phone? Heads up!
This deactivates your number on your old phone.
Unfortunately your Google Fi service can't be activated right now.
You'll be prompted to activate as soon as you've finished setting up
your device. Code: B081 (or BO81?) The reason was that I had
port-out suppression turned on.
Set up fingerprint lock. I'm going to skip, not try to do this in the middle of other critical steps.
Set up face unlock. Again I'm going to skip.
Copy data from your Android device: apps, photos, contacts, and
more
. Yes I'll do this. It's making an inventory of what to
copy, 4.4Gb to copy out of 88Gb available, will take about 11 minutes,
so it says. Bluetooth? Or Wi-Fi? Probably the latter. Items
selected to copy: 78 apps, 66 contacts, 76Mb photos, 18Mb music and
other audio (at least 1 ringtone), SMS messages, MMS attachments,
device settings (including Wi-Fi passwords), call history. Your
Google calendar, contacts, photos, Gmail would be synced also if I had
any of these. Execute. It did something for about 5 secs, then
proceeded to the next page. Actually it was copying stuff while
handling Google Services etc etc, and it finished (notice on the old
phone) in maybe about 11 minutes.
Note: in Settings - Backup or Copy Data you can do this copy process ad-hoc.
Google Services: These were turned on: Use location, allow scanning. These were declined: Send usage and diagnostic data. On this page you can't opt out of: Install updates and apps. (You can change the automatic update setting in Settings.) Hit Accept.
Google Services: Back up your device. Decline, I'll use Seedvault.
Read the warranty. It's also available in Settings-About Phone-Warranty; you don't have to read it now.
Agree to the terms of service, arbitration agreement, and privacy policy.
Set up Google Assistant. Not a chance, hit Skip. Assistant on lock screen? Hit Skip again. Actually this could be useful in an emergency if I were willing to trust Google Assistant.
Check out fast with your phone.
Set up Google Pay. Skip this,
investigate if it works on LOS, later.
Anything else? Available items: translations, identify music, set up the always-on display, prepare for emergency (contact info?), adjust your font, add another email account, install additional apps. I did none of these.
Sign up for Google hardware email updates, i.e. sign up for their spam. Skip.
Results of copying: everything requested was copied. As for Apps, it has a list of them and will install them when setup finishes.
All set, hit the home button now.
There are 3 notifications pending:
Up to this point it's gone from 100% charge to 90%.
Not all app data is necessarily copied. Wireguard has no tunnels. I have files in /storage/emulated/0/jimc, but only files with approved extensions were copied: png, jpeg, jpg, mp3, but none of the txt or html files.
port outfeature is enabled for this number. You need to turn it off, to port out your number. Click the button. Do something involving Chrome which gives you a toggle to turn off port-out protection. It will take about 5min to port the number. Once it happens, test voice calls and SMS (passed). Then in the Fi app, select a group member (jimc), scroll down to Phone Settings - Privacy & Security, scroll down to Number Lock. Turn it on.
One disappointment: it did not place app icons on the launcher screen. I was hoping it would restore icons in their original positions, but I'm going to have to copy them all from the app drawer.
I discovered these tidbits of information:
The normal way to see the IMEI is in System-About Phone. You can also display the baseband processor's copy of the information by dialling *#06# . It shows you:
Fastboot (bootloader) has a menu choice for Barcodes, which shows most of this stuff with a barcode for each.
I want to try these out on the stock OS, without putting a lot of time into it:
The device's name (Selen) is important since it is the friendly name used for Bluetooth connections. Set it in Settings - About Phone - Device Name (the first item).
Go to Settings - Display - Lock Screen - Add Text to Lock Screen. I put the device name and my e-mail address on the lock screen, as another possible way to recover my phone if lost.
For the Anker Soundcore A20 earbuds, the Soundcore app automates most of the procedure.
forgetit. Actually it's legal for it to be paired with multiple peers, and you only need to disconnect it, but since the old phone is being retired, forgetting (deleting the pair relation) is more appropriate.
Pairing to a generic peer, like Xena (laptop):
So that was a lot less painful than the experience on older phones.
Ringtones are set in Settings - Sound
& Vibration. On the old phone the Phone Ringtone was called
Draco
, and the Default Notification Sound was CyanDoink
. The
stock OS gives you a ringtone of Your New Adventure
and notification
Eureka
. Very wimpy. For choosing ringtones I'd better shut off the
Bluetooth music (I don't want Nuclear Launch
through earbuds) and
retire to someplace where my wife won't hear me.
Growl. I downloaded AOSP CyanDoink from Native-Ringtones.com, but online suggestions for how to set a user file as a ringtone or notification sound were ineffective; the sound picker for stock Android-15 lacks the icon for picking a user file.
I ended up with these choices: Ringtone is Pixel Sounds - Hotline (sounds like an old fashioned phone); notification sound is Sound Matters - Crested Francolin at Dawn (a bird call, loud enough to be heard in a noisy environment) (CyanDoink is better).
The Pixel 5a had a capacitive reader on the back cover, while the Pixel 8a has unknown technology (believed to be optical) in a spot in the lower center of the screen. I had no luck at all getting the 5a's sensor to recognize that I even have fingers. A lot of people complain that the 8a's sensor won't work for them, while a lot of others say it's totally reliable. One person said to set up the same finger in 4 slots, doing it in total darkness. Then do the same finger in the remaining slot in normal daylight. Let's see if this does anything for me.
Open Settings - Security & Privacy - Device Unlock - Face & Fingerprint Unlock. It wants to see your pattern, password or PIN. Click on Fingerprint Unlock, then Add Fingerprint. It give you a short paragraph on what to do. Choose which finger to add. Hit Start. It shows a picture of a fingerprint in the lower center of the screen; put your finger a little bit firmly on it and centered. It will turn the screen under your finger to full brightness for a moment. Lift your finger and put it down again but turned toward the tip or both sides, corners, etc, so the sensor sees the whole fingerprint. Do this many times; there's a progress circle; it seemed like 20 to 30 times. If you successfully followed the instructions, it will tell you that your finger is enrolled. You could then do another finger, or the same finger with different lighting.
Partially following the forum poster's suggestion, I enrolled one finger in total darkness (under 1 lux), then the same finger in normal indoor daylight (250 lux). Testing, I put the display to sleep (press power button), then woke it (tap screen), and put my finger on the fingerprint icon. First in daylight, I got about 10 successes and one failure in which my finger was clearly off center. Then back to the dark closet, I tried it 10 times with no failures. This was a big success!
You set this up on a neighboring page: Settings -
Security & Privacy - Device Unlock - Face &
Fingerprint Unlock. Click on Face Unlock. The procedure is simpler
than for fingerprints. I did this in 250 lux indoor daylight.
Read the cautions and click I agree
. It wants you to look
straight ahead with the phone directly in front of you so your face
is centered in the target circle. It thinks about it for a few
seconds, then tells you to tilt your head back, so it's looking at
you from where you would normally hold your phone. You're done!
I then tested it again but not so many times. I put the display to
sleep, then woke it with a tap, and on a success it showed an unlock
icon and the text Unlocked by Face
. Swipe up to remove the
lock screen. On a failure it will offer the next authentication method
(fingerprint, pattern, password, PIN), but if you turn to look more
directly at it, it may then succeed in a face unlock. They warn you
that in dim light, face unlock likely won't work and it will give you
the alternate method.
See here for why LineageOS (LOS) refuses to support Face Unlock on 99% of phones even if the stock OS has it, and recommends that users not (yet) on LOS should adopt their policy.
When apps were copied
from the
old phone, WireGuard was included, but while many apps had their data
copied, WireGuard didn't; it was probably interdicted by the app
because the phone's private key is part of the data. I exfiltrated
the tunnel configurations like this:
All the tunnels worked with no fiddling, except for one that has unrelated issues on the server. The new phone is now using WireGuard routinely.
When I had my Galaxy S5 rooted, what were the effects on the phone? That is, what did I use rooting for? And what negative effects were there?
In Android-11 and earlier, you need root to set the clock. The app Smart Time Sync can set it from GPS and/or NTP. On the non-rooted Pioneer I relied on the carrier's time. T-Mobile provides time accurate to 2 secs, though there are nonspecific reports that some carriers' clocks are much worse.
Media (music and video) has paranoid protection probably involving DRM. With root I could get non-DRM content (legally owned) from my library onto the phone, so I can perform it without a network connection. I haven't been able to do this on the non-root Pioneer.
Backing up the Trim Area I expect will be a lot more accomplishable with root. If I use TWRP, and if afterward I'm locked out of TWRP (like now), can I restore the backup?
Other backups of system data are feasible with root.
Troubleshooting and investigation often requires root.
On the other hand, banking and payment apps like Google Pay are paranoid about being hacked, for good reason, If the phone is simply rooted, they will not work; there is a uniform API called SafetyNet that they can call to detect if the phone has been tampered with. Magisk is the currently popular hack to get around this.
It would be acceptable if the phone were sometimes rooted and sometimes not, during which time payment apps would work (I hope). Magisk has a feature to do this easily.
The fight between Google Play Services and Magisk is a cat and mouse game, or more like Whack-a-Mole. An upgrade to Google Play may knock out the payment apps until Magisk gets updated. I will need to keep old, vulnerable versions of Google Play Services for when this happens.
The LOS installation instructions warn that just unlocking the bootloader may be enough to trigger SafetyNet, so I may already be locked out of payment apps whether or not I root the phone.
Conclusion: being rooted is not a number one priority for my use of the phone.
Web resources: (Akita
is the code name for the Pixel 8a chassis and
for LOS files built for it.)
During installation the new phone will be wiped totally. Data that you want to save should be backed up. I've created only one file that I want to keep. Exfiltrating it now via Bluetooth. [Done]
You should obtain in advance the current LOS image, vendor_boot image,
GApps (Google Apps) package and any others needed. (Use GApps
in
web searches, not google apps
, and the instructions have a direct
link to their index page.) LOS instructions put links to the images on the
pages where they're installed; it's a lot better to download them all in
advance.
Obtain boot.img, dtbo.img, vendor_kernel_boot.img, vendor_boot.img from their download directory for the Akita device. You will also want the main LOS image file; as this is written it is called lineage-22.2-20250521-nightly-akita-signed.zip (with the version and date) (1.3Gb, 9.5min for me). Normally you will use the first (most recent) set of links, but back-version files are available if needed.
To verify the signature on the LOS zip file that you just downloaded, you can use their verifier Javascript. Click on the button and it will give you a file browser; select the downloaded zip file; after a few seconds it will report success (or failure) and the Distinguished Name of the certificate whose private key was used to generate the signature.
LOS Wiki overview of GApps. On this page choose the correct GApps bundle: in my case it's LOS-22 (Android-15) for ARM64. Download it now. A SHA256 sum is also available. 484Mb download, took 2.5min. Checksum is OK.
The following steps are from the LOS installation instructions for Akita, which should be read (and obeyed) in parallel, plus added clarification by jimc.
0a. WARNING, your DRM keys will be gone forever (See extensive discussion of this issue for Pioneer.) The rest of the phone will be totally wiped, so back up user data.
0b. The phone needs to be charged. Anything over 50% should be plenty, says jimc.
0c. Up/downgrade the stock OS to the Android version on which your LOS image is based: Android-15 for LOS-22.x. If you can't get the needed stock image, install a matching back-version LOS image, and upgrade that in a separate step. It's generally recommended to upgrade one major version at a time, e.g. LOS-16 to LOS-17 to LOS-18 to LOS-19.
3. Connect the USB cable to the host. How you connect made a lot of difference on the Pioneer. See here for how I got this working. For Akita I used the provided USB-C to C cable from my laptop's USB-C port to the phone. All adb commands worked on the first try.
Unlocking the bootloader. From a tutorial on Droidwin by Sadique Hassan, 2021-08-27; jimc has created this summary and has added a few key items. The tutorial matches the LOS instructions (except for comments).
adbutility. Check recency of versions on developer.android.com. Either install their zip file or install from your distro (which is more sanitary if the version isn't ancient). The OpenSuSE package for Tumbleweed, as of 2025-05-26, is android-tools version 35.0.2 while developer.android.com has v36.0.0 (next version) (I'll use SuSE).
adb devices; make sure your phone answers. The key shown is the device serial number; check it in About Phone.
adb reboot bootloader. It showed its info screen after about 3 secs, with this content. This is coming from the stock OS, but I'm almost certain that LOS does not replace the bootloader; behavior and info are identical. The
Enter Reasonitem tells why it thinks fastboot was started.
Product revision: akita MP1.0 B1 Bootloader version: akita-15.2-12862154 Baseband version: g5300o-241205-250127-B-12973597 Serial number: (14 bytes) Secure boot: PRODUCTION NOS production: yes DRAM: 8Gb Micron LPDDR5 UFS: 128Gb Micron Device state: locked (unlockable) Boot slot: b Enter reason: reboot bootloader UART: disabled
fastboot devicesand make sure your phone answers. [It does.]
fastboot flashing unlock. I needed to confirm on the phone. Use the volume keys to select Unlock, and the power key to confirm.
Start) or executing
fastboot reboot. Now when booting it shows for about 10sec a warning about the unlocked bootloader.
adb devicesand make sure your phone answers. [It does.]
4. We're going to run the bootloader (fastboot) again.
On the host:
adb reboot bootloader
On the host, execute: fastboot devices
and make sure your phone answers.
Now install four images ending with Recovery. Either change to
the directory where the images were saved, or prepend the directory
name to the filenames.
Assuming you used the standard filenames, execute on the host in
this order (actually the order probably doesn't matter):
fastboot flash boot boot.img
fastboot flash dtbo dtbo.img
fastboot flash vendor_kernel_boot vendor_kernel_boot.img
fastboot flash vendor_boot vendor_boot.img
(Each one takes under 2sec.)
Fastboot is still running, and you want to boot into Recovery. use
the Volume-Up key to cycle to the Recovery Mode
item, and press
the power button to boot it. (Volume-Down also works but goes through
more choices.)
It thinks for about 10 sec, displays the warning about the locked bootloader (10 sec), then the Google splash screen, then the LOS Recovery front page.
LOS image installation: The phone should be running your custom Recovery. If not, do the previous step.
Apply Updatescreen again. Using LOS's vendor_boot.img I got no error messages, but they warn that with some recovery programs, adb will report progress up to 47% and then show various bogus error messages such as
No Erroror
Undefined Error 0which are reporting success. The Pioneer with TWRP does this. Blow off the non-error message. On Akita, transfer stopped at 47% but there was no error message, bogus or not.
vision settings. Hit start. We're using the Android-15 setup program so this is going to be very similar to what I did for the stock OS.
Now that I have all my apps, let's activate Google Fi.
Your phone isn't connecting to our network. Contact Support and we'll help you.
What the Setup Wizard seems to have transferred (or set up anew):
Now I have LineageOS running on the phone. Here's a journal of what I did to set it up.
See here for setting the device's name.
Wi-Fi still randomizes the MAC. Follow to Settings - Network &
Internet - Internet - Wi-Fi - CouchNet - Privacy, and select
Use Device MAC
. Turn off, then turn on Wi-Fi to renew your
DHCP address, getting the fixed IP that goes with that MAC.
The Setup Wizard's copier apparently copies only files with an approved mime-type, i.e. photos, audio or video. Not including my text files, SSH keys, HTTP directory, etc. Transferring those files will be an important early step.
Re-do the miscellaneous setup for the stock OS:
Solution: in Firefox, make an exception for my domain. Yuck.
teachGoogle Assistant to do a face match; do I want to touch that? There are face unlock apps but am I too paranoid to use them? A LOS developer explains that most face unlockers just take a picture of your face and match it with the stored face model. A paper photo of your face would do as well. iPhone and a very few Android phones have a pair of infrared cameras, so they can recognize if the target's 3D shape is humanoid, and it's very hard to paint the fake so the infrared spectrum comes out right. Conclusion: LOS refuses to support face unlock on 99% of the phones, even if the stock OS has it.
Additional immediate-early apps that I need to set up first because I'm actively using them:
On Firefox for Mobile, the home page
is the new tab initial
page, with pinned sites, recent bookmarks, etc. For the normal desktop
kind of home page, set a bookmark and jump to that. Firefox for Mobile
used to accept file:// URLs, but no longer; it silently displays
nothing. So I installed NiM Web Server and configured it to serve
my homedir to localhost:8080, and set the bookmark to that.
NEEDS WORK Import the CFT root cert. It's on https://diamond.cft.ca.us/~certauth/ and Firefox doesn't have the trust anchor. Make an exception and download it. But none of the importation procedures will install the cert: download and open with the native cert installer; Settings-Security-Encryption&Credentials-Install a Cert; StrongSwan cert installer.
NEEDS WORK
Import jimc's user cert (for use with the VPNs). But when it installed
the PKCS#12 file it asked for the password encrypting the private key,
then circulated saying extracting
for at least 5min.
In LOS-22 the launcher icon layout is copied from the old phone.
Now I'm going to go through Settings and see what's available. I expect that most will be informational (like Wi-Fi scan results) and most of the rest will be left at defaults or at whatever value was imported from the old phone; only changed settings are shown here.
Walk in the Forest, which is easily snarfable on the Internet. Also check out Nuclear Launch and Rooster.
chamfered, not
tapered.
Create Wallpaperdoesn't seem to do anything — it requires artificial intelligence support which the stock OS has but LOS doesn't. I kept the default dark theme and 4x5 icon grid. You can get to this page with a long press in the home page's background.
Emergency Callat the bottom.
Emergency Informationat the top. Click the label.
Device Controlsdoes. This menu is reached when you long-press the Power button.
Use Developer Options.
(This is the original version, delete when finished)
On the very day I'm writing this, LOS released version 19 (Android-12L)
for Barbet and 40 other phones including the Pioneer. In the
LOS staff blog dated
2022-04-26, they say, On the whole, we feel that the 19 branch has
reached feature and stability parity with 18.1 and is ready for initial
release.
Should I go along? If I install v18.1 and then upgrade to v19,
it's not as much work as replacing the stock OS, but the upgrade is
nontrivial. I'm going to install v19. But I've stashed the last v18.1
image files, so I can downgrade if necessary. For the next month or so
I should upgrade weekly, then go back to my usual update every 2 weeks.
(Note, while the new version is called LineageOS 19
, the image filenames
include 19.1
as the version.)
Web resources:
You should obtain in advance the current LOS image, vendor_boot image, and
GApps (Google Apps) package. (Use GApps
in web searches, not
google apps
.) (LOS instructions put this step after you've booted
into Recovery.)
LOS download
directory; it has subdirectories per date. Normally get the most
recent image. Also download its sha256 sum. (But no GPG signature,
hiss, boo!) Size 1.09Gb. Sample command line to check the checksum;
note the backslash before the question mark:
sha256sum -c < lineage-19.1-20220428-nightly-barbet-signed.zip\?sha256
TeamWin Recovery Project (TWRP) website. This is what I normally use. Click on Devices and pick yours. Oops, Google Pixel 5 is supported but Pixel 5a isn't. The CPU is identical and it would probably work, but I'm not going to try it.
The LOS instructions tell you to download a custom recovery
,
of which TWRP is the most popular; however they also give a link
to theirs, under the name vendor_boot.img
in the same
directory as the main image.
XDA-Developers overview of GApps packages
LOS Wiki overview
of GApps
In the past I've always used OpenGApps. But a key quote from the
LOS overview is: If Open GApps is not listed for your
Android version, it is not recommended.
Which it isn't for
Android-11 and 12. They recommend
MindTheGapps (link to index).
For Barbet you want the arm64 architecture, for Android-12.
Size: 241Mb. The download page gives a MD5 sum; check it.
The first time around I used an experimental OpenGApps bundle. But it put the Setup Wizard into an infinite loop of making me configure Google Services permissions. Thanks to u/monteverde_org on Reddit/Cyanogenmod for showing me the error of my ways.
The following steps are from the LOS installation instructions for Barbet, which should be read (and obeyed) in parallel, plus added clarification by jimc. Step numbers match with that howto.
0a. WARNING, your DRM keys will be gone forever (See extensive discussion of this issue for Pioneer.) The rest of the phone will be totally wiped, so back up user data.
0b. The phone needs to be charged. Anything over 50% should be plenty, says jimc.
0c. Up/downgrade the stock OS to the Android version on which your LOS image is based: Android-11 for LOS-18.1, or Android-12 for LOS-19. If you can't get the needed stock image, install a matching back-version LOS image, and upgrade that in a separate step. It's generally recommended to upgrade one major version at a time, e.g. LOS-16 to LOS-17 to LOS-18 to LOS-19.
3. Connect the USB cable to the host. How you connect made a lot of difference on the Pioneer. See here for how I got this working. For Barbet I used the provided USB-C to C cable from my laptop's USB-C port to the phone. All adb commands worked on the first try.
Unlocking the bootloader. From a tutorial on Droidwin by Sadique Hassan, 2021-08-27; jimc has created this summary and has added a few key items. The tutorial matches the LOS instructions (except for comments).
adbutility. Check recency of versions on developer.android.com. Either install their zip file or install from your distro (which is more sanitary if the version isn't ancient). The OpenSuSE package for Tumbleweed, as of 2022-04-28, is android-tools version 31.0.3 while developer.android.com has v33.0.1 (I'll use SuSE).
adb devices; make sure your phone answers. The key shown is the device serial number; check it in About Phone.
adb reboot bootloader. It showed its info screen after about 3 secs, with this content. This is coming from the stock OS, but I'm almost certain that LOS does not replace the bootloader; behavior and info are identical. The
Enter Reasonitem tells why it thinks fastboot was started.
Product revision: barbet MP1.0(NA) Bootloader version: b9-0.4-8048809 Baseband version: g7250-00118-220211-B-8174514 Serial number: (14 bytes) Secure boot: PRODUCTION NOS production: yes DRAM: 6Gb Micron LPDDR4X UFS: 128Gb Micron Device state: locked Boot slot: b Enter reason: reboot bootloader
fastboot devicesand make sure your phone answers. [It does.]
fastboot flashing unlock. I needed to confirm on the phone. Use the volume keys to select Unlock, and the power key to confirm.
Start) or executing
fastboot reboot. Now when booting it shows for about 10sec a warning about the unlocked bootloader.
adb devicesand make sure your phone answers. [It does.]
4. We're going to run the bootloader (fastboot) again.
On the host:
adb reboot bootloader
On the host, execute: fastboot devices
and make sure your phone answers.
Now install the Recovery image. Execute on the host:
fastboot flash vendor_boot <recovery_filename>.img
(fill in the actual filename for recovery). [Done, takes about
5sec.]
So what is the recovery filename, that you were supposed to have already downloaded? If you're using the LOS recovery, it's vendor_boot.img from the same web directory that you got the main image from. LOS instructions imply that you could also use a TWRP image at this point, if one were available for Pixel 5a, which it isn't. That's how I've done it in the past.
I faked myself out: having failed to find a TWRP Recovery, I then searched around for the relevant LOS Recovery image — and unfortunately I found it in https://mirrorbits.lineageos.org/recovery/barbet/20220428/lineage-19.1-20220428-recovery-barbet.img . So I tried to flash it and got totally tangled up.
Details are murky about how you get from fastboot into the Recovery
you just flashed. The host's fastboot program doesn't have a
subcommand to boot into Recovery. What I did: use the Volume-Up key to
cycle to the Recovery Mode
item, and press the power button to
boot it. (Volume-Down also works but goes through more choices.)
It displays the warning about the locked bootloader (10 sec), then the Google splash screen, then the LOS Recovery front page.
LOS image installation: The phone should be running your custom Recovery. If not, do the previous step.
step 1/2. Tap the screen (in the lower area) if the screen saver blanks it. When done it shows the
Apply Updatescreen again. Using LOS's vendor_boot.img I got no error messages, but they warn that with some recovery programs, adb will report progress up to 47% and then show various bogus error messages such as
No Erroror
Undefined Error 0which are reporting success. The Pioneer with TWRP does this. Blow off the non-error message. On Barbet, transfer stopped at 47% but there was no error message, bogus or not.
vision settings. Hit start.
installing67 apps. Better wait until it finishes. I think each copied app needs an initialization step.
What the Setup Wizard seems to have transferred (or set up anew):
Loose ends:
Now I have LineageOS running on the phone. Here's a journal of what I did to set it up.
The Setup Wizard's copier apparently copies only files with an approved mime-type, i.e. photos, audio or video. Not including my text files, SSH keys, HTTP directory, etc. Transferring those files will be an important early step.
Somehow when Wi-Fi was set up, my attempt to use the device MAC was not honored, so I have an aleatory MAC and DHCP IP. Fixing that now. Settings-Network&Internet-Internet-Wi-Fi, click on settings for the network to which you're connected (or any of the networks; the setting is individual per SSID). Click on Privacy and change to Use Device MAC. Turn off Wi-Fi and turn back on, to get your proper fixed IP address.
Immediate-early apps that I need to set up first because I'm actively using them:
Setting up all this, from the stock OS to the above 7 apps being used overnight, took 20% of battery (100% to 80%).
On Firefox for Mobile, the home page
is the new tab initial
page, with pinned sites, recent bookmarks, etc. For the normal desktop
kind of home page, set a bookmark and jump to that. Firefox for Mobile
used to accept file:// URLs, but no longer; it silently displays
nothing. So I installed NiM Web Server and configured it to serve
my homedir to localhost:8080, and set the bookmark to that.
Importing my bookmarks and pinned sites for Firefox. There's got to be a better way (short of creating a Mozilla sync account). Some of them are rather intricate, e.g. for the National Weather Service the coordinates of my house are appended, to give a truly local forecast.
What I actually did: Do this in the order in which you want the bookmarks to be listed. On the old phone, follow a bookmark. In the dotdotdot menu select Share (3 circles rightward opening) In the resulting icon box pick QRbot (View Code). A QR code of the URL appears. On the new phone, start QRbot, which will activate the camera. Hold the phones parallel and move so the QR code is in the targeting box. QRbot reads it and gives you a menu including Open Web Page. Hit it; it's opened with your default browser (which at the moment is LOS's Jelly). It would have been better to switch to Firefox (in Apps-Default Apps-Browser), but I actually selected the URL, long press and pick Copy, use the app switcher to flip to Firefox, long press on the address bar and pick Paste, let it open the web page, then hit the star in the address bar to make a bookmark. Firefox briefly pops a toast about editing the bookmark; hit it promptly if you need to improve the title.
NEEDS WORK Import the CFT root cert. It's on https://diamond.cft.ca.us/~certauth/ and Firefox doesn't have the trust anchor. Make an exception and download it. But none of the importation procedures will install the cert: download and open with the native cert installer; Settings-Security-Encryption&Credentials-Install a Cert; StrongSwan cert installer.
NEEDS WORK
Import jimc's user cert (for use with the VPNs). But when it installed
the PKCS#12 file it asked for the password encrypting the private key,
then circulated saying extracting
for at least 5min.
Installing Google Pay, because I'm going to need to pay for an app (DAVx5) which is a prerequisite for using Nextcloud to serve my contacts and calendar.
Wallet(com.google.android.apps.walletnfcrel). It accepted all the details of my payment card, then announced that my phone could not be set up because it does not meet security requirements.
Updating the payment method for the Google Play Store. This turned out to be a lot more difficult than expected due to authentication issues.
Syncing contacts, calendar and tasks. by CardDAV Sync and CalDAV Sync have been set up. How to do it:
Your clients should now be connected! You cn close this window.(Close it.)
I re-created my launcher icon layout (q.v.).
Now I'm going to go through Settings and see what's available. I expect that most will be informational (like Wi-Fi scan results) and most of the rest will be left at defaults or at whatever value was imported from the old phone; only changed settings are shown here.
large.
chamfered, not
tapered.
Emergency Callat the bottom.
Emergency Informationat the top. Click the label.
Device Controlsdoes. This menu is reached when you long-press the Power button.
Use Developer Options.
The app launcher (Trebuchet) has an unlimited number of pages. It wants
to open on the leftmost of them, whereas formerly I used the middle of three
as my home
page. For launcher settings, long press in the background and
a menu will open with items for settings, widgets and wallpapers. I haven't
found a setting to pick a different home
page. Here are my settings;
* indicates other than the default.
My icon layout. Many apps are reached only from the app drawer. I'm going to duplicate what's on the old phone (Pioneer) as much as possible.
— Dock (using 3 of 5 slots) — | |||
Camera | Firefox | Phone | |
— Page 0 (Home) — | |||
Amazon Kindle | QRbot | Tasks | Xabber |
Smart Time Sync | GPS Locker | aCalendar | Messaging |
Kitchen Timer | Jog Tracker | Contacts | RealCalc |
Huge Dig Clock | Jota Editor | Google Maps | Bible App |
(Vacant) | |||
— Page 1 (Technical and Games) — | |||
StrongSwan | OpenVPN And. | WireGuard | H.E. Net Tools |
SimpleSSHD | NiM Websvr | ownCloud | JuiceSSH |
GPS Status | WiFi Analyzer | Sensors | Net Cell |
Settings | Total Commander | DNS Forwarder | Gallery |
(vacant) | (vacant) | Sudokyuu | Solitaire Coll. |
— Page 2 (Misc) — | |||
iRobot | Domoticz | Thermostat | Ring |
Bitwarden | Whole Foods | MyChart | Voicemail |
Zoom | Bluetooth Kbd | CA Notify | Play Store |
Sky Map | Earth | (Vacant) | Google Pay |
(Vacant) |
Miscellaneous settings: Sounds. Set these in Settings-Sounds (toplevel directory). You can also set them in various other places like the phone app. In several major version upgrades the names of the sounds were randomized, but they stayed stable in the upgrades from LOS-17 to LOS-18.1 to LOS-19.
Ringtone. Set in Sounds-Phone Ringtone. Default is Orion which is not too bad. There are 111 to choose from. I'm using Draco, with Sheep and Canis Major as 2nd choices.
Notification. Set in Sounds-Default Notification Sound. I had trouble with not hearing notification bloinks in a noisy or active environment. I changed to CyanDoink, which is annoying but aggressive enough to not be missed.
Alarm. Set in Sounds-Default Alarm Sound. The default is Hassium,
which is horrible and has none of the cachet of Nuclear Launch. Also
consider Rooster. Among the provided sounds, Platinum is the best of a
bad lot. For my wakeup alarm I use Walk_in_the_forest.mp3 (in ~jimc),
which you could add by Add Ringtone
, once it's been restored
from backups. Confirmed that Huge
Digital Clock can find and play this file when the alarm goes off.
The adb
Android debugging utility used to have a subcommand to back
up the phone, but around 2020 it was removed. I've been using a back-version
adb to do these backups, but that's not sustainable, nor prudent. Also I have
never done a fire drill
, restoring one of these backups, to see just how
much stuff is actually being backed up. It's time to get dragged, kicking and
screaming, into the current decade. So what's a good backup program that will
work on LOS-19?
An open source program called SeedVault is an official component at least since LOS-17. If I'm reading this right, it has these features:
I did a trial backup, with these outcomes:
Here's a preliminary assessment of what was backed up, with a count of apps in each fate category:
How to exfiltrate the backup with adb:
cdto that dir.
How to exfiltrate the backup with rsync:
How to decrypt, modify and reencrypt seedvault android backups
:
There's a program to do this on Github, tlambertz's area, called seedvault_backup_parser. It's in Python and is tested on Linux. There's just the one script file called parse.py and documentation. It has a spec file for making a RPM package, but it's not on SuSE Open Build Service. It has a runtime dependency on Cryptodome (current SuSE package name: python38-pycryptodome), which is installed already.
You can copy from the backup dir containing encrypted files, to a second dir which is decrypted. You need to give the passphrase, 12 English words space separated.
He shows an example of creating a subset of a decrypted backup containing your Wi-Fi passwords, adding multiple other passwords, and sending it back to the phone in a form that SeedVault can restore. Root not needed.
I installed the whole thing in Selen's backup directory, where the encrypted backup dir was copied to. 11.5kb compressed,
To decrypt: First you have to find the backup directory, the one
containing .backup.metadata .
.SeedVaultAndroidBackup has subdir(s) named as integers (but they
aren't times). This is the directory you have to give to parse.py.
mkdir /scr/selen.seed
bkup=/home/backup/selen/sdcard/.SeedVaultAndroidBackup/12324…
./parse.py decrypt $bkup /scr/selen.seed
Give the passphrase, 12 English words space separated.
Oops, the program handles metadata version 0, but the metadata
in the current backup is version 1 (in the first octet of the file).
Too bad, this is going nowhere because I'm not going to hold up finishing the rest of the phone until someone finds out how metadata version 1 differs from version 0 and modifies parse.py to match. There's an issue filed for this update.
A tidbit about DAVx5:
Product hype: you can sync contacts, calendars and tasks between your generic Android client(s) and the DAVx5 server (both directions). It can do generic WebDAV, specifically streaming media with the possibility to seek to an arbitrary location in the stream. It supports Storage Access Framework (SAF).
iOS (Apple) calendar and contact apps can use DAVx5 natively, so you can share content between iOS and Android. (jimc's research: In 2007-03, Cyrus Daboo of Apple and 2 others wrote RFC 4791 which defines CalDAV. In 2011-08 Cyrus Daboo of Apple wrote RFC 6352 (still a proposed standard) which defines CardDAV.)
They say they have a modern GUI
but I don't see much
discussion of it. A good feature of ownCloud is that the server
provides a web GUI that can do pretty much everything the Android
calendar and contact apps can do.
Their business model is to provide the server, at 1.99 euro per user per month for 5 to 20 users, 1.49 euro/user*month for 20 to 100 users, and the price is negotiable for bigger enterprises. However, the server (and client) are open source, and presumably you can host your own server.
The app DAVx5 by Bitfire Web Engineering ($5.99) is a sync client that handles CardDAV, CalDAV and WebDAV. This is the official client that goes with the server. There are a zillion other sync clients that DAV5x will work with. You can get the app for free on F-Droid.
If you're acquiring for free, it's requested that you make a donation. They take Euros by credit card, Paypal, wire transfer, LiberaPay, Bitcoin, or Monero.
Selection | Checkout | Setup | Apps | Repair | Top |