PROJET AUTOBLOG


PostBlue

source: PostBlue

⇐ retour index

Arch Linux ARM sur un Raspberry Pi 2

mercredi 15 avril 2015 à 19:08

Je me suis acheté un Raspberry Pi 2 sur LDLC, le site de vente en ligne qui m'a octroyé une ristourne à l'occasion de mon anniversaire. Le délai entre la commande et la réception fut très long, rupture de stock oblige, mais en résumé je suis hyper-content.

Inutile de revenir une énième fois sur les spécificités matérielles et logicielles de la machine : d'autres s'en sont occupé·e·s avant moi et certainement bien mieux. Oui, ce modèle est tellement plus mieux que ses prédécesseurs. Évidemment, il faut être à l'aise avec la ligne de commande pour utiliser ce type de matériel.

Réception du paquet et montage

Raspberry Pi 2 et Rainbow Pibow

Comme je l'ai annoncé en préambule : le délai de livraison fut allongé à cause d'une rupture de stock de Raspberry Pi 2 chez LDLC. Qu'à cela ne tienne, je n'étais pas pressé.

J'ai profité de cette commande pour acheter une carte microSD de 16Go sur laquelle installer le système d'exploitation — voir ici une liste des distributions existantes — et un boîtier gay-friendly chez Adafruit compatible avec mon modèle de Raspberry Pi.

Le paquet du Raspberry Pi est minimal : une boîte en carton contenant une notice en 16 langues que je ne lirai certainement jamais, et un Raspberry Pi 2 sous film plastique de protection. C'est tout. Celui du Pibow l'est également : emballage en carton recyclé, pas de surabondance de matière première, à l'instar de l'emballage pour les précédentes versions du Raspberry Pi.

Rainbox Pibow v1

Note : toutes les « couches » du Pibow sont recouvertes d'un côté par un film blanc translucide qu'il faut enlever si vous ne voulez pas que votre Raspberry Pi ressemble à ça (la poussière en plus).

Raspberry Pi 2 et Rainbow Pibow

Du reste, il ne prend que très peu de place, il y en a même encore un peu sous le meuble où à brol / routeur / imprimante pour que je le branche à un disque dur portable qui servira à l'hébergement de données (torrents, sauvegardes, serveur multimédia DLNA/UPnP…). Je suis preneur de conseils concernant un disque dur portable abordable pouvant être allumés longtemps, très longtemps (pas de surchauffe ni de tendance à casser si trop souvent utilisé), avec une bonne alimentation (je n'ai pas envie qu'il brûle au moindre petit problème électrique).

Installation d'Arch Linux ARM

La distribution semble-t-il la plus utilisée est Raspbian, une distribution basée sur Debian qui incorpore l'utilitaire de configuration simplifiée raspi-config. J'ai préféré installer Arch Linux ARM, suite a un problème de compatibilité de CUPS entre la version installée sur les ordinateurs (Debian Jessie, Arch Linux) et celle incluse dans Raspbian (Debian Wheezy).

Pour l'installation, il suffit de suivre le guide, que je traduis ci-dessous.

Vue d'ensemble

Le Raspberry Pi 2 est le successeur du Raspberry Pi. Il s'appuie sur le modèle original B +, mis à niveau vers 1Go de RAM, et en remplaçant le single-core vieillissant ARMv6l avec un quad-core Cortex-A7 ARMv7l.

Le Raspberry Pi 2 mesure 85.60mm × 53.98mm × 17mm (…).

Création de la carte SD contenant le système d'exploitation

Remplacer sdX dans les instructions suivantes par le nom de périphérique pour la carte SD tel qu'il apparaît sur votre ordinateur. Si vous ne parvenez pas à effectuer ces manipulations à cause de restrictions de droits sur les périphériques ou les partitions, exécutez-les avec votre compte root.

  1. Lancer fdisk pour partitionner la carte SD :

    fdisk /dev/sdX
    
  2. À l'invite de fdisk, supprimer les anciennes partitions et en créer une nouvelle :

    • Taper o. Cela effacera toutes les partitions sur le disque.
    • Taper p pour lister les partitions. Il devrait ne rester aucune partition.
    • Taper n, puis p pour créer une partition primaire, 1 pour la première partition sur le disque, puis appuyer sur Entrée pour accepter le premier secteur par défaut, puis entrer +100M pour le dernier secteur (c'est-à-dire que la première partition fait 100M à partir du premier secteur).
    • Taper t, puis c pour régler le type de la première partition sur W95 FAT32 (LBA).
    • Taper n, puis p pour créer une partition primaire, 2 pour la deuxième partition sur le disque, puis appuyer deux fois sur Entrée pour accepter les premiers et derniers secteurs par défaut (prendre tout l'espace restant sur le disque).
    • Écrire la table de partition et sortir de fdisk en tapant w.
  3. Créer et monter le système de fichiers FAT :

    mkfs.vfat /dev/sdX1
    mkdir boot
    mount /dev/sdX1 boot
    
  4. Créer et monter le système de fichiers ext4 :

    mkfs.ext4 /dev/sdX2
    mkdir root
    mount /dev/sdX2 root
    
  5. Télécharger et extraire le système de fichiers racine (avec le compte root et non pas via la commande sudo) :

    wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
    bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root
    sync
    
  6. Déplacer le fichiers de démarrage vers la première partition :

    mv root/boot/* boot
    
  7. Démonter les deux partitions :

    umount boot root
    
  8. Supprimer les dossiers créés sur l'ordinateur :

    rmdir boot root
    
  9. Insérer la carte SD dans le Raspberry Pi, connecter le câble Ethernet, puis brancher l'alimentation de 5V.

  10. Utiliser la console série (nécessite de brancher un clavier USB et un écran au Raspberry Pi et de configurer la disposition du clavier avec loadkeys, cf. la configuration du clavier dans la console virtuelle) ou se connecter par SSH à l'adresse IP donnée par votre routeur. Le mot de passe par défaut est root.

Configuration de base

Avant de faire quoi que ce soit, des manipulations de base doivent être effectuée : première mise à jour, configuration du mot de passe du compte root, installation des composants de base, création d'un utilisateur et sécurisation de la connexion SSH,

Pour se connecter à votre Raspberry Pi par SSH (solution que je préfère), il faut en trouver l'adresse IP. Le plus simple à mon avis reste de la chercher dans l'interface d'administration de votre routeur.

Administration du routeur pour trouver l'adresse IP allouée au Raspberry Pi

J'en ai profité pour cocher l'option Always use the same address (toujours utiliser la même adresse IP) afin de ne pas devoir chercher à quelle adresse réside mon Raspberry Pi.

Password Strength, XKCD, CC BY-NC

Reste à suivre la documentation ArchLinux de base pour la configuration générale du Raspberry Pi 2 (copie augmentée de la page Configuration d'Arch Linux du wiki francophone):

Serveur d'impression partagé

La première utilisation que j'ai réservée à mon Raspberry Pi 2 est qu'il fasse office serveur d'impression CUPS pour partager une vieille imprimante HP connecté en USB sur mon réseau.

Pour ce faire, le serveur d'impression CUPS doit être installé, ainsi que le programme hplip permettant de communiquer avec les imprimantes HP, et le service Avahi.

Avahi est une mise en œuvre des protocoles Zeroconf permettant ainsi « à des logiciels de publier et de découvrir des services et des hôtes en cours d'exécution sur un réseau local TCP/IP sans configuration particulière. Par exemple, un utilisateur peut brancher son ordinateur sur un réseau et trouver instantanément des imprimantes pour imprimer, des fichiers à lire et des personnes à qui parler. »

  1. Installer les dépendances :

    pacman -S nss-mdns avahi cups sane hplip --needed
    
  2. Pour accéder aux ordinateurs du réseau local en utilisant leur nom de domaine (ex : myhostname.local) plutôt que leur adresse IP, il faut activer le support des requêtes avec .local, ce qui n'est pas le cas par défaut sous Arch Linux. Pour l'activer, il fauch changer la ligne des hôtes dans /etc/nsswitch.conf :

    hosts: files mdns_minimal [NOTFOUND=return] dns myhostname
    
  3. Pour activer le support du scanner des imprimantes1 multifonction de HP, il faut s'assurer d'avoir installé Sane (le serveur permettant de partager le scanner) et xinetd (un démon gérant les connexions basées sur Internet).

    pacman -S sane xinetd --needed
    

    Ensuite, il faut éditer le fichier de configuration de Sane /etc/sane.d/dll.conf et y ajouter (ou décommenter) la ligne suivante (la dernière ligne du fichier bien souvent) :

    hpaio
    

    Après, il faut configurer Sane pour partager l'imprimante sur le réseau dans /etc/sane.d/saned.conf  et y indiquer la plage réseau dans laquelle le scanner sera accessible :

    # Requis, machine elle-même
    localhost
    # Autoriser le réseau local
    192.168.0.0/24
    192.168.1.0/24
    

    Ensuite, il faut activer le support de Sane par Xinetd en éditant le fichier /etc/xinetd.d/sane et empêcher la désactivation :

    # disabled by default!
    disable     = no    
    

    Dans ce fichier, nous voyons que c'est l'utilisateur nobody qui devra gérer le scanner. On l'ajoute donc au groupe idoine :

    usermod -a -G scanner nobody
    
  4. Activer les services :

    systemctl enable avahi-daemon org.cups.cupsd cups-browsed xinetd
    
  5. Démarrer les services :

    systemctl start avahi-daemon org.cups.cupsd cups-browsed xinetd
    
  6. Il faut ensuite ajouter l'imprimante HP à la liste des imprimantes connues avec la commande hp-setup :

    hp-setup -i
    
  7. La commande qui suit sert à activer le partage des imprimantes sur le réseau local et restreindre au réseau local, activer l'administration à distance, permettre à n'importe qui sur le réseau local de supprimer une impression :

    cupsctl --no-remote-any --share-printers --remote-admin --user-cancel-any
    
  8. Pour finir, redémarrer le service pour être sûr·e que les changements sont bien pris en compte :

    systemctl restart org.cups.cupsd
    

Pour accéder à l'interface web de CUPS, il suffit d'ouvrir l'adresse http://myhostname.local:631, et y administrer les imprimantes (format de papier par défaut, imprimante par défaut du serveur…).

N.B. : Installer les dépendances optionnelles à hplip peut être chaudement recommandé s'il y a un souci : python-dbus (support dbus), python-pillow (support du scan par ligne de commande), python-reportlab (support de la sortie PDF du scan) et rpcbind (support du réseau).

    pacman -S python-dbus python-pillow python-reportlab rpcbind --needed

Partage de fichiers multimédia

Section à compléter en attendant de disposer d'un disque dur portable à brancher au Raspberry Pi 2, voir l'index Streaming media du wiki anglophone.

Serveur de sauvegarde

Section à compléter en attendant de disposer d'un disque dur portable à brancher au Raspberry Pi 2, voir l'index Backup programs du wiki anglophone.

Serveur BitTorrent

Section à compléter en attendant de disposer d'un disque dur portable à brancher au Raspberry Pi 2. J'ai dans l'idée d'utiliser Transmission, à administrer via l'interface web, l'extension pour GNOME Shell Transmission Daemon Indicator ou via l'application Transdroid.

  1. Mise à jour du 19 juillet 2015 : suppression du module hpoj, ajout de l'installation des paquets Sane et Xinetd, ajout de la configuration de Xinetd, ajout des dépendances optionnelles de HPLIP.

Quelle distribution GNU/Linux choisir quand on n’y connaît rien ?

dimanche 18 janvier 2015 à 15:48

TL;DR : HandyLinux.

Il n'est pas chose aisée de bien choisir sa distribution Linux quand on n'entrave rien aux arcanes du monde enchanteur des barbu·e·s. La notion-même de distribution peut être source d'angoisses existentielles : pour tenter d'éclairer la chose, il s'agit d'un ensemble cohérent de logiciels assemblés autour d'un « logiciel » particulier, le noyau, appelé Linux. Comprendre : une boîte à outils agencée de façon particulière. Voyez Linux comme un moteur : la distribution est tout ce qu'il faut en plus au seul moteur, qui est central, pour que la voiture puisse rouler.

Bref, quand on n'y touche rien à Linux, quand on en a marre des systèmes qui demandent toujours plus de ressources pour pouvoir tourner, des systèmes qui ne sont plus supportés du jour au lendemain et demandent de mettre sa machine au rebus, quelle distribution choisir ?

Avant tout, il faut pouvoir identifier son « niveau » en informatique : est-on un débutant extrême, à peine retrouve-t-on ses jeunes sous Windows, avec le four à micro-ondes programmable c'est déjà la joie, ou n'est-on pas effrayé à l'idée de lire un peu de documentation ou à faire quelques recherches ?

Ensuite, s'assurer de son entourage : y a-t-il quelqu'un que vous connaissez qui voudrait bien vous aider en cas de problème, ou y a-t-il un Groupe d'utilisateurs de Linux dans votre ville (le BxLUG à Bruxelles) ?

De plus : pouvoir estimer son niveau en anglais. La communauté de certaines distributions sont plus ou moins francophones, si vous n'y entendez rien à la langue de Shakespeare, il sera plus judicieux de se procurer une distribution francophone ou au moins francophile.

Ce n'est seulement qu'en dernier lieu que se posent les traditionnelles questions des prosélytes : quelles sont les spécificités de la machine, quelle charge peut-elle supporter, quelle interface, etc.

Du reste, la distribution qui me semble répondre aux premières injonctions est HandyLinux, avec sa communication en français, sa communauté francophone, son tutoriel de premier démarrage, son interface classique et intuitive, et une base de logiciels fournie.

Quelle distribution GNU/Linux choisir quand on n’y connaît rien ?

dimanche 18 janvier 2015 à 15:48

TL;DR : HandyLinux.

Il n'est pas chose aisée de bien choisir sa distribution Linux quand on n'entrave rien aux arcanes du monde enchanteur des barbu·e·s. La notion-même de distribution peut être source d'angoisses existentielles : pour tenter d'éclairer la chose, il s'agit d'un ensemble cohérent de logiciels assemblés autour d'un « logiciel » particulier, le noyau, appelé Linux. Comprendre : une boîte à outils agencée de façon particulière. Voyez Linux comme un moteur : la distribution est tout ce qu'il faut en plus au seul moteur, qui est central, pour que la voiture puisse rouler.

Bref, quand on n'y touche rien à Linux, quand on en a marre des systèmes qui demandent toujours plus de ressources pour pouvoir tourner, des systèmes qui ne sont plus supportés du jour au lendemain et demandent de mettre sa machine au rebus, quelle distribution choisir ?

Avant tout, il faut pouvoir identifier son « niveau » en informatique : est-on un débutant extrême, à peine retrouve-t-on ses jeunes sous Windows, avec le four à micro-ondes programmable c'est déjà la joie, ou n'est-on pas effrayé à l'idée de lire un peu de documentation ou à faire quelques recherches ?

Ensuite, s'assurer de son entourage : y a-t-il quelqu'un que vous connaissez qui voudrait bien vous aider en cas de problème, ou y a-t-il un Groupe d'utilisateurs de Linux dans votre ville (le BxLUG à Bruxelles) ?

De plus : pouvoir estimer son niveau en anglais. La communauté de certaines distributions sont plus ou moins francophones, si vous n'y entendez rien à la langue de Shakespeare, il sera plus judicieux de se procurer une distribution francophone ou au moins francophile.

Ce n'est seulement qu'en dernier lieu que se posent les traditionnelles questions des prosélytes : quelles sont les spécificités de la machine, quelle charge peut-elle supporter, quelle interface, etc.

Du reste, la distribution qui me semble répondre aux premières injonctions est HandyLinux, avec sa communication en français, sa communauté francophone, son tutoriel de premier démarrage, son interface classique et intuitive, et une base de logiciels fournie.

HandyLinux

ULB connectée 1 : mon GeHoL

vendredi 10 octobre 2014 à 11:18

Communication technique pour bien commencer l'année à l'Université Libre de Bruxelles (ULB) ; nous avons plusieurs systèmes et programmes qu'il peut être utile de connaître voire de savoir utiliser.

Le GeHoL nouveau est arrivé !

Pour ceux qui ne connaissent pas GeHoL, nouveau ou ancien, il s'agit de l'outil de « Gestion des Horaires et des Locaux », comprendre : l'outil en ligne où récupérer ses horaires de cours.

Après s'être connecté avec son netid (initiale du prénom accolée aux 7 premières lettres du nom de famille, quand il n'y a pas de conflit) sur Mon horaire, sont affichés uniquement les horaires des cours auxquels un étudiant est inscrit.

Fini d'avoir l'entièreté de l'horaire disponible affichée, toutes options confondues, pour tous les groupes possibles d'une année, …

De plus, il est possible d'ajouter à son horaire des cours supplémentaires (ou de cacher ceux qui sont en excédent ; GeHoL peut être adapté aux horaires les plus lourds ou les plus légers) : dans l'onglet Mes Cours, l'œil accolé aux cours dans la colonne de gauche permet d'en masquer l'horaire quand cliqué, la colonne de droite permet d'ajouter des cours à son horaire global.

Enfin, pour ceux qui sont intéressés, il est possible d'intégrer son horaire GeHoL dans les applications qui le supportent. Depuis l'onglet Mon horaire, il suffit d'exporter celui-ci "en iCal" (Exporter l'horaire au format iCal).

Le lien obtenu doit ressembler à http://mongehol.ulb.ac.be/Controlleurs/ICal.php?cal=[une clef unique]&week=1. Il est dès lors possible d'ajouter l'URL à un agenda, iCal sous Mac OS X par exemple, mais aussi dans Google Calendar : en cliquant dans le menu de gauche sur la flêchette à côté de la catégorie "Autres agendas", il est possible d'en "Ajouter par URL". Attention, pour être sûr d'avoir l'horaire de toute l'année, il faut modifier l'URL pour qu'il se termine par ...&week=141 !

Ceci fait, il est possible de visualiser en temps réel son horaire, par exemple en l'affichant dans les agendas d'un téléphone tournant sous Android. Il suffit d'aller dans l'application Agenda et, dans le menu, ajouter l'agenda mongehol aux agendas synchronisés et affichés.

En espérant que cela serve à quelques uns.

ULB connectée 1 : mon GeHoL

vendredi 10 octobre 2014 à 11:18

Communication technique pour bien commencer l'année à l'Université Libre de Bruxelles (ULB) ; nous avons plusieurs systèmes et programmes qu'il peut être utile de connaître voire de savoir utiliser.

Le GeHoL nouveau est arrivé !

Pour ceux qui ne connaissent pas GeHoL, nouveau ou ancien, il s'agit de l'outil de « Gestion des Horaires et des Locaux », comprendre : l'outil en ligne où récupérer ses horaires de cours.

Après s'être connecté avec son netid (initiale du prénom accolée aux 7 premières lettres du nom de famille, quand il n'y a pas de conflit) sur Mon horaire, sont affichés uniquement les horaires des cours auxquels un étudiant est inscrit.

Fini d'avoir l'entièreté de l'horaire disponible affichée, toutes options confondues, pour tous les groupes possibles d'une année, …

De plus, il est possible d'ajouter à son horaire des cours supplémentaires (ou de cacher ceux qui sont en excédent ; GeHoL peut être adapté aux horaires les plus lourds ou les plus légers) : dans l'onglet Mes Cours, l'œil accolé aux cours dans la colonne de gauche permet d'en masquer l'horaire quand cliqué, la colonne de droite permet d'ajouter des cours à son horaire global.

Enfin, pour ceux qui sont intéressés, il est possible d'intégrer son horaire GeHoL dans les applications qui le supportent. Depuis l'onglet Mon horaire, il suffit d'exporter celui-ci "en iCal" (Exporter l'horaire au format iCal).

Le lien obtenu doit ressembler à http://mongehol.ulb.ac.be/Controlleurs/ICal.php?cal=[une clef unique]&week=1. Il est dès lors possible d'ajouter l'URL à un agenda, iCal sous Mac OS X par exemple, mais aussi dans Google Calendar : en cliquant dans le menu de gauche sur la flêchette à côté de la catégorie "Autres agendas", il est possible d'en "Ajouter par URL". Attention, pour être sûr d'avoir l'horaire de toute l'année, il faut modifier l'URL pour qu'il se termine par ...&week=141 !

Ceci fait, il est possible de visualiser en temps réel son horaire, par exemple en l'affichant dans les agendas d'un téléphone tournant sous Android. Il suffit d'aller dans l'application Agenda et, dans le menu, ajouter l'agenda mongehol aux agendas synchronisés et affichés.

En espérant que cela serve à quelques uns.