====== 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 [[https://www.raspberrypi.org/downloads/raspbian/|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 : [[https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md|raspberrypi.org]] et [[http://www.framboise314.fr/le-wifi-avec-jessie-en-ligne-de-commande/|framboise314.fr]])
==== Configuration réseau fonctionnelle ====
Configuration du 26/08/2016 sur une Raspbian "Jessie" Lite.
* /etc/network/[[interfaces]]
* /etc/wpa_supplicant/[[wpa_supplicant.conf]]
* /etc/[[dhcpcd.conf]]
===== Installer un GUI sur Raspbian Lite =====
On peut lire sur [[https://dadarevue.com/ajouter-gui-raspbian-lite/|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 [[https://hallard.me/raspberry-pi-read-only/|ce tutoriel (hallard.me)]], basé sur cet [[http://k3a.me/how-to-make-raspberrypi-truly-read-only-reliable-and-trouble-free/|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 [[https://simonlefort.be/wiki/doku.php?id=configuration_d_un_raspberry_pi_en_read-only|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 [[https://simonlefort.be/wiki/doku.php?id=configuration_d_un_raspberry_pi_en_read-only|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 ====
* [[http://blog.nicolargo.com/2013/04/raspberry-pi-faire-un-backup-de-sa-carte-sd.html|Raspberry Pi - Faire un backup de sa carte SD (blog.nicolargo.com)]]
===== 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 ====
* [[http://korben.info/speedtest-en-ligne-de-commande.html|speedtest en ligne de commande (korben.info)]]
* [[https://github.com/sivel/speedtest-cli|speedtest-cli (github.com)]]