Outils pour utilisateurs

Outils du site


all:bibles:materiel:raspberry:installation

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
all:bibles:materiel:raspberry:installation [2026/04/23 14:26] – [Mise à jour et installation packages supplémentaires] omeylhocall:bibles:materiel:raspberry:installation [2026/04/23 14:26] (Version actuelle) – [Swap] omeylhoc
Ligne 1: Ligne 1:
 +====== Installation OS ======
 +
 +----
 +
 +===== Création carte SD =====
 +
 +==== rpi imager ====
 +
 +=== Ubuntu ===
 +
 +<code bash>
 +sudo snap install rpi-imager
 +</code>
 +
 +=== 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 :
 +
 +<code bash>
 +dd if=2019-09-26-raspbian-buster-lite.img of=/dev/mmcblk0 bs=4M status=progress
 +</code>
 +
 +----
 +
 +===== 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 :
 +
 +<code bash>
 +vcgencmd otp_dump | grep 17
 +</code>
 +
 +On doit trouver la valeur <color #00a2e8>3020000a</color>
 +
 +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 <color #00a2e8>/boot/config.txt</color> sur sur Raspberry PI OS ou <color #00a2e8>/boot/firmware/config.txt</color> 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 <color #00a2e8>cmdline.txt</color> pour y ajouter **dev=/dev/sda1** avant rootwait :
 +
 +<code bash>
 +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
 +</code>
 +
 +[[https://www.framboise314.fr/boot-simplifie-sur-usb-avec-les-raspberry-pi-1-2-et-3/|Boot simplifié sur USB]]
 +
 +----
 +
 +[[all:bibles:materiel:raspberry:installation|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
 +
 +<code bash>
 +touch ssh
 +</code>
 +
 +=== Configuration Wifi initiale ===
 +
 +Pour configurer le Wifi sur un Raspberry PI Zero sans écran/clavier créer un fichier <color #00a2e8>wpa_supplicant.conf</color> sur la partition boot contenant les informations suivantes :
 +
 +<code bash>
 +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>"
 +}
 +</code>
 +
 +=== 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).
 +
 +<code bash>
 +nmap -sP 192.168.0.0/24
 +</code>
 +
 +<note tip>Pour la connexion utilisateur "pi" mot de passe "raspberry".</note>
 +<note important>En cas de connexion en direct le clavier est configuré en qwerty, il faut donc taper le mot de passe "rqspberry".</note>
 +
 +==== Configuration ====
 +
 +Lancer la commande :
 +
 +<code bash>
 +sudo raspi-config
 +</code>
 +
 +  * 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 <color #00a2e8>~/.vimrc</color> avec par exemple la ligne 
 +
 +<code>
 +syn on
 +</code> 
 +
 +En l'absence de ce fichier le copier/coller à la souris fonctionne mal (nécessite d'utiliser la touche <key>Shift</key>).
 +
 +==== 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 :
 +
 +<code bash>
 +sudo adduser administrateur
 +sudo adduser administrateur sudo
 +</code>
 +
 +Se connecter avec le nouvel utilisateur et supprimer le compte par défaut :
 +
 +<code bash>
 +sudo deluser --remove-all-files pi
 +</code>
 +
 +==== Mise à jour et installation packages supplémentaires ====
 +
 +<code bash>
 +sudo apt update
 +sudo apt upgrade
 +sudo apt dist-upgrade
 +sudo apt install rsync vim
 +</code>
 +
 +==== 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 :
 +
 +<code>
 +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
 +</code>
 +
 +=== Prise en compte ===
 +
 +Redémarrer le Raspberry PI ou bien juste le service par la commande :
 +
 +<code bash>
 +sudo systemctl restart networking.service
 +</code>
 +
 +----
 +
 +[[all:bibles:materiel:raspberry:installation|Haut de page]]
 +
 +===== Préservation de la carte SD =====
 +
 +==== Fichiers temporaires ====
 +
 +Ajouter les 2 lignes suivantes à la fin du fichier <color #00a2e8>/etc/fstab</color> pour mise en mémoire des fichiers temporaires.
 +
 +<code>
 +tmpfs  /tmp      tmpfs  defaults,noatime,nosuid,size=100m  0 0
 +tmpfs  /var/tmp  tmpfs  defaults,noatime,nosuid,size=30m   0 0
 +</code>
 +
 +==== 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 <color #00a2e8>/etc/tmpfiles.d/apache2.conf</color> afin de créer le répertoire automatiquement au démarrage
 +
 +<code bash>
 +#Type Path Mode UID GID Age Argument
 +d /var/log/apache2 0750 root adm - -
 +</code>
 +
 +  * créer le répertoire au démarrage du service en modifiant le fichier <color #00a2e8>/lib/systemd/system/apache2</color>
 +
 +<code bash>
 +[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
 +</code>
 +
 +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.
 +
 +<code bash>
 +sudo apt install git
 +git clone https://github.com/azlux/log2ram.git
 +cd log2ram
 +chmod +x install.sh
 +sudo ./install.sh
 +reboot
 +</code>
 +
 +Après le redémarrage vérifier la bonne prise en compte par la commande :
 +
 +<code bash>
 +df -h
 +</code>
 +
 +Vérifier la présence des 3 lignes suivantes :
 +
 +<code>
 +tmpfs               30M         30M   0% /var/tmp
 +tmpfs              100M        100M   0% /tmp
 +log2ram             40M    1,1M   39M   3% /var/log
 +</code>
 +
 +log2ram garde la mémoire synchronisée avec le répertoire /var/hdd.log
 +
 +[[https://linuxfun.org/en/2021/01/01/what-log2ram-does-en/|Fonctionnement log2ram]]
 +
 +==== Swap ====
 +
 +=== Activation/désactivation ===
 +
 +<code bash>
 +sudo dphys-swapfile swapon
 +sudo dphys-swapfile swapoff
 +</code>
 +
 +=== Suppression du swap ===
 +
 +<code bash>
 +sudo apt remove dphys-swapfile
 +</code>
 +
 +----
 +
 +[[all:bibles:materiel:raspberry:installation|Haut de page]]
  
all/bibles/materiel/raspberry/installation.txt · Dernière modification : de omeylhoc