Instalando CentOS 7 en RaspberryPI
He aquí una pequeña guía para instalar CentOS 7.5 en una RaspberryPI, muy útil si quieres dedicar alguna de tus raspberries para algún experimento software mas allá de lo que Raspbian pueda ofrecer.
La mayor parte de la información está obtenida de la página web del SpecialInterestGroup de CentOS sobre ARM.
El procedimiento es válido para los modelos B y B+ de la Raspberry PI 3.
Para copiar la imagen a la SD-card en linux utilizamos sudo dd if=imagen_raw.img of=/dev/<device_sd-card>
En Windows podemos utilizar la utilidad Etcher o el Universal USB Installer.
Lo primero es insertar la SD-Card en la Raspberry y arrancar. El password de root por defecto es centos.
También configuramos la resolución de nombres en el /etc/resolv.conf añadiendo:
Si todo está correcto podemos crear una imagen de la tarjeta microSD para clonar al resto de raspberryPIs que tengamos (o simplemente restaurar la imagen para comenzar con una instalación fresca).
La mayor parte de la información está obtenida de la página web del SpecialInterestGroup de CentOS sobre ARM.
El procedimiento es válido para los modelos B y B+ de la Raspberry PI 3.
Paso 1: Generar la SD-card de arranque
Descargamos la imagen RAW (armv7hl-RaspberryPI-Minimal-1804-sda) de http://isoredirect.centos.org/altarch/7/isos/armhfp/ y la descomprimimos con la utilidad TAR en linux o con la utilidad 7zip en Windows.Para copiar la imagen a la SD-card en linux utilizamos sudo dd if=imagen_raw.img of=/dev/<device_sd-card>
En Windows podemos utilizar la utilidad Etcher o el Universal USB Installer.
Paso 2: Personalizar la instalación
En este paso vamos a personalizar la instalación con el objetivo de poder generar una nueva imagen final de referencia que utilizaré para generar la SD-card de arranque definitiva (para desplegar mas RaspberryPIs o volver a reinstalar y tener una instalación fresca).Lo primero es insertar la SD-Card en la Raspberry y arrancar. El password de root por defecto es centos.
Expandimos el root filesystem al tamaño máximo de la SD-Card con rootfs-expand.
Ejecutamos echo
"NETWORKING=yes" > /etc/sysconfig/network para
solucionar problemas con la inicialización de la red.
Deshabilitamos el KDUMP con systemctl
disable kdump.
Deshabilitamos los adaptadores WiFi y BT editando el fichero /etc/modprobe.d/raspi-blklst.conf y añadiendo lo
siguiente:
blacklist brcmfmac
blacklist brcmutil
blacklist btbcm
blacklist hci_uart
Y deshabilitamos el servicio wpa_supplicant con
systemctl disable wpa_supplicant.service
Deshabilitamos y desinstalamos el NetworkManager y firewall:
systemctl stop NetworkManager firewalld
systemctl disable NetworkManager firewalld
yum -y remove NetworkManager NetworkManager-libnm firewalld
Antes de reiniciar, cambiamos la configuración de red para
utilizar una dirección IP estática. Para ello creamos el fichero /etc/sysconfig/network-scripts/ifcfg-eth0 y
añadimos lo siguiente:
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.15
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
También configuramos la resolución de nombres en el /etc/resolv.conf añadiendo:
search pingarron.net
nameserver 8.8.8.8
nameserver 8.8.4.4
Establecemos el nombre de host con hostnamectl set-hostname
pi01.pingarron.net
Configuramos la zona horaria con timedatectl set-timezone
Europe/Madrid
Deshabilitamos SELinux editando el fichero /etc/selinux/config y modificando la siguiente línea:
SELINUX=disabled
Instalamos las utils de YUM con yum -y install yum-utils deltarpm y actualizamos el sistema y reiniciamos con yum -y update && reboot
Para mejorar el uso de memoria y el rendimiento en disco creamos
el fichero /etc/sysctl.d/raspberryPI-sysctl.conf añadiendo
los siguientes valores:
vm.swappiness=1
vm.vfs_cache_pressure=50
vm.dirty_background_ratio=15
Instalamos el repositorio EPEL, para ello creamos el fichero /etc/yum.repos.d/epel.repo y añadimos lo siguiente:
[epel]
name=Epel rebuild for armhfp
baseurl=https://armv7.dev.centos.org/repodir/epel-pass-1/
enabled=1
gpgcheck=0
A partir de ahora ya podemos instalar otros paquetes extra
como python-pip.
El último paso será instalar Oracle Java 1.8, descargando el
JDK para Linux ARM 32 Hard Float ABI. Para ello:
# yum -y install
wget
# mkdir /usr/java
# cd /usr/java
# wget --no-cookies --no-check-certificate --header
"Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F;
oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-arm32-vfp-hflt.tar.gz
# tar xvf jdk-8u191-linux-arm32-vfp-hflt.tar.gz
# update-alternatives --install /usr/bin/java java
/usr/java/jdk1.8.0_191/bin/java 1
# update-alternatives --install /usr/bin/javac javac
/usr/java/jdk1.8.0_191/bin/javac 1
Añadimos el JAVA_HOME como variable de entorno en el /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_191
export JRE_HOME=/usr/java/jdk1.8.0_191/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
Por último, reiniciamos y comprobamos.
Paso 3: Crear la imagen final de la instalación
Si todo está correcto podemos crear una imagen de la tarjeta microSD para clonar al resto de raspberryPIs que tengamos (o simplemente restaurar la imagen para comenzar con una instalación fresca).
En Linux utilizaremos sudo dd bs=1M if=/dev/sdX | gzip > centos7.rpi.img.gz
En Windows podemos utilizar la utilidad Win32DiskImager
Comentarios
Publicar un comentario