Logo carnetderootxzz@carnetderoot.net"La simplicité est la sophistication suprême" - Léonard De Vinci
samedi 07 décembre 2019

:: Installation Calculate Directory Server sur un hôte KVM/qemu ::

Création de la machine virtuelle

La machine virtuelle est créée via virt-manager, avec la configuration suivante :

  • Disque virtio 40Go minimum (cf. note sur partitionnement automatique)
  • Image cds-18.12-x86_64.iso montée sur le lecteur cdrom
  • Ordre de démarrage : cdrom puis disque

Installation de Calculate Directory Server

Démarrer la vm en bootant sur le cdrom.
Au prompt root, charger le clavier fr :

# loadkeys fr

Partitionnement automatique

Note : pour que le partitionnement auto fonctionne, le disque doit avoir une taille minimale de 40Go.

# cl-install -D /dev/vda \
             --locale 'fr_FR' \
             --keymap 'fr_FR' \
             --timezone 'Europe/Paris' \
             --hostname 'hostname.domaine.local' \
             --user username

Avec :

  • -D : partitionnement automatique
  • --locale : définition de la locale
  • --keymap : localisation du clavier
  • --timezone : choix du fuseau horaire
  • --hostname : nom d'hôte
  • --user : création d'un utilisateur

Partitionnement manuel

Dans ce cas, le partitionnement doit être effectué avant de lancer l'installation, par exemple à l'aide de fdisk :

# fdisk /dev/vda

Une fois le partitionnement terminé, lancer l'installation en précisant les points de montage (ici, des partitions racine et home et une pour le swap)

# cl-install --locale 'fr_FR' \
             --keymap 'fr_FR' \
             --timezone 'Europe/Paris' \
             --disk /dev/vda1 \
             --disk /dev/vda3:/home \
             --disk /dev/vda2:swap \
             --hostname 'hostname.domaine.local' \
             --user username

Avec :

  • --locale : définition de la locale
  • --keymap : localisation du clavier
  • --timezone : choix du fuseau horaire
  • --disk : définition des points de montage
  • --hostname : nom d'hôte
  • --user : création d'un utilisateur

Finalisation de l'installation

Renseigner les éléments demandés tels les mots de passe de l'utilisateur à créer et de root. Redémarrer la machine virtuelle à la fin de l'installation.

Configuration du serveur

Serveur LDAP

# cl-setup ldap
 * WARNING: Executing of the program will change the configuration files and database of LDAP service.
If you are ready to continue executing the program, input 'yes', if not 'no': yes

 * Erased LDAP Database ...                                                                                                     [ ok ]
 * Added ldif file ...                                                                                                          [ ok ]
 * LDAP service configured ...                                                                                                  [ ok ]

Integration authentification LDAP à PAM

# cl-setup unix
 * WARNING: Executing of the program will change the configuration files and database of LDAP service.
If you are ready to continue executing the program, input 'yes', if not 'no': yes

 * Added ldif file ...                                                                                                          [ ok ]
 * Unix service configured ...                                                                                                  [ ok ]

Gestion des utilisateurs

Après avoir configuré l'annuaire LDAP comme base de comptes Unix, utiliser les commandes alternatives suivantes pour gérer les utilisateurs :

Commande Alternative
useradd (adduser) cl-useradd [options] user service
userdel cl-userdel [options] user service
usermod cl-usermod [options] user service
passwd cl-passwd [options] user service
groupadd cl-groupadd [options] user service
groupdel cl-groupdel [options] user service
groupmod cl-groupmod [options] user service

A noter le service qui doit être indiqué à la fin de la commande, avec comme services :

unix unix group
samba samba group
mail mail group
jabber jabber group
proxy proxy group

Serveur Samba

# cl-setup -n hostname -w WORKGROUP samba
 * WARNING: Executing of the program will change the configuration files of Samba service.
If you are ready to continue executing the program, input 'yes', if not 'no': yes

 * Added ldif file ...                                                                                                          [ ok ]
 * Starting Samba ...                                                                                                           [ ok ]
 * Added user client in Unix service
 * Added user client in Samba service
 * Added user admin in Unix service
 * Added user admin in Samba service
 * Samba service configured ...                                                                                                 [ ok ]

Références


samedi 30 novembre 2019

:: Reconstruire un RAID1 logiciel ::

Copie de la table de partition à partir du disque sain

# sfdisk -d /dev/sda | sfdisk /dev/sdb 

Reconstruction de la grappe

# mdadm --manage --add /dev/md0 /dev/sdb1 

Suivi de la reconstruction

# watch -n 60 cat /proc/mdstat 

md1 : active raid1 sdc5[3] sda5[2] 
      488133496 blocks super 1.2 [2/1] [U_] 
      [>....................]  recovery =  0.3% (1780160/488133496) finish=59.1min speed=136935K/sec 

jeudi 28 novembre 2019

:: Procédure de mise à jour Debian ::

Debian 7 Wheezy vers Debian 8 Jessie

Mise à jour du système en dernière version mineure.

$ sudo apt-get update && sudo apt-get upgrade -y

Vérification de l'état des paquets

  • Liste des paquets "Half-installed" ou "Failed-Config"

    $ sudo dpkg --audit
  • Liste des paquets bloqués ("On hold")

    $ sudo dpkg --get-selections | grep 'hold$'

Note : Il est préférable de résoudre les problèmes avec ces paquets avant de procéder à la mise à niveau du système, sous peine de risquer quelques surprises.

Modification des sources de paquets

  • Modifier le fichier /etc/apt/sources.list

    $ sudo cp /etc/apt/sources.list /etc/apt/sources.list.save
    $ sudo sed -i 's/wheezy/jessie/' /etc/apt/sources.list
  • Et pour chaques fichiers présents dans /etc/apt/sources.list.d/ :

    $ sudo sed -i 's/wheezy/jessie/' /etc/apt/sources.list.d/<fichier>

Mise à niveau du système

  • Facultatif : vérification de l'espace disque avant d'effectuer la mise à niveau

    $ sudo apt-get update && sudo apt-get -o APT::Get::Trivial-Only=true dist-upgrade
    [...]
    543 mis à jour, 305 nouvellement installés, 10 à enlever et 0 non mis à jour.
    Il est nécessaire de prendre 382 Mo dans les archives.
    Après cette opération, 503 Mo d'espace disque supplémentaires seront utilisés.

    Si il y a un problème d'espace disque, la commande retourne un avertissement :

    E: Vous n'avez pas assez d'espace disponible dans /var/cache/apt/archives/.
  • Mise à niveau

    $ sudo apt-get update && sudo apt-get dist-upgrade
    $ sudo apt-get upgrade
    $ sudo shutdown -r now

Debian 8 Jessie vers Debian 9 Stretch

Préparation

Mise à jour du système en dernière version mineure.

$ sudo apt-get update && sudo apt-get upgrade -y

Suppression des paquets installés automatiquement et qui ne sont plus nécessaires

$ sudo apt-get autoremove

Suppression des fichiers de configuration obsolètes

$ sudo rm -f /etc/*.dpkg-{new,old} 

Vérification de l'état des paquets

  • Liste des paquets "Half-installed" ou "Failed-Config"

    $ sudo dpkg --audit
  • Liste des paquets bloqués par apt-get

    $ sudo dpkg --get-selections | grep 'hold$'
  • Liste des paquets bloqués par aptitude

    $ aptitude search "~ahold"

Modification des sources de paquets

  • Modifier le fichier /etc/apt/sources.list

    $ sudo cp /etc/apt/sources.list /etc/apt/sources.list.save
    $ sudo sed -i 's/jessie/stretch/' /etc/apt/sources.list
  • Et pour chaques fichiers présents dans /etc/apt/sources.list.d/ :

    $ sudo sed -i 's/jessie/stretch/' /etc/apt/sources.list.d/<fichier>

Mise à niveau et redémarrage

$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade
$ sudo reboot

Mise à jour Debian 9 vers 10

Sauvegarde du systeme

# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 9.11 (stretch)
Release:    9.11
Codename:   stretch

# uname -mrs
Linux 4.9.0-11-amd64 x86_64

Mise à jour complète et redémarrage

$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade
$ sudo apt --purge autoremove

Modification des sources apt

Vérification du contenu existant

# cat /etc/apt/sources.list
deb http://ftp.fr.debian.org/debian/ stretch main
deb-src http://ftp.fr.debian.org/debian/ stretch main

deb http://security.debian.org/ stretch/updates main
deb-src http://security.debian.org/ stretch/updates main

# stretch-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ stretch-updates main
deb-src http://ftp.fr.debian.org/debian/ stretch-updates main

Remplacer les occurences de stretch par buster

$ sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list
$ sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/*

Mise à niveau et redémarrage

$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade
$ sudo reboot

Vérifications et nettoyage

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:    10
Codename:   buster

$ uname -r
4.19.0-6-amd64

$ sudo apt --purge autoremove

vendredi 15 novembre 2019

:: CloudSHell2 - Installation d'Archlinux ::

Introduction

Toutes les opérations décrites ci-dessous ont été faites à partir d'un portable sous Archlinux et du reader/writer eMMC se branchant sur le port SD (via un adaptateur micro-SD).

La commande lsblk permet de récupérer le nom du périphérique, pour ma part /dev/mmcblk0

Préparation du module eMMC

Remise à zéro

$ sudo dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=8

Partitionnement

$ sudo fdisk /dev/mmcblk0

Créer une nouvelle partition primaire vide, en tapant les commandes suivantes :

  1. o : crée une nouvelle table de partition DOS
  2. n : crée une nouvelle partition avec les paramètres suivants :
    • p : type de partition primaire
    • 1 : première partition
    • 4096 : premier secteur de la partition
    • ENTER : dernier secteur de la partition (defaut)
  3. w : écrit la table de partition et quitte

Création du système de fichiers ext4

$ sudo mkfs.ext4 /dev/mmcblk0p1

Montage du système de fichiers

$ mkdir root  
$ sudo mount /dev/mmcblk0p1 root

Téléchargement et extraction du système de fichier root

$ wget http://os.archlinuxarm.org/os/ArchLinuxARM-odroid-xu3-latest.tar.gz  
$ sudo bsdtar -xpf ArchLinuxARM-odroid-xu3-latest.tar.gz -C root

Flash du bootloader

$ cd root/boot/
$ sudo ./sd_fusing.sh /dev/mmcblk0

Démontage du système de fichiers

$ cd ../..
$ sudo umount root

Premier démarrage du système

  1. Insérer le module eMMC dans son emplacement sur la carte XU4
  2. Connecter le câble ethernet et brancher l'alimentation
  3. Attendre la fin du démarrage du système puis se connecter en ssh avec le user alarm et le mot de passe alarm

    $ ssh alarm@cloudshell.domaine.lan
  4. Ouvrir une session root avec le mot de passe root

    $ su - root

Initialisation

Création du trouseau de clés et enrichissement des certificats des dépôts Arch Linux ARM

# pacman-key --init
# pacman-key --populate archlinuxarm

Gestion de paquets

Mise à jour du système

# pacman -Syu

Paquets supplémentaires

# pacman -S vim

Configuration réseau

Nom d'hôte

  • /etc/hostname

    cloudshell
  • /etc/hosts

    127.0.0.1       localhost
    ::1             localhost
    127.0.1.1       cloudshell.domaine.lan cloudshell

Adresse IP

Comme il s'agit d'un serveur installé dans mon réseau local, je préfère lui assigner une adresse ip fixe tout en gardant la possibilité de demander une adresse ip dynamique (si je le déplace par exemple). J'ai donc créé un profil statique en ajoutant les lignes suivantes à la fin du fichier /etc/dhcpcd.conf :

  • /etc/dhcpcd.conf

    # Static profile
    interface eth0
    static ip_address=192.168.0.2/24 
    static routers=192.168.0.254
    static domain_name_servers=192.168.0.254 8.8.8.8

Configuration des disques

Le CloudShell2 permet de connecter deux disques SATA au format 3.5" et supporte les technologies RAID0, RAID1, SPAN ainsi que l'accès direct (mode PM).

Dans ma configuration, j'ai branché deux disques SATA de 3To et configuré le 'DIP switch' en RAID1. Le volume RAID est accessible via /dev/sda et sera monté sur /home.

Partitionnement

# fdisk /dev/sda

Créer une nouvelle partition primaire sur le volume, en tapant les commandes suivantes :

  1. n : crée une nouvelle partition avec les paramètres suivants :
    • p : partition de type primaire
    • 1 : numéro de partition
    • ENTER (2048) : premier secteur par defaut
    • ENTER (dernier secteur) : dernier secteur par defaut
  2. w : applique les changements et quitte

Formatage de la partition

# mkfs.ext4 /dev/sda1

Synchronisation du contenu de /home

# mkdir /mnt/data
# mount /dev/sda1 /mnt/data
# rsync -avz /home/ /mnt/data/

Une fois les données synchronisées (et vérifiées !), on peut nettoyer le répertoire /home :

# rm -rf /home/*

Montage de la partition et génération du fstab

# mount /dev/sda1 /home
# genfstab -p -U / > /etc/fstab

Ecran LCD

# echo "options fbtft_device name=hktft9340 busnum=1 rotate=270" > /etc/modprobe.d/cloudshell.conf
# echo "spi_s3c64xx" >> /etc/modules-load.d/fbtft_device.conf
# echo "spidev" >> /etc/modules-load.d/fbtft_device.conf
# echo "fbtft_device" >> /etc/modules-load.d/fbtft_device.conf

Ventilateur

Récepteur infrarouge

Références


lundi 28 octobre 2019

:: Installation minimale d'ArchLinux avec système de fichier crypté et UEFI ::

Préparation de l'installation

  1. Télécharger l'archiso à partir du site https://www.archlinux.org/
  2. Préparer la clé usb

    # dd if=archlinux.img of=/dev/sdX bs=16M && sync
  3. Démarrer sur la clé usb et attendre le prompt root

Installation

Sélection du clavier

Pour lister les types de clavier français disponibles :

# find /usr/share/kbd/keymaps -iname '*fr*' -printf '%f\n'

Chargement du clavier :

# loadkeys fr

Configuration du wifi

# wifi-menu

Synchronisation horaire

# timedatectl set-ntp true

Schéma de partitionnement

Sur mon Thinkpad, la taille du disque SSD est de 128Go.
1G sera réservé pour les partitions de boot (boot et EFI) et le reste intégralement chiffré.

A noter que les tailles des partitions efi et boot ne sont pas optimisées, 100M serait suffisant pour efi et 250M pour boot...

Configuration cible

NAME                  MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                     8:0    0 119,2G  0 disk
├─sda1                  8:1    0   512M  0 part  /boot/efi
├─sda2                  8:2    0   512M  0 part  /boot
└─sda3                  8:3    0 118,2G  0 part
  └─cryptroot         254:0    0 118,2G  0 crypt
    ├─vg0-swap        254:1    0     4G  0 lvm   [SWAP]
    ├─vg0-root        254:2    0    20G  0 lvm   /
    └─vg0-home        254:3    0  94,2G  0 lvm   /home

Une partition de swap n'est pas nécessaire, mais peut s'avérer pratique si on souhaite utiliser les fonctions d'hibernation d'un portable.
Dans ce cas, la taille de la partition doit être au moins égale à la quantité de RAM, sur mon Thinkpad -> 3915312 octets.

Création des partitions

# cgdisk /dev/sda

Créer les partitions suivantes :

Partition Périphérique Taille Système Hex code
EFI /dev/sda1 512M vfat ef00
boot /dev/sda2 512M ext2 8300
cryptroot /dev/sda3 Espace disque restant luks 8300

Formatage des partitions

# mkfs.vfat -F32 /dev/sda1
# mkfs.ext2 /dev/sda2

Chiffrement de la partition cryptroot

# cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 -y --use-random /dev/sda3
# cryptsetup luksOpen /dev/sda3 cryptroot

Création des volumes logiques

Créer un groupe de volume (vg0) et les volumes logiques suivants :

Volume logique Taille
swap 4G
root 20G
home le reste
# pvcreate /dev/mapper/cryptroot
# vgcreate vg0 /dev/mapper/cryptroot
# lvcreate --size 4G vg0 --name swap
# lvcreate --size 20G vg0 --name root
# lvcreate --extents +100%FREE vg0 --name home

Création des systèmes de fichiers

# mkfs.ext4 /dev/mapper/vg0-root
# mkfs.ext4 /dev/mapper/vg0-home
# mkswap /dev/mapper/vg0-swap
# swapon /dev/mapper/vg0-swap

Montage des partitions

# mount /dev/mapper/vg0-root /mnt
# mkdir /mnt/boot && mount /dev/sda2 /mnt/boot
# mkdir /mnt/boot/efi && mount /dev/sda1 /mnt/boot/efi
# mkdir /mnt/home && mount /dev/mapper/vg0-home /mnt/home

Sélection des miroirs

Manuelle

  • /etc/pacman.d/mirrorlist

Décommenter et déplacer en haut du fichier le miroir préféré.

Test des miroirs

  1. Sauvegarder le mirrorlist existant et préparer une copie de travail

    # cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
    # cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.test
  2. Modifier le fichier mirrorlist.test et décommenter les miroirs à tester

    Pour garder les miroirs français, générer le fichier à partir de la commande suivante :

    # grep -E '^## France$' -A 1 /etc/pacman.d/mirrorlist | grep -vE '^-' > /etc/pacman.d/mirrorlist.test

    Pour décommenter tous les serveurs :

    # sed -i 's/^#Server/Server/' /etc/pacman.d/mirrorlist.test
  3. Tester les miroirs et générer le nouveau mirrorlist (ici avec les 5 miroirs les plus rapides uniquement) :

    # rankmirrors -n 5 /etc/pacman.d/mirrorlist.test > /etc/pacman.d/mirrorlist

Installation des paquets

Installation du système de base et des outils nécessaires au premier démarrage.

 Système de base

# pacstrap /mnt base base-devel linux linux-firmware pacman-contrib

Outils supplémentaires (liste non-exhaustive) :

# pacstrap /mnt grub-efi-x86_64 efibootmgr mkinitcpio lvm2 wpa_supplicant wireless_tools vim zip unzip alsa-utils lsb-release ntfs-3g dosfstools exfat-utils bash-completion man-db

Création du fstab

# genfstab -pU /mnt >> /mnt/etc/fstab

tempfs sur /tmp

# /tmp
tmpfs   /tmp    tmpfs   defaults,noatime,mode=1777  0   0

Options pour SSD

Remplacer les options relatime par noatime sur les partitions sauf celle de boot (limite les accès et augmente donc la durée de vie d'un disque SSD)

Entrer dans le nouveau système

# arch-chroot /mnt /bin/bash

Fuseau horaire

# ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
# hwclock --systohc --utc

Localisation

  • /etc/locale.gen

Décommenter fr_FR.UTF-8 UTF-8 dans le fichier puis regénérer les locales :

# locale-gen
  • /etc/locale.conf

    LANG=fr_FR.UTF-8
  • /etc/vconsole.conf

    KEYMAP=fr

Nom d'hôte

  • /etc/hostname

    myhostname
  • /etc/hosts

    127.0.0.1    localhost
    ::1          localhost
    127.0.1.1    myhostname.domain.local myhostname

Utilisateurs

Modification du mot de passe root

# passwd

Utilisateur supplémentaire

# useradd -m -g users -G wheel username
# passwd username

Configuration de mkinitcpio

Editer le fichier /etc/mkinitcpio.conf

Ajouter les options suivantes avant 'filesystems' :

  • keymap : chargement du clavier
  • encrypt : gestion du chiffrement
  • lvm2 : gestion des volumes logiques
  • resume : gestion du mode hibernation

Note : quelque soit l'ordre choisi, pensez toujours à placer keymap devant encrypt, sous peine de vous retrouver avec un clavier qwerty pour taper la passphrase permettant de déchiffrer le volume principal

Au final, cela donne :

HOOKS=(base udev autodetect modconf block keymap encrypt lvm2 resume filesystems keyboard fsck)

Regénérer l'image initrd

# mkinitcpio -p linux

GRUB

Installation

# grub-install

Configuration

Editer le fichier /etc/default/grub et modifier la variable GRUB_CMDLINE_LINUX afin de préciser le périphérique chiffré (cryptroot) et le périphérique d'hibernation (partition de swap) :

GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda3:cryptroot resume=/dev/mapper/vg0-swap"

Regénérer le grub.cfg

# grub-mkconfig -o /boot/grub/grub.cfg

Fin de l'installation et redémarrage

# exit
# umount -R /mnt
# swapoff -a
# reboot

Au démarrage la passphrase est demandée afin de déchiffrer le volume puis on accède à la console. On a maintenant un système minimal installé et fonctionnel.

Configuration du réseau

Avec l'arrivée de la version 197 de systemd le nom des interfaces réseau est maintenant préfixé de en (ethernet), wl (wlan) ou ww (wwan), suivi par un identifiant généré automatiquement et prévisible.
Le but étant de fixer le nom des interfaces entre chaque démarrage.

Pour lister les interfaces réseaux :

# ip link show
1: lo [...]
3: enp0s25 [...]
4: wlp3s0 [...]
6: wwp0s29u1u4i6 [...]

Configuration manuelle

Dans le cas où tous les outils ne sont pas encore installés ou si il n'y a pas de serveur dhcp sur le réseau, il peut s'avérer pratique de configurer une connexion manuellement.

Ethernet

  • Activer l'interface ethernet, ici enp0s25

    # ip link set dev enp0s25 up
  • Affecter une adresse ipv4 à l'interface, ici 192.168.0.60 dans le réseau 192.168.0.0/24 :

    # ip address add 192.168.0.60/24 broadcast + dev enp0s25
  • Ajouter la route par défaut pour accéder à internet, ici 192.168.0.254 :

    # ip route add default via 192.168.0.254 dev enp0s25

systemd-networkd

systemd offre maintenant la possibilité de gérer le réseau par lui-même sans outils supplémentaires.
systemd-networkd permet de détecter, configurer et gérer les connexions réseaux; il peut aussi créer des connexions virtuelles.

Ethernet

  • Créer le fichier /etc/systemd/network/enp0s25.network

    [Match]
    Name=enp0s25
    [Network]
    DHCP=yes
    [DHCP]
    RouteMetric=10
  • Activer et démarrer le service

    # systemctl enable systemd-networkd.service
    # systemctl start systemd-networkd.service

Wifi

  • Créer le fichier /etc/systemd/network/wlp3s0.network

    [Match]
    Name=wlp3s0
    [Network]
    DHCP=yes
    [DHCP]
    RouteMetric=20
  • Créer le fichier /etc/wpa_supplicant/wpa_supplicant-wlp3s0.conf

    ctrl_interface=/var/run/wpa_supplicant
    ctrl_interface_group=wheel
    update_config=1
    ap_scan=1
    fast_reauth=1
    country=FR
  • Ajouter un réseau

    # wpa_passphrase ESSID passphrase >> /etc/wpa_supplicant/wpa_supplicant-wlp3s0.conf

    Si votre clé wifi est complexe, il est parfois plus simple de la coller dans un fichier texte et d'importer la clé directement :

    # wpa_passphrase ESSID `cat /mnt/usb/essid.pwd` >> /etc/wpa_supplicant/wpa_supplicant-wlp3s0.conf
  • Nettoyer le fichier

    La commande précédente ajoute à la fin du fichier une section network qui contient votre clé wifi en clair.
    Il est conseillé de supprimer cette ligne :

    network={
        ssid="ESSID"
        #psk="passphrase"  <------- Supprimer cette ligne
        psk=d5b7ea2dda330fb59753d126e0b98bc968644423abb76bb52374a027718219c6
    }
  • Activer et démarrer les services

    # systemctl enable systemd-networkd.service
    # systemctl enable wpa_supplicant@wlp3s0.service
    # systemctl start systemd-networkd.service
    # systemctl start wpa_supplicant@wlp3s0.service

systemd-resolved

systemd-resolved est un service systemd fournissant la résolution de noms aux applications locales.

Dans notre cas, le plus simple (et recommandé) est d'utiliser le fichier de stub DNS :

# ln -s /run/systemd/resolved/stub-resolv.conf /etc/resolv.conf

Activer et démarrer le service systemd-resolved.service

# systemctl enable systemd-resolved.service
# systemctl start systemd-resolved.service

Configuration post-install

Pour configurer un environnement graphique basé sur openbox, cf. Configuration environnement graphique avec Openbox

References


:: Configuration environnement graphique avec Openbox ::

Gestion de paquets

Arch User Repository (AUR)

Important :

Arch User Repository est un dépôt communautaire auquel tous les utilisateurs d'Arch peuvent participer.
AUR n'est pas un dépôt classique et en particulier, le contenu n'est pas systématiquement vérifié ni maintenu activement. Il faut donc être prudent lors de son utilisation.
Il est vivement conseillé de se documenter sur AUR afin d'en comprendre les mécanismes et d'utiliser ABS et makepkg.

Installation manuelle (recommandé)

cf. Utilisation d'AUR

$ git clone https://aur.archliux.org/package.git
$ cd package/
$ makepkg -si

Assistants AUR

cf. Assistants AUR

Attention : Aucun assistant AUR n'est officiellement supporté par les développeurs d'Arch Linux pour la simple raison qu'AUR est un dépôt de paquets non officiellement supportés.

trizen

trizen est un client pour AUR, léger et écrit en Perl.

$ git clone https://aur.archlinux.org/trizen.git
$ cd trizen
$ makepkg -si

Installation des paquets

Paquets principaux

$ sudo pacman -S alsa-utils xorg-server xorg-xinit openbox obconf lightdm lightdm-gtk-greeter

Outils supplémentaires

$ sudo pacman -S nitrogen gmrun oblogout tint2 pcmanfm gvfs-smb xterm firefox firefox-i18n-fr compton lxsession conky volumeicon lightdm-gtk-greeter-settings

Outils supplémentaires AUR

$ trizen -S wpa_actiond obmenu-generator obbrowser pamac-aur

Configuration de l'environnement

Gestionnaire de son Alsa

$ alsamixer
$ speaker-test -c2

Serveur X

Pour un clavier spécifique, créer un fichier de configuration qui sera chargé par le serveur X au démarrage :

$ sudo vim /etc/X11/xorg.conf.d/10-keyboard-layout.conf

Créer la section suivante pour un clavier français :

Section "InputClass"
    Identifier         "Keyboard Layout"
    MatchIsKeyboard    "yes"
    Option             "XkbLayout"  "fr"
    Option             "XkbVariant" "latin9"
EndSection

Gestionnaire d'affichage LightDM

Greeter

$ sudo vim /etc/lightdm/lightdm.conf

Décommenter la ligne précisant le greeter

greeter-session=lightdm-gtk-greeter

Activer le service lightdm

$ sudo systemctl enable lightdm.service

Variables d'environnement

L'affichage étant lancé par LightDM et non par le shell de l'utilisateur, les fichiers de ce dernier ne sont pas sourcés.
LightDM source nativement et dans cet ordre les fichiers /etc/profile, ~/.profile, /etc/xprofile et ~/.xprofile.

Dans le cas de Bash, le plus simple est de créer le fichier ~/.xprofile en copiant le fichier ~/.bash_profile :

$ cp ~/.bash_profile ~/.xprofile

Vérifier qu'il contient la ligne suivante (ou équivalent) :

[[ if ~/.bashrc ]] && . ~/.bashrc

Gestionnaire de fenêtre Openbox

La configuration d'Openbox se fait dans quatre fichiers dédiés : rc.xml, menu.xml, autostart et environment, situé dans ~/.config/openbox/.
Pour initier la configuration, copier les modèles dans le répertoire .config/ de l'utilisateur :

$ cp -R /etc/xdg/openbox ~/.config/

rc.xml

Fichier de configuration principal pré-configuré, à ne modifier que si nécessaire.

$ vi ~/.config/openbox/menu.xml

obmenu-generator

obmenu-generator permet de générer un menu de manière statique ou dynamique.

Pour générer un menu dynamique avec icônes, ne garder que les lignes suivantes dans le fichier menu.xml :

<?xml version="1.0" encoding="utf-8"?>
<openbox_menu>
    <menu id="root-menu" label="OpenBox" execute="/usr/bin/obmenu-generator -i">
    </menu>
</openbox_menu>

Personnalisation du menu

  • Francisation des catégories
  • Accès à la racine du disque et au répertoire utilisateur via obbrowser
  • Fermeture de session graphique via oblogout

Mon fichier schema.pl :

#!/usr/bin/perl
# obmenu-generator - schema file
require "$ENV{HOME}/.config/obmenu-generator/config.pl";
my $editor = $CONFIG->{editor};

our $SCHEMA = [
    # Raccourcis
    {item => ['firefox',          'Navigateur Web',          'web-browser']},
    {item => ['pcmanfm',          'Explorateur de fichiers', 'system-file-manager']},
    {item => ['xterm',            'Terminal',                'utilities-terminal']},
    {item => ['gmrun',            'Exécuter',                'system-run']},
    # Applications
    {sep => undef},
    {cat => ['utility',     'Accessoires',   'applications-utilities']},
    {cat => ['development', 'Développement', 'applications-development']},
    {cat => ['education',   'Education',     'applications-science']},
    {cat => ['game',        'Jeux',          'applications-games']},
    {cat => ['graphics',    'Graphiques',    'applications-graphics']},
    {cat => ['audiovideo',  'Multimedia',    'applications-multimedia']},
    {cat => ['network',     'Internet',      'applications-internet']},
    {cat => ['office',      'Bureautique',   'applications-office']},
    {cat => ['other',       'Autres',        'applications-other']},
    {cat => ['settings',    'Paramètres',    'applications-accessories']},
    {cat => ['system',      'Système',       'applications-system']},
    # Système de fichiers
    {sep => undef},
    {pipe => ['obbrowser /',  'Racine', 'drive-harddisk']},
    {pipe => ['obbrowser ~/', 'Home', 'drive-harddisk']},
    # Paramètres avancés
    {sep => undef},
    {obgenmenu => ['Paramètres Openbox', 'applications-engineering']},
    {beg => ['Paramètres avancés', 'applications-engineering']},
      # Configuration files
      {item => ["$editor ~/.conkyrc",              'Conky RC',    'text-x-generic']},
      {item => ["$editor ~/.config/tint2/tint2rc", 'Tint2 Panel', 'text-x-generic']},
      # obmenu-generator category
      {beg => ['Obmenu-Generator', 'accessories-text-editor']},
        {item => ["$editor ~/.config/obmenu-generator/schema.pl", 'Menu Schema', 'text-x-generic']},
        {item => ["$editor ~/.config/obmenu-generator/config.pl", 'Menu Config', 'text-x-generic']},
        {sep  => undef},
        {item => ['obmenu-generator -s -c',    'Generate a static menu',             'accessories-text-editor']},
        {item => ['obmenu-generator -s -i -c', 'Generate a static menu with icons',  'accessories-text-editor']},
        {sep  => undef},
        {item => ['obmenu-generator -p',       'Generate a dynamic menu',            'accessories-text-editor']},
        {item => ['obmenu-generator -p -i',    'Generate a dynamic menu with icons', 'accessories-text-editor']},
        {sep  => undef},
        {item => ['obmenu-generator -d', 'Refresh cache', 'view-refresh']},
      {end => undef},
      # Openbox category
      {beg => ['Openbox', 'openbox']},
        {item => ["$editor ~/.config/openbox/autostart", 'Openbox Autostart',   'text-x-generic']},
        {item => ["$editor ~/.config/openbox/rc.xml",    'Openbox RC',          'text-x-generic']},
        {item => ["$editor ~/.config/openbox/menu.xml",  'Openbox Menu',        'text-x-generic']},
        {item => ['openbox --reconfigure',               'Reconfigure Openbox', 'openbox']},
      {end => undef},
    {end => undef},
    # Fermeture de session
    {sep => undef},
    {item => ['oblogout', 'Quitter', 'application-exit']},
]

autostart

Le fichier ~/.config/openbox/autostart est exécuté au lancement d'Openbox et permet de chaîner le lancement des différents éléments composant l'environnement de bureau.

$ vi ~/.config/openbox/autostart

Ajouter les lignes suivantes :

# Composite Manager
compton &

# Set wallpaper
nitrogen --restore &

# Start panel
tint2 &

# Volume control
volumeicon &

# Power management
xfce4-power-manager &

# Authentication agent
/usr/bin/lxpolkit &

# Update indicator
/usr/bin/pamac-tray &

# Conky
conky &

lundi 21 octobre 2019

:: Installation d'Archlinux sur Asus Zenbook ::

Liens intéressants

Arch Linux

Openbox

Installation d'Arch Linux

Caractéristiques du portable

Asus Zenbook UX 303 LN
Ecran 13.3 pouces, résolution 3200x1800px, IPS, tactile
Processeur Intel Haswell Core i7-4510U CPU
Chipset Intel HM87
Video Intel 4400 HD intégré + Nvidia GeForce GT840M 2Go
Memory 8Go DDR3
Stockage 256Go SSD
Connectivity Wireless AC, Bluetooth, Lan (avec adapteur USB-Ethernet)
Ports 3 x USB3.0, lecteur de carte SD, HDMI, mini-DisplayPort
Batterie 50 Wh
Dimensions Epaisseur 21mm avec les pieds (18mm sans)
Poids 1.5 kg (3.3 pounds)
Extras Clavier retro-éclairé, haut-parleurs Bang and Olufsen

Préparation de l'installation

  1. Télécharger la dernière iso sur le site de téléchargement Arch Linux et vérifier son intégrité à l'aide des sommes de contrôle MD5 ou SHA1 :

    $ md5sum archlinux-2015.01.01-dual.iso

    ou

    $ sha1sum archlinux-2015.01.01-dual.iso

    puis comparer la somme de contrôle obtenue à celle présente sur la page de téléchargement.

  2. Créer la clé USB

    $ sudo dd if=archlinux.iso of=/dev/sdx bs=512k

    où /dev/sdx correspond au périphérique USB (Attention à ne pas se tromper !!)

  3. Démarrer sur la clé et sélectionner "Arch Linux archiso x86_64 UEFI" dans le menu de démarrage. On arrive sur la ligne de commande avec un prompt root.

  4. Avant toute chose, modifier l'agencement du clavier (par défaut US-qwerty) :

    # loadkeys fr

    Pour lister les agencements disponibles :

    # find /usr/share/kbd/keymaps/ -type f
  5. Vérifier que l'on est en mode EFI. Si c'est bien le cas, la commande ci-dessous doit afficher les variables EFI :

    # efivar -l 
  6. Etablir une connexion internet. N'ayant pas de port ethernet, ni de câble USB-Ethernet, j'ai configuré le wifi :

    # iw dev                    ---> Récupérer le nom de l'interface (ici, wlp2s0)
    # ip link set wlp2s0 up     ---> Activation de l'interface
    # wifi-menu wlp2s0          ---> Connexion au point d'accès
    # ping www.google.com       ---> Test de la connexion
  7. Partitionner l'espace disque. N'ayant pas l'utilité d'un Windows 8.1, j'ai supprimé l'intégralité du disque. Pour cela, utiliser j'utilise gdisk, un équivalent de fdisk pour GPT (GUID Partition Table), nécessaire pour le mode EFI.

    # gdisk /dev/sda

    Schéma de partitionnement cible :

    Périphérique Point de montage Taille Type
    /dev/sda1 / 20 GiB 8300
    /dev/sda2 /boot 1024 MiB EF00
    /dev/sda3 /home le reste de l'espace disque 8300
  8. Formater les partitions

    # mkfs.ext4 /dev/sda1
    # mkfs.ext4 /dev/sda3
    # mkfs.fat -F32 /dev/sda2
  9. Monter les partitions

    # mount /dev/sda1 /mnt
    # mkdir /mnt/home && mount /dev/sda3 /mnt/home
    # mkdir /mnt/boot && mount /dev/sda2 /mnt/boot

Installation d'Arch Linux et configuration de base

  1. Choix du miroir de téléchargement. Préférer un miroir géographiquement proche (vérifier sur http://archlinux.org/mirrorlist/).

    # nano /etc/pacman.d/mirrorlist
  2. Installer le système de base Arch Linux.

    # pacstrap -i /mnt base base-devel
  3. Créer le fichier fstab.

    # genfstab -U -p /mnt >> /mnt/etc/fstab
  4. Faire un chroot pour accéder au système nouvellement installé.

    # arch-root /mnt
  5. Définir le nom d'hôte

    # echo computer_name > /etc/hostname
  6. Configurer la time zone

    # ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
  7. Configurer les locales Editer le fichier /etc/locale.gen et décommenter la ligne fr_FR.UTF-8 UTF-8 Générer les locales :

    # locale-gen

    Créer le fichier /etc/locale.conf et modifier la valeur LANG

    # echo LANG=fr_FR.UTF-8 > /etc/locale.conf
    # export LANG=fr_FR.UTF-8
  8. Démonter les systèmes de fichiers

    # umount /mnt/boot /mnt/home /mnt
  9. Redémarrer

    # reboot

Configuration post-installation

  1. Créer un utilisateur

    # useradd -g users -m -s /bin/bash utilisateur
    # passwd utilisateur

Gestion d'écran HiDPI (High Dots Per Inch)

L'écran de l'UX303LN est un écran 13.3" avec une résolution QuadHD+ de 3200x1800 pixels. Les éléments affichés apparaissent donc trés petits (boutons, polices, etc.), à la limite du lisible.

Vous trouverez ci-dessous une liste (non exhaustive) de modifications permettant de profiter pleinement d'une haute résolution sans avoir besoin d'une loupe :-)

Paramètres X

En l'absence d'un environnement de bureau manipulant les paramètres X (Gnome, KDE, Xfce, etc.), il faut définir ces paramètres manuellement dans le fichier ~/.Xresources :

# Gestion HiDPI
Xft.dpi: 192
Xft.autohint: 0
Xft.lcdfilter: lcddefault
Xft.hintstyle: hintfull
Xft.hinting: 1
Xft.antialias: 1
Xft.rgba: rgb

Note : Adaptez le paramètre Xft.dpi à votre définition d'écran (ici 192dpi).

XTerm

Ici aussi on modifie le fichier ~/.Xresources pour préciser la police désirée, sa taille et sa résolution :

# Police XTerm
xterm*faceName:DejaVu Sans Mono:size=11:antialias=false
xterm*font: 7x13

Note : Modifiez ces paramètres selon vos desideratas.

Firefox et Thunderbird

Dans Firefox, aller dans les préférences avancées (about:config) et modifier le paramètre layout.css.devPixelsPerPx à 2 (défaut : -1). Dans le cas d'une utilisation multi-écran, il est possible d'utiliser le module Firefox AutoHiDPI (Non testé).

Dans Thunderbird, les paramètres avancés sont disponibles sous Edition / Préférences / Avancé / Editeur de configuration.

Installation de yaourt (Yet AnOther User Repository Tool)

Important : Il est vivement conseillé de se documenter sur AUR afin d'en comprendre les mécanismes et d'utiliser yaourt, ainsi que ABS et makepkg.

Méthode 1 - Installation depuis AUR

curl -O https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz
tar zxvf package-query.tar.gz
cd package-query
makepkg -si
cd ..
curl -O https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
tar zxvf yaourt.tar.gz
cd yaourt
makepkg -si
cd ..

Méthode 2 - Installation depuis le dépôt archlinux.fr

Editer le fichier /etc/pacman.conf et ajouter les lignes suivantes :

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

Puis, installer le paquet yaourt :

pacman -Sy yaourt

mercredi 03 octobre 2018

:: Machines à commandes numériques (CNC) ::

Références

Machines CNC

Magasins en ligne

Logiciels

  • SketchChair : Outil open-source de design et de conception.

Designs

Matériaux

Présentation de l'OX CNC Router

L'OX CNC Machine est une machine-outil à commande numérique permettant la découpe de différentes matières : bois, plexi, autres.
Elle possède une structure solide et reste relativement facile à construire soi-même. Qui plus est, elle est facilement dimensionnable pour convenir à la plupart des besoins.

En l'occurence les besoins de référence sont la découpe de panneaux de bois de tailles standards.

Modèle XL

Dimensions de la machine
(mm)
Espace de travail
(mm)
X 2500 2320
Y 1500 1270
Z 250 75

Note : Ce modèle nécessite de raccorder 2 V-Slot 20x80 bout à bout (1500mm + 750mm)

Modèle L

Dimensions de la machine
(mm)
Espace de travail
(mm)
X 1500 1320
Y 1000 770
Z 230 75

Exemple de modèles de deux tailles différentes

OX CNC Machine

Liste des composants

Elément Quantité Description Source Commentaires Prix unitaire Coût total
Nema 17 1 Nema 17 Stepper Motor http://openbuildspartstore.com/nema-17-stepper-motor/
http://reprap.me/hardware/nema17.html
http://www.omc-stepperonline.com/3d-printer-nema-17-stepper-motor-59ncm84ozin-2a-17hs192004s-p-18.html
Moteur pas-à-pas pour l'axe Z 15.40€ 15.40€
Nema_23 3 Nema 23 Stepper Motors http://openbuildspartstore.com/nema-23-stepper-motor/
http://www.omc-stepperonline.com/nema-23-cnc-stepper-motor-28a-126nm1785ozin-23hs222804s-p-108.html
Moteurs pas-à-pas pour les axes X et Y 21.56€ 64.68€
V-Slot_20x40 1 V-Slot 20x40mm (1500) http://openbuildspartstore.com/v-slot-linear-rail/ Support central de la table (710mm) Back Brace (500) Z axis (180) 17.16€ 17.16€
V-Slot_20x60 1 V-Slot 20x60mm (1000) http://openbuildspartstore.com/v-slot-linear-rail/ Couper en 2 parties de 500mm pour l'axe X (collées l'une à l'autre) 13.64€ 13.64€
V-Slot_20x80 1 V-Slot 20x80mm (1500) http://openbuildspartstore.com/v-slot-linear-rail/ Couper en 2 parties de 750mmm 26.40€ 26.40€
Xtreme_Solid_V_Wheel 28 Xtreme Solid V Wheel Kits http://openbuildspartstore.com/openbuilds-xtreme-solid-v-wheel-kit/ 5.24€ 146.72€
Eccentric_Spacers 13 Eccentric Spacers http://openbuildspartstore.com/eccentric-spacers/ 1.76€ 22.88€
90_Degree_Corner_Bracket 8 Cast - 90 Degree Corner Bracket http://openbuildspartstore.com/cast-90-degree-corner-bracket/ Utilisés pour fixer les 2 V-Slot (20x60) de l'axe X sur les plaques OX servant elles-mêmes à fixer l'ensemble sur les axes Y 1.32€ 10.56€
5_Hole_90_Degree_Joining_Plate 4 5 Hole 90 Degree Joining Plate http://openbuildspartstore.com/5-hole-90-degree-joining-plate/ Assemblage des 4 coins de la machine 4.22€ 16.88€
Universal_L_Brackets_Double 4 Universal L Brackets (Double) http://openbuildspartstore.com/universal-l-brackets/ Utilisés pour la fixation des supports de table (V-Slot 20x40) 1.10€ 4.40€
Aluminium_Spacers_1-1_2inch 3 Aluminum Spacers (1-1/2 inch) http://openbuildspartstore.com/aluminum-spacers/ Entretoises dédiées au moteur Nema 17 de l'axe Z 0.66€ 1.98€
5mm_washer_shim 40 Precision Shim - 10x5x1mm http://openbuildspartstore.com/precision-shim-10x5x1mm/ Pour toutes les roues, ainsi que pour l'axe X 0.22€ 8.80€
Threaded_Rod_Plate 2 Threaded Rod Plate http://openbuildspartstore.com/threaded-rod-plate/ Plaque de fixation du moteur de l'axe Z 7.00€ 14.00€
Coupling_Flex_5mm_x_8mm 1 5mm x 8mm Flexible Coupling http://openbuildspartstore.com/5mm-8mm-flexible-coupling/ Coupleur pour le moteur et la tige filetée de l'axe Z
8mm_Metric_Lead_Screw 1 8mm Threaded Rod http://openbuildspartstore.com/8mm-metric-lead-screw/ Tige filetée de l'axe Z
Lock_Collar 2 Lock Collar (8mm) http://openbuildspartstore.com/lock-collar/
688Z_Ball_Bearing_8x16x5 2 Bearing ID 8mm http://openbuildspartstore.com/688z-ball-bearing-8x16x5/ Roulements à billes pour l'axe Z
GT3_Timing_Belt 7 GT3 Timing Belt - a.k.a. GT2 (3mm) http://openbuildspartstore.com/gt2-3mm-timing-belt-by-the-foot/ Courroie dentée pour les axes X et Y
Attention à bien estimer la longueur (prévoir une marge)
Socket_Head_Cap_Screw_M5 4 Socket Head Cap Screw M5 - 65mm http://www.mcmaster.com/#91290a270/=qdro90 Fixation des roues du chariot de l'axe X
Acme_Nut_Block_8mm 1 Acme Nut Block 8mm http://openbuildspartstore.com/8mm-acme-nut-block/ Pour l'axe Z
GT3_Aluminum_Timing_Pulley_20 3 GT3 Timing Pulley - 20 tooth - 1/4 Inch Bore http://openbuildspartstore.com/gt3-aluminum-timing-pulley-20/ Poulies à dents pour les moteurs Nema 23 des axes X et Y
CNC_xPro_Controller_Stepper_Driver 1 3 Axis Driver Board http://openbuildspartstore.com/cnc-xpro-controller-stepper-driver/ Vérifier le fil de discussion pour lister les matériels compatibles.
5mm_x_8mm_low_profile_screw 2 Low Profile Screws - M5x8mm / 25 Pcs http://openbuildspartstore.com/low-profile-screws-m5/
5mm_x_8mm_low_profile_screw 2 Low Profile Screws - M5x15mm / 25 Pcs http://openbuildspartstore.com/low-profile-screws-m5/
5mm_x_8mm_low_profile_screw 1 Low Profile Screws - M5x20mm / 25 Pcs http://openbuildspartstore.com/low-profile-screws-m5/
5mm_x_8mm_low_profile_screw 2 Low Profile Screws - M5x30mm / 10 Pcs http://openbuildspartstore.com/low-profile-screws-m5/ En remplacement des boulons fournis avec le kit de roues
5mm_x_8mm_low_profile_screw 1 Low Profile Screws - M5x45mm / 10 Pcs http://openbuildspartstore.com/low-profile-screws-m5/
M3_Cap_Head_Screws 4 M3 Cap Head Screws - M3x45mm http://openbuildspartstore.com/m3-cap-head-screws/ Ecrous de fixation du moteur de l'axe Z
5mm_locknut 12 Nylon Insert Hex Locknut 5mm http://openbuildspartstore.com/nylon-insert-hex-locknut-5mm/
Tee_Nuts 2 Tee Nuts - 25 Pcs http://openbuildspartstore.com/tee-nuts-25-pack/
Aluminum_Spacers 12 Aluminum Spacers - 1/8th inch http://openbuildspartstore.com/aluminum-spacers/ Entretoises pour espacer les moteurs des plaques de fixation
Power_supply_12V_30A 1 12V/30A Power Supply http://openbuildspartstore.com/12v-30a-power-supply/ Vérifier le type d'alimentation supportée par la carte de pilotage (12/24V)
terminal_block 1 Wire Block http://www.mcmaster.com/#7618k613/=qdrzki Pour paralléliser le traitement des 2 moteurs de l'axe Y
Fan_40x40mm 1 40x40mm x 10 12v Cooling fan http://amzn.com/B000LB0M8S Ventilateur de refroidissement de la carte de pilotage
AC_Power_Cable_with_Bare_End 1 AC Power Cable with Bare End http://openbuildspartstore.com/ac-power-cable-with-bare-end/
Power_Cable 5 Power cable http://openbuildspartstore.com/16-2-project-wire/ Cable possédant au moins 2 fils conducteurs supportant du 16A.
Attention à bien évaluer la longueur nécessaire.
Spacer_Block 2 Spacer Block (V-Slot) http://openbuildspartstore.com/spacer-block-v-slot/ Utilisé pour espacer les roues de l'axe Z
4 OX Plates http://www.openbuilds.com/builds/openbuilds-ox-cnc-machine.341/#openbuilds_files Vérifier l'onglet 'Fichiers' pour les fichiers DXF des éléments à découper

:: IPTV Simple Client ::

Cet addon XBMC permet de récupérer de nombreuses chaînes TV françaises directement accessibles via le menu Direct TV.

Compilation sur Raspberry Pi

Note : La distribution utilisée est la dernière Raspbmc disponible à ce jour. Cette dernière contient XBMC en version Gotham 13.2-beta1.

Installation des pré-requis

$ sudo apt-get update 
$ sudo apt-get install git build-essential libtool automake ca-certificates zip unzip

Compilation à partir des sources

$ cd ~
$ git clone https://github.com/afedchin/xbmc-addon-iptvsimple.git
$ cd xbmc-addon-iptvsimple
$ sh autogen.sh
$ ./configure
$ make dist-zip

Pour ma part, j'ai compilé la version 1.9.3, disponible ici

Installation et configuration de l'addon dans XBMC

Installation de l'addon

Aller dans le menu Système > Extensions > Installer depuis un fichier zip et naviguer jusqu'à l'emplacement du fichier pvr.iptvsimple.1.x.x.zip précédemment compilé.

Note : si vous avez exécuté les commandes tel qu'indiqué ci-dessus, le chemin de l'addon est /home/pi/xbmc-addon-iptvsimple/pvr.iptvsimple.1.x.x.zip, où 1.x.x correspond à la version compilée.

Configuration de l'addon

Aller dans Extensions activées > Client enregistreur vidéo > PVR IPTV Simple Client.

Note : l'extension peut être dans Extensions désactivées.

Cliquer sur Configurer :

  • Dans l'onglet Général, au niveau du champ intitulé URL de la playlist M3U, renseigner l'URL suivante : http://tv-fr.lescigales.org/Liste%20TV%20Fr.xml
  • Dans l'onglet Paramètres EPG, au niveau du champ intitulé URL du fichier XMLTV, renseigner l'URL suivante : http://tv-fr.lescigales.org/tvguide.xml
  • Dans l'onglet Logos des chaînes, au niveau du champ intitulé Channels Logos Base URL, renseigner l'URL suivante : http://tv-fr.meximas.com/Logos/

Activer le menu Direct TV dans XBMC

Si le menu Direct TV n'apparaît pas sur la page d'accueil de XBMC, il faut l'activer.
Pour cela, naviguer dans le menu Système > TV Direct et cocher la case Activé.
Si tout se passe bien des notifications de mises à jour s'affichent dans XBMC (liste des chaînes, guide TV, etc.).

Une fois ces mises à jour terminées, vous devriez trouver votre bonheur : environ 200 chaînes francophones dont certaines disponibles en HD ! :-)