En fait, j'ai modifié CyanogenMod pour créer des répertoires vides "/bin, /lib, /usr, /var, /svr, /home, /media, etc, etc" et ensuite modifié "${source_root}/system/core/include/private/android_filesystem_config. h" pour y inclure les règles pour les répertoires, puis j'ai modifié ma carte SD externe pour qu'elle ne soit pas montée en tant que fuse ou avec le sticky bit activé (elle mettrait la propriété de Root:sdcard_rw sur tous les fichiers à l'intérieur) et après le démarrage, j'ai lancé un script qui montait les répertoires Root du bras Linux sur la carte SD externe vers les versions vides dans Root d'Android. La version embarquée de la glibc a été utilisée avec une image chroot Kali Linux armhf que j'ai créée, mais elle n'avait ni ruby ni metasploit. J'ai donc suivi des instructions concernant la compilation de ruby 1.9.3 avec svn ou quelque chose du genre, puis j'ai utilisé cette compilation pour installer metasploit. La seule chose que j'ai constatée, c'est que postgresql n'a pas fonctionné parce que la création de sockets et de fichiers est très sensible aux permissions et que des sockets ont pu être impliqués, donc pas de base de données postgres. Apache2 a fonctionné, j'ai fait tout le /etc/init.d/apache2 start et viola, "It Works !" vous le savez si vous l'avez vu.
Donc en résumé, oui, vous pouvez compiler ruby et bien d'autres programmes sur Android, la glibc doit juste être disponible, c'est-à-dire le répertoire /lib et son contenu sur Linux.
Et pour l'anecdote, j'ai utilisé un Galaxy S III Sprint avec 2 Go de RAM. Python fonctionne très bien, je viens de commencer à expérimenter avec les sockets Unix avec python, ils se sont connectés dans /sdcard mais je dois en apprendre davantage sur les politiques de sécurité d'Android sur les sockets et la création de bases de données avant d'aller plus loin avec l'obtention de metasploit et le travail avec une base de données fonctionnant sur Android + glibc.