samedi 8 août 2015

RPi 1 2 - Démarrage

Raspbian


Cet article résume comment installer un système Raspbian, sur une carte SD depuis un PC fonctionnant sous Linux.Le système installé devra possèder les caractéristiques d'un serveur et non d'une station de travail pourvue d'un  environnement graphique. Il sera donc configuré en conséquence.

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 Wheezy. 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:
ls -alh
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

Finalement, on recopie l'image Raspbian sur la carte SD ( Une procèdure détallée est disponible sur le site raspberry):
dd bs=4M if=./2015-05-05-raspbian-wheezy.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, un menu de configuration s'affiche automatiquement lors du premier démarrage. Ensuite, il sera toujours possible de relancer ce menu 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 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

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 16Mib de RAM pour le GPU et le reste disponible pour le CPU.

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 Wheezy, le fichier de définition des paquets devrait contenir les entrées suivantes:
cat /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://mirror.ox.ac.uk/sites/archive.raspbian.org/archive/raspbian/ wheezy 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:
sudo vi /etc/network/interfaces

Remplacer:
iface eth0 inet dhcp

Par:
iface eth0 inet static
address 192.168.1.xxx
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

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. La suppression de la ligne iface eth0 inet manual est actuellement insuffisante et lors du redémarrage de l'interface réseau, le service dhcpcd continue de collecter une IP dynamique. Le systéme possède alors deux adresses IP: une IP statique définie par l'instruction iface eth0 inet static et une IP dynamique obtenue par le client dhcpcd...  Il est nécessaire de supprimer le paquet raspberrypi-net-mods, puis de descativer dhcpcd (voir les deux lignes de commande ci-dessous). Le redémarrage de l'interface réseau conduira enfin à l'obtention d'une seule IP statique.
  •  
    sudo apt-get purge raspberrypi-net-mods
    sudo update-rc.d -f dhcpcd remove

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/network/interfaces qui prendra finalement la forme suivante:
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.xxx
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-domain home
dns-search home
dns-nameservers 192.168.1.1 8.8.8.8 4.2.2.1
 

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:                     482M     65M       417M     0B        10M        30M

-/+ buffers/cache:  24M       458M
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:

Filesystem      Size  Used Avail Use% Mounted on
rootfs           30G  2.4G   26G   9% /
/dev/root        30G  2.4G   26G   9% /
devtmpfs        238M     0  238M   0% /dev
tmpfs            49M  228K   49M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            97M     0   97M   0% /run/shm
/dev/mmcblk0p1   56M   19M   37M  34% /boot


Adressage IP

Les commandes ifconfig et ip addr permettent d'afficher les infomations sur les interfaces réseau configurées:


Aucun commentaire:

Enregistrer un commentaire