Instalación de dos sistemas operativos para Raspberry Pi 3 en una única tarjeta SD mediante NOOBS o PINN.
NOOBS o PINN
NOOBS (New Out of Box Software)
An easy Operating System installer for the Raspberry Pi
NOOBS is designed to make it easy to select and install operating systems for the Raspberry Pi without having to worry about manually imaging your SD card.
«raspberrypi/noobs» en GitHub.
PINN (PINN is not NOOBS)
An enhanced Operating System installer for the Raspberry Pi
PINN is a version of the NOOBS Operating System Installer for the Raspberry Pi. See the change history below for the additional features.
«procount/pinn» en GitHub.
NOOBS o PINN?
Mientras que NOOBS se limita a cumplir sin más con su propósito de facilitar la instalación de uno o más sistemas operativos en una única tarjeta SD, PINN aporta, además, algunas otras funciones como, por ejemplo,
- una opción para modificar el tiempo de espera (v2.1.2)
- el manejo del menú mediante un controlador de juego (v3.3.2)
- entre otras muchas cosas.
preparación de la tarjeta SD
- vía gparted, se formatea la tarjeta SD a fat32.
- luego, se descarga NOOBS v3.5 [09/2020] en su versión ligera de 39 MB o PINN-lite v3.5.3 [11/2020] de 49 MB.
- si no se dispone de conexión a internet, existe una versión pesada de NOOBS de 2329 MB que incluye Raspberry Pi OS y LibreELEC.
- una vez descargado el archivo zip de NOOBS o PINN, basta con descomprimirlo en la raíz de la tarjeta SD:
unzip NOOBS_lite_v3_5.zip -d /media/ernesto/SD
unzip pinn-lite.zip -d /media/ernesto/SD
- a continuación, se introduce la tarjeta SD en la Raspberry Pi y se enciende el aparato.
instalación vía NOOBS
el menú de NOOBS permite la instalación de varios sistemas operativos en una misma tarjeta SD. en este caso, se seleccionan estos dos:
LibreELEC_RPi2
LibreELEC is a fast and user-friendly Kodi Entertainment Center distribution.Recalbox – Pi3
The retro-gaming OS! Turn your Raspberry Pi into an all-in-one and plug-n-play retro-gaming console, supporting 100+ gaming systems!
a continuación, se procede con su instalación:
Advertencia: esto instalará los sistemas operativos seleccionados. Todos los datos existentes en la tarjeta SD serán sobreescritos, incluyendo cualquier sistema que estuviera previamente instalado.
al concluir, si todo ha ido bien, se advierte que las operaciones se han ejecutado felizmente mediante otro mensaje:
SO(s) instalado(s) correctamente.
y se solicita qué sistema operativo de los que se han instalado arrancará la próxima vez:
Seleccionar OS para arrancar
LibreELEC_RPi2
Recalbox – Pi3
esta selección se solventa con un doble clic. luego, la raspberry pi se reinicia automáticamente.
tiempo de espera del menú de arranque
a diciembre de 2020, parece que no hay una manera sencilla (una opción, algo accesible) de cambiar los diez segundos de espera de NOOBS cuando se ha instalado más de un sistema operativo en la misma tarjeta SD (sería necesario, al parecer, recompilar NOOBS para cambiar la cantidad de segundos de espera).
si urge modificar el tiempo de espera del menú de carga por encima de todas las cosas, cabe la posibilidad de recurrir a PINN (an enhanced Operating System installer) en lugar de NOOBS (an easy Operating System installer) para la instalación y gestión de dos ó más sistemas operativos en una única tarjeta SD.
instalación vía PINN
el menú de PINN permite la instalación de muchísimos sistemas operativos en una misma tarjeta SD, separados por categoría: general, media, minimal, utility, games, education y testing. en este caso, se seleccionan sólo estos dos:
LibreELEC_RPi2
LibreELEC is a fast and user-friendly Kodi Entertainment Center distribution.Recalbox – Pi3
The retro-gaming OS! Turn your Raspberry Pi into an all-in-one and plug-n-play retro-gaming console, supporting 100+ gaming systems!
y, luego, se procede con su instalación:
Warning: this will install the selected Operating System(s) to /dev/mmcblk0. All existing data on the tarjeta SD will be deleted.
al terminar la operación, si todo ha ido bien, se advierte que las instalaciones se han ejecutado felizmente:
SO(s) instalado(s) correctamente.
a continuación, se solicita qué sistema operativo de los que se han instalado debe marcarse, si se quiere, como predeterminado:
Marcar SO como predeterminado:
LibreELEC_RPi2
Recalbox – Pi3
marcar un sistema operativo como predeterminado equivale a saltarse, por defecto, el menú de arranque posteriormente, en cada ocasión:
Each OS entry in the boot selection dialog has a checkbox next to it, allowing users to select it as a sticky default OS. If an OS is checked, PINN will operate as if that were the only OS installed (booting it automatically, without showing the boot selection dialog). This permits a slightly faster boot up time when one OS is used regularly.
«Sticky Default OS» en pinn/README_PINN.md.
luego de marcar una o ninguna de las opciones, se aprieta el botón iniciar
y la raspberry pi se reinicia automáticamente.
acceso al menú de arranque
si no se ha marcado un sistema operativo como predeterminado durante la instalación, el menú de arranque debería aparecer durante diez segundos al encender la raspberry pi, ofreciendo la posibilidad de seleccionar qué sistema operativo se quiere arrancar en cada ocasión.
si el menú de arranque no aparece por sí solo, probablemente se deba a que se ha marcado un sistema operativo como predeterminado durante la instalación y PINN lo lanza directamente, sin detenerse siquiera en el menú de arranque al encender la raspberry pi.
la manera de forzar la aparición del menú de arranque supone tanto como mantener apretada la tecla mayúsculas durante el arranque de PINN (o el botón izquierdo del ratón o el botón A del controlador de juego):
To change or remove the sticky checkbox, or just to temporarily boot into another OS, the boot selection dialog can be shown again by pressing the Shift key on boot up and entering the recovery mode.
«Sticky Default OS» en pinn/README_PINN.md.
tiempo de espera del menú de arranque
PINN will remember this OS choice and boot this OS by default each time unless a different option is selected within a timeout of 10 seconds. It is possible to change this menu timeout by adding bootmenutimeout=X in the recovery.cmdline file, where X is the desired timeout in seconds.
«OS Boot Selector» en pinn/README_PINN.md.
edición vía PINN del archivo recovery.cmdline
- en el menú de PINN, hay tres barras de herramientas:
- hay que acceder a la tercera de ellas, Maintenance, mediante el botón
More (m)
. - la opción
editar config.
permite la edición directa de recovery.cmdline:- basta añadir
bootmenutimeout=7
al final de la línea para dejar en siete (y no en diez) los segundos de espera del menú de arranque. - en esta misma ventana, también puede accederese a
Edit Options > Interface > bootmenutimeout
, para introducir el número de segundos en la instrucción.
- basta añadir
manejo del menú con un mando de juego USB
el mando de juego vía USB funciona sin más: el cursor desplaza el puntero del ratón por la pantalla, lentamente; el botón A equivale al botón izquierdo del ratón; y el botón X, a la función escape
.
reconfiguración del mando de juego USB
gracias al mapa de joy_keys.json, es posible asignar distintas funciones a cada botón del mando (también es la manera de que los botones respondan si antes no lo hacían):
The user-supplied JOY key mapping file must be called joy_keys.json and be stored in PINN’s recovery partition (/dev/mmcblk0p1 if on an SD card, where you will find the BUILD-DATA and recovery.rfs files […]
«JOY_KEYS» en pinn/README_PINN.md.
- una vez en el menú de PINN, se accede a la consola mediante
ctrl + alt + f2
. - el usuario de recovery es «root» y la contraseña, «raspberry».
- a continuación, se avergiua qué botones reconoce PINN gracias al archivo /tmp/debug:
tail -f /tmp/debug
found joy 16 ( B ) in "any" : "any" as 4101 ( mouse_lclick )
después de ejecutar tail
sobre /tmp/debug, la pulsión del botón A del mando de juego revela que PINN lo reconoce como joy 16 (B)
y que esta B
(físicamente el botón A del mando) tiene asignada la función mouse_lclick
(donde lclick
vale por «left click»).
por este medio, se avergiua lo siguiente:
- el botón A equivale a (B) con la función
Key_Down
. - el botón B equivale a (X) con la función
Key_Esc
. - el botón C equivale a (LB) con la función
Key_Up
. - el botón X equivale a (A) con la función
mouse_lclick
. - el botón Y equivale a (Y) con la función
Key_Left
. - el botón Z equivale a (RB) con la función
Key_Right
.
lo relevante del caso es la equivalencia entre el botón físico del mando (A, B, C…) y su correspondencia en PINN (B, X, LB, etcétera).
a continuación, se crea el mapa joy_keys.json en la tarjeta SD en cuestión (en JOY Key Mapping file, hay una plantilla para el caso). una vez se accede a la consola recovery de PINN,
df
/dev/mmcblk0p1 64366 53932 10434 84% /mnt
donde se informa que la partición de recuperación, /dev/mmcblk0p1, se ha montado en /mnt. la partición de recuperación puede identificarse como tal porque contiene los archivos BUILD-DATA y recovery.rfs (esto último puede comprobarse en un momento mediante ls /mnt
).
antes de crear el archivo joy_keys.json en /mnt, es necesario volver a montar la partición /dev/mmcblk0p1 como un sistema de archivos de lectura y escritura (rw
):
mount -o remount,rw /dev/mmcblk0p1
nano /mnt/joy_keys.json
"Key_Left": "A",
"Key_Right": "Y",
"Key_Up": "RB",
"Key_Down": "LB",
"Key_Space": "Start",
"mouse_lclick": "B",
"Key_Escape": "X",
"Key_Enter": "Start"
donde se asigna la función mouse_lclick
al botón A del mando de juego (lo que corresponde a B
en PINN); Key_Escape
al botón B del mando (X
en PINN); etcétera.
configuración de LibreELEC
LibreELEC is a lightweight ‘Just enough OS’ Linux distribution purpose-built for Kodi on current and popular mediacentre hardware. We forked from the OpenELEC project in March 2016 […]
«About» en LibreELEC
en la medida en que LibreELEC parte de OpenELEC, remito a la publicación sobre la configuración de openelec 6.0.0 RPi.arm como punto de partida:
configuración de Recalbox
¡Recalbox te permite reproducir una variedad de consolas de videojuegos y plataformas en tu sala de estar, con facilidad! ¡RecalboxOS es gratuito, de código abierto y diseñado para que puedas crear tu propio Recalbox en poco tiempo!
«Descripción» en recalbox.com.
remito a la publicación recalbox en raspberry pi 3 como punto de partida para su configuración:
fuentes
- «NOOBS» en Raspberry Pi Foundation.
- «procount/pinn» en GitHub.
- «raspberrypi/noobs» en GitHub.