Mi ha sempre incuriosito Android, l'OS made by Google per dispositivi mobile, e recentemente un gruppo di programmatori ha effettuato il porting di Android per iPhone.

Ho quindi cercato di installarlo anche sul mio iPod Touch 1G (prossimo alla pensione) anche se tuttora non esiste una release ufficiale per questo dispositivo.

Ci sono riuscito ed ora ho un iPod touch con dual boot tra iPhone OS e Android, ecco come ho fatto:

Occorrente

  • iPod Touch Jailbroken con firmware 3.1.2 (il jailbreak con Spirit non funziona, usate BlackRain)
  • Ubuntu (io l'ho virtualizzato sul mio macbook)
  • Release di iDroid
  • Pazienza

Bene Iniziamo

Come primo step dobbiamo scaricare la release di iDorid,che trovate nel link sottostante

iDroid per iPod Touch 1G

Ottenere i Driver per Wi-Fi e Touchscreen

Per questione di licenza non è possibile scaricare i driver per  il touchscreen quindi dobbiamo ottenerli estraendoli dal nostro iPod.

Da qui è possibile invece scaricare i driver per il wi-fi, estraete il file SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL.zip e ne otterrete un altro con estensione con estensione .tar.

Cliccate ancora una volta sul file .tar appena ottenuto ed estraete i due file FwImage/helper_sd.bin e FwImage/sd8686.bin, copiate questi file in una nuova cartella sul vostro desktop che avrete precedentemente chiamato firmware.

Rinominate helper_sd.bin in sd8686_helper.bin. Avremo così ottenuto il Firmware per la WLAN, adesso passiamo al Touchscreen.

Collegate il vostro iPod al mac ed avviate Dripwn un programma che estrarrà i driver per il touchscreen del vostro iPod. Salvate il file così ottenuto sempre nella stessa cartella (firmware).

Caricare i file su iPod

Ora abbiamo tutti i file necessari, dobbiamo caricarli in SSH dentro il nostro iPod all'indirizzo private/var.

Per chiarezza i file sono:

  • android.img.gz
  • cache.img
  • ramdisk.img
  • system.img
  • userdata.img
  • zlmage

Ora create una nuova cartella dal nome firmware sempre in private/var e copiateci dentro tutti i file presenti nella vostra cartella firmware sul desktop.

Installare OpeniBoot

Create una nuova cartella di nome idroid all'interno della cartella principale di Ubuntu e copiateci dentro i file che trovate nella cartella openiboot presente nella release che avete scaricato all'inizio.

A me non ha funzionato il file openiboot.img3 già presente quindi vi consiglio di scaricare quest'altra versione rinominatela in openiboot.img3 e sovrascrivere il file precedente.

Ora mettere in recovery mode il vostro iPod e collegatelo ad Ubuntu.

Scaricate la libreria libusb-0.1.4, aprite il terminale e date i seguenti comandi:

cd ~/idroid

sudo ./loadibec openiboot.img3

Così facendo si avvierà OpenIBoot sul vostro iPod e potete scegliere (scorrendo col tasto power) che OS avviare (selezionandolo con tasto Home).

Provate ad avviare Android (ci vorranno diversi minuti) per testare se avete fatto tutto bene.

Così facendo però sarà possibile avviare Android solo da terminale, vediamo come installare OpenIBoot per fare in modo che ad ogni accensione dell'iPod venga chiesto che OS avviare.

Rimettete l'iPod in recovery e collegatelo ad Ubuntu, riavviare OpenIBoot con i soliti comandi da terminale

cd ~/idroid

sudo ./loadibec openiboot.img3

ma questa volta avviate la console (disegno centrale).

Date i seguenti comandi da terminale:

sudo ./oibc (e vedrete il menù di openiboot sul terminale)

scrivete install per avviare l'installazione

terminata l'installazione (Done with installation) scrivete reboot per riavviare il dispositivo.

Finito, godetevi il vostro nuovo iPod Touch.

Alcune Note

Essendo una delle prime release è normale che Android non giri alla perfezione ma sinceramente sono rimasto positivamente colpito, pensavo peggio.

Inoltre alcune piccole note negative:

  • alcune volte l'iPod trova le reti wireless ma non riesce a connettersi
  • l'iPod si surriscalda parecchio mentre è in esecuzione Android
  • il touch è leggermente spostato (ossia rileva leggermente più a sinistra)

Vi lascio con una foto


Daniele Campogiani

Software Engineer