Raspbian
Cet article résume comment installer un système Raspbian, sur une Raspberry Pi 3 Model B
Accessoires
Installation d'un serveur
Le système d’exploitation est une distribution de type Linux Debian appelée
Raspbian.
La distribution en usage actuellement dérive d'une Debian
Jessie. Celle-ci est disponible en téléchargement sur le site de
raspberrypi.
La distribution Raspbian peut se télécharger depuis un poste Linux avec la ligne de commande suivante:
wget http://downloads.raspberrypi.org/raspbian_latest
Décompresser le fichier contenant la distribution:
unzip raspbian_latest
Inserer la carte SD dans son logement puis rechercher son point de montage.
La commande
dmesg permet d'identifier le type de périphérique:
[15362.326489] mmcblk0: mmc0:0001 SD16G 14.6 GiB
[15362.329144] mmcblk0: p1
[15362.496985] FAT-fs (mmcblk0p1): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
La commande
umount permet de démonter la partition qui contiendra la distribution:
umount /dev/mmcblk0p1
Puis recopier l'image Raspbian sur la carte SD (Une procèdure détallée est disponible sur le site
raspberry):
dd bs=4M if=./2016-05-27-raspbian-jessie.img of=/dev/mmcblk0
Après cette opération de copie assez longue, la carte SD peut être insérée dans le logement de la carte du Raspberry Pi.
1er démarrage
Après insertion de la carte SD et mise sous tension, le systéme de fichier est redimensionné puis le serveur X est démarré. Ensuite, il est possible de lancer le menu de configuration en saisissant la commande
raspi-config dans un terminal (avec les droits de root).
Configuration depuis raspi-config
Voici les options de menu raspi-config:
- Expand_Filesystem: par défault la partition système fait 2Go. Cette option permet de l'agrandir afin d'occuper tout l'espace disponible.
- Change User Password: pour modifier le mot de passe de l'utilisateur par default (pi/raspberry) .
- Enabled boot to Desktop/Scratch: pour lancer une console ou un environnement graphique au boot.
- Internationalisation Options: pour changer la langue. Pour mettre et mettre le clavier en français. Pour changer l'heure locale.
- Advanced Options: Pour activer le service SSH afin de se connecter à distance. Pour redéfinir le nom de la machine sur le réseau. Pour définir les quantités de mémoire allouées respectivement aux CPU et au GPU.
Utiliser le français
Depuis le menu:
raspi-config | Internationalisation Options | Change locale
Définir l'heure locale
Depuis le menu:
raspi-config | Internationalisation Options | Change Timezone
Obligatoirement définir la localisation Wifi pour GB
Depuis le menu:
raspi-config | Internationalisation Options | Change Wi-fi country
Mettre le clavier en français
Depuis le menu:
raspi-config | Internationalisation Options | Change Keyboard layout
Etendre le système de fichier
Depuis le menu:
raspi-config | Expand Filesystem
Changer de mot de passe
Depuis le menu:
raspi-config | Change User Password
Démarrer le systéme en mode console
Depuis le menu:
raspi-config | Enable boot to Desktop / Scratch
Activer le serveur SSH
Depuis le menu:
raspi-config | Advanced Options | SSH
Définir le nom utilisé pour ce système
Depuis le menu:
raspi-config | Advanced Options | Hostname
Définir la quantité de mémoire allouée au GPU
Depuis le menu:
raspi-config | Advanced Options | Split
Utiliser 32Mib de RAM pour le GPU et le reste disponible pour le CPU.
Activer le chargement des modules noyau SPI
Depuis le menu:
raspi-config | Advanced Options | SPI
Activer le chargement des modules noyau I2C
Depuis le menu:
raspi-config | Advanced Options | I2C
Redémarrage et poursuite de la configuration
Ensuite, on pourra effectuer les actions suivantes:
- Définir la liste des dépots sources
- Mettre à jour les paquets
- Définir une adresse IP statique
Définir la liste des dépots sources
Pour une distribution dérivée de la version Debian Jessie, le fichier de définition des paquets devrait contenir les entrées suivantes:
cat /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi
Mettre à jour les paquets
Dans ce cas, on peut mettre à jour le système depuis Internet avec la commande suivante:
sudo apt-get update
Définir une adresse IP statique
Afin de faciliter les accès ultérieurs par ssh, on peut remplacer l'adressage DHCP par une IP statique:
/etc/network/interfaces
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
iface eth0 inet manual
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Attention:
- Mon routeur est une LivePlay Orange qui utilise le masque de sous réseau 192.168.1.xxx mais certains utilisent 192.168.0.xxx.
- DHCP est désormais pris en charge par un nouveau paquet appelé dhcpcd. Dans ce cas, le fichier de configuration
des interfaces réseaux ne comprend plus la ligne d'instruction iface eth0 inet dhcp. Celle-ci est remplacée par la ligne d'instruction iface eth0 inet manual.Pour définir un IP statique le fichier /etc/network/interfaces reste désormais inchangé. Il faudra ajouter les instructions suivantes à la fin du fichier /etc/dhcpcd.conf
# Static IP configuration for eth0.
interface eth0
static ip_address=192.168.1.xxx/24
static routers=192.168.1.1
Résolution des noms de domaines
Lorsque la carte réseau possède une adresse IP définie de manière statique, la résolution de noms (DNS) ne se fait plus et le fichier de configuration
/etc/resolv.conf est vide ! Dans ce cas, il sera nécessaire d'ajouter les entrées de DNS dans le fichier de configuration
/etc/dhcpcd.conf qui prendra finalement la forme suivante:
# Static IP configuration for eth0.
interface eth0
static ip_address=192.168.1.xxx/24
static routers=192.168.1.1
static domain_name_servers=8.8.4.4 8.8.8.8
Redémarrage
Pour redémarrer la raspberry, il faudra saisir la commande suivante:
sudo reboot
Ensuite le systéme sera rendu accessible à distance depuis un client ssh avec la commande suivante:
ssh pi@192.168.1.xxx
Etat des lieux
Mémoire
La commande
free -mh pernet de visualiser la quantité de RAM utilisée par le systéme:
total used free shared buffers cached
Mem: 957M 91M 865M 6,5M 7,7M 45M
-/+ buffers/cache: 39M 918M
Swap: 99M 0B 99M
Espace disque
La commande
df -h permet d'obtenir la liste des systémes de fichiers montés ainsi que leur point de montage et taux d'occupation:
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/root 30G 3,3G 25G 12% /
devtmpfs 475M 0 475M 0% /dev
tmpfs 479M 0 479M 0% /dev/shm
tmpfs 479M 6,5M 473M 2% /run
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 479M 0 479M 0% /sys/fs/cgroup
/dev/mmcblk0p1 63M 21M 43M 33% /boot
tmpfs 96M 0 96M 0% /run/user/1000
Adressage IP
Les commandes
ifconfig et
ip addr permettent d'afficher les infomations sur les interfaces réseau configurées: