Flaix, la formule anti-aigr'

Le retour de l’île est toujours un moment difficile. Lorsqu’on a passé deux semaines dans la joie, la fête, parmi les siens, baigné dans une culture aux antipotes de la jérémiade permanente, revenir au pays qui a fait de la plainte son leitmotiv est psychologiquement très angoissant.
Une conséquence de cette aversion, c’est que pendant plusieurs semaines, je serai totalement imperméable, voire volontairement réfractaire à l’information politique et sociale. Cette façon de présenter l’actualité, plaintive à outrance, me fatigue et n’aide pas à l’atterrissage en douceur tant le choc culturel est immense. L’autre conséquence, c’est que je prépare mon départ définitif, très probablement dans l’une des deux capitales de la péninsule. Cette migration n’aura probablement pas lieu avant plusieurs années, je ne m’étendrai donc pas plus, je la prépare, c’est tout.

En attendant, je faisais face à un “problème” de vibe lors du reveil. En effet, depuis un nombre d’années qu’il serait indécent de préciser, la radio qui me fait émerger du sommeil, c’est, comme vous pouviez vous en douter, RadioFG. Seulement voila, si à partir de 23h, départ de la programmation clubbing, le son est souvent très bon et les invités de qualité (Roger Sanchez, Pete Tong, Laidback Luke, Guetta…), il n’en va pas de même pour la programmation du matin. Le matin, sur FG, on met de la soupe. De lamentables productions “grand public” à la “wash my world” ou autre saloperies qui font gagner un blé collossal aux grands DJs de l’époque, mais leur a retiré toute crédibilité dans les clubs. Ajoutons à cela le “flash info” toutes les demi heures, ou encore les deux nouveaux animateurs-drôles chargés de disséminer quelques blagues désopilantes entre chaque titre, c’en était trop, je devais retrouver le son pur et récent de la radio officielle de l’île: Flaix Eivissa (oui, Ibiza est catalane, et en catalan on dit “Eivissa”).

Ni une ni deux, je m’en vais rechercher dans la pile de vieux portables un valeureux Celeron 600 amputé de son écran fissuré qui se logerait parfaitement derrière un meuble (Mme iMil deteste les cables apparents, je comprend pas, c’est beau un cable). Le portable en question n’a plus de disque dur, mais sait booter en PXE sur sa carte réseau intégrée, et comme tout portable qui se respecte, dispose d’une sortie casque, que je pourrai, à l’aide d’un cable (toujours derrière le meuble sus-cité) jack)-RCA, brancher à l’entrée “Auxiliaire” de la mini chaine qui me sert de radio-reveil.

Étape 1: faire booter le portable en PXE.

Le serveur DHCP de la maison tourne sur une machine NetBSD. Il s’agit de l’excellent ISC-DHCP. Voici la configuration nécessaire :


host snootles {
hardware ethernet 00:a0:b9:c5:d7:ec;
fixed-address 192.168.1.8;
next-server 192.168.1.1;
filename “/pxelinux.0”;
}

Le next-server est une machine Debian GNU/Linux sur laquelle sont installés atftpd et nfs-kernel-server. Le root de tftpd pointe par defaut sur /srv/tftp, nous copions donc le fichier /usr/lib/syslinux/pxelinux.0 issu du package syslinux-common à cet endroit.
Nous devons ensuite créer un fichier /srv/tftp/pxelinux.cfg/default (ou pour les plus pointilleux 01-00-a0-b9-c5-d7-ec) :


DEFAULT linux
PROMPT 0
MENU TITLE PXE Boot Menu
TIMEOUT 2

LABEL linux
KERNEL /snootles/vmlinuz
APPEND root=/dev/nfs initrd=/snootles/initrd.img nfsroot=192.168.1.1:/srv/tftp/snootles ip=dhcp rw –

Une configuration très basique, je vous l’accorde.

Préparons maintenant le fichier d’export NFS afin que l’invité puisse monter son filesystem :


/srv/tftp 192.168.1.0/255.255.255.0(insecure,sec=sys,rw,async,no_subtree_check,no_root_squash)

Et on redémarre les services associés :

/etc/init.d/openbsd-inetd restart

/etc/init.d/nfs-kernel-server restart


Reste à peupler ces conteneurs, opération rendue d’une simplicité enfantine grace à l’outil debootstrap :

debootstrap lenny /srv/tftp/snootles


Afin de préparer l’environnement, nous pouvons chrooter dans notre conteneur :

chroot /srv/tftp/snootles


Puis faire quelques modifications indispensables :

cat /etc/fstab

/etc/fstab: static file system information.

#

proc /proc proc defaults 0 0
/dev/nfs / nfs defaults 1 1
none /tmp tmpfs defaults 0 0
none /var/run tmpfs defaults 0 0
none /var/lock tmpfs defaults 0 0
none /var/tmp tmpfs defaults 0 0

cat /etc/network/interfaces

Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or

/usr/share/doc/ifupdown/examples for more information.

auto lo
iface lo inet loopback

The primary network interface

auto eth0
iface eth0 inet static
address 192.168.1.8
netmask 255.255.255.0
gateway 192.168.1.254

echo “snootles” > /etc/hostname

cat /etc/hosts

127.0.0.1 localhost
127.0.1.1 snootles

The following lines are desirable for IPv6 capable hosts

::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

apt-get install linux-image-2.6.26-2-686 alsa-base mplayer openssh-server sudo lm-sensors


Afin de pouvoir administrer la machine à distance, il conviendra d’y ajouter un utilisateur et de lui permettre de devenir root.

Important: par defaut, l’initrd installé ne sait pas utiliser NFS comme root device, il est donc nécessaire de changer la valeur de BOOT dans le fichier /etc/initramfs-tools/initramfs.conf :

BOOT: [ local | nfs ]

#

local - Boot off of local media (harddrive, USB stick).

#

nfs - Boot using an NFS drive as the root of the drive.

#

BOOT=nfs

Puis de reconstruire l’initrd :

dpkg-reconfigure linux-image-2.6.26-2-686

update-initramfs -u


À cet instant, l’invité doit pouvoir démarrer en réseau.

Et nous en venons enfin à la raison principale de ce setup: le radio-reveil. Je crée le script bin/alarm dans le $HOME de mon utilisateur :

#!/bin/sh

URL=”http://flaixeivissa.flaix.stream.flumotion.com/flaix/flaixeivissanopub.mp3.m3u"
DURATION=3720
CACHE=512

/usr/bin/mplayer -endpos ${DURATION} -cache ${CACHE} ${URL} > /dev/null 2>&1

Ce dernier jouera le stream de Flaix Eivissa pendant 1h et 2 minutes. Puis nous créons une entrée dans la crontab de l’utilisateur qui appellera ce script du lundi au vendredi à 7h30 :


$ crontab -l
30 07 1-5 /home/imil/bin/alarm

On verifie que la machine ne chauffe pas trop dans son maigre espace entre le mur et le meuble :


imil@snootles:~$ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1: +43.0 C (crit = +97.0 C)

La prochaine étape consistera à monitorer cette valeur et l’existence de la machine via mon Nagios. D’ici là, FINI LE SON DE MERDE LE MATIN.

Et voila comment la technologie peut nous aider à vivre un peu mieux la depression post-vacances, j’enverrai peut-être cet article à Top-Santé