Smartq 5
J'ai récemment acquis un Smartq5, fabriqué par http://en.smartdevices.com.cn/. Sans entrer dans les détails de la bête, c'est un petit MID pratique, remplissant bien son rôle, à condition de faire deux trois modifications ;).
Il est évident que j'ai pris la version Linux du smartq5 (il est aussi vendu avec un wince6). Après un rapide check, le firmware 5.0 est une ubuntu karmic koala modifiée, avec un petit kernel, un lxde comme IDE, et un openbox pour le WM. Cool, y a de quoi purger :)
On va commencer par le commencement : virer wbar, le machin immonde, gros et inutile en bas de l'écran.
.... Ok. bon. on va faire le gros de la tâche maintenant.
Smartdevices a prévu qu'on puisse installer facilement les packages sur la carte SD. Pour ma part, j'ai une carte SD de 8G. Ça s'avère pratique.
Un petit setup s'impose. Pour cela, deux manières :
et attendre que le temps passe (c'est relativement long, ne surtout PAS interrompre la procédure!)
En gros, on crée une image de 4G, on la monte en loopback, et on la plante dans un AUFS lié à /usr. Plus propre qu'un mount -o bind ou autres, et permet de laisser le /usr d'origine en place.
On verra la partie "fstab" après.
Bref. Reprenons :
Cool, deux trucs inutiles de moins.
Mais au fait, le "pcmanfm -d", il sert à quoi? Simple : à faire le montage de la SD "automatiquement" lors de l'insertion, plus lancer des scripts qui vont planter un dossier "apt" dessus (pour le cache et la bdd), ainsi que le montage AUFS si dispo.
Et c'est tout.
Hmmm. bon, donc en fait, on peut le shooter :)
Pour se faire, c'est simple :
Créer un dossier /mnt/disk, qui remplacera /media/disk par la suite
Mettre les entrées qui vont bien dans le fstab (je vous conseille de faire un petit "mount" pour voir les options)
Ne pas oublier le bind de /mnt/disk/apt sur /var/cache/apt
Commenter la ligne dans le autostart
Rebooter le smartq
La mise en place dans /mnt évite que le dossier ne soit détruit lors de chaque boot par notre ami HAL. Il est évident que le symlink dans le home de user ne marchera plus, en passant ;). A vous de le corriger.
Bien. Donc là, on a un LXDE sans pcmanfm (ou du moins son daemon), sans wbar, sans xcompmgr... Ok, mais on peut faire mieux, sans doute... ?
Oui. On peut. Il suffit de dire à LXDE de ne PAS gérer le desktop. A ce moment-là, openbox prendra toute la responsabilité de la chose, et lxde ne sera même pas lancé. On peut directement commenter la ligne "@lxde-settings-daemon" de l'autostart, et tout ira mieux.
Reste à configurer un peu openbox. Pour se faire, il vous faudra menumaker. Après 2-3 recherches, il n'est pas dispo dans ubuntu (bah tien...). Il vous faudra aller le downloader (sur la SD, bien entendu), et le lancer de la manière suivante :
Le menu généré se trouvera dans ~/.config/openbox/menu.xml. Libre à vous de le modifier si besoin.
Pour le fond d'écran, je conseille d'installer le package "hsetroot", qui permet de mettre des images de manière plus pratique que xsetroot (qui bouffe que du bitmap). Ensuite, trouvez une image (800x480), mettez-la sur la SD, et mettez ceci dans /etc/xdg/lxsession/LXDE/autostart :
@/usr/bin/hsetroot -center /mnt/disk/<votre image>
Vous pouvez aussi modifier l'image de boot en modifiant l'image située dans :
/etc/splashy/themes/default/background.png
Attention à bien mettre un PNG de 800x480px.
Voilà... Je crois que c'est tout pour le moment. Mon Smartq a résisté à ce traitement (moyennant quelques flashages après avoir tout cassé), donc je pense qu'avec les quelques indications présentes, cela devrait aller.
Pour info, j'ai mis en place http://smartq.akemi.internux.ch/, contenant pour le moment quelques liens et le firmware d'origine v5.0, ubuntu. Au final, un pote (Aelia sur #nimo@irc.geeknode.org) va compiler une gentoo pour les smartq, et mettra les binaires ainsi qu'un stage3 sur cette adresse ('fin normalement, s'il ne s'est pas suicidé entre deux avec le nombre de problèmes qu'il a relevés..)
A suivre donc ;)
Enjoy!
A+
Tengu
Il est évident que j'ai pris la version Linux du smartq5 (il est aussi vendu avec un wince6). Après un rapide check, le firmware 5.0 est une ubuntu karmic koala modifiée, avec un petit kernel, un lxde comme IDE, et un openbox pour le WM. Cool, y a de quoi purger :)
On va commencer par le commencement : virer wbar, le machin immonde, gros et inutile en bas de l'écran.
~$ sudo -i ~# vim /etc/xdg/lxsession/LXDE/autostart vim: command not found
.... Ok. bon. on va faire le gros de la tâche maintenant.
Smartdevices a prévu qu'on puisse installer facilement les packages sur la carte SD. Pour ma part, j'ai une carte SD de 8G. Ça s'avère pratique.
Un petit setup s'impose. Pour cela, deux manières :
Je suis une flemme
~# leafpad /usr/lib/python2.5/site-packages/GDebi/SDInst.py # modifier la valeur de LOOP_FILE_SIZE, mettre par exemple 4096 # attention, selon le degré de mise à jour de votre OS, cela peut aussi être # /usr/lib/python2.6/dist-packages/GDebi/SDInst.py ~# gdebi-gtk
et attendre que le temps passe (c'est relativement long, ne surtout PAS interrompre la procédure!)
J'suis un vrai, vas-y, balance le code
~# dd if=/dev/zero of=/media/disk/soft.img bs=512 count=8000000 # créer une image de 4G ~# mkfs.ext3 /media/disk/soft.img ~# mkdir -p /mnt/loop # normalement le dossier existe, mais... ~# mount -o loop /media/disk/soft.img /mnt/loop ~# mount -t aufs -o rw,si=c6d1c180,xino=/mnt/loop.aufs.xino,br:/mnt/loop=rw:/usr=ro none /usr
En gros, on crée une image de 4G, on la monte en loopback, et on la plante dans un AUFS lié à /usr. Plus propre qu'un mount -o bind ou autres, et permet de laisser le /usr d'origine en place.
On verra la partie "fstab" après.
Bref. Reprenons :
~# apt-get update ~# apt-get install -y vim screen ~# vim /etc/xdg/lxsession/LXDE/autostart # commenter la première ligne "@xcompmgr &" # commenter la dernière ligne "@wbar &" ~# killall -9 wbar ~# killall -9 xcompmgr
Cool, deux trucs inutiles de moins.
Mais au fait, le "pcmanfm -d", il sert à quoi? Simple : à faire le montage de la SD "automatiquement" lors de l'insertion, plus lancer des scripts qui vont planter un dossier "apt" dessus (pour le cache et la bdd), ainsi que le montage AUFS si dispo.
Et c'est tout.
Hmmm. bon, donc en fait, on peut le shooter :)
Pour se faire, c'est simple :
Créer un dossier /mnt/disk, qui remplacera /media/disk par la suite
Mettre les entrées qui vont bien dans le fstab (je vous conseille de faire un petit "mount" pour voir les options)
Ne pas oublier le bind de /mnt/disk/apt sur /var/cache/apt
Commenter la ligne dans le autostart
Rebooter le smartq
La mise en place dans /mnt évite que le dossier ne soit détruit lors de chaque boot par notre ami HAL. Il est évident que le symlink dans le home de user ne marchera plus, en passant ;). A vous de le corriger.
Bien. Donc là, on a un LXDE sans pcmanfm (ou du moins son daemon), sans wbar, sans xcompmgr... Ok, mais on peut faire mieux, sans doute... ?
Oui. On peut. Il suffit de dire à LXDE de ne PAS gérer le desktop. A ce moment-là, openbox prendra toute la responsabilité de la chose, et lxde ne sera même pas lancé. On peut directement commenter la ligne "@lxde-settings-daemon" de l'autostart, et tout ira mieux.
Reste à configurer un peu openbox. Pour se faire, il vous faudra menumaker. Après 2-3 recherches, il n'est pas dispo dans ubuntu (bah tien...). Il vous faudra aller le downloader (sur la SD, bien entendu), et le lancer de la manière suivante :
~$ mmaker -s Console OpenBox3
Le menu généré se trouvera dans ~/.config/openbox/menu.xml. Libre à vous de le modifier si besoin.
Pour le fond d'écran, je conseille d'installer le package "hsetroot", qui permet de mettre des images de manière plus pratique que xsetroot (qui bouffe que du bitmap). Ensuite, trouvez une image (800x480), mettez-la sur la SD, et mettez ceci dans /etc/xdg/lxsession/LXDE/autostart :
@/usr/bin/hsetroot -center /mnt/disk/<votre image>
Vous pouvez aussi modifier l'image de boot en modifiant l'image située dans :
/etc/splashy/themes/default/background.png
Attention à bien mettre un PNG de 800x480px.
Voilà... Je crois que c'est tout pour le moment. Mon Smartq a résisté à ce traitement (moyennant quelques flashages après avoir tout cassé), donc je pense qu'avec les quelques indications présentes, cela devrait aller.
Pour info, j'ai mis en place http://smartq.akemi.internux.ch/, contenant pour le moment quelques liens et le firmware d'origine v5.0, ubuntu. Au final, un pote (Aelia sur #nimo@irc.geeknode.org) va compiler une gentoo pour les smartq, et mettra les binaires ainsi qu'un stage3 sur cette adresse ('fin normalement, s'il ne s'est pas suicidé entre deux avec le nombre de problèmes qu'il a relevés..)
A suivre donc ;)
Enjoy!
A+
Tengu