Unofficial builds for Google Pixel devices

I do get the update to 6.9. shown in the updater on a 4a “Sunfish”, but after downloading it says “verification failed” (my translation from German “Überprüfung fehlgeschlagen”)
Is that how it should be?
Update does work on the official 6.9, maybe that helps narrowing down the issue?…

On my “todo list” is configuring our L4M download server to handle OTA updates for our unofficial iodéOS builds. But that is not implemented yet. To update, download the new build (.zip) manually, copy to phone, and in Updater app choose 3 dots > Local update and install.

Yes, this is because the build signatures of my “unofficial builds” do not match the build signatures of the “official builds”. The updater is showing you the “official build” and thus if you have my “unofficial” build installed, the online update won’t succeed.

If you want to migrate to the “official build” from my “unofficial build”, then you need to use Recovery and adb sideload to load the official OTA build that you can get from here: sunfish · master · ota / release · GitLab

Please start a new thread on this with more detail (bluetooth hardware, etc.), I don’t think it is related to being an “unofficial build”.

1 Like

Do unofficial devices also get OTA updates? I am specially interested in bramble that is currently on LOS.

It is planned but not yet and no ETA: @petefoth would be happy if I would actually complete this, it is possible it just hasn’t gotten done.

When I get it done, the OTA updates would point to the <removed> server where Pete and I host our “Unofficial” iodéOS builds (meaning Unofficial builds from other porters would still not be able to be updated OTA).

1 Like

Thank you. My 85 yo mother-in-law is on LOS 23 for her bramble, and I was wanting to move her to iodeOS but then it occurred to me that updating would be a major issue for her. She is very good about following instructions but not computer savvy enough to do the upgrades. I will leave her on LOS for now.

1 Like

Indeed, just leave her at LOS. Install Nextdnsmanager or Personaldnsfilter. Bye google tracking.

1 Like

I switched on VPN for her DDG browser, and she was impressed when it came back with 24k+ tracking requests blocked in a day (or something like that). However, I did not think of installling nextdnsmanager or personaldnsfilter. Btw, she is on LOS with microG, so quite close to iodeOS, or so I would like to think!

1 Like

Hi Rik.

When are the next builds gonna be available?

The link to crosshatch doesn’t lead to files (nothing is loading). My 3 XL is on 6.8 but I’d like to skip to 6.10 (or 7) if they’re going to be released in the next few days.

1 Like

any word on version 7(.1) release?

1 Like

All of the prior builds have been pulled as the LineageOS for microG server (that hosted them) needed rebuilding. The server is up again and fully secured, but I have not re-uploaded the old builds.

One thing I want to do as part of the next round of builds is integrate an OTA solution, that is why I have been a bit slow in kicking off 7.1 builds. If you can give me up to a week on that I hope to have them for you. If I don’t get to integrating OTA by then I will tuck my tail and wait for the next point release on them.

Note that when I do integrate OTA updates it will use a different build signature which means you will need to install via Recovery using adb sideload, but you will NOT lose any personal data.

2 Likes

You wrote it is possible to switch to the official build via adb sideload. Will the installed apps and settings remain intact, and what do you need to be careful about?
I use a Pixel 8a without root. Thank you and best regards, Werner.

I believe a change from these unofficial builds to official builds from iodé will require a clean install. There was some speculation on this earlier if it would be possible, but I had no device to test that with. I do now have device that has an official and unofficial build made for testing, so I can test moving from an unofficial to official build, but I fully expect it to not work and for it to not boot :slight_smile:

But what I mention in the post immediately above yours about sideloading is simply to get an updated unofficial build from me that would support OTA. In fact, I am finalizing this now but have a working test of successful OTA updates for my unofficial iodé builds.

2 Likes

I asked a similar question earlier in the unofficial Sony thread with regard to continuity in which Vince confirmed that OTA’s would be introduced without reinstalling….. or have I got the wrong end of the stick (again). :thinking:

OK, then I’ll wait for the result. I had already started the adb sideload, but then a warning appeared saying that the signature didn’t match. After that, I canceled the process. Since this is my daily driver, I tend to be cautious. Maybe you have to reflash the boot image first and then perform the sideload.

Sorry for the bad news, but my test in migrating from an Unofficial to an Official build attempting to preserve userdata was a failure. The device wouldn’t boot until I did a Factory Reset thus losing all personal data.

So to migrate from an Unofficial to an Official build you will need to perform a clean install. Seedvault can aide with a lot of the tediousness of installing your apps and transferring most of your settings, but apps with encrypted data such as secure messaging apps will not migrate this way and you will need to backup and restore from within the apps themselves. Seedvault will migrate your messages.db which is the datastore for your SMS / MMS however.

New builds published:

  • PIxel 4a and higher: v7.1
  • Pixel 3a and lower: v6.11 (sadly, LineageOS does not provide A16 / LOS 23 updates for these devices)

Major Announcement for users of @rik’s Unofficial iodéOS Pixel builds:

Due to changes on the LineageOS for microG server that hosts my unofficial iodéOS Pixel builds, and also due to us now implementing OTA updates for these builds, a new signing key has been used to make builds starting in January 2026.

This means if you attempt to install an update using “Updater App > 3 dots > Local update” it will fail, due to the mismatch between the build signature of the pre-Jan-2026 build and the new build. In order to update without losing data you will need to boot into Recovery and install the new build via adb sideload. While installing, you will get a warning message that the “Build signature does not match”. Accepting this warning will then proceed to install the new build and you will be all set with the new build signature and with the OTA update configuration.

Future builds will now come “OTA” directly from the Updater App without the need to manually download them and apply as “Local Updates”. Enjoy!

4 Likes

Hello Rik,

thank you for your support. Now I know what I need to do.
I am already familiar with Seedvault from my move from calyx to iode.

1 Like

Yes, sorry you have to do that, but I think you can appreciate that while we make the unoffiicial builds with the same source code it is a different build with different build keys and signatures, so it is essentially like installing a “new” ROM to move between these. Good luck!

I have the same key pair for both avb and ota signing (so the parameter for --key-avb and --key-ota is the same, though the passphrase to decrypt the private key still needs to be typed twice, but may be omitted if the private key is not encrypted), and use the following script to make lockable personal ota packages:

#!/bin/sh
exec "$HOME/git/avbroot/target/release/avbroot" ota patch \
     --key-avb "$1" --key-ota "$1" --cert-ota "$2" \
     --rootless --clear-vbmeta-flags -i "$3" -o "$4"

“$3” is the ota package to be resigned, “$4” is the path to save the resigned output.

You can use the current build process to produce non-lockable ota packages, and then use avbroot and the same key pair(s) to turn them into lockable ota packages by resigning.

1 Like

I can look at this a bit down the road, but I notice that my devices (Pixel 3a XL) are not supported, only the 4 series and higher: Supported devices · Issue #299 · chenxiaolong/avbroot · GitHub

So I could make a blind build but I would be a bit uneasy distributing that. If you are willing to test on your device, knowing that a useless paperweight is a real possibility then I could pass it to you (when I get it made)?