Configurazione
Dopo una piccola "pausa", forse un po' teatrale (sperando però di aver illustrato i concetti di base della chroot jail), torniamo alla configurazione del sistema. Come abbiamo già visto, per poter utilizzare appieno il nostro sistema, oltre al file system proc dovremo ancora montare devpts e sysfs:
mount /proc /proc -t proc mount /devpts /dev/pts -t devpts mount /sysfs /sys -t sysfs
(nonostante con mount sia consuetudine definire il tipo di file system subito dopo il comando stesso [mount -t <filesystem> ...] ho seguito l'esempio di sopra "suggerito" dal sistema).
Partizioni
Sappiamo che le partizioni sono montate nel sistema in fase di boot dal kernel, ma poiché il kernel utilizzato è già avviato (è quello di android) dobbiamo eseguire queste operazioni in modo manuale. Il "noto" /etc/fstab non è però utilizzabile per i motivi appena citati ed in effetti lo troviamo vuoto. Inoltre sarebbe interessante utilizzare, oltre ai file system proc, sysfs e devpts, anche le partizioni già montate da android. Per fare ciò utilizzeremo un piccolo trucco: nel file /etc/mtab sono presenti le partizioni riconosciute dal sistema come montate ed in che modo. Inoltre in /proc/mounts sono presenti le partizioni effettivamente montate. Possiamo dunque eliminare il etc/mtab originale e sostituirlo con un link che punta a /proc/mount:
localhost:/# rm etc/mtab localhost:/# ln -s /proc/mounts /etc/mtab
Ora basterà creare delle directory per montare le partizioni principali di android su debian:
localhost:/# mkdir /media/sdcard localhost:/# mkdir /media/system localhost:/# mkdir /media/data localhost:/# mkdir /media/devPer effettuare ora un bind alle partizioni relative è però necessario uscire da debian (semplicemente con un "exit") ed eseguire i comandi da una shell di android, ad esempio dall'adb (proprio con l'adb assicuriamoci che la partizione /sdcard sia montata altrimenti avremo chiaramente un errore):
busybox mount --bind /sdcard /system/sd/debian/media/sdcard busybox mount --bind /system /system/sd/debian/media/system busybox mount --bind /data /system/sd/debian/media/data busybox mount --bind /dev /system/sd/debian/media/dev
Rete e Repository
Basandoci sulla configurazione della rete di android (vi ricordo che il kernel risiede lì) bisogna ancora configurare i DNS e i repository. Per quanto riguarda il primo, possiamo semplicemente inserire i DNS del nostro provider; in ogni caso, per quanto riguarda l'UMTS ho avuto qualche problema e mi sono trovato meglio con gli openDNS.