Table des matières

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

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

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-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get 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.

#Type Path Mode UID GID Age Argument
d /var/log/apache2 0750 root adm - -
[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-get 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-get remove dphys-swapfile

Haut de page