====== 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 [[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 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="" psk="" } === 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-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 ---- [[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 /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-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 [[https://linuxfun.org/en/2021/01/01/what-log2ram-does-en/|Fonctionnement log2ram]] ==== Swap ==== === Activation/désactivation === sudo dphys-swapfile swapon sudo dphys-swapfile swapoff === Suppression du swap === sudo apt-get remove dphys-swapfile ---- [[all:bibles:materiel:raspberry:installation|Haut de page]]