====== Framboise Frambuesa Flamboez Pi ====== Un cadeau de Noël Un grand merci à Ronan, mon aîné pour ce cadeau. [[frambuesa|La page en espagnol La pagina en español]] La bête : Carte Raspberry Pi model 2 avec 512 Mo de RAM. réponse à la commande : cat /proc/cpuinfo Processor : ARMv6-compatible processor rev 7 (v6l) BogoMIPS : 697.95 Features : swp half thumb fastmult vfp edsp java tls CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xb76 CPU revision : 7 Hardware : BCM2708 Revision : 000e Serial : 00000000xxxxxxxx Mémoire avec la commande : free total used free shared buffers cached Mem: 448996 66528 382468 0 10204 37356 -/+ buffers/cache: 18968 430028 Swap: 102396 0 102396 ===== Installation de Raspbian sur carte SD 32 Go ===== Installation avec un PC portable sous Ubuntu 12.04 comportant un lecteur de carte SD. Une carte sd de 32 Go vierge. Le logiciel gparted est installé sur le PC portable. La commande dd sur Ubuntu ou Debian, ** ATTENTION DANGER ** attention cette commande est dangereuse donc on regarde bien le lecteur de destination. Par exemple, avant d'introduire la carte SD, on regarde les fichiers sd* présents dans le dossier /dev avec Nautilus ou Caja. Puis quand la carte SD est inséré on doit voir apparaître de nouveau fichier, dans mon cas avec une carte vierge on voit deux fichiers sdb et sdb1. On peut aussi vérifier la carte avant de la démonter dans un terminal avec la commande sudo fdisk -l qui liste les disques durs, cartes SD et clefs USB. - Téléchargez sur le PC , l'image raspbian wheezy depuis le site officiel http://www.raspberrypi.org/downloads http://downloads.raspberrypi.org/images/raspbian/2012-12-16-wheezy-raspbian/2012-12-16-wheezy-raspbian.zip - Dezipper le fichier en graphique ou avec unzip 2012-12-16-wheezy-raspbian.zip, vous obtenez un fichier 2012-12-16-wheezy-raspbian.img - Insérer la carte SD dans son lecteur et démontez la dès sa détection - Dans un terminal placez vous dans le dossier contenant l'image raspbian et tapez ** sudo dd if=2012-12-16-wheezy-raspbian.img of=/dev/sdb ** il devrait répondre quelque chose comme 1850+0 enregistrements lus 1850+0 enregistrements écrits 1939865600 octets (1,9 GB) copiés, 474,74 s, 4,9 MB/s - Retirez la carte SD et la reconnectez, elle doit apparaître sur le bureau et s'ouvrir sur une Ubuntu, la démontez de nouveau. - Lancez Gparted et placez-vous sur le carte SD, pour moi pas d'ambiguité car j'ai une seule carte SD de 32 Go connectée donc pas de soucis. - Laissez la première partition en FAT32 , la deuxième partition est de 2 Go au départ on s'en occupera à la fin. - Sur la partition libre de 28 Go , j'ai créé une partition swap de 1 Go à la fin mais je ne sais pas trop si elle sert ? à vous de voir. - J'ai ensuite redimensionné la partition de 2 Go en une partition de 29 Go qui est la partition système et home - On applique les changements et on quitte gparted. Voici maintenant la configuration de ma carte SD sur Raspberry En administrateur fdisk -l Disk /dev/mmcblk0: 31.0 GB, 31046238208 bytes 4 heads, 16 sectors/track, 947456 cylinders, total 60637184 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000xxxxx Device Boot Start End Blocks Id System /dev/mmcblk0p1 8192 122879 57344 c W95 FAT32 (LBA) /dev/mmcblk0p2 122880 58540031 29208576 83 Linux /dev/mmcblk0p3 58540032 60637183 1048576 82 Linux swap / Solaris On branche un cable hdmi entre un écran avec entrée HDMI ( merci mon ainé) et la carte framboise Pi, un carte réseau sur la prise RJ45 de framboise. Le câble d'alimentation sur la prise microUSB câble d'un mobile (merci au cadet). Pour la boutade, j'ai pas de mobile ni d'écran avec entrée HDMI mais 2 grands fils qui m'ont dépanné ! J'insère la carte dans le raspberry Pi et merveille ** ÇA FONCTIONNE ! ** Le démarrage s'affiche sur l'écran. **Puis la belle Framboise et l'environnement LXDE** ===== Installation en serveur ===== Je profite d'un écran pour configurer la machin e en serveur. - Je trouve l'adresse de la machine avec un ifconfig dans un terminal. - Je change le mot de passe par défaut de pi ( mot de passe au démarrage raspberry) - Je crée un utilisateur root avec mot de passe sudo su puis passwd - Je supprime le sudoers sans mot de passe avec visudo /etc/sudoers - Je crée un nouvel utilisateur per avec adduser - Je vérifie que openssh server est installé et je vérifie que je peux accéder à la machine en ssh depuis un PC fixe sous Debian Wheezy. - Connaître les paquets installés ** dpkg -l **; ceux comportant ssh : ** dpkg -l | grep ssh ** //__**Pour la suite**__// **Framboise est maintenant câblée avec 2 câbles, le réseau et l'alimentation. et une carte SD de 32 Go avec Raspbian Wheezy. Le PC qui la commande est un PC fixe avec une Debian Wheezy 32 bits i386.** L'adresse de framboise donnée par la box est relativement fixe, je l'ai donc mise dans le fichier /etc/hosts ( à la fin du fichier) 192.168.0.xx pi Cela évite de taper dans un terminal ssh per@192.168.0.xx , il suffit de taper ssh per@pi === DHCP et MDNS === L'adresse de Framboise est en dhcp, ceci est beaucoup plus facile lorsqu'on se déplace et que le serveur n'est plus 192.168.0.1/24 mais 192.168.35.1/24 par exemple. Problème comment se connecter en dhcp quand on ne connait pas l'adresse IP ? Pour une connection chez moi, l'adresse est souvent la même donc pas vraiment de soucis, voir ci-dessus. J'avais d'abord opter avec une solution avec nmap : nmap -T4 -sP 192.168.0.1/24 mais il faut tester avant puis après avoir branché le raspberry pour trouver son adresse. Voici une solution beaucoup plus propre proposée par un membre de [[http://gulliver.eu.org/ |Gulliver ]] == Utilisation de Avahi avec le protocole Multicast DNS == Sur les machines Debian Wheezy et Ubuntu 12.04 avahi est installé par défaut, sinon il faut l'installer comme sur le raspberry. Il faut sur le raspberry-pi installé avahi-daemon, * en root : **aptitude install avahi-daemon** Ensuite il faut connaître le nom de la machine : hostname, on le retrouve dans le prompt sinon on le lira avec * cat /etc/hostname. On peut alors joindre la machine sans connaître son ip avec le nom : hostname.local Pour se connecter depuis un ordinateur de bureau en ssh sur le raspberry-pi : per@raspberrypi.local Cela fonctionnera quelque soit l'adresse de réseau. Si une des machines ne possèdent pas avahi, voici une **Solution de rechange avec une adresse en ipv6** * Mettre le raspberry-pi en ipv6 * Ajouter une ligne"ipv6" au fichier /etc/modules * Pour le lancer en ssh : "ssh fe80::%eth0" * Dans mon cas ssh per@fe80::ba27:ebff:fed3:3075%eth0 Cette adresse est vu après un ipconfig avec un raspberry pi en ipv6. Pour mieux comprendre, lire la page wikipedia [[http://fr.wikipedia.org/wiki/Adresse_MAC#EUI-64 | Adresse MAC EUI-64 ]] ===== SERVEURS ===== Avant de commencer la partie des Entrées Sorties GPIO, je vais installer 2 serveurs : * Un serveur SFTP MySecureShell pour transférer des fichiers en toute sécurité * Un serveur HTTP léger Cherokee pour avoir un petit serveur Web ==== Serveur SFTP ==== MySecureShell : http://mysecureshell.sourceforge.net/fr/index.html Sur un PC c lassique : Utilisez le paquets de la distribution. Raspberry Pi : Le paquet n'existe pas (Raspberry Pi = Pi dans la suite) - Téléchargez les sources http://mysecureshell.free.fr/repository/index.php/source/mysecureshell_1.30.tar.gz - Les transférer dans Pi avec Nautilus Aller à Emplacement ... ** %%sftp://pi@adresse_pi%% ou wget en ssh ** - Décompressez le fichier tar.gz avec ** tar -xzvf mysecureshell_X.tgz ** (X : numéro de version) - Déplacez-vous dans le dossier créé : **cd mysecureshell_X** - Compiler voir la page : http://mysecureshell.sourceforge.net/fr/installman.html //**./configure**// (avec options si vous voulez) //**make**// puis en root : su (mot de passe) //**make install**// Pour configurer un utilisateur qui n'aura accès qu'à son dossier personnel En administrateur # ** adduser --home /home/toto --shell /bin/MySecureShell toto ** lire des compléments dans http://doc.ubuntu-fr.org/mysecureshell_sftp-server On pourra aussi modifier le fichier de config ** /etc/ssh/sftp_config ** Lire la page http://mysecureshell.sourceforge.net/fr/confman.html Pour relancer sur pi , la commande qui marche ** sftp-state fullstop && sftp-state start ** Pour vérifier les droits des utilisateurs ** MySecureShell --configtest ** Il y a plein d'autres utilitaires à découvrir toujours dans la page http://mysecureshell.sourceforge.net/fr/confman.html On vérifiera depuis un PC distant qu'avec Nautilus Aller à Emplacement ... ** %% sftp://toto@adresse_pi %% ** Vous ne devez pas pouvoir remonter au delà de /home/toto pas d'accès à /home/ ni /etc ... ==== Serveur Web Cherokee ==== Avant d'installer Cherokee, j'ai installé le paquet php5-cgi. On peut sans doute l'installer ensuite ... Installation ** wget http://cherokee-project.com/install && python install ** Voir sur la page http://www.cherokee-project.com/downloads.html Administration de cherokee : en administrateur pour avoir accès à distance ( Raspberry Pi géré en ssh) # cherokee-admin -b Login: User: admin One-time Password: ioQbuAOaE9pFPtXR Web Interface: URL: http://localhost:9090/ Attention pour un serveur sans X, il faut remplacer localhost par l'adresse du framboise pi Pour moi http ://pi:9090 Rappel j'ai mis dans le fichier /etc/hosts : 192.168.0.xx pi Le dossier utilisateur se trouve dans /opt/cherokee/var/www/ On y accède en lecture avec http ://pi ==== Le Matériel : les entrées sorties de Framboise ==== La partie étant très importante, je vais faire une page spécifique à la partie matériel [[ framboise:ESpi| entrées sorties de Framboise]]