====== 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)]]