Inventaire

Informations utiles

Backup

Le Pinephone à une eMMC interne. Le backup est chez GNUtoo.

Ce qui est dessus est sans doute libre, donc on devrait pouvoir le publier tel quel à condition de demander les sources à Pine64.

A noter qu'on à pas encore de backup du modem donc vaux mieux pas changer l'OS du modem. GNUtoo à essayé de faire un backup d'un autre Pinephone (Pinephone “convergence” avec 3GB de RAM), et n'a pas réussi à backuper certaines partitions. Et le backup était fait à travers /dev/mtdblock* alors qu'il nous faudrait les fichiers ubifs.

Liens pour l'installation

[1] On peut quand même utiliser Tow-Boot sur une carte microSD. Pour ça il faut d'abbord effacer Tow-boot de /dev/mmcblk2boot0 (ça se fait facilement l'installeur de TowBoot). Ensuite il faut utiliser le MBR pour la microSD car avec GPT ça va effacer la table GPT (y'a quand même un backup à la fin de la microSD), et même avec les options avancées[2] on voit bien qu'on peut pas rajouter une partition avant. Donc on peut convertir en MBR avec gdisk en selectionnant 'r (recovery and transformation options (experts only))' puis 'g' (convert GPT into MBR and exit). Y'a peut être moyen de faire marcher avec le GPT si la bootrom essaie aussi à d'autres offsets mais faudrait trouver la documentation pour ça (dans le wiki sunxi, ou dans les manuels du SOC, etc). Ensuite on peut installer Tow-Boot avec 'dd if=Tow-Boot.mmcboot.bin of=/dev/sdN bs=8k seek=1'

[2] gdisk /dev/sdbN + 'x' pour Expert Command + 'l' pour 'set the sector alignment value', si on met le 'sector alignment value' à 1 ça la première partition commence au secteur 34, et la bootrom regarde à l'offset 16 (2048k / 512 == 16)

Distributions testées

Installation

Distribution Installation
PostmarketOS ?
Mobian Plusieurs méthodes possibles, testé en gravant une image sur une microSD
PureOS Amber debootstrap OK mais le kernel est trop vieux pour le Pinephone (pas de dts pour le pinephone)
PureOS byzantium Kernel assez récent et à normalement le bon dts avec support écran mais le debootstrap rate en second stage (ça rate au niveau des certificats et pourant le keyring est installé et j'avais rajouté ca-certificates dans la liste des paquets supplémentaires, faut peut être un keyring en tant que paquet supplémentaire ou d'autres paquets qui manquent)

Retours

Distribution date Informations utiles Commentaires
PostmarketOS Ancien Installé par Dino? Utilisait KDE, N'était pas super bien intégré
Mobian 25/04/2020 mot de passe par défaut: 1234, u-boot n'a pas la commande ums compilé dedans Gnome 3, à l'air pas mal, mieux intégré que le KDE du PostmaketOS mais par défaut certaines applications par défaut comme le désarchiveur ne marchent pas bien en portrait (d'autres marchent parfaitement). Attention: si on change le mot de passe et rajoute des lettres on ne peux plus dévérouiller l'écran car le dévérouilleur à un clavier qui n'a que des chiffres. L'interface est aussi moins efficace que Android. Par exemple pour le multi-tache c'est plus long pour changer d'application et il faut quand on utilise des applications non adaptées comme le désarchiveur il faut souvent passer du mode portrait au mode paysage et vice versa.

GloDroid

GloDroid est une distribution Android qui supporte le Pinephone. La version testée ici est la 2023w12.

Installation GloDroid

L'installation demande:

L'installation est assez simple si on à pas déjà installé tow-boot (https://github.com/Tow-Boot/Tow-Boot). On peut l'installer soit sur une carte microSD soit sur le stoquage interne.

Certaines cartes microSD sont assez lente donc (elle peuvent ralentir le téléphone au point de le bloquer quand on fait un backup du stoquage interne avec dd par exemple), donc il vaux mieux privilégier le stoquage interne si possible.

Si on à déjà installé towboot (c'est maintenant requis pour les versions récented de Mobian par exemple), towboot sera installé sur le stoquage interne dans /dev/block/mmcblk2boot0 et il va prendre la précédence sur l'endroit ou glodroid installe son bootloader (/dev/block/mmcblk2), et l'installation de GloDroid sur la mémoire interne va rater.

Vu que le bootloader sur une microSD prend la précédence par rapport à la mémoire interne, Pour régler le problème, il suffit soit:

$ adb root
$ abd shell
# echo 0 > /sys/class/block/mmcblk2boot0/force_ro
# dd if=/dev/zero of=/dev/block/mmcblk2boot0
# sync
# echo 1 > /sys/class/block/mmcblk2boot0/force_ro

Puis on peut recommencer l'installation sur la mémoire interne depuis le début.

Limitations et contournement de problèmes / bogues

Modem qui disparait

Le modem peut disparaitre à n'importe quel moment et crashe souvent au boot du téléphone. Quand ça arrive on ne peut plus envoyer de SMS (a noter que les SMS sont limités à 127 charactères) mais on voit encore la barre de réseau.

Quand le modem est la, on peut le voir avec lsusb: pine64_pinephone:/ # lsusb

Bus 003 Device 001: ID 1d6b:0001
Bus 002 Device 003: ID 2c7c:0125
Bus 001 Device 001: ID 1d6b:0002
Bus 004 Device 001: ID 1d6b:0001
Bus 002 Device 001: ID 1d6b:0002

Sinon quand il est pas la le lsusb ressemble à ça:

Bus 003 Device 001: ID 1d6b:0001
Bus 001 Device 001: ID 1d6b:0002
Bus 004 Device 001: ID 1d6b:0001
Bus 002 Device 001: ID 1d6b:0002

La commande lsusb peut être tapée soit dans une application terminal (comme termoneplus trouvable sous f-droid), soit avec adb. A noter que la plus part des applications F-Droid ont des dépendances non libres (comme le SDK officiel Android).

Par exemple avec adb si on veut voir quand/si le modem disparait durant le boot on peut taper:

watch adb shell lsusb
Utilisation de mmcli

Pas mal de tutoriaux pour le pinephone mentionnent l'usage de mmcli. GloDroid utilise maintenant ModemMamager donc on peut aussi utiliser mmcli. Ça marche aussi sans root par adb ou dans un émulateur de terminal.