sudo snap install rpi-imager
Installer à partir de https://downloads.raspberrypi.org/imager/imager_latest.exe
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
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.
Procéder de la même façon avec rpi-imager sur le SSD au lieu d'une carte SD
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
Pour activer le ssh au premier démarrage créer un fichier ssh à la racine de la partition boot
touch ssh
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>" }
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
Lancer la commande :
sudo raspi-config
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).
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
sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade sudo apt-get install rsync vim
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
Redémarrer le Raspberry PI ou bien juste le service par la commande :
sudo systemctl restart networking.service
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
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.
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
sudo dphys-swapfile swapon sudo dphys-swapfile swapoff