Hace algún tiempo instalé Linux en el iPod gracias al proyecto iPod Linux. Sin embargo desde hace unos meses, concretamente desde que el 12 de septiembre de 2006 apareció la versión 7 de iTunes, el instalador oficial dejó de funcionar para los iPods que actualizaron su firmware con aquella versión.
En esos dias conseguí que me funcionasen cosas como iDoom con algún problemilla del apagado. Me quedé con las ganas de hacer funcionar iBoy, un emulador de Game Boy que estaban desarrollando en ese momento. Ahora ya funciona para el ipod nano de primera generación. A continuación explico la manera en que lo hice desde GNU/Linux como guía por si a alguien le es útil.
Modo disco
El iPod ha de estar en modo disco. Esto significa que al conectarlo aparece en la pantalla del iPod el mensaje "No desconectar". Si al conectarlo al USB no se pone automáticamente en modo disco, se puede forzar pulsando menú y el botón central durante cinco segundos hasta que la pantalla cambie. En ese momento se cambia a botón central más botón de reproducir/pausar y el modo disco aparecerá automáticamente.
Preparando el cargador
Como he comentado antes, el instalador actualmente no funciona con las nuevas versiones de firmware así que hay que ir directamente a la instalación manual.
El iPod debe estar formateado en modo [url=http://ipodlinux.org/WinPod]WinPod[/url], lo que significa que tiene una partición FAT32 donde almacena la música y el resto de archivos. También se puede hacer con un [url=http://ipodlinux.org/MacPod]MacPod[/url] usando formato HFS+ pero no es el caso que nos ocupa.
Primero descarga el programa [url=http://ipodlinux.org/Make_fw]make_fw[/url] con el que modificaremos el [url=http://ipodlinux.org/Firmware]firmware[/url] del iPod. A continuación lo primero que se tiene que hacer es extraer una imagen del firmware original:
$ dd if=/dev/sdX1 of=orig_firmware.bin
El nombre concreto del dispositivo es el que corresponda al iPod. Actualmente hay muchos discos SATA que en GNU/Linux se ven como dispositivos SCSI y si no tenemos cuidado podemos destrozar el disco duro del ordenador por completo. Para obtener el nombre de dispositivo podemos hacer lo siguiente, que muestra que en mi caso el nombre es [b]sda[/b]:
$ dmesg | grep –after-context 1 Apple
[ 1017.100000] scsi 0:0:0:0: Direct-Access Apple iPod 1.62 PQ: 0 ANSI: 0
[ 1017.100000] SCSI device sda: 3999743 512-byte hdwr sectors (2048 MB)
Esto creará un archivo de unos 80-120MB (dependiendo de la versión de iPod) que contiene la partición de firmware. A continuación se extrae el firmware de Apple OS:
$ ./make_fw -o apple_os.bin -e 0 orig_firmware.bin
A continuación se inserta [url=http://ipodlinux.org/images/e/ef/Loader-2.4.zip]el cargador[/url] en el firmware original:
% ./make_fw -g nano -v -o my_sw.bin -i apple_os.bin loader.bin
Finalmente copia el nuevo archivo de firmware [b]my_sw.bin[/b] (que debe ser de unos pocos megas, en mi caso de 5,4MB mediante:
$ dd if=my_sw.bin of=/dev/sdX seek=63
Date cuenta de que esta vez no se le pone ningún número al dispositivo para asegurarnos de que el archivo se escribe justo en la posición en la que tiene que escribirse.
Particiones
Hasta ahora hemos instalado el cargador pero solo tenemos el sistema operativo original de Apple. El proceso que viene a continuación borra toda la música e información del iPod así que es recomendable hacer una copia de todos los datos antes de continuar.
El iPod viene con una partición que Linux reconoce como segunda partición del disco después de un espacio marcado como libre. El espacio marcado como libre es en realidad la partición del firmware que acabamos de modificar. Tendremos que hacer una partición adicional donde instalaremos ipodLinux. La he hecho de 256MB aunque quizá sea demasiado. Si quieres puedes hacerla algo más pequeña y tener más espacio para la música:
$ sudo fdisk -l /dev/sda
Disco /dev/sda: 2047 MB, 2047868416 bytes
255 cabezas, 63 sectores/pista, 248 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 1 10 80293+ 0 Vacía
/dev/sda2 11 248 1911735 b W95 FAT32
Es importante sacar este listado y anotar los comienzos y fin de particiones. Se carga fdisk para el disco del iPod, se elimina la partición W95 FAT32 (en este caso /dev/sda2), se crea una más pequeña y a continuación la pequeñita para ipodLinux:
$ sudo fdisk /dev/sda
Orden (m para obtener ayuda): d
Número de partición (1-4): 2
Orden (m para obtener ayuda): n
Acción de la orden
e Partición extendida
p Partición primaria (1-4)
p
Número de partición (1-4): 2
Primer cilindro (1-248, valor predeterminado 1): 11
Último cilindro o +tamaño o +tamañoM o +tamañoK (11-218, valor predeterminado 218): +1700MB
Orden (m para obtener ayuda): t
Número de partición (1-4): 2
Código hexadecimal (escriba L para ver los códigos): b
Se ha cambiado el tipo de sistema de la partición 2 por b (W95 FAT32)
Orden (m para obtener ayuda): n
Acción de la orden
e Partición extendida
p Partición primaria (1-4)
p
Número de partición (1-4): 3
Primer cilindro (1-248, valor predeterminado 1): 219
Último cilindro o +tamaño o +tamañoM o +tamañoK (219-248, valor predeterminado 248):
Se está utilizando el valor predeterminado 248
Orden (m para obtener ayuda): w
Se formatean las dos particiones:
$ sudo mkfs.vfat -F 32 -v /dev/sda2
$ sudo mkfs.ext3 -L ipodlinux -v /dev/sda3
Creación del sistema de archivos
Ahora es un buen momento para iniciar el Apple OS por primera vez para que cree la estructura inicial. Expulsamos el iPod:
$ sudo eject /dev/sda
Aparecerá en la pantalla del iPod un menú con los idiomas, al elegir el idioma aparece el iPod vacío, sin música. Volvemos a conectarlo al PC y descomprimimos en la partición tercera, la que habíamos formateado con ext3, el sistema base. Actualmente la última versión disponible la puedes descargar aquí: [url=http://so2.sys-techs.com/ipod/ipod_fs_240206.tar.gz]ipod_fs_240206[/url].
/media/ipodlinux $ sudo tar xvzf /tmp/ipod_fs_240206.tar.gz
Ahora hay que poner el kernel de Linux en su sitio para que el cargador lo encuentre al iniciar. Bájate la última versión de [url=http://ipodlinux.org/builds/]http://ipodlinux.org/builds/[/url]. Descarga también la última versión de podzilla y sustituye el que hay en /bin/podzilla de la parte que descomprimiste antes. El archivo del kernel renombralo después de descomprimirlo como [b]vmlinux[/b] y cópialo en /boot.
Crea también un archivo de texto en /boot/loader.cfg con el siguiente contenido:
# iPodLoader 2.3 config file
backlight = 1
timeout = 10
default = 2
# Las opciones del menu:
Apple OS @ ramimg
iPodLinux @ (hd0,2)/boot/vmlinux
Suspender @ standby
Modo Disco @ diskmode
iBoy, el emulador de Game Boy
Por fin llegamos a la instalación del emulador de Game Boy. Descarga la última versión de [url=http://ipodlinux.org/Image:Iboy0754.zip]iBoy0754[/url] (en el momento de escribir esto es la más actualizada), o visita directamente la web de [url=http://ipodlinux.org/IBoy]iBoy[/url] para comprobar si hay alguna posterior. Copia los archivos iboy_newkern e iboy_oldkern a /bin y copia alguna ROM original de Game Boy a /home/roms. Crea antes ese directorio además de /home/saves. Por último crea un archivo en [b]/etc/iboy.cfg[/b] que contenga:
romdir=/home/roms/
savedir=/home/saves/
Desconecta el iPod del ordenador, reinicia si es necesario manteniendo pulsado menú y botón central, elige iniciar con iPodLinux y finalmente carga iboy_newkern con ayuda del explorador de archivos. ¡A jugar!
5 comentarios en “Convertir el iPod en una Gameboy”
marzo 30th, 2007 en 06:53
Hola erwin, prueba a restaurarlo con alguna de las soluciones que hay aquí.
marzo 30th, 2007 en 03:13
Ayuda!!!!! no se que hacer espero que me ayuden. tengo un ipod video 60 gb. pero no funciona, todo iba bien hasta que un dia se atoro y lo quise resetear y depues aparecio una cara triste. segun esto tengo que forzar que entre en modo de disco. pero no funciona o no se como?????? ayuda. graicas
julio 28th, 2007 en 00:25
hola recien compre un ipod nani d 2gb se bloqueo por error no meacuerdo del codigo me podrian ayudar ,ya intente lo de resetearlo y no me funciono este es me correo from2ashes@hotmail.com
tambien lo puse en modo de disco y tampoco
mayo 29th, 2008 en 14:04
Hola buenas, ua cosilla… o dos:si tenemos un MacPod, ¿cómo se haría?¿se podría hacer?
y, ¿cómo se puede formatear de MacPod a WinPod?
Muchas gracias
mayo 29th, 2008 en 20:41
Pues la verdad, no lo sé, pero puedes encontrar toda la información en la web de ipodlinux.