[How to for Noobs / Tutoriel pour Débutant ] Install IodéOS on Galaxy Pixel 6a with Linux (EN/FR)

Special Thanks to @AlphaElwedritsch and thanks for all IodéOS Team for the beatifull custom privacy rom

:england: :uk: :us:

Install IodéOS on your smartphone.

I post here the method followed to install IodéOS on a smartphone from Linux, trying to make it accessible to all, because the basic procedure is still basic.

  • I use a Google Pixel 6a (BlueJay),
  • I’m under Linux (Ubuntu 22.04.2 LTS),

Prerequisites

  • Retrieve the image from the site by choosing iode-[...]-fastboot.zip,
  • Unzip it there.
  • Activate developer options, (SettingsAbout PhoneClick 5 times on Build Number,
    Unlock OEM (Settings->System->Developer Options->OEM Unlock),
  • Restart your phone in Bootloader mode (Power+Volume Down).

Install ADB and Fastboot.

This is where it gets a bit more complicated, because the installable version of adb and fastboot is not the most recent, which causes an error when launching the script preventing flash (and especially the re-locking of the bootloader).

Let’s start by installing adb and fastboot via the command sudo apt install adb fastboot.

Result of the command in FR section

Then we can check the version with the command adb --version and fastboot --version.

Result of the command in FR section

Let’s get the latest version of SDK Platform tools from the official website

Then once unpacked, open a terminal in it and run the following commands:
sudo cp platform-tools/adb /usr/lib/android-sdk/platform-tools/adb
sudo cp platform-tools/fastboot /usr/lib/android-sdk/platform-tools/fastboot`

Result of the command in FR section

We check the version with the commands used previously.
Result of the command in FR section

Flash your device with IodéOS.

Your phone is in Bootloader mode and is connected to your computer.
Go to the unzipped folder of the previously downloaded IodéOS image.

  • Open a Terminal,
  • Unlock the bootloader with the command fastboot flashing unlock,

If you have <waiting device> unplug and then replug your smartphone.

  • Run the command ./flash-all.sh then wait,
  • The last screen will ask you if you want to re-lock the bootloader,
  • Your smartphone will restart under Iodeos, do you want your privacy back?
  • The last step is to disable OEM Unlock, but you know the procedure now.

Uninstall adb and fastboot.

If you don’t need fastboot and adb anymore, you can uninstall them with the following command sudo apt autoremove adb fastboot

Result of the command in FR section

Conclusion.

This guide should work with most smartphones, but check the official procedure before following it.
:fr:

Installer IodéOS sur votre Smartphone.

Je poste ici la méthode suivie pour installer IodéOS sur un smartphone depuis Linux en essayant de la rendre accessible à tous, car la procédure de base reste sommaire.

  • j’utilise un Google Pixel 6a (BlueJay),
  • Je suis sous Linux (Ubuntu 22.04.2 LTS),

Prérequis

  • Récupération de l’image sur le site en choisissant iode-[…]-fastboot.zip,
  • Décompressé là.
  • Activer les options développeur, (ParamètresA propos du téléphoneCliquer 5 fois sur Numéro de build,
    Déverrouillage OEM (ParamètresSystèmeOptions pour les développeurs'->Déverrouillage OEM`,
  • Redémarrer votre téléphone en mode Bootloader (Power+Volume Bas).

Installer ADB et Fastboot.

C’est là que c’est un peu plus compliqué, car la version installable simplement de adb et fastboot n’est pas la plus récente, ce qui provoque une erreur lors du lancement du script empêchant le flash (et surtout le re-verrouillage du bootloader).

Commençons par installer adb et fastboot via la commande sudo apt install adb fastboot

Résultat

anthony@McFly:~/Téléchargements$ sudo apt install adb fastboot
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
Les paquets supplémentaires suivants seront installés : 
  android-libadb android-libbase android-libboringssl android-libcrypto-utils
  android-libcutils android-libext4-utils android-liblog android-libsparse
  android-libunwind android-libziparchive android-sdk-platform-tools-common
Paquets suggérés :
  android-sdk-platform-tools
Les NOUVEAUX paquets suivants seront installés :
  adb android-libadb android-libbase android-libboringssl
  android-libcrypto-utils android-libcutils android-libext4-utils
  android-liblog android-libsparse android-libunwind android-libziparchive
  android-sdk-platform-tools-common fastboot
0 mis à jour, 13 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 1 253 ko dans les archives.
Après cette opération, 3 796 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] o
Réception de :1 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 android-liblog amd64 1:10.0.0+r36-9 [42,7 kB]
Réception de :2 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 android-libbase amd64 1:10.0.0+r36-9 [33,3 kB]
Réception de :3 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 android-libboringssl amd64 10.0.0+r36-1 [607 kB]
Réception de :4 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 android-libcrypto-utils amd64 1:10.0.0+r36-9 [8 306 B]
Réception de :5 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 android-libcutils amd64 1:10.0.0+r36-9 [24,9 kB]
Réception de :6 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 android-libadb amd64 1:10.0.0+r36-9 [164 kB]
Réception de :7 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 android-sdk-platform-tools-common all 28.0.2+6 [7 172 B]
Réception de :8 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 adb amd64 1:10.0.0+r36-9 [98,7 kB]
Réception de :9 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 android-libext4-utils amd64 10.0.0+r36+ds-2 [12,5 kB]
Réception de :10 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 android-libsparse amd64 1:10.0.0+r36-9 [18,4 kB]
Réception de :11 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 android-libunwind amd64 10.0.0+r36-4 [46,9 kB]
Réception de :12 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 android-libziparchive amd64 1:10.0.0+r36-9 [26,7 kB]
Réception de :13 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 fastboot amd64 1:10.0.0+r36-9 [162 kB]
1 253 ko réceptionnés en 1s (1 875 ko/s)
Sélection du paquet android-liblog précédemment désélectionné.
(Lecture de la base de données... 251880 fichiers et répertoires déjà installés.
)
Préparation du dépaquetage de .../00-android-liblog_1%3a10.0.0+r36-9_amd64.deb .
..
Dépaquetage de android-liblog (1:10.0.0+r36-9) ...
Sélection du paquet android-libbase précédemment désélectionné.
Préparation du dépaquetage de .../01-android-libbase_1%3a10.0.0+r36-9_amd64.deb 
...
Dépaquetage de android-libbase (1:10.0.0+r36-9) ...
Sélection du paquet android-libboringssl précédemment désélectionné.
Préparation du dépaquetage de .../02-android-libboringssl_10.0.0+r36-1_amd64.deb
 ...
Dépaquetage de android-libboringssl (10.0.0+r36-1) ...
Sélection du paquet android-libcrypto-utils précédemment désélectionné.
Préparation du dépaquetage de .../03-android-libcrypto-utils_1%3a10.0.0+r36-9_am
d64.deb ...
Dépaquetage de android-libcrypto-utils (1:10.0.0+r36-9) ...
Sélection du paquet android-libcutils précédemment désélectionné.
Préparation du dépaquetage de .../04-android-libcutils_1%3a10.0.0+r36-9_amd64.de
b ...
Dépaquetage de android-libcutils (1:10.0.0+r36-9) ...
Sélection du paquet android-libadb précédemment désélectionné.
Préparation du dépaquetage de .../05-android-libadb_1%3a10.0.0+r36-9_amd64.deb .
..
Dépaquetage de android-libadb (1:10.0.0+r36-9) ...
Sélection du paquet android-sdk-platform-tools-common précédemment désélectionné
.
Préparation du dépaquetage de .../06-android-sdk-platform-tools-common_28.0.2+6_
all.deb ...
Dépaquetage de android-sdk-platform-tools-common (28.0.2+6) ...
Sélection du paquet adb précédemment désélectionné.
Préparation du dépaquetage de .../07-adb_1%3a10.0.0+r36-9_amd64.deb ...
Dépaquetage de adb (1:10.0.0+r36-9) ...
Sélection du paquet android-libext4-utils précédemment désélectionné.
Préparation du dépaquetage de .../08-android-libext4-utils_10.0.0+r36+ds-2_amd64
.deb ...
Dépaquetage de android-libext4-utils (10.0.0+r36+ds-2) ...
Sélection du paquet android-libsparse précédemment désélectionné.
Préparation du dépaquetage de .../09-android-libsparse_1%3a10.0.0+r36-9_amd64.de
b ...
Dépaquetage de android-libsparse (1:10.0.0+r36-9) ...
Sélection du paquet android-libunwind précédemment désélectionné.
Préparation du dépaquetage de .../10-android-libunwind_10.0.0+r36-4_amd64.deb ..
.
Dépaquetage de android-libunwind (10.0.0+r36-4) ...
Sélection du paquet android-libziparchive précédemment désélectionné.
Préparation du dépaquetage de .../11-android-libziparchive_1%3a10.0.0+r36-9_amd6
4.deb ...
Dépaquetage de android-libziparchive (1:10.0.0+r36-9) ...
Sélection du paquet fastboot précédemment désélectionné.
Préparation du dépaquetage de .../12-fastboot_1%3a10.0.0+r36-9_amd64.deb ...
Dépaquetage de fastboot (1:10.0.0+r36-9) ...
Paramétrage de android-sdk-platform-tools-common (28.0.2+6) ...
Paramétrage de android-liblog (1:10.0.0+r36-9) ...
Paramétrage de android-libunwind (10.0.0+r36-4) ...
Paramétrage de android-libboringssl (10.0.0+r36-1) ...
Paramétrage de android-libcrypto-utils (1:10.0.0+r36-9) ...
Paramétrage de android-libbase (1:10.0.0+r36-9) ...
Paramétrage de android-libziparchive (1:10.0.0+r36-9) ...
Paramétrage de android-libcutils (1:10.0.0+r36-9) ...
Paramétrage de android-libadb (1:10.0.0+r36-9) ...
Paramétrage de adb (1:10.0.0+r36-9) ...
Paramétrage de android-libsparse (1:10.0.0+r36-9) ...
Paramétrage de android-libext4-utils (10.0.0+r36+ds-2) ...
Paramétrage de fastboot (1:10.0.0+r36-9) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.35-0ubuntu3.1) 
...
Traitement des actions différées (« triggers ») pour man-db (2.10.2-1) ...

Ensuite, nous pouvons vérifier la version avec la commande adb --version et fastboot --version.

Résultat

anthony@McFly:~/Téléchargements$ adb --version
Android Debug Bridge version 1.0.41
Version 28.0.2-debian
Installed as /usr/lib/android-sdk/platform-tools/adb
anthony@McFly:~/Téléchargements$ fastboot --version
fastboot version 28.0.2-debian
Installed as /usr/lib/android-sdk/platform-tools/fastboot

Récupérons la dernière version de SDK Platform tools sur le site officiel

Puis une fois décompressé, ouvrer un terminal dans ce dernier et lancer les commandes suivantes :
sudo cp platform-tools/adb /usr/lib/android-sdk/platform-tools/adb
sudo cp platform-tools/fastboot /usr/lib/android-sdk/platform-tools/fastboot

Résultat

anthony@McFly:~/Téléchargements/platform-tools_r34.0.0-linux$ sudo cp platform-tools/adb /usr/lib/android-sdk/platform-tools/adb 
[sudo] Mot de passe de anthony : 
anthony@McFly:~/Téléchargements/platform-tools_r34.0.0-linux$ sudo cp platform-tools/fastboot /usr/lib/android-sdk/platform-tools/fastboot

On vérifie la version avec les commandes utilisées précédemment.

Résultat

anthony@McFly-Bureau:~/Téléchargements$ adb --version
Android Debug Bridge version 1.0.41
Version 34.0.0-9570255
Installed as /usr/lib/android-sdk/platform-tools/adb
anthony@McFly-Bureau:~/Téléchargements$ fastboot --version
fastboot version 34.0.0-9570255
Installed as /usr/lib/android-sdk/platform-tools/fastboot

Flasher votre appareil avec IodéOS.

Votre téléphone est en mode Bootloader et il est branché à votre ordinateur.
Rendez-vous dans le dossier décompressé de l’image de IodéOS précédemment téléchargé.

  • Ouvrir un Terminal,
  • Déverrouiller le bootloader avec la commande fastboot flashing unlock,

Si vous avez <waiting device> débrancher puis rebrancher votre smartphone.

  • Lancer la commande ./flash-all.sh puis attendez,
  • Le dernier écran vous demandera si vus souhaitez reverrouiller le bootloader,
  • Votre Smartphone redémarre sous IodéOS, à vous le retour de votre vie privée ?
  • La dernière étape consiste à désactiver le Déverrouillage OEM, mais vous connaissez la procédure maintenant.

Désinstaller adb et fastboot.

Si vous n’avez plus besoin de Fastboot et adb, vous pouvez les désinstaller via la commande suivante sudo apt autoremove adb fastboot

Résultat

anthony@McFly-Bureau:~/Téléchargements$ sudo apt autoremove adb fastboot
[sudo] Mot de passe de anthony : 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
Les paquets suivants seront ENLEVÉS :
  adb android-libadb android-libbase android-libboringssl
  android-libcrypto-utils android-libcutils android-libext4-utils
  android-liblog android-libsparse android-libunwind android-libziparchive
  android-sdk-platform-tools-common fastboot libllvm13 libxmlsec1
  libxmlsec1-nss
0 mis à jour, 0 nouvellement installés, 16 à enlever et 0 non mis à jour.
Après cette opération, 104 Mo d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n] o
(Lecture de la base de données... 251998 fichiers et répertoires déjà installés.
)
Suppression de adb (1:10.0.0+r36-9) ...
Suppression de fastboot (1:10.0.0+r36-9) ...
Suppression de android-libadb (1:10.0.0+r36-9) ...
Suppression de android-libziparchive (1:10.0.0+r36-9) ...
Suppression de android-libsparse (1:10.0.0+r36-9) ...
Suppression de android-libcrypto-utils (1:10.0.0+r36-9) ...
Suppression de android-libboringssl (10.0.0+r36-1) ...
Suppression de android-libcutils (1:10.0.0+r36-9) ...
Suppression de android-libext4-utils (10.0.0+r36+ds-2) ...
Suppression de android-libunwind (10.0.0+r36-4) ...
Suppression de android-sdk-platform-tools-common (28.0.2+6) ...
Suppression de libllvm13:amd64 (1:13.0.1-2ubuntu2.1) ...
Suppression de libxmlsec1-nss:amd64 (1.2.33-1build2) ...
Suppression de libxmlsec1:amd64 (1.2.33-1build2) ...
Suppression de android-libbase (1:10.0.0+r36-9) ...
Suppression de android-liblog (1:10.0.0+r36-9) ...
Traitement des actions différées (« triggers ») pour man-db (2.10.2-1) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.35-0ubuntu3.1) 

Conclusion.

Ce guide devrait fonctionner avec la plupart des smartphones, mais vérifier bien la procédure officielle avant de suivre celle-ci.

1 Like

Many thanks, McFly!

This was exactly what I needed. :smile:

I will get a used Google Pixel 6a in the next few days and would like to run iodéOS on it. Since I’m not an IT “expert”, I wasn’t sure if I could manage the installation. But thanks to this detailed instructions, I am now confident that I will succeed.

To be honest: For setting up adb and fastboot, I also looked at the LineageOS Wiki.

Hello,

unfortunately the installation of iodéOS on my Pixel 6a did not work. I am not an IT expert and followed the instructions above.

I have MX Linux 21.3. The adb and fastboot versions after setting up according to the above instructions are:

Android Debug Bridge version 1.0.41
Version 34.0.3-10161052
Installed as /usr/lib/android-sdk/platform-tools/adb
Running on Linux 5.10.0-23-amd64 (x86_64)

fastboot version 34.0.3-10161052
Installed as /usr/lib/android-sdk/platform-tools/fastboot

Please find below the messages from the Terminal that I received during the installation process:

With ‘adb devices’ I receive:

List of devices attached
27051JEGR20063 device

In fastboot mode, I receive with 'fastboot devices’:

27051JEGR20063	 fastboot

I have selected the image iode-4.1-20230401-bluejay-fastboot.zip from the Github page

Since my 1st failed attempt, ‘fastboot flashing unlock’ leads to:

(bootloader) device already unlocked
OKAY [ 0.006s]
Finished. Total time: 0.006s

Finally, './flash-all.sh‘ leads to follwing results:

Warning: skip copying bootloader_a image avb footer (bootloader_a partition size: 0, bootloader_a image size: 12384852).
Sending 'bootloader_a' (12094 KB)                  OKAY [  0.380s]
Writing 'bootloader_a'                             (bootloader) Flashing pack version bluejay-1.2-9465321
(bootloader) flashing platform gs101
(bootloader) Validating partition ufs
(bootloader) Validating partition ufs
(bootloader) Validating partition partition:0
(bootloader) Validating partition partition:1
(bootloader) Validating partition partition:2
(bootloader) Validating partition partition:3
(bootloader) Validating partition bl1_a
(bootloader) Validating partition pbl_a
(bootloader) Validating partition bl2_a
(bootloader) Validating partition abl_a
(bootloader) Validating partition bl31_a
(bootloader) Validating partition tzsw_a
(bootloader) Validating partition gsa_a
(bootloader) Validating partition ldfw_a
(bootloader) Flashing partition ufs
(bootloader) Flashing partition ufs
(bootloader) Flashing partition partition:0
(bootloader) Flashing partition partition:1
(bootloader) Flashing partition partition:2
(bootloader) Flashing partition partition:3
(bootloader) Flashing partition bl1_a
(bootloader) Flashing partition pbl_a
(bootloader) Flashing partition bl2_a
(bootloader) Flashing partition abl_a
(bootloader) Flashing partition bl31_a
(bootloader) Flashing partition tzsw_a
(bootloader) Flashing partition gsa_a
(bootloader) Flashing partition ldfw_a
(bootloader) Loading sideload ufsfwupdate
OKAY [  3.072s]
Finished. Total time: 3.455s
Rebooting into bootloader                          OKAY [  0.000s]
Finished. Total time: 0.151s
Warning: skip copying radio_a image avb footer (radio_a partition size: 0, radio_a image size: 96481420).
Sending 'radio_a' (94220 KB)                       OKAY [  2.949s]
Writing 'radio_a'                                  (bootloader) Flashing pack version g5123b-112825-230301-M-9671053
(bootloader) Flashing partition modem_a
OKAY [  0.373s]
Finished. Total time: 3.325s
Rebooting into bootloader                          OKAY [  0.000s]
Finished. Total time: 0.151s
Erasing 'avb_custom_key'                           (bootloader) avb custom key: erase done
OKAY [  0.023s]
Finished. Total time: 0.024s
Warning: skip copying avb_custom_key image avb footer (avb_custom_key partition size: 0, avb_custom_key image size: 1032).
Sending 'avb_custom_key' (1 KB)                    OKAY [  0.000s]
Writing 'avb_custom_key'                           (bootloader) avb custom key: flash done
OKAY [  0.024s]
Finished. Total time: 0.027s
FAILED (remote: 'variable (partition-type:cache) not found')
fastboot: error: Command failed
Warning: userdata type is raw, but ext4 was requested for formatting.
/usr/lib/android-sdk/platform-tools/mke2fs failed with status 1
fastboot: error: Cannot generate image for userdata
--------------------------------------------
Bootloader Version...: bluejay-1.2-9465321
Baseband Version.....: g5123b-112825-230301-B-9671053
Serial Number........: 27051JEGR20063
--------------------------------------------
extracting android-info.txt (0 MB) to RAM...
Checking 'product'                                 OKAY [  0.000s]
Setting current slot to 'a'                        OKAY [  0.069s]
fastboot: error: ANDROID_PRODUCT_OUT not set
Rebooting into bootloader                          OKAY [  0.000s]
Finished. Total time: 0.050s
FAILED (remote: 'invalid android images, skip locking')
fastboot: error: Command failed

Hello,

Can you give us the exact name of your smartphone, as it indicates that the ilage is not the right one.

If it is a 6a, is it a free one or is it one from a provider like Telekom or whatever?

It’s a Google Pixel 6a. I have bought it used from rebuy.de, therefore I am not sure if it’s a “free” one or from a provider.

Installation of GrapheneOS worked using their Web installer, but iodéOS is still my favorite OS

If GOS works, IodeOS must also

Did you flashed gos over stock and try now to install IodeOS?

The thing may happen
avb_custom key is blocking

You can try first de-installing gos key and then start again with flash all script

fastboot remove avb_custom_key

I have initially tried to install iodéOS over the stock rom. Only to be able to use the phone without the stock rom from Google, I have installed GOS instead.

When I have a bit more time (holidays), I will give the installation of iodéOS another try.

Thanks for the advice regarding the installing of iodéOS over GOS. This suggests that it is possible to do so?

ok, give you more time and another try
It must work
avb_custom key will be erased in script before new one will be installed. That’s ok

I would recommend to use last beta. It is more then stable. form here:

and beta updater from here:

Hey @HaPe got the same problem
Reported it in chat.
Downgrade your version to 33.0.3 and it will work.

For those who may concern

I wanted to install iodéOS with fastboot method and got this error:
fastboot: error: ANDROID_PRODUCT_OUT not set

It’s the problem of a broken platform-tool version (34.0.x)

After downgrading to 33.0.3 it worked as expected.

Found the solution in GOS forum:

1 Like

Thanks! Seems to be exatly the reason why it didn’t work for me. I will keep this in mind for my next try.

1 Like