A continuación instalaremos KODI en nuestra distribución Raspbian, para ello me he basado en la documentación oficial: http://kodi.wiki/view/HOW-TO:Install_Kodi_on_Raspberry_Pi#Raspbian
Puesto que KODI está en los repositorios oficiales de Raspbian, simplemente habrá que actualizar los repositorios e instalar el paquete con los siguientes comandos: sudo apt-get update
sudo apt-get install kodi
Si has instalado la versión completa de Raspbian Jessie (no la Lite), tendrás ya instalado el paquete. Simplemente ejectuaremos kodi para abrir la aplicación.
RetroPie es un script que instala varios emuladores. Este tutorial mostrará cómo instalar RetroPie sobre Raspbian, está basado en https://retropie.org.uk/docs/Manual-Installation/ Necesitaremos conexión por SSH a la Raspberry Pi (o hacerlo desde la propia Raspberry Pi). En este tutorial explico cómo conseguirlo. Además necesitaremos internet en la Raspberry Pi.
Instalar paquetes para poder descargar el código fuente del proyecto desde github. Teclearemos estos comandos en una consola de Raspberry Pi, ya sea en la propia Raspberry Pi o por SSH conectada a ella: sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git lsb-release
Descargaremos la última versión del proyecto de github a nuestra carpeta home con los comandos siguientes: cd
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git
Una vez descargado, navegaremos hasta la carpeta e iniciaremos la instalación cd RetroPie-Setup
chmod +x retropie_setup.sh
sudo ./retropie_setup.sh
Tuve un problema con el driver experimental GL, así que tuve que desactivarlo desde raspi-config en Advanced Options -> GL Driver -> Legacy
Para instalar directamente, pulsar enter (se seleccionará Basic Install). Recomiendo instalar los paquetes también manualmente desde Manage packages porque me han fallado algunos. El driver gamecon/db9 no he conseguido instalarlo de ninguna manera.
Cuando esté todo descargado/compilado, podremos ejecutar por primera vez la aplicación con el comando emulationstation. Para cambiar la configuración lo haremos ejecutando el script retropie_setup.sh con el comando sudo ./retropie_setup.sh
Por último, tendremos que copiar nuestras roms en las carpetas generadas para cada consola dentro de ~/RetroPie/roms
He tenido problemas al arrancar por primera vez Raspbian Jessie desde el USB en mi nueva Raspberry Pi 3. El mensaje era «Root account is locked» y había problemas al montar la partición boot. Editaremos /etc/fstab con las direcciones de la partición de boot y la del OS.
Listar el nombre exacto de la partición de boot (mmcblk0p1) con el siguiente comando: ls /dev/mmc*
Hacer una copia de seguridad del fstab actual con el siguiente comando: sudo cp /etc/fstab /etc/fstab2
Editamos el archivo /etc/fstab para cambiar los nombres de las particiones con el siguiente comando: sudo nano /etc/fstab
el primer PARTUIID=XXXXX lo cambiaremos por /dev/mmcblk0p1, y el de abajo por /dev/sda2
Escribiremos sudo reboot para reiniciar. Cuando se reinicie, abriremos una terminal y escribiremos sudo raspi-config para acceder a la configuración.
Después del primer arranque, lo que necesitaremos es conectar la Raspberry Pi a internet, así como habilitar un cliente SSH en nuestro pc para controlarla remotamente. Para averiguar la IP de la Raspberry Pi podéis entrar en la página de configuración del router (normalmente http://192.168.0.1) y mirar los dispositivos conectados a la red. En mi caso se ha asignado la ip 192.168.0.7. Si la tenéis conectada por WiFi será más complicado, ya que habrá que editar un archivo con el nombre de vuestra red WiFi y la contraseña.
Cliente SSH para Windows
Podemos descargar putty. Es un cliente para acceso remoto SSH muy simple. Pondremos la IP de la Raspberry Pi para conectarnos a ella, seleccionaremos SSH y guardaremos la sesión con un nombre para no tener que rellenar la información la próxima vez. Cuando clickemos en Open se abrirá una consola desde donde trabajaremos. La primera vez que nos conectemos pedirá confirmación de autenticidad del host. Luego pedirá el usuario y la contraseña y ya podréis teclear comandos como si estuviérais localmente en la Raspberry Pi.
Cliente SSH para Linux
El comando SSH está accesible por defecto en Linux. Abriremos una terminal y teclearemos ssh IP, donde IP será la ip de la Raspberry Pi (en mi caso ssh 192.168.0.7). Para entrar directamente, podemos teclear el comando ssh pi@IP en nuestra red local (en mi caso ssh pi@192.168.0.7). Aquí también se pedirá confirmación de autenticidad del host la primera vez, después pedirá la contraseña (si hemos tecleado ssh pi@IP) o el usuario y contraseña si sólo hemos tecleado ssh IP. Después ya podréis teclear comandos como si estuviérais localmente en la Raspberry Pi.
Conexión WiFi
Para configurar una conexión WiFi con cifrado WPA tendréis que editar el archivo /etc/network/interfaces y añadir las siguientes líneas: auto wlan0
iface wlan0 inet dhcp
wpa-ssid ESSID
wpa-psk CONTRASEÑA
iface default inet dhcp
donde ESSID será el nombre de vuestra red y CONTRASEÑA la contraseña.
Tras unos segundos de comprobaciones aparecerá la herramienta de configuración raspi-config. Para seleccionar las opciones usaremos las flechas del teclado y para acceder a las opciones de abajo como Select o Finish pulsaremos la tecla tabulador. Aparecen las siguientes opciones:
Expand Filesystem. Expandir la SD para rellenar el hueco no usado. Como la stock rom ocupa 3gb, si lo volcáramos a una SD de cualquier tamaño, solo habría 3gb ocupados y sería recomendable expandir la partición para rellenar todo el espacio de la SD, pero hemos instalado el sistema operativo en el USB, así que no tocaremos esta opción.
Change User Password. Cambiar la contraseña del usuario. Por defecto user:pi contraseña:raspberry.
Enable boot to Desktop/Scratch. Arrancar directamente la consola, entorno gráfico o programa Scratch:
Console. Arrancar la consola. Recomiendo esta opción si queremos cargar xbmc kodi o emulationstation.
Desktop. Arrancar el entorno gráfico de Raspbian. También se puede abrir con el comando startx desde consola.
Scratch. Arrancar el programa Scratch. También se puede abrir con el comando scratch dentro del entorno gráfico.
Internationalisation Options. Configurar idioma y región.
Change Locale. Seleccionar idioma y país.
Change Timezone. Seleccionar el huso horario.
Change Keyboard Layout. Seleccionar distribución del teclado.
Enable Camera. Habilitar la cámara.
Add to Rastrack. Añadir tu Raspberry Pi a Rastrack. Es un rastreador de Raspberry Pi. Puedes ver las que hay en el mundo desde su web.
Overclock. Configuración de overclock. Por defecto esta a 700Mhz (Raspberry Pi 1), teóricamente puede overclockearse sin problemas a 1Ghz, yo no lo he necesitado, así que prefiero no tocarlo.
Advanced Options. Configuración avanzada.
Overscan. Configurar bordes de la pantalla. Si vemos dos franjas negras arriba y abajo y queremos que se vea completo, modificaremos los valores de overscan horizontales.
Hostname. Determinar un nombre para este dispositivo en la red local a la que se conecte.
Memory Split. Cambiar la cantidad de memoria RAM que se cede a la GPU. Recomiendo 192 para la GPU (Raspberry Pi 1).
SSH. Activar o desactivar control remoto por SSH. Recomiendo esta opción para tener una consola de la raspberry desde cualquier dispositivo conectado a ella por SSH, ya sea un móvil, tablet, pc, etc.
SPI. Activar o desactivar la carga por defecto del kernel SPI. Por defecto: no.
Audio. Seleccionar la fuente de salida de audio. (Auto, jack o hdmi).
Update. Actualizar la herramienta a la ultima versión.
About raspi-config. Información de la herramienta. Recordad que se puede abrir desde consola con el comando raspi-config
Linux: Volcar la imagen con el comando dd a la SD. La instrucción completa es: sudo dd if=imagen.img of=/dev/sdX
donde sdX es el pendrive. Asegúrate de no confundirlo con otro dispositivo de almacenamiento como el disco duro principal. Si solo tienes un disco, el primero será sda, así que el pendrive debería ser sdb. Si tienes dudas te recomiendo que veas este artículo donde explico varios métodos para saber qué archivo /dev/sdX corresponde con el pendrive introducido.
Ahora tendremos en el pendrive dos particiones: una fat32 con el boot y otra ext4 con el sistema operativo. Copiaremos el contenido de la fat32 en una carpeta en el pc.
Eliminamos la partición fat32 del pendrive y extendemos la ext4.
Windows: Paragon Partition Manager. Al instalar el programa pedirá un product key y serial number que obtendremos registrándonos gratuitamente en la web.
Linux: Gparted o cualquier editor de particiones.
Ya que el boot ocupa solo 40MB, podemos usar el resto de la SD como almacén. Formatearemos en la SD una partición fat32 de 100MB y el resto ext4.
Windows: Paragon Partition Manager. Este programa no permite crear particiones ext4, así que el Almacen será FAT32
Linux: Gparted o cualquier editor de particiones.
Copiamos el contenido de la partición fat32 del pendrive (está en una carpeta en el pc) en la fat32 de la SD.
Finalmente nos quedarán las particiones así: SD:[FAT32][EXT4] y Pendrive:[EXT4]
Editamos el archivo cmdline.txt de la partición fat32 de la SD, poniendo root=/dev/sda2: dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/sda2 rootfstype=ext4 elevator=deadline rootwait
Explicacion: La Raspberry Pi necesita una SD para bootear, busca siempre el boot allí, pero tenemos que indicarle que luego siga buscando el sistema operativo en el pendrive. Normalmente redirige a mmcblk0p2, que es la segunda partición de la SD, donde debería estar el OS, pero lo cambiamos a sda2 para que redirija a la partición 2 del primer dispositivo de almacenamiento insertado. Realmente en el pendrive solo hay una partición, pero cuando hemos editado las que había, hemos dejado como «sdb2» la partición que quedaba (se llamaba sdb en el pc porque ya habia un sda, pero en la raspberry se llamará sda, no sdb).
En linux, cuando se introduce un nuevo dispositivo, se crea un archivo en /dev para manejarlo. Cuando se introduce un dispositivo de almacenamiento se crea /dev/sdX, donde X es una letra entre a y z que va incrementando conforme introducimos más dispositivos. Si solo tenemos un dispositivo, tendremos /dev/sda, si además ese dispositivo tuviera dos particiones, tendríamos /dev/sda, /dev/sda1 y /dev/sda2. Si introducimos otro dispositivo tendremos también /dev/sdb.
Es muy importante saber el archivo en /dev asociado al dispositivo que queremos manejar porque podriamos equivocarnos y formatear o eliminar datos de otro disco. Hay varias formas para asegurarse:
Yo normalmente uso gparted, un editor de particiones para gnome. Ahí salen todos los discos con sus particiones, llamados /dev/sda, /dev/sdb, etc. Así que comprobando las particiones que tiene el dispositivo que acabamos de introducir y el tamaño, podemos deducir cual es su letra, que deberia ser la última.
Otra forma de hacerlo es navegar con un administrador de archivos hasta /dev, ordenar por «fecha de modificación» y seleccionar todo con Ctrl+A. Ahora al introducir el dispositivo de almacenamiento se creará un nuevo archivo, que aparecerá al final y además no estará seleccionado, así que ése es nuestro archivo.
Otra forma sería con el comando dmesg | tail . Lo introducimos en una consola y veremos el log de los últimos eventos, incluyendo la inserción del pendrive y su letra asociada.
Otra forma sería con el comando df. Lo introducimos en una consola y veremos todas las particiones del equipo. Ahí podemos deducir cual corresponde al dispositivo que acabamos de insertar mirando su tamaño.
Presentación de Ultimate Raspbian a 21 de Marzo de 2013.
He utilizado:
– Raspberry Pi Modelo B 512MB RAM
– 2GB Classless MicroSD Kingston
– 8GB Cruzer Blade SanDisk Pendrive
– Cable de alimentación microUSB-USB conectado al monitor LG M2394D (da más de 800mA, posiblemente 1A).
– HUB 4 puertos USB 2.0 EMTEC
– Teclado y ratón USB
– GamePad inalámbrico PS1/2 DragonPlus con adaptador a USB GreenAsia.
Ultimate Raspbian by Cerb:
– Es una distribución Raspbian con Retropie (emuladores) y XBMCKODI (mediacenter).
– Arranca directamente en emulationstation.
– He añadido una «consola» nueva llamada Apps con dos «juegos» para arrancar el servidor gráfico de Raspbian o el XBMC KODI. Tutorial aquí
– La SD de 2GB bootea y redirecciona al Pendrive para seguir cargando ahí. Recomiendo esta configuración para que no se corrompa nunca la SD, puesto que el OS está en el Pendrive.
– El boot ocupa solo 40MB, el resto de la SD de 2GB (1.8GB) lo he formateado como ext4 y montado como Almacén.
– A día de hoy aun no he conseguido manejar XBMC KODI con el GamePad.
Vamos a necesitar esta lista de cosas para nuestros proyectos:
Raspberry Pi. Un ordenador del tamaño de una tarjeta de crédito. Yo lo compré aquí por 42€, caja incluida (Raspberry Pi 1 Model B).
Cargador microUSB. Se puede usar el del móvil (que suele ser de 1A), en los chinos hay por 2€, pero le faltaría el cable microUSB->USB. Yo uso el cargador Asus de mi tablet, de 2A, aunque realmente la Raspberry Pi no llega a consumir ni 1A. También puede conectarse con un cable a un monitor que tenga USB.
Tarjeta SD. O microSD con adaptador. Yo he usado una tarjeta SD de poca capacidad para alojar el boot de Raspbian (son 40MB), y el sistema operativo en sí está en un pendrive. Por 2€ podéis conseguir una de 2GB. Lista de SDs compatibles.
Pendrive. Aquí se instala la distribución, con 8GB es suficiente. He elegido pendrive porque es mas rápido que una SD clase 10 y nunca se corrompe la SD (a mí se me corrompía la SD 1 de cada 3 veces si apagaba la raspberry quitando el cable). Hoy en dia (2013) valen 6-7€ de 8GB.
Cables de audio y video. La Raspberry Pi tiene dos salidas: una analógica (video compuesto RCA) con jack de audio, y una HDMI digital (video+audio). Es posible que necesites conversores de HDMI a VGA, o DVI. Para estos adaptadores puede hacer falta alimentación externa por un hub puesto que necesitan procesar la señal.
Hub USB. La Raspberry Pi sólo tiene dos puertos USB, así que para conectar mas cosas hará falta un hub. Los hay con alimentación externa, que complementan la alimentación recibida por el cargador microUSB.
Adaptador WiFi. Para tener acceso a internet o a la red local. Yo uso éste.
Adaptador BlueTooth. Para dispositivos inalámbricos como ratones, teclados o gamepads.
Bienvenidos a frambuesa.x10host.com Aquí iré subiendo videos y tutoriales explicando cómo he hecho esta distribución.
Para los que no lo sepan, Ultimate Raspbian es una distribución Raspbian para Raspberry Pi con retropie (script para instalar un sistema arcade con muchos emuladores) y XBMCKODI (mediacenter).
También intentaré hacer cosas diferentes: como enviar datos a un LCD, usar la Raspberry Pi como servidor web, etc; y explicaré los problemas a los que me he enfrentado.