Les bornes BuckUTT ont une architecture assez proche entre elles, mais manifestement pas suffisament car une image système pré-conçue a tendance à avoir des incompatibiltés en fonction la machine. De plus l'image système est plus difficile à mettre à jour. Un script d'installation est aussi difficile à maintenir car en cas d'erreur, le script srarrète et il est difficile de reprendre au milieu.
C'est ce qui justifie ce document. Il devra être mis à jour en cas de modification du système afin de pouvoir réinstaller des bornes à partir de zéro en moins de 2h.
Dernière mise à jour : juin 2016 (ne prends plus la gestion des Pertelian en compte)
On utilise une Debian 8 stable i386 en netinstall (non graphique). L'ethernet doit être connecté. Pendant le menu, il y aura plusieurs choix, voici ce qu'il faudra répondre.
- Choix de la langue :
- French
- Choix de votre situation géographique :
- France
- Configurer le clavier :
- Français
- Détecter le materiel réseau (N'arrive pas toujours)
- Charger le microcode manquant depuis un support amovible : Non
- Configurer le réseau :
- Interface réseeau principale : eth0
- Nom de machine : eeetop[N] (Remplacer [N] par le numéro de l'eeetop marqué dessus au marker)
- Domaine : [Valeur par défaut]
- Créer les utilisateurs
- [Mdp root]
- [Mdp root]
- Buckutt
- buckutt
- [Même mdp root]
- [Même mdp root]
- Partitionner les disques
- Assisté - utiliser un disque entier
- 160.0 GB ATA ST...
- Tout dans une seule partition
- Terminer le partitionnement et appliquer les changements
- Oui (appliquer les changements)
- Configurer l'outil de gestion des paquets
- France
- debian.univ-reims.fr
- [défaut]
- Configuration de popularity-contest
- Non
- Selection des logiciels
- Décocher tout (avec espace) puis appuyer sur entrer
- Installer le programme de démarrage GRUB sur un disque dur
- Oui
- Terminer l'installation
- Continuer
Pour faciliter la configuration, on peut installer ssh (et install multiple via ClusterSSH), mais il faudra le désinstaller à la fin du processus.
aptitude install openssh-server
Paquets installés
- xorg : Manager d'affichage,
- matchbox-window-manager : Gestionnaire de fenêtre spécial pour kiosk,
- chromium : Navigateur utilisé pour afficher buckutt,
- ntp : Syncronisation du temps,
- openvpn : Connexion au réseau privé virtuel,
- dhcpcd : Recupération d'IP,
- numlockx : Activation du numlock au démarrage pour les badgeuses,
- wpasupplicant : Gestion du wifi,
- plymouth : Splashscreen,
- plymouth-themes-spinner : Theme de splashscreen,
- ifplugd : Configuration auto de la connexion ethernet à chaque fois que le cable est branché,
- git : Syncronisation avec le repo de config.
- lcdproc : Interface avec les écrans pertelian
- libpcsclite1, libpcsclite-dev, pcscd, ccid : Gestion des badgeuses NFC
- nodejs : NodeJS pour le serveur local
aptitude update
aptitude install xorg matchbox-window-manager chromium ntp openvpn dhcpcd numlockx wpasupplicant plymouth plymouth-themes-spinner ifplugd git lcdproc python3 libpcsclite1 libpcsclite-dev pcscd make curl build-essential --without-recommends
curl -sL https://deb.nodesource.com/setup_6.x |bash -
aptitude install nodejsExécuter :
git clone https://github.com/buckutt/BuckUTT-eeetop repoLe dossier utilisateur est effacé à chaque boot (et même à chaque fois que chrome est démarré). À ces fins, une version du dossier utilisateur en readonly est placé en /opt/buckutt. Si une config utilisateur doit être modifiée, il faut la changer dans /opt/buckutt. La copie du dossier utilisateur se passe dans /opt/buckkutt/.xinitrc.
Exécuter :
mkdir /opt/buckutt
cp repo/config/.xinitrc /opt/buckutt/.xinitrc
chown -R root:root /opt/buckutt/
chmod -R a=r /opt/buckutt/
chmod a+x /opt/buckutt/.xinitrcExécuter :
cp repo/config/systemd/* /etc/systemd/system/
systemctl enable buckutt.service
systemctl enable bucknfc.service
systemctl enable startx@buckutt.serviceEditer /etc/X11/Xwrapper.config et remplacer :
allowed_users=consolePar :
allowed_users=anybodyLe menu grub ne doit pas être affiché et un splashcreen est affiché au démarrage :
Ajouter à la fin /etc/initramfs-tools/modules
# KMS
intel_agp
drm
i915 modeset=1Modifier les variables suivantes dans /etc/default/grub et les décommenter
GRUB_TIMEOUT=0
GRUB_GFXMODE=1024x768
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"Exécuter ensuite les commandes suivantes :
plymouth-set-default-theme spinner
update-grub2
update-initramfs -uBuckutt n'est accessible que depuis l'interieur du vpn. Les bornes ayant des problèmes de pile RTC, il faut faire un ntp avant pour syncroniser l'heure.
Supprimer toute conf par défaut du vpn en executant et installer la conf vpn
rm /etc/openvpn/*
cp repo/config/vpn-buckutt.conf /etc/openvpn/buckutt.conf
Ajouter les certificats ca.crt, ta.key, buckutt.crt, buckutt.key dans /etc/openvpn/. Si vous avez à décompresser un tar.gz
tar -zxvmf file.tar.gz # l'option -m permet d'ignorer le fait que l'eeetop n'est sans doute pas à l'heure
Set les droits
chown root:root /etc/openvpn/*
chmod a=,u=r /etc/openvpn/*Activer le service OpenVPN en executant:
systemctl enable openvpn@buckutt.servicesystemctl enable pcscd.serviceModifier /etc/ntp.conf et ajouter au dessus du bloc de la liste des serveurs
server buck.utt.fr
server pluton.utt.frinstaller les firmware en modifiant /etc/apt/sources.list et ajouter non-free après chaque main
Puis exécutez :
aptitude update
aptitude install firmware-ralinkcréer /etc/wpa_supplicant/wifi.conf en executant
cp repo/config/wifi.conf /etc/wpa_supplicant/wifi.conf
nano /etc/wpa_supplicant/wifi.conf # Remplacer le mot de passe au bon endroitExecuter
chown root:root /etc/wpa_supplicant/wifi.conf
chmod a=,u=r /etc/wpa_supplicant/wifi.confCréer le fichier /etc/init.d/wifi en exécutant
cp repo/config/wifi /etc/init.d/wifi
chmod +x /etc/init.d/wificp ./repo/config/LCDd.conf /etc/LCDd.confcp repo/scripts/* /root/
chmod +x /root/*.shcd /root/local
npm installPuis renommer config.json.example en config.json et éditer la configuration
Après l'installation, le dossier « repo » n'est plus utile.
cd /root
rm -r repo
aptitude remove gitSi vous avez installé le ssh, exécutez
aptitude remove openssh-server