ACTUALIZADO: Actualizado tras la salida de Raspberry Pi 4B.
1. Instalación OSMC/Raspbian en Raspberry Pi
La descarga e instalación de OSMC es realmente sencilla, basta con descargar el instalador y seguir las instrucciones del propio programa, por lo que no entraré a explicar ese proceso. Para Raspbian, recomiendo descargar la versión Lite y utilizar balenaEtcher para grabar la imagen/zip del sistema, tal como viene en su guía oficial. Si vamos a utilizar Raspbian, antes de iniciar el sistema en nuestra Raspberry Pi, es importante que incluyamos previamente un archivo llamado “ssh” vacío en la partición “/boot” de la tarjeta SD. Una vez instalado OSMC/Raspbian y una vez sepamos la dirección IP que tiene nuestra Raspberry Pi, accedemos mediante SSH utilizando el usuario osmc con contraseña osmc (o pi y raspberry como contraseña en Raspbian).
2. Instalación básica
Antes de nada, actualizamos el sistema a la última:
$ sudo apt update && sudo apt dist-upgrade -y
Configuramos el idioma del sistema editando el archivo locale.gen:
$ sudo nano /etc/locale.gen
Descomentamos (quitar #) la línea “es_ES.UTF-8 UTF-8”. Salimos y cargamos el idioma configurado (si hubiera otros descomentados, comentarlos):
$ sudo locale-gen
A continuación, se fija el idioma como idioma del sistema:
$ sudo localectl set-locale LANG="es_ES.UTF8", LC_TIME="es_ES.UTF8"
Configuramos la hora del sistema:
$ sudo rm -f /etc/localtime ; sudo ln -s /usr/share/zoneinfo/Europe/Madrid /etc/localtime
3. Overclock (IMPORTANTE: NECESARIO EL DE GPU EN OSMC)
Para que el sistema vaya más fluido y para que Kodi reproduzca mejor los vídeos, se recomienda un poco de OC (que no hace daño a nadie y está dentro de los límites de garantía de Raspberry Pi). Editamos el archivo /boot/config.txt, dejando como contenido solo las líneas que propongo en cada uno de los casos.
$ sudo nano /boot/config.txt
Esta primera configuración está pensada para Raspberry Pi 1 o 2. Es MUY IMPORTANTE poner a 128 el gpu_mem si vamos a reproducir vídeo con la Raspberry Pi (sea la 1 o la 2):
1 2 3 4 5 6 7 8 9 10 | #Modest, solo en Raspberry Pi 1. arm_freq=800 core_freq=300 sdram_freq=400 over_voltage=0 #Necesario en ambas Raspberrys para reproducción de video con Kodi. gpu_mem=128 #Desactiva los avisos de bajo voltaje y sobretemperatura: avoid_warnings=1 |
IMPORTANTE: Esta última línea de configuración es opcional, se debe incluir solo si se quiere desactivar estos avisos.
Otro ejemplo de overclocking, esta vez mejorando la velocidad de CPU y RAM, sin añadir nada relacionado con reproducción de vídeo, sería la siguiente:
1 2 | sdram_freq=450 core_freq=450 |
En este otro ejemplo, utilizamos overclock y overvolt (es necesario tener una buena fuente de alimentación, como un cargador USB de 2.5A) en Raspberry Pi 2, con un overclock estable a 1GHz del CPU, y limitando la temperatura de la placa para no alcanzar niveles críticos (la recomiendo para utilizarla solo como servidor con por ejemplo Transmission y Plex):
1 2 3 4 5 | arm_freq=1000 sdram_freq=500 core_freq=500 over_voltage=2 temp_limit=70 |
Para Raspberry Pi 3 B+, recomiendo la siguiente configuración para utilizar al máximo sus prestaciones dentro de los límites de garantía, sin hacer overclock ni overvolt (es la que utilizo actualmente, estable):
1 2 3 4 | arm_freq=1400 sdram_freq=500 core_freq=400 temp_limit=70 |
Además para Raspberry Pi 3B, 3 A+, 3 B+, 4B y Zero W, se pueden desactivar tanto WiFi como Bluetooth consiguiendo así menor uso de recursos del sistema y reducción de temperatura de la placa incluyendo las siguientes líneas al final del fichero:
1 2 3 4 | #Para desactivar BT: dtoverlay=disable-bt #Para desactivar WiFi: dtoverlay=disable-wifi |
4. Gestión básica como usuario
4.1. Gestión de usuarios y contraseñas
Cambiar contraseña de root:
$ sudo su
# passwd # exit
Cambiar contraseña de osmc (usuario):
$ passwd
5. Configurando servicios
5.1. Configuración SSH
Editamos el fichero de configuración de SSHD (muestro únicamente las líneas que yo he modificado):
$ sudo nano /etc/ssh/sshd_config
1 2 3 4 5 6 7 8 | ******************************** # What ports, IPs and protocols we listen for… Se puede poner lista separada por intros Port 2222 ... #Permitir acceso a root (yo lo pongo en no) PermitRootLogin no LoginGraceTime 0 ********************************************************* |
Para cambiar el mensaje al conectar por ssh, editar el archivo /etc/motd (Message Of The Day). Por ejemplo, se puede poner como aquí.
$ sudo nano /etc/motd
Reiniciamos el servicio ssh para que se aplique el cambio:
$ sudo systemctl restart ssh
5.2. Conexión automática mediante SSH en Linux
En Linux, podemos automatizar el proceso de conexión por SSH mediante el uso de claves públicas. De esta forma, la conectar por SSH a un servidor (o a Raspberry Pi en este caso), no se nos solicitará la contraseña. Para esto, en el ordenador desde el que conectemos regularmente a la Raspberry Pi, con nuestro usuario particular, generamos una clave RSA que luego compartiremos:
$ ssh-keygen -t rsa
Dejamos los valores por defecto (incluso el passphrase en blanco). Tras esto, copiamos la clave al servidor SSH al que queremos conectar (la Raspberry):
$ ssh-copy-id -p PUERTO_SSH usuario_raspberry@IP_RASPBERRY
Donde sustituimos PUERTO_SSH, usuario_raspberry e IP_RASPBERRY por el puerto que utilicemos para la conexión SSH en Raspberry, el usuario al que conectemos, y la IP de la Raspberry. A partir de aquí, la Raspberry no solicitará más la contraseña a nuestro usuario del PC siempre que conectemos a ese usuario de la Raspberry.
5.3. Montando disco duro externo y creando enlaces en carpeta personal
Primero es necesario identificar la partición a montar. Para ello utilizamos blkid:
$ sudo blkid
En mi caso, voy a montar la partición cuyo UUID es “cf6acb6a-dbe0-409d-a64f-d76fe3ec4a79”. Creamos una carpeta para montarla:
$ sudo mkdir /mnt/500GB
Añadimos esta partición al fichero fstab, donde aparecen las particiones que se montan automáticamente (añadir la línea que muestro tras la orden):
$ sudo nano /etc/fstab
1 | UUID=cf6acb6a-dbe0-409d-a64f-d76fe3ec4a79 /mnt/500GB ext4 defaults 0 0 |
Se pone el UUID sin comillas, tab (tabulador), la carpeta que acabamos de crear donde se montará la partición, tab, tipo de sistema de archivos (ext4 en mi caso), tab, permisos (defaults suele englobar los más comunes, para escritura, lectura… etc), tab, 0, tab, 0. Si el disco duro es NTFS, cambiar ext4 por ntfs-3g.
A continuación solo falta montar las particiones del fstab (para montar esa también) y dar permisos de escritura en el disco duro:
$ sudo mount -a $ sudo chmod 777 -R /mnt/500GB
Ahora se pueden crear enlaces a las carpetas que haya en el disco duro, o al propio disco, dentro de la carpeta del usuario que usemos (osmc, pi …). Yo uso estas:
$ ln -s /mnt/500GB/Descargas/ $ ln -s /mnt/500GB/Vídeos/ Videos
5.4. Montar automáticamente HDD externos (al conectar)
Instalamos todo lo necesario:
$ sudo apt install usbmount ntfs-3g
Es necesario modificar la línea de sistemas de archivos soportados e incluir NTFS:
$ sudo nano /etc/usbmount/usbmount.conf
1 | FILESYSTEMS="vfat ext2 ext3 ext4 hfsplus ntfs" |
5.5. Edición de fichero .bashrc y alias útiles
$ nano ~/.bashrc
Y añadir al final …
1 2 3 4 5 6 | alias reiniciar='sudo shutdown -r now' alias apagar='sudo shutdown -h now' alias temperatura='/opt/vc/bin/vcgencmd measure_temp' alias offtorrent='sudo systemctl stop transmission-daemon' alias ontorrent='sudo systemctl start transmission-daemon' alias torrentreload='sudo systemctl reload transmission-daemon' |
Los alias de transmission se utilizarán más adelante, en la siguiente guía.
Otra funcionalidad bastante útil es auto-cd, que realiza “cd” poniendo directamente las carpetas (en lugar de “cd /home/osmc”, basta con poner “/home/osmc”, por ejemplo), y la funcionalidad de autocompletado de sudo:
1 2 3 4 | #Cambiar de directorio sin usar 'cd': shopt -s autocd #Autocompletar sudo: complete -cf sudo |