Table des matières

Raspbian

Raspbian est un OS prévu pour le Raspberry Pi, il est basé sur Debian (Jessie).

Installation

Choix de la version

Sur la page de téléchargement de Raspbian, on a le choix entre une version “normale” et une version “lite”. On peut télécharger l'image en torrent, ce qui va très vite.

Mettre l'image sur une carte SD/µSD

Tout d'abord, on vérifie avec la commande lsblk quel est l'emplacement de la carte (µ)SD.

$ lsblk 
NAME                     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                        8:0    0 465,8G  0 disk  
├─sda1                     8:1    0   243M  0 part  /boot
├─sda2                     8:2    0     1K  0 part  
└─sda5                     8:5    0 465,5G  0 part  
  └─sda5_crypt           254:0    0 465,5G  0 crypt 
    ├─debian8--vg-root   254:1    0    14G  0 lvm   /
    ├─debian8--vg-var    254:2    0   5,8G  0 lvm   /var
    ├─debian8--vg-swap_1 254:3    0   7,4G  0 lvm   [SWAP]
    ├─debian8--vg-tmp    254:4    0   380M  0 lvm   /tmp
    └─debian8--vg-home   254:5    0   430G  0 lvm   /home
sdb                        8:16   1  29,8G  0 disk  
└─sdb1                     8:17   1  29,8G  0 part  /media/simon/9016-4EF8
sr0                       11:0    1  1024M  0 rom 

Ici, la carte (µ)SD est à l'emplacement sdb avec une partition sdb1 et elle est montée dans /media/simon/9016-4EF8. On démonte la partition sdb1 et on copie l'image sur la (µ)SD avec ddrescue.

#Démonter la partition
$ sudo umount /dev/sdb1 
 
#Vérifier
$ lsblk 
NAME                     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
(...)
sdb                        8:16   1  29,8G  0 disk  
└─sdb1                     8:17   1  29,8G  0 part  
sr0                       11:0    1  1024M  0 rom 
 
#Copier l'image sur la SD
$ sudo ddrescue -D --force 2016-05-27-raspbian-jessie-lite.img /dev/sdb
GNU ddrescue 1.19
Press Ctrl-C to interrupt
rescued:     1387 MB,  errsize:       0 B,  current rate:    5963 kB/s
   ipos:     1387 MB,   errors:       0,    average rate:   30828 kB/s
   opos:     1387 MB, run time:      45 s,  successful read:       0 s ago
Finished               

Configurations de base

Une fois que nous avons flashé la carte SD et que nous avons branché la Raspberry Pi, celle-ci doit démarrer et afficher tout un tas de lignes jusqu'à ce qu'on arrive à ceci :

raspberrypi login: pi
password: raspberry

Le login pi et le mot de passe raspberry sont utilisés par défaut sur Raspbian. Ce n'est pas forcément le cas des autres distributions. HypriotOS utilise par exemple le login pirate et le password hypriot par défaut.

Pour faire les premières configurations (clavier, locales, timezone, …), nous utilisons l'outil raspi-config. Au premier démarrage, avec un clavier configuré en QWERTY, vous devrez taper rqspi-àonfig.

$ sudo raspi-config

Configuration du Wifi en ligne de commande

Scanner les réseaux Wifi :

$ sudo iwlist wlan0 scan
(...)
          Cell 03 - Address: 80:37:73:E2:0E:49
                    Channel:11
                    Frequency:2.462 GHz (Channel 11)
                    Quality=48/70  Signal level=-62 dBm  
                    Encryption key:on
                    ESSID:"un-wifi-qui-traine"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
                              24 Mb/s; 36 Mb/s; 54 Mb/s
                    Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s
                    Mode:Master
                    Extra:tsf=0000000000000000
                    Extra: Last beacon: 100ms ago
                    IE: Unknown: 000A564F4F2D343433343834
                    IE: Unknown: 010882848B962430486C
                    IE: Unknown: 03010B
                    IE: Unknown: 2A0104
                    IE: Unknown: 2F0104
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (2) : CCMP TKIP
                        Authentication Suites (1) : PSK
                    IE: Unknown: 32040C121860
                    IE: Unknown: 2D1ABC181BFFFF000000000000000000000000000000000000000000
                    IE: Unknown: 3D160B080400000000000000000000000000000000000000
                    IE: Unknown: DD800050F204104A0001101044000102103B00010310470010A8EA96631058A13963C3AFACE4603524102100074E657467656172102300074E6574676561721024000631323334353610420007303030303030311054000800060050F2040001101100094E6574676561724150100800022008103C0001031049000600372A000120
                    IE: Unknown: DD090010180201000C0000
                    IE: WPA Version 1
                        Group Cipher : TKIP
                        Pairwise Ciphers (2) : CCMP TKIP
                        Authentication Suites (1) : PSK
                    IE: Unknown: DD180050F2020101800003A4000027A4000042435E0062322F00
(...)

On peut chercher le nom de son Wifi (ESSID) assez facilement avec grep :

$ sudo iwlist wlan0 scan | grep -B 5 -A 5 "ESSID:\"mon-wifi"
          Cell 02 - Address: C4:EA:1D:B2:5F:AB
                    Channel:6
                    Frequency:2.437 GHz (Channel 6)
                    Quality=60/70  Signal level=-50 dBm  
                    Encryption key:on
                    ESSID:"mon-wifi"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
                              24 Mb/s; 36 Mb/s; 54 Mb/s
                    Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s
                    Mode:Master
                    Extra:tsf=0000000000000000

On peut configurer l'accès au wifi dans le fichier wpa_supplicant.conf :

$ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf 
country=BE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
 
network={
   ssid="mon-wifi"
   psk="le-password-de-mon-wifi"
}

(Sources : raspberrypi.org et framboise314.fr)

Configuration réseau fonctionnelle

Configuration du 26/08/2016 sur une Raspbian “Jessie” Lite.

Installer un GUI sur Raspbian Lite

On peut lire sur ce blog [dadarevue.com (ajouter un GUI à Raspbian Lite)] comment installer un environnement graphique léger par dessus une Raspbian Lite.

Tout d'abord, pensez à mettre à jour :

$ sudo apt-get update
$ sudo apt-get dist-upgrade
$ sudo reboot

Installer “Xorg” :

$ sudo apt-get install --no-install-recommends xserver-xorg

Installer l'environnement de bureau “PIXEL” (qui utilise OpenBox) :

$ sudo apt-get install raspberrypi-ui-mods

Installer le gestionnaire de session “lightdm” :

$ sudo apt-get install lightdm

Un redémarrage pour terminer :

$ sudo reboot

Configuration d'une clé 4G LTE

Voici les instructions pour la configuration d'une clé 4G LTE sous Raspbian.

Configuration d'un système read-only

Pour configurer un système en read-only, je vais suivre ce tutoriel (hallard.me), basé sur cet autre tutoriel (k3a.me). Les détails sont sur la page configuration d'un raspberry pi en read-only.

Lancer un programme au démarrage

Voici les instructions pour lancer un programme au démarrage.

Faire des backups

Sauvegarde intégrale de la carte (µ)SD

Il est possible de sauvegarde d'un coup toute la carte (µ)SD, avec toutes les partitions la composant.

Sauvegarde

On branche la carte (µ)SD dans un ordinateur sous GNU/Linux et on identifie son emplacement avec lsblk ou fdisk. Ensuite, on lance la sauvegarde et on compresse au vol avec gzip.

$ sudo dd if=/dev/sdb | gzip -9 > /home/user/backup/20160904/raspbian-lite.img.gz
62552064+0 enregistrements lus
62552064+0 enregistrements écrits
32026656768 octets (32 GB) copiés, 1284,63 s, 24,9 MB/s

Le fichier obtenu, raspbian-lite.img.gz, fait 1,3Go! (La partition sdb3 est presque totalement vide.)

Restauration

On vérifie l'emplacement avec lsblk ou fdisk puis on décompresse l'archive tout en l'envoyant sur la carte (µ)SD avec dd :

$ gunzip /home/user/backup/20160904/raspbian-lite.img.gz | sudo dd of=/dev/sdb
[sudo] password for bob: 
0+0 enregistrements lus
0+0 enregistrements écrits
0 octet (0 B) copié, 1069,36 s, 0,0 kB/s

Sauvegarde par partition

Il est facile mais pas toujours le plus efficace de sauvegarder toute la carte SD. Par exemple, dans le cas d'un système read-only avec une grosse partition data. Si on veut sauvegarder le système uniquement, autant ne pas sauvegarder cette partition data de plusieurs Gio.

Sauvegarde

Comme précédemment, on identifie la carte SD et ses partitions à l'aide de lsblk ou fdisk :

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0  74,5G  0 disk 
├─sda1   8:1    0  72,6G  0 part /
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0     2G  0 part [SWAP]
sdb      8:16   1  29,8G  0 disk 
├─sdb1   8:17   1    63M  0 part 
├─sdb2   8:18   1   5,2G  0 part 
└─sdb3   8:19   1  24,5G  0 part 
sr0     11:0    1  1024M  0 rom
 
$ sudo fdisk -l
(...)
Disk /dev/sdb: 32.0 GB, 32026656768 bytes
64 têtes, 32 secteurs/piste, 30543 cylindres, total 62552064 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x00084648
 
Périphérique Amorçage  Début         Fin      Blocs    Id. Système
/dev/sdb1            8192      137215       64512    c  W95 FAT32 (LBA)
/dev/sdb2          137216    11102207     5482496   83  Linux
/dev/sdb3        11102208    62552063    25724928    b  W95 FAT32

Une fois les partitions bien identifiées, on utilise à nouveau dd pour les extraire de la carte SD et les archiver :

sudo dd if=/dev/sdb1 | gzip -9 > /home/user/backup/raspberry-20160904-sdb1.img.gz
sudo dd if=/dev/sdb2 | gzip -9 > /home/user/backup/raspberry-20160904-sdb2.img.gz

Restauration

$ sudo fdisk -l
$ lsblk

On utilise fdisk pour recréer les partitions sdb1, sdb2 et éventuellement une partition sdb3 (partition data d'un système read-only)

$ sudo fdisk /dev/sdb
# TO COMPLETE
gunzip /home/user/backup/raspberry-20160904-sdb1.img.gz | sudo dd of=/dev/sdb1
gunzip /home/user/backup/raspberry-20160904-sdb2.img.gz | sudo dd of=/dev/sdb2

Sources

Test de la vitesse en connexion en ligne de commande

$ wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest_cli.py
$ chmod +x speedtest-cli
$ ./speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from *** (**.**.**.**)...
Selecting best server based on latency...
Hosted by **** (*****) [**.** km]: 32.701 ms
Testing download speed........................................
Download: 18.67 Mbit/s
Testing upload speed..................................................
Upload: 1.87 Mbit/s

Sources