Porter B2G sur le Nexus Player (Lollipop)

Cet article donne une vue d'ensemble du processus permettant à B2G OS (la version TV — sur laquelle Firefox OS pour TV est basée) d'être porté sur le Nexus Player (versions faisant touner Lollipop.)

Important : Le public visé par ces instructions est essentiellement les développeurs expérimentés qui sont déjà familiarisés avec la compilation de Firefox OS ou d'AOSP.

Note : Nous ne pouvons garantir la fiabilité des appareils portés. Cependant, les développeurs intéressés par le processus de portage et disposés à contribuer au programme sont encouragés à hacker leurs propres appareils. Les questions et les retours constructifs sont toujours les bienvenus : adressez-nous vos courriels à smarttv@mozilla.com.

Note : Cet article, estimant que votre Nexus Player est déverrouillé, ne vous apprendra pas comment le rooter et/ou déverrouiller.

Préparer l'environnement de compilation

Actuellement, la construction de B2G OS pour Nexus Player nécessite un PC sous Ubuntu 14.04 LTS x64 ou compatible.

Vous devez commencer par lancer les commandes suivantes :

sudo dpkg --add-architecture i386
sudo dpkg --add-architecture amd64
sudo apt-get update
sudo apt-get install --no-install-recommends autoconf2.13 bison bzip2 ccache curl flex gawk gcc g++ g++-multilib git lib32ncurses5-dev lib32z1-dev libgconf2-dev zlib1g:amd64 zlib1g-dev:amd64 zlib1g:i386 zlib1g-dev:i386 libgl1-mesa-dev libx11-dev make zip lzop libxml2-utils openjdk-7-jdk nodejs unzip python

Configurer l'USB

Par défaut, sur les systèmes Linux, un utilisateur normal ne peut pas accéder directement aux périphériques USB. Vous devez configurer des règles udev.

Créez un fichier /etc/udev/rules.d/51-android.rules contenant la commande suivante, puis enregistrez-le :

wget -S -O - https://raw.githubusercontent.com/cm-b2g/B2G/1230463/tools/51-android.rules | sudo tee >/dev/null /etc/udev/rules.d/51-android.rules; sudo udevadm control --reload-rules

Les nouvelles règles prendront effet la prochaine fois qu'un appareil sera branché.

Note : Pour plus d'informations sur les environnement de compilation appropriés, veuillez vous référer aux Prérequis pour construire Firefox OS.

Télécharger le code source

Pour télécharger le code source pour le Nexus Player, assurez-vous au préalable d'avoir Github installé, puis exécutez les commandes suivantes:

git clone git://github.com/mozilla-b2g/B2G.git nexusplayer
cd nexusplayer
BRANCH=v2.6 ./config.sh nexusplayer-l

Pour télécharger manuellement le code source Gecko correspondant, exécutez la commande suivante :

git clone https://github.com/mozilla-b2g/gecko-b2g

Et suivez les instructions de Changer l'arbre source de Gecko pour en construire une version personnalisée.

Compiler

Une fois l'environnement mis en place et le code source téléchargé, sa construction se résume à exécuter la commande suivante :

./build.sh

Flasher B2G sur le Nexus Player

Flashez B2G OS sur le Nexus Player avec la commande suivante :

./flash.sh

Le flashage terminé, l'appareil devrait redémarrer et charger B2G OS. Sauf si quelque chose n'allait pas, vous devriez voir peu de temps après l'écran d'accueil TV de B2G OS.

Dépannage

Quelquefois, les choses peuvent mal se passer. Ce qui suit est une liste des problèmes connus, avec des suggestions de solutions.

Fastboot ne trouve pas le Nexus Player

Il est possible que ./flash.sh redémarre avec succès le Nexus Player en mode bootloader mais que ça se bloque indéfiniment sur le message < waiting for device >. Cela peut être résolu en remplaçant le fastboot de votre système par celui situé dans le répertoire <b2g>/out/host/linux-x86/bin/.

La fonctionnalité Bluetooth est absente

Nous ne pouvons pas construire automatiquement bluetooth.default.so ni libbt-vendor.so sur nexusplayer-l, c'est pourquoi le Bluetooth ne fonctionne pas par défaut. Une solution de contournement consiste actuellement à construire les fichiers manquants à la main et à les flasher sur nexusplayer-l, après quoi vous serez en mesure d'activer le bluetooth dans l'application Paramètres.

Les étapes de construction figurent ci-dessous :

Étapes pour construire bluetooth.default.so

  1. Aller sur dir nexusplayer puis tapez source setup.sh.
  2. Aller sur dir nexusplayer/external/tinyxml2 puis tapez mm.
  3. Aller sur dir nexusplayer/external/bluetooth/bluedroid puis tapez mm.
  4. Aller sur dir nexusplayer/ puis tapez la commande suivante :
adb push out/target/product/fugu/system/lib/hw/bluetooth.default.so 
/system/lib/hw

Étapes pour construire libbt-vendor.so

  1. Aller sur dir nexusplayer puis tapez source setup.sh.
  2. Aller sur dir nexusplayer/hardware/broadcom/libbt puis tapez mm.
  3. Aller sur dir nexusplayer puis tapez la commande suivante :
adb push out/target/product/fugu/system/vendor/lib/libbt-vendor.so   
/system/vendor/lib

L'écran d'accueil TV ne gère pas les événements de la souris

Par défaut, l'application écran d'accueil TV ne gère pas les événements de la souris (voir bug 1260083). Pour le moment, la recommandation est de se passer de l'usage de la souris et d'utiliser la télécommande à la place.

Suivez ces étapes pour que les choses fonctionnent :

  1. Utilisez le clavier physique pour démarrer le Nexus Player.
  2. Utilisez les touches fléchées pour naviguer sur l'écran d'accueil et aller dans l'application Paramètres.
  3. Utilisez les touches fléchées pour aller sur le panneau de configuration du Bluetooth et associez l'appareil avec la télécommande.

Vous pouvez alors utiliser la télécommande à la place. Branchez la souris lorsque vous souhaitez naviguer dans l'application Navigateur.

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : jwhitlock, xdelatour
 Dernière mise à jour par : jwhitlock,