back

Si noti come la shell ufficiale di android sia in /system/bin/sh (e non la bash). Possiamo salvare ora lo script: lo nominiamo, ad esempio, ds (per debian start o qualcosa di simile, in ogni caso niente di troppo noioso da scrivere sulla tastiera virtuale), lo memorizziamo in /system/bin (o dove preferite, comunque dove sia possibile lanciare un eseguibile; ricordatevi che dall'adb dovete eseguire un remount per avere i permessi di scrittura in /system) ed infine assicuriamoci di avere i permessi d'esecuzione ottenendoli eventulamente con chmod.

A questo punto, per avviare debian basterà digitare (da root) ds da un qualsiasi terminale in android. Per uscire, come già detto basterà un "exit". Avendo montato i file system proc, devpts e sysfs, se dovessimo riaprire una sessione con il nostro script avremmo degli errori in quanto quest'ultimi non sono stati smontati. Per ovviare al problema possiamo utilizzare ancora un semplice script:

#!/bin/bash
umount /devpts
umount /sysfs
umount /proc
echo "Arresto il sistema..."

notare che /proc viene smontato per ultimo in quanto serve agli altri due. Possiamo salvare lo script nominandolo, ad esempio, dk (debian kill) e dopo averlo reso eseguibile lo possiamo spostare in /usr/local/bin. A questo punto per uscire dalla sessione possiamo associare il nostro script ad "exit" aggiungendo alla fine del file /etc/bash.bashrc le seguenti linee:

# associamo lo script dk ad exit
alias exit='dk && exit'

Per uscire, digitando "exit" verrà eseguito lo script dk smontando i file system montati all'avvio.

ATTENZIONE: se volete installare un server grafico (v. sotto) lo script dk si può modificare per implementare la chiusura di quest'ultimo all'uscita dal sistema. Lo script andrà dunque modificato; per i dettagli si veda la fine del prossimo capitolo.

Server grafico (X)

Android purtroppo non si basa sul server X. Questo significa che non è possibile installare il server con la nostra debian. Possiamo però avviare una sessione grafica tramite un server VNC (su debian) al quale possiamo poi collegarci con un client da android stesso. Dapprima ci procuriamo il client dall'android market: nel mio caso ho utilizzato android-vnc-viewer. Per il lato server ho utilizzato tightvncserver (preferito al più classico vncserver per l'ottimizzazione per banda corta). Una volta installato, sempre con il fedelissimo Apt, possiamo avviare il server con:

# export USER=root
# vncserver -geometry 480x320
back