Monday, 06 July 2015
|
Écrit par
Grégory Soutadé

Bookeen doesn't provides any way to hack their e-ink e-readers. Nevertheless, after they introduce a secured update file format for the first Cybook serie, they come back to a "tar-like" format for their e-readers based on Allwiner platform (new Odyssey, Muse, Nolimbook...). With this format, they try to be closest to Android platform.

Be careful : handling all bookeen's readers is difficult because there is a lot of derived/customized readers available ! For this, Bookeen has its own server that checks for serial number to determine which update to serve. A special attention must be done with manipulating boot and bootloader images, it can bricks your e-reader !

This tutorial will only works with UNIX/Linux tools, I do not plan to do it for Windows.

So, let's start. An archive is commonly named CybUpdate.bin. In facts it's a .tar.bz2 file.

First, decompresse it :

mkdir decompressed
cd decompressed
tar -jxvf ../CybUpdate.bin

The following content should be created :

contents
bootloader.fex
boot.fex
rootfs.fex

I think that boot.fex and bootloader.fex are optional, but not sure. Two types of files are present :

  • contents that contains meta information
  • fex files

Contents has the following format :

<ident>|<filename>|<length>|<sha256sum>|<version>

idents are :

  • LOAD for bootloader
  • BOOT for boot partition
  • ROOT for rootfs

Fex extension is a generic one that actually is flash images in different format (vfat, ext...).

In bootloader.fex and rootfs.fex we have a file "/version" specifying the current version (allowing to do checks). Mounting bootloader and rootfs is quite easy :

mkdir root
sudo mount -t ext2 rootfs.fex root -o loop

mkdir bootloader
sudo mount -t vfat bootloader.fex bootloader -o loop

After doing modifications, just unmount the directory and the image is automatically generated ! (Don't forget to update contents metadata).

boot.fex is more complex, it has Android bootloader format. You have to use split_bootimg.pl to decompress it.

mkdir boot
cd boot
../split_bootimg.pl ../boot.fex
> Page size: 2048 (0x00000800)
> Kernel size: 10863524 (0x00a5c3a4)
> Ramdisk size: 2253456 (0x00226290)
> Second size: 0 (0x00000000)
> Board name: sun5i
> Command line: 
> Writing boot.fex-kernel ... complete.
> Writing boot.fex-ramdisk.gz ... complete.

Then we decompress ramdisk :

mkdir ramdisk_decompressed
cd ramdisk_decompressed
gzip -dc ../boot.fex-ramdisk.gz | cpio -i

You can re compress it with :

find | cpio -o | gzip -c > ../boot.fex-ramdisk.gz

Rebuilding boot is done with mkbootimg. Be careful to use the same parameters split_bootimg.pl displayed !

./mkbootimg.py --kernel boot.fex-kernel --ramdisk boot.fex-ramdisk.gz --pagesize 2048 --board sun5i -o ../boot.fex

As you see, there is nothing complicated here, but mistakes with boot/bootloader or init scripts can bricks your e-reader.

Have fun !

Wednesday, 01 July 2015
|
Écrit par
Grégory Soutadé

Logo Dynastie

Sortie de la version 0.3 de Dynastie. Pour rappel, il s'agit de mon générateur de blog. En test depuis quelque mois, c'est maintenant officiel. Les différences ?

  • Support des brouillons
  • Ajout du marqueur "dyn:firstpageonly" : le sous-arbre n'apparaît que sur la première page
  • Ajout du marqueur "dyn:ljdc_last" : dernière image "les joies du code"
  • Quelques corrections de bug

Suite à l'introduction de la syntaxe Markdown, je n'utilise plus que cette dernière. Si un jour j'ai du temps, il faudra que je teste avec Django 1.8 et que je passe le code en Python 3.

Tuesday, 23 June 2015
|
Écrit par
Grégory Soutadé

Fenêtre principale de KissCount

Après une année blanche, voici la sortie de la version 0.5 de KissCount. Déjà 6 ans ! Le code est devenu assez mâture. Tellement qu'il faudrait VRAIMENT passer en Qt 5... Mais cette version n'est pas dénuée de nouveauté : Les tags (étiquettes) viennent rejoindre l'ensemble des fonctionnalités présentes. Il y a aussi quelques corrections de bugs.

Petit point faible côté empaquetage : seule la version GNU/Linux 64 bits est disponible. Il y a une version cross-compilée pour Windows qui malheureusement plante au démarrage (impossible de savoir pourquoi).

À priori, la version suivante ne sortira pas avant longtemps vu le peu de temps disponible que j'ai et de la maintenance/développement sur mes autres projets...

Monday, 08 June 2015
|
Écrit par
Grégory Soutadé

Si je dis "réseau social" ? On me répond Facebook, Twitter, Instagram. Des applications internet qui ont bouleversé notre façon d’interagir.

Concernant Facebook, on peut voir deux façons de l'utiliser. La façon des vieux : c'est une grande place dans laquelle tout le monde se trouve (une sorte de grand annuaire), on rencotre des personnes qui nous intéressent (ou pas), et accessoirement, on publie/regarde les dernières photos des copains. Et puis, la façon des jeunes : un cercle "fermé" qui permet de communiquer (principalement via le chat) avec ses copains (uniquement).

Concernant les deux autres, il s'agit de jeter sur la place publique des photos/textes courts (donc sans arguments). C'est d'ailleurs amusant de voir la stupidité des personnes qui discutent via des comptes Twitters interposés... (Les politiques les premiers).

Mais finalement, il y a assez peu de "social" dans le fond. Ce ne sont que des personnes, souvent virtuelles, avec qui on n'a pas forcément de vrais échanges.

Alors, quand Nicolas est parti à Toronto et qu'il s'est trouvé seul, il a eu l'idée de créer Squrry. Squrry (prononcer scuri) revient à la base de l'aspect "social" : aider des personnes à se rencontrer, non pas parce qu'elles ont envie de passer la nuit vie ensemble, mais parce qu'elles ont des intérêts communs, et donc des choses à se dire. Cela permet de créer de vrais liens sociaux.

L'idée est simple et efficace, et pourtant, personne ne l'avait réalisé auparavant.

Actuellement Squrry est déployé sur Toronto, mais il pourrait rapidement rejoindre d'autres villes avec un petit coup de pouce afin de développer plus encore le concept. En effet, ils ont lancé avec sa partenaire, une campagne Indiegogo que je vous invite à soutenir !

Tuesday, 02 June 2015
|
Écrit par
Grégory Soutadé

Baou de Saint-Jeannet lors de l'ascension

La cérémonie de clôture du 68e festival de Cannes vient de se dérouler. 10 jours pendant lesquels le monde occidental avait les yeux braqués sur le tapis rouge du célèbre palais des festivals. Pourtant, les festivaliers qui ont fait le déplacement (comme beaucoup de locaux) ne savent pas que les véritables perles de la "Côte d'Azur" ne se situent pas sur le littoral, mais bel bien dans l'arrière pays, et plus particulièrement l'arrière pays Vençois.

Baou de Saint-Jeannet depuis le parking - panorama

Ils se confondent dans le paysage, se faisant oublier. Pourtant, il est difficile de ne pas avoir aperçu ces immenses blocs rocheux jaillissant hors de la montagne. Ils sont au nombre de 4 : le baou des blancs (au-dessus de Vence), le baou des noirs, le baou de Saint-Jeannet et le baou de la Gaude. Aujourd'hui, c'est le baou de Saint-Jeannet qui nous intéresse. La balade commence donc à Saint-Jeannet, village pittoresque de l'arrière pays Vençois qui mérite à lui seul le détour.

Après s'être garé sur le parking à l'entrée du village, il faut traverser ses rues venteuses en suivant les panneaux. La première partie est plutôt raide et caillouteuse.

Début de la promenade Arrivée dans le parc

Sur le chemin - vue du ciel Vue de Saint-Jeannet

On arrive ensuite à un embranchement qui permet de rejoindre le baou de la Gaude. C'est le début de l'ascension à proprement parler.

Croisement baou de la Gaude Chemin sous les arbres

L'ascension se termine en arrivant sur un plateau. Direction la plateforme du baou sur un chemin de pierre peu agréable. Une fois arrivé, on a droit à un magnifique panorama à 360°C de tout le littoral.

Plateforme baou de Saint-Jeannet

Panorama 360°C depuis le baou de Saint-Jeannet

Un petit coup d’œil dans le vide pour voir Saint-Jeannet. Au loin on aperçoit Vence. À ce moment-là, il est bon de sortir son coupe-vent, car ça souffle (en plus du fait que l'on soit plus ou moins transpiré).

Saint-Jeannet depuis le baou Fleurs violettes sur la paroi rocheuse

Vence depuis le baou

C'est aussi l'occasion d'admirer la flore de moyenne montagne dans toute sa splendeur printanière.

Fleur Fleur Fleur Fleur

Après une petite pause, il est temps de repartir. Ceux qui sont trop fatigués pourront redescendre directement au village, sinon il y a une étape intéressante qui est le Castellet. C'est une ancienne bergerie que l'on aperçoit au centre de la photo (oui oui).

Vence depuis le baou

Pour se faire, on peut couper au niveau du dernier embranchement (GR52), puis rejoindre le chemin du Castellet, ou revenir en arrière jusqu'à l'embranchement indiqué. La première option est plus courte, mais nécessite de grimper un peu dans les rochers (en serrant le plus à droite). Néanmoins, elle permet d'admirer de magnifiques clairières.

Chemin pour aller au Castellet à travers champs

Chemin Champs en fleur

Clairière - panorama

Chemin Champs avec restanque

On rejoint ensuite le chemin classique qui est très agréable et relativement facile.

Chemin du Castellet Chemin du Castellet Chemin du Castellet

Une heure plus tard, arrivée au Castellet. C'est le moment de se restaurer et de faire un petit tour des ruines.

Arrivée au Castellet Le Castellet Le Castellet Point de vue depuis le Castellet (Mer) Point de vue depuis le Castellet (Montagne)

Pour le retour, il y a deux options : soit prendre le chemin inverse, soit bifurquer immédiatement sur la droite juste après le Castellet (dans la direction du retour). Dans ce cas, il faut prendre un chemin interminable, plutôt étroit et relativement casse patte, mais qui a l'avantage de n'être qu'en descente jusqu'à Saint-Jeannet. En été, on pourra faire un détour vers la rivière la "Cagne" afin de se rafraîchir.

Sur le chemin du retour Sur le chemin du retour

Il faut compter environ une demie journée. L'idéal est même de revenir en arrière et de grimper sur le baou de la gaude, avec son chêne centenaire. Il offre une expérience beaucoup plus intéressante que celui de Saint-Jeannet.

Dernier gif les joies du code Quand le nouveau essaie de suivre le dialogue entre le client et le commercial