Installation OS

Création carte SD

rpi imager

Ubuntu

sudo snap install rpi-imager

Windows

Installer à partir de https://downloads.raspberrypi.org/imager/imager_latest.exe

Manuellement

Utilisation de la dernière version de Raspbian Lite. A partir d'une machine linux on copy l'image sur la carte SD :

dd if=2019-09-26-raspbian-buster-lite.img of=/dev/mmcblk0 bs=4M status=progress

Installation sur SSD

Boot USB

Vérification

Pour vérifier que le raspberry PI accepte de démarrer sur l'USB lancer la commande suivante :

vcgencmd otp_dump | grep 17

On doit trouver la valeur 3020000a

Si ce n'est pas le cas procéder à l'activation sinon passer directement à l'installation sur le périphérique USB.

Activation

Reprogrammer l’OTP en ajoutant program_usb_boot_mode=1 à la fin du fichier /boot/config.txt sur sur Raspberry PI OS ou /boot/firmware/config.txt sur Ubuntu.

Redémarrer le Raspberry PI.

Vérifier de nouveau le registre 17.

Installation de l'OS

Procéder de la même façon avec rpi-imager sur le SSD au lieu d'une carte SD

Configuration

Editer le fichier cmdline.txt pour y ajouter dev=/dev/sda1 avant rootwait :

console=serial0,115200 console=tty1 root=PARTUUID=904a3764-02 rootfstype=ext4 elevator=deadline fsck.repair=yes dev=/dev/sda1 rootwait quiet init=/usr/lib/raspi-config/init_resize.sh splash plymouth.ignore-serial-consoles

Boot simplifié sur USB

Haut de page

Configuration de Raspberry Pi OS

Première connexion

Activation ssh

Pour activer le ssh au premier démarrage créer un fichier ssh à la racine de la partition boot

touch ssh

Configuration Wifi initiale

Pour configurer le Wifi sur un Raspberry PI Zero sans écran/clavier créer un fichier wpa_supplicant.conf sur la partition boot contenant les informations suivantes :

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev country=FR update_config=1 network={ ssid="<SSID du réseau Wifi>" psk="<Mot de passe du réseau Wifi>" }

Adresse IP

Si l'on n'a pas d'écran de relié, utiliser la commande nmap pour trouver l'adresse IP du raspberry (en adaptant à son réseau et à la condition d'avoir un serveur DHCP).

nmap -sP 192.168.0.0/24
Pour la connexion utilisateur “pi” mot de passe “raspberry”.
En cas de connexion en direct le clavier est configuré en qwerty, il faut donc taper le mot de passe “rqspberry”.

Configuration

Lancer la commande :

sudo raspi-config

Configurer le hostname

Configurer les variables régionales en fr_FR.UTF8-8

Définir le timezone à Europe/Paris

Définir le clavier Français

Activer SSH (si pas déjà fait)

Activer les interfaces nécessaires (caméra, 1-wire pour capteur DS18B20, …)

Etendre le file system pour utiliser toute la carte SD

Configurer le partage mémoire entre le CPU et le GPU

Configuration vi

Créer le fichier ~/.vimrc avec par exemple la ligne

syn on

En l'absence de ce fichier le copier/coller à la souris fonctionne mal (nécessite d'utiliser la touche ⇧ Shift).

Changement utilisateur principal

Par sécurité il est bon de changer le mot de passe par défaut mais mieux encore le compte par défaut.

Ajout d'un nouvel utilisateur et affectation au groupe sudo pour avoir les droits administrateur :

sudo adduser administrateur sudo adduser administrateur sudo

Se connecter avec le nouvel utilisateur et supprimer le compte par défaut :

sudo deluser --remove-all-files pi

Mise à jour et installation packages supplémentaires

sudo apt update sudo apt upgrade sudo apt dist-upgrade sudo apt install rsync vim

Configuration adresse IP fixe

/etc/dhcpcd.conf

Editer le fichier pour mettre à jour les lignes suivantes avec le nom de l'interface et la configuration souhaitée :

interface eth0
static ip_address=192.168.0.10/24
static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1

Prise en compte

Redémarrer le Raspberry PI ou bien juste le service par la commande :

sudo systemctl restart networking.service

Haut de page

Préservation de la carte SD

Fichiers temporaires

Ajouter les 2 lignes suivantes à la fin du fichier /etc/fstab pour mise en mémoire des fichiers temporaires.

tmpfs /tmp tmpfs defaults,noatime,nosuid,size=100m 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,size=30m 0 0

Fichiers de log

tmpfs avec perte

Il est également possible de mettre le répertoire /var/log sur une partition en mémoire avec l'inconvénient de perdre les log à chaque redémarrage. De plus des applications comme apache risque de ne pas redémarrer si le répertoire /var/log/apache2 n'existe pas au démarrage. Pour palier ce dernier point plusieurs solutions possibles.

créer un fichier /etc/tmpfiles.d/apache2.conf afin de créer le répertoire automatiquement au démarrage

#Type Path Mode UID GID Age Argument d /var/log/apache2 0750 root adm - -

créer le répertoire au démarrage du service en modifiant le fichier /lib/systemd/system/apache2

[Unit] Description=The Apache HTTP Server After=network.target remote-fs.target nss-lookup.target Documentation=https://httpd.apache.org/docs/2.4/ [Service] Type=forking Environment=APACHE_STARTED_BY_SYSTEMD=true # début modification PermissionsStartOnly=true ExecStartPre=-/bin/mkdir /var/log/apache2 ExecStartPre=-/bin/chmod 750 /var/log/apache2 ExecStartPre=-/bin/chown root:adm /var/log/apache2 # fin modification ExecStart=/usr/sbin/apachectl start ExecStop=/usr/sbin/apachectl graceful-stop ExecReload=/usr/sbin/apachectl graceful KillMode=mixed PrivateTmp=true Restart=on-abort [Install] WantedBy=multi-user.target

Le paramètre PermissionsStartOnly indique que les commandes ExecStartPre doivent être exécutées en tant que root.

log2ram

L'utilisation de log2ram permet de mettre les fichiers de log en mémoire avec sauvegarde régulière sur la carte SD.

sudo apt install git git clone https://github.com/azlux/log2ram.git cd log2ram chmod +x install.sh sudo ./install.sh reboot

Après le redémarrage vérifier la bonne prise en compte par la commande :

df -h

Vérifier la présence des 3 lignes suivantes :

tmpfs 30M 0 30M 0% /var/tmp
tmpfs 100M 0 100M 0% /tmp
log2ram 40M 1,1M 39M 3% /var/log

log2ram garde la mémoire synchronisée avec le répertoire /var/hdd.log

Fonctionnement log2ram

Swap

Activation/désactivation

sudo dphys-swapfile swapon sudo dphys-swapfile swapoff

Suppression du swap

sudo apt remove dphys-swapfile

Haut de page