/dev/blah

things i want to remember, things i want to share

Développeur Python et adepte Linux depuis 2005, Core développeur Kivy, passionné par beaucoup trop de choses.
Profil Github gpg signature bitcoin address

Entries tagged “transformer”

l'eeepad tranformer, comme plateforme de dev.

written by tshirtman, on 9/13/11 11:09 AM.

Qu’est ce que c’est?

Tout simplement une tablette android, avec un clavier en station d’accueil, ce qui permet de s’en servir aussi bien comme une tablette tactile, que comme un netbook (10″, c’est grand pour ce dont j’ai l’habitude, mais ça reste un netbook). L’écran multitouch 10″, et l’autonomie de 16h (au bas mot, je pense avoir fait bien plus hier) étant des points très forts. Cependant, le système fournis à l’interieur est android, ce qui est assez agréable pour l’utilisation en tactile, mais beaucoup, beaucoup moins pour l’utilisation au clavier, surtout pour un fanatique du raccourcis clavier et de l’interface ligne de commande comme moi.

Adaptations

Rooter et installer un chroot linux

Sous linux, le script fournis ici permet de rooter le système en quelques minutes, j’ai regardé vite fait le code avant, et c’est assez simple et clean, bon outil :) (comme d’hab basé sur le très pratique “adb” fournis par le sdk google). Ensuite, il faut installer les paquets “busybox” et “linux installer” depuis le market, lancer le premier (sinon linux installer n’arrive à rien), et le second quand c’est terminé, j’ai du m’y reprendre à plusieurs fois, mais j’ai finit par avoir un chroot ubuntu tout à fait fonctionnel.
J’ai créé un utilisateur non root afin de pouvoir travailler sereinement, que j’ai ajouté au groupe “admin”. J’ai aussi ajouté la commande “login” dans /etc/init.android/rc_enter.sh, afin qu’il me demande mon nom d’utilisateur et mon mot de passe, au lieu de me connecter en root, dans une boucle.

while true
do
    login
done

Bien sur ce n’est pas une solution parfaite, et sécuriser un tel environnement m’apparait vraiment difficile, sachant que le root de la machine ne demande pas de mot de passe, juste de cliquer un bouton a l’écran. Mais bon, la machine en elle même a un mot de passe graphique assez complexe, et en mode invisible. L’intérêt est plus d’avoir un lancement de session standard.

 

Réseau

De base, notre utilisateur n’a pas accès au réseau, celui ci ne marche que pour root, il s’agit des effets des sécurité d’accès au réseau sous android, il faut donc créer un groupe spécifique dédié à ça, avec le bon gid (correspondant à celui équivalent sous android).

sudo addgroup --gid 3003 inet

et ajouter notre utilisateur au groupe

sudo addgroup $USER inet

Si il est manquant, penser à ajouter “localhost” à la fin des deux premières lignes dans /etc/hosts, et si les requêtes sur un host ne résolvent pas, il peut être une solution de remplacer le nameserver par un autre dns dans /etc/resolv.conf . Personellement j’ai mis ceux de google.

nameserver 8.8.8.8
nameserver 8.8.4.4

La modification peut être faite de façon plus définitive dans le script linuxchroot.sh de l’os hote.

 

Nous avons maintenant un réseau parfaitement fonctionnel! Ce qui va nous permettre d’utiliser apt :D.

Programmes Ubuntu

Le strict minimum pour bosser…

sudo apt-get install git vim byobu

Je conseil de configurer byobu pour se lancer à la connexion: ‘ctrl-q @’ pour voir les options, aller sur la dernière, valider, aller à droite, pour sauter sur exit, et valider.
Il semble que les raccourcis avec ctrl soient en qwerty… je ne sais pas si c’est un bug du terminal ou pas, je regarderais si possible, c’est vivable pour l’instant.

 

Terminal

Peu satisfait du fonctionnement clavier de connectbot, je suis resté un moment sur Android Terminal Emulator, mais une fois installé mes applications, j’ai vite constaté que l’utilisation de vim dans ce context était difficile, du fait du comportement de la touche back (qui est à la place d’échap sur le clavier), qui est de fermer le terminal… même si byobu (c’est gnu screen, mais avec une config sympa en fait), rends la chose moins douloureuse, c’est quand même un peu lourd). Bref, j’ai finit par forker Android Terminal Emulator sur github, pour me faire un patch pour ça (j’ai du commenter un bout de code pour ça compile, et c’est sans doute un peu moche, mais bon, le java et moi…) edit: ce n’est plus nécessaire, android terminal emulator propose maintenant une option pour la gestion de la touche échap :). J’ai aussi salement changé les couleurs disponibles, mais pas de patch pour ça, c’est vraiment trop moche, et c’est franchement pas sorcier, enfin, maintenant j’ai le mauve ubuntu en fond d’écran :P).

sdcard dans le chroot

Afin de pouvoir éditer directement une applie android (écrite en kivy, donc c’est du python, donc je peux :)), j’ai partagé la carte sd interne avec le chroot ubuntu, avec ces commande, depuis le terminal chroot (a faire une seule fois):

sudo mkdir /sdcard
sudo addgroup sdcard_rw --gid 1015
sudo adduser $USER sdcard_rw

et depuis le shell android:

su
mount -o bind /mnt/sdcard /data/local/mnt/Linux/sdcard

 

Ce qu’il reste à faire…

 

  • Faire fonctionner la touche alt, qui serait utile pour certains programmes cli
  • Laisser la keymap en qwerty quand ctrl est appuyé.
  • avoir un meilleur accès au logs (j’ai bien trouvé une app, mais elle se met en mode portrait, même quand le clavier est branché, c’est malin…

 

Tip me if you like this :)

Tags

#FIXME 3G absurd ad_sense alterway aléatoire android animation anonymity atheism bach backlog bash bitcoins blog blogging boldness book books boulot bricolage bépo C canvas captcha captures carte SD censure christianity chroot CLI cli cloudwatt code colors comfort zone command line community company life conferences contest copwatch copwatchnord-idf core-devs cours ct705 culture deb debian debug deformation dehors dessin dev distribute distribution débutant déploiement développement ebooks eeepad eeepc effect ego empty en escher event firefly flappy bird flask fosdem foss fr fun game garden gdb geek culture git github goals graphics grrr gödel hack hackathon hacked hacking hooks i3 images IMAP inspirational install isync java jeu jeu video jinja2 jni keyboard keynav kivy kv lame learning lib libre life linux lol macosx magnet mail mailing-list mails maths mbsync meetings memory leak mesh meta mint mirroir MIT module motivational mouse museomix mutt nexus7 no-mouse notmuch nottoomuch offlineimap onycroit opencourseware osc packaging paris passphrase password patch pentacatyl people perte de données ping pip planning plugin positioning pr procrastination programmation progress project projet property proudhon proxy psf publisher/consumer pull-down pygame pyjnius pypi python pythonar qtile raid rapsberry pi reading recorder references release religion responsive review reviews réseau réseaux sociaux résurection salon screenshots script self service shows shutil shyness sizing solib sortie sousous!!! spam spritz stash status systeme système templating terminal texture texture coordinates Thomas Paine thread thème tiling time time management. tip tips tools transformer tutorial tv twitter typematrix typing ubuntu ubuntu-fr ultimate-smash-friends unity upload images useless usf utils value VDM video vie/mort vim virtualenv visite widget windows wm wmii work workflow workflow. zine études