Je viens de recevoir mon boîtier Pibow après 1 mois et demi d’attente. Mais ce n’est qu’une étape avant de recevoir le device Raspberry Pi le mois prochain. Un conseil, soyez patient !

Photos du déballage :

J’ai acheté il y a 4 mois le smartphone Google Nexus chez Rue du Commerce, mais depuis, et je ne sais pas pourquoi, à chaque annonce de mise à jour d’Android Ice Cream Sandwich, impossible que la détection des mises à jour me propose quoique ce soit…

Finalement ce matin j’ai décidé de réaliser manuellement cette mise à jour via les outils et fichiers officiels de Google (Pas besoin de rooter le téléphone).

La première chose à faire est d’installer le SDK Android via le lien suivant (pour les connaisseurs, uniquement le binaire fastboot est suffisant) : http://developer.android.com/sdk/installing.html.

Vérifier la configuration USB du Google Nexus sur la machine en vérifiant ou créant le fichier des droits udev (seules les lignes des Google Nexus sont nécessaires mais qui sait, j’aurai peut-être le bonheur de tester d’autres Google Android devices)

chris@tux:~/tmp/yakju-imm76i$ sudo emacs /etc/udev/rules.d/51-android.rules

Copier/coller les lignes suivantes dans le fichier /etc/udev/rules.d/51-android.rules

# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600", OWNER="##votre_nom_d_utilisateur##"
# fastboot protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="0fff", MODE="0600", OWNER="##votre_nom_d_utilisateur##"
# adb protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e22", MODE="0600", OWNER="##votre_nom_d_utilisateur##"
# fastboot protocol on crespo/crespo4g (Nexus S)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e20", MODE="0600", OWNER="##votre_nom_d_utilisateur##"
# adb protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="70a9", MODE="0600", OWNER="##votre_nom_d_utilisateur##"
# fastboot protocol on stingray/wingray (Xoom)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="708c", MODE="0600", OWNER="##votre_nom_d_utilisateur##"
# adb protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="##votre_nom_d_utilisateur##"
# fastboot protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e30", MODE="0600", OWNER="##votre_nom_d_utilisateur##"
# adb protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d101", MODE="0600", OWNER="##votre_nom_d_utilisateur##"
# fastboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d022", MODE="0600", OWNER="##votre_nom_d_utilisateur##"
# usbboot protocol on panda (PandaBoard)
SUBSYSTEM=="usb", ATTR{idVendor}=="0451", ATTR{idProduct}=="d010", MODE="0600", OWNER="##votre_nom_d_utilisateur##"

On relance le service udev

chris@tux:~/tmp/yakju-imm76i$ sudo service udev restart

Télécharger et décompresser la mise à jour Factory Images « yakju » for Galaxy Nexus « maguro » (GSM/HSPA+) (pas besoin de Google Wallet en France pour la majorité d’entre nous) depuis le site de Google : https://developers.google.com/android/nexus/images?hl=fr-FR#yakju

Démarrer le Google Nexus en mode fastboot en appuyant simultanément sur les boutons : Volume+ et Volume- et PowerOnOff

Se rendre dans le répertoire où l’image à été décompressé pour débloquer le mode fastboot

chris@tux:~/tmp/yakju-imm76i$ fastboot oem unlock
...
OKAY [ 25.900s]
finished. total time: 25.900s

Lancer la mise à complète d’ICS 4.0.4

chris@tux:~/tmp/yakju-imm76i$ ./flash-all.sh
sending 'bootloader' (2308 KB)...
OKAY [  0.318s]
writing 'bootloader'...
OKAY [  0.292s]
finished. total time: 0.610s
rebooting into bootloader...
OKAY [  0.006s]
finished. total time: 0.006s
sending 'radio' (12288 KB)...
OKAY [  1.736s]
writing 'radio'...
OKAY [  1.379s]
finished. total time: 3.116s
rebooting into bootloader...
OKAY [  0.006s]
finished. total time: 0.007s
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
--------------------------------------------
Bootloader Version...: PRIMELA03
Baseband Version.....: I9250XXLA2
Serial Number........: 0146B0000101601D
--------------------------------------------
checking product...
OKAY [  0.007s]
checking version-bootloader...
OKAY [  0.008s]
checking version-baseband...
OKAY [  0.008s]
sending 'boot' (4148 KB)...
OKAY [  0.577s]
writing 'boot'...
OKAY [  0.252s]
sending 'recovery' (4478 KB)...
OKAY [  0.638s]
writing 'recovery'...
OKAY [  0.310s]
sending 'system' (316111 KB)...
OKAY [ 44.125s]
writing 'system'...
OKAY [ 33.302s]
erasing 'userdata'...
OKAY [  0.315s]
erasing 'cache'...
OKAY [  0.013s]
rebooting...

finished. total time: 79.598s

Rebooter en mode fastboot pour remettre le lock par soucis de sécurité

chris@tux:~/tmp/yakju-imm76i$ fastboot oem lock
...
OKAY [  0.170s]
finished. total time: 0.170s

Je suis enfin à jour et je gagne en performance, c’est fluide !!!

Avec Ubuntu Oneiric (11.10), impossible d’installer l’application de téléchargement des mp3s d’Amazon (Amazon MP3 Downloader).
Pour cause les librairies libboost sont trop récentes et ne sont pas retrouveés dynamiquement par le programme AmazonMP3 Downloader ; je crois qu’il vaut mieux pour amazon travailler sur la compilation statique du produit. Ci-dessous les étapes pour pallier le problème (basées sur une discussion ubuntuforums) :

mkdir -p $HOME/tmp/amazonmp3_oneiric
cd $HOME/tmp/amazonmp3_oneiric

Télécharger les fichier .deb :

wget https://launchpadlibrarian.net/26959932/libboost-signals1.34.1_1.34.1-16ubuntu1_i386.deb https://launchpadlibrarian.net/26959936/libboost-thread1.34.1_1.34.1-16ubuntu1_i386.deb https://launchpadlibrarian.net/26959922/libboost-iostreams1.34.1_1.34.1-16ubuntu1_i386.deb https://launchpadlibrarian.net/26959918/libboost-filesystem1.34.1_1.34.1-16ubuntu1_i386.deb https://launchpadlibrarian.net/26959916/libboost-date-time1.34.1_1.34.1-16ubuntu1_i386.deb https://launchpadlibrarian.net/26959928/libboost-regex1.34.1_1.34.1-16ubuntu1_i386.deb https://launchpadlibrarian.net/34165098/libicu40_4.0.1-2ubuntu2_i386.deb
sudo dpkg -i lib*.deb

Télécharger et installer l’application Amazon MP3 Downloader : http://www.amazon.com/gp/dmusic/help/amd.html?ie=UTF8&forceos=Linux.
Pour l’installation, il est possible d’utiliser les détails fournis par amazon sur la page de téléchargement ou en mode console :

sudo dpkg -i AmazonMP3DownloaderInstall.deb

Et voilà.

Discussions qui traitent aussi du sujet :

 

J’ai récemment commencé à utiliser RVM, le gestionnaire des versions de ruby, sur mon compte mutualisé Dreamhost. En réinstallant mes gems j’ai été confronté à une erreur concernant la compilation d’ImageMagick nécessaire au gem rmagick. En effet la librairie RMagick2.so n’est trouvée car systématique recherchée dans /usr/local/lib.
Type d’erreur :

LoadError: libMagickCore.so.2: cannot open shared object file: No such file or directory - $HOME/.rvm/gems/ruby-1.8.7-head@monprojet/gems/rmagick-2.13.1/lib/RMagick2.so

L’astuce est de compiler ImageMagick en précisant au compilateur où trouver les librairies compilées et installées par mes soins.
Ci-dessous la ligende commande qui permet à la librarie de s’installer et rechercher où il faut les dépendances :

LDFLAGS="-L$HOME/opt/lib -Wl,-rpath,$HOME/opt/lib"
LD_LIBRARY_PATH=/home/congopro/opt/lib
./configure --prefix=/home/congopro/opt --with-gslib --with-gs-font-dir=/usr/share/fonts/type1/gsfonts/ --without-perl --without-magick-plus-plus

J’ai par la même occasion complétée la procédure de compilation disponible sur le wiki de Dreamhost : http://wiki.dreamhost.com/Image_Magick#Compiling_ImageMagick_on_your_DreamHost_account

Il est temps de faire le ménage sur les libs installées depuis quelques années chez mon hébergeur : DreamHost.
L’un des composants majeur que j’utilise et qui n’est pas disponible par l’hébergeur est Xapian. Actuellement la version 1.2.5 est stable, mettons à jour notre ancienne version 1.0.23.

Pour rappel Xapian est une librairie de recherche plein texte open source écrite en C++.

Logo Xapian

Premièrement sur les environnement de Dreamhost, les packages de développement de la librairie UUID ne sont pas disponible, faisons une installation locale.

Récupérer la lib UUID du projet e2fsprogs avec l’une des urls suivantes :

  • git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
  • http://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
  • https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
cd $HOME
mkdir -p $HOME/opt/src
cd $HOME/opt/src
git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
cd e2fsprogs
./configure CFLAGS=-fPIC --prefix=$HOME/opt
cd lib/uuid
make && make install

Récupérons les sources de xapian-core puis installons :

cd $HOME/opt/src
wget http://oligarchy.co.uk/xapian/1.2.5/xapian-core-1.2.5.tar.gz
tar -zxvf xapian-core-1.2.5.tar.gz
cd xapian-core-1.2.5
./configure LDFLAGS=-L$HOME/opt/lib CFLAGS=-fPIC CXXFLAGS=-I$HOME/opt/include --prefix=$HOME/opt
make && make install

Récupérons les sources de xapian-bindings puis installons la version pour Ruby :

cd $HOME/opt/src
wget http://oligarchy.co.uk/xapian/1.2.5/xapian-bindings-1.2.5.tar.gz
tar -zxvf xapian-bindings-1.2.5.tar.gz
cd xapian-bindings-1.2.5
./configure --with-ruby LDFLAGS=-L$HOME/opt/lib CFLAGS=-fPIC CXXFLAGS=-I$HOME/opt/include --prefix=$HOME/opt RUBY_LIB=$HOME/opt/ruby_modules RUBY_LIB_ARCH=$HOME/opt/ruby_modules XAPIAN_CONFIG=$HOME/opt/bin/xapian-config
make && make install

Dans l’application RubyOnRails indiquons le chemin de nos modules installés localement (config/environnement.rb) :

if ENV['RAILS_ENV'] == "production"
    config.load_paths += [ ENV['HOME'] + '/opt/ruby_modules' ]
end