Alternatives au Raspberry:
Il existe des images pour des systèmes minimaux.
C'est vrai quoi, on a le choix.
J'ai pour le moment une Raspbian minimale en Testing.
On peut mélanger les 2.
$ cat /etc/apt/sources.list # Dépot Wheezy de départ deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi # Dépot Jessie ajouté deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi # Dépot Wheezy de départ (dans soures.list.d) deb http://archive.raspberrypi.org/debian/ wheezy main # Dépot Jessie inexistant #deb http://archive.raspberrypi.org/debian/ testing main # Dépot Jessie OK deb http://archive.raspbian.org/raspbian jessie main contrib non-free rpi
$ cat /etc/apt/preferences Package: * Pin: release n=wheezy Pin-Priority: 600 Package: * Pin: release n=jessie Pin-Priority: 300 # Ci-dessous, pas certain de son utilité Package: * Pin: release o=Raspbian Pin-Priority: -10
Ne pas installer les paquets recommendés: http://linux.koolsolutions.com/2009/01/07/howto-tell-apt-get-not-to-install-recommends-packages-in-debian-linux/
En fin de compte, passage intégral à Jessie (changement des priorités dans preferences
), on verra ce qu'il en est…
Continuons de maudire notre cher Raspberry, il me semble être dans le même cas de figure que ce billet de blog: http://hardware-libre.fr/2014/03/raspberry-pi-et-corruption-de-carte-sd/ ; ou bien celui-là: http://www.bortzmeyer.org/raspberry-pi-usage.html
Les cartes SD ne sont pas faites pour faire tourner un système. Du coup, pourquoi le raspberry est conçu d'une façon qui nous y encourage ?
Il ne serait pas évident non plus d'installer un système uniquement en lecture seule.
Il serait possible d'utiliser un disque externe (mais encore une fois, on surcharge les ports USB qui peinent peut-être déjà).
Pas très utile.
Service SMTP simple:
http://wiki.ouieuhtoutca.org/doku.php?id=ssmtp ⇒ Noooon, c'est un MTA, donc on s'en fout en fait… Thunderbird fait pareil.
Il nous faut postfix.
Aperçu de ce qu'on trouve sur le net…
Voir la doc Debian.
Par ici c'est plus clair : http://postfix.traduc.org/index.php/BASIC_CONFIGURATION_README.html
Utiliser les services de FreeDNS / Afraid.org.
Contenu de /etc/inadyn.conf:
OBSOLETE, la syntaxe du fichier de config a changé depuis.
-a cacatoes,mettreicivotrehashtrouvésurlesitedefreedns --dyndns_system default@freedns.afraid.org --background
Voir /etc/default/inadyn et /etc/inadyn.conf.
Un serveur type icecast, avec synthèse sonore via des patches puredata déposés via le wiki ou Git.
Voir: radio
En faire un NAS, avec disque dur qui se met en veille automatiquement.
Voir aussi:
Reste à voir comment on va se débrouiller entre hdparm, sshfs…
Crainte n°1: c'est pas mega sécurisé. Si le raspberry se fait pirater, alors le disque peut être effacé. On a quand même 2 services sensibles accessibles via le WAN: ssh + http.
Crainte n°2: si on y accède via sshfs, est-ce que le disque dur reste «en usage» et du coup ne se met pas en veille ?
⇒ Bilan après brève periode d'essai: des extinctions et remises sous tension un peu trop aléatoires, du coup je préfère abandonner l'idée du NAS.
Interroger le status du disque:
hdparm -C /dev/sda /dev/sda: drive state is: unknown
… ne fonctionne pas. Par contre, sur mon ordi, l'état est correctement indiqué. Donc ça ne vient pas seulement du disque dur, mais aussi du contrôleur USB/IDE/que-sais-je.
Et la commande de mise en veille par hdparm ne fonctionne pas non plus:
# hdparm -y /dev/sda /dev/sda: issuing standby command HDIO_DRIVE_CMD(standby) failed: Invalid argument
Par contre la commande:
sdparm --flexible --command=stop /dev/sda
… fonctionne chez moi. Sauf que sdparm n'est pas fait pour ajuster un temps d'inactivité. Aussi, sdparm ne permet pas de connaître l'état du disque.
En fait elle fait semblant de fonctionner, on entend le disque dur faire mine de se couper mais il redémarre aussi sec et ne s'éteint pas.
Hey, par contre, en fait, la commande hdparm fonctionne… même si ça balance un “invalid argument”, le disque dur devient silencieux.
Avec une mise en veille qui fonctionne, la solution serait donc l'usage d'un script/daemon…
Cadeau, le résultat de…
hdparm -I /dev/sda
Penser à faire un sync
avant la mise en veille du disque dur.
Problème: Si j'avais mis cette solution de côté, c'est parce que la mise en veille s'effectuait bien, mais que le disque dur était malgré tout réveillé régulièrement sans que je lui demande. Il va donc falloir être attentif à ça.
Questionnement:
Pour le moment, je n'arrive pas à le faire se monter automatiquement. Si je fais un ls
sur le répertoire sans qu'il soit monté, ça poireaute indéfiniment…
Présence d'un avertissement dans dmesg:
Parent hub missing LPM exit latency info. Power management will be impacted.
[149473.523522] usb 1-1.2: new full-speed USB device number 5 using dwc_otg [149473.644643] usb 1-1.2: Parent hub missing LPM exit latency info. Power management will be impacted. [149473.656284] usb 1-1.2: not running at top speed; connect to a high speed hub [149473.668122] usb 1-1.2: New USB device found, idVendor=0bc2, idProduct=3312 [149473.680596] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [149473.690020] usb 1-1.2: Product: Expansion Desk [149473.696509] usb 1-1.2: Manufacturer: Seagate [149473.701126] usb 1-1.2: SerialNumber: NA4J5HJP [149473.724069] usb-storage 1-1.2:1.0: USB Mass Storage device detected [149473.736301] scsi0 : usb-storage 1-1.2:1.0 [149474.754993] scsi 0:0:0:0: Direct-Access Seagate Expansion Desk 0316 PQ: 0 ANSI: 6 [149474.791483] sd 0:0:0:0: Attached scsi generic sg0 type 0 [149485.067623] sd 0:0:0:0: [sda] 3907029167 512-byte logical blocks: (2.00 TB/1.81 TiB) [149485.079613] sd 0:0:0:0: [sda] Write Protect is off [149485.087293] sd 0:0:0:0: [sda] Mode Sense: 2b 00 10 08 [149485.088661] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA [149485.168769] sda: sda1 [149485.194432] sd 0:0:0:0: [sda] Attached SCSI disk
Une remarque en commentaire sur ce point: http://askubuntu.com/questions/210879/external-usb-3-drive-not-recognized
La carte son FastTrack Pro fonctionne avec ALSA. MPD fonctionne également (penser à l'ajouter au groupe “audio”: addgroup mpd audio)
J'ai retiré le module du chipset son intégré au raspberry (dans /etc/modules je crois), vu que je ne m'en sert pas car j'ai une carte son externe.
Quand pulseaudio tourne sans toucher à sa configuration, il met un “Warn” en disant que les réglages se font pour chaque utilisateur. Cool, mais quoi faire plus précisément ? Ok, ce warn est un bug (voir bugtracker debian), on peut l'ignorer.
Reste à comprendre que la session pulseaudio peut être lancée par les applacations elles-mêmes (auto-spawn). Et qu'on peut aussi lancer tuer le daemon avec:
pulseaudio -D # démarrer pulseaudio -k # tuer
Sans rien toucher, et en essayant de lire un son en utilisant ALSA pendant que pulseaudio tourne, j'avais droit à de jolis freezes du système complet. La raison reste à identifier, il me semble que ça ne le refait plus.
Maintenant, il faut activer le module “network” de pulseaudio. L'essentiel se passe dans /etc/pulse/default.pa.
Etat actuel: mpd tourne bien avec le module de sortie 'pulse'. Par contre, si j'essaie de lire une video avec VLC/Mplayer depuis mon poste, j'ai des coupures bien chiantes (conso CPU ~30%), le problème pourrait venir du buffering, des priorités temps-réel, du resampling qui consomme, que sais-je…
27/10/2014:
J'ai de nouveau des freezes lorsque je lance pulseaudio (en démon système) sur la carte son externe. J'ai pourtant pris quelques précautions:
mpd
)Le freeze survient au moment de lancer pulseaudio (et non pas au moment de brancher la carte son).
Edit: oh, après avoir remis pulseaudio en mode «utilisateur» (plutôt que système) et suivi la partie “dwc_otg.speed=1” de cet article, le lancement de pulseaudio n'a pas foiré: http://wiki.linuxaudio.org/wiki/raspberrypi (lien trouvé grâce aux puredataeux)
Edit2: maintenant j'ai ces messages dans dmesg:
[ 138.181682] usb-audio: Fast Track Pro switching to config #2 [ 138.181800] snd-usb-audio: probe of 1-1.3.1:1.0 failed with error -5 [ 138.185585] usb-audio: Fast Track Pro config OK [ 138.212720] usbcore: registered new interface driver snd-usb-audio [ 170.919558] INFO:: schedule_periodic: Insufficient periodic bandwidth for periodic transfer. [ 170.919558] [ 170.919610] ERROR::dwc_otg_hcd_urb_enqueue:544: DWC OTG HCD URB Enqueue failed adding QTD. Error status -1 [ 170.919610] [ 170.919636] cannot submit urb 0, error -1: unknown error [ 253.189425] INFO:: schedule_periodic: Insufficient periodic bandwidth for periodic transfer. [ 253.189425] [ 253.189477] ERROR::dwc_otg_hcd_urb_enqueue:544: DWC OTG HCD URB Enqueue failed adding QTD. Error status -1 [ 253.189477] [ 253.189503] cannot submit urb 0, error -1: unknown error [ 1836.221894] bcm2708_fb_blank(1) returns=1 p[1]=0x80000000 [ 2168.560067] INFO:: schedule_periodic: Insufficient periodic bandwidth for periodic transfer. [ 2168.560067] [ 2168.560119] ERROR::dwc_otg_hcd_urb_enqueue:544: DWC OTG HCD URB Enqueue failed adding QTD. Error status -1 [ 2168.560119] [ 2168.560145] cannot submit urb 0, error -1: unknown error
Sûrement causés par le changement dans la ligne de boot. D'autres personnes rencontrent ce type de problème: http://puredata.info/docs/raspberry-pi
28/10/2014:
Bon, je confirme que sans le petit bout de dwc_otg.speed=1
, le système saute à la lecture/démarrage de pulseaudio. Peut-être pas à tous les coups…
Cette fois-ci, je ne passe plus par un hub auto-alimenté, mais j'ai branché directement la carte son au raspberry (ça ne semble pas changer grand chose).
J'avais tenté de retirer le dwc_otg.speed=1 car les messages d'erreur que je récuperais dans mon dmesg font que la lecture sous MPD saute, et que je suis obligé de décharger/recharger le module snd_usb_audio pour que ça refonctionne (uniquement un temps). Ces coupures se faisaient fréquentes et arrivaient quand je changeais de stream MP3, je me demande si l'activité sur la liaison ethernet pourrait aussi être en rapport avec ces problèmes.
Voir aussi: setup simple de PA: http://rootprompt.apatsch.net/2013/02/20/raspberry-pi-network-audio-player-pulseaudio-dlna-and-bluetooth-a2dp-part-1-pulseaudio/
Tentative avec moc
(mocp). Ne prend pas en charge pulseaudio.
Je dis ça mais en même temps maintenant, il démarre le daemon automatiquement, et consomme 60%+30% du CPU, donc son hachuré.
N'oublions pas que cet enfoiré de pulseaudio vient court-circuiter le .asoundrc pour s'imposer quelle que soit l'application qui démarre. Résultat le plus simple pour tenter de démarrer une application sans pulseaudio, c'est de le désinstaller. (Bon, on a ptet la solution pasuspend… j'essayerai la prochaine fois)
Voir la suite par ici: mpd-raspberry-alsa
Que viennent foutre là triggerhappy plymouth plymouth-log
?
update-rc.d -f nom_service remove
Source: http://linuxfr.org/news/votre-blogue-a-la-maison-sur-raspberry-pi#faisons-un-peu-de-m%C3%A9nage
lsmod affiche des modules de son dont nous n'aurons pas besoin. Dans le fichier /etc/modules il suffit de commenter le module son:
snd-bcm2835 snd_soc_pcm512x
… ça va pas être de la tarte.
Problème: on ne va pas réveiller le disque dur externe à chaque fois qu'on veut jouer un fichier situé sur l'ordi portable.
Une piste: http://www.musicpd.org/doc/user/plugin_reference.html#proxy_database
mpd installé à la fois sur le raspberry, et l'ordi portable.
BDD sur l'ordi portable. Elle contient: les fichiers audio locaux, les fichiers audio du disque dur raspberry externe, les streams radios. A chaque rafraichissement de la BDD, on réveille le DD externe, ce qui ne serait pas trop grave.
Utiliser autofs+sshfs pour accéder: à la BDD, aux fichiers de l'ordi portable.
Utiliser autofs pour accéder au disque dur externe USB.
Suite ici: mpd-raspberry-alsa
J'ai oublié le nom du client IRC, mais on peut se dispenser d'un bouncer si on utilise ce client. En gros, le front-end vient se câler sur la partie daemon du client IRC.
Quassel. Installer quassel-core installe les librairies qt4, ça va encore. Par contre la partie cliente sur une Debian fraîche installe 250Mo de librairies. Tandis que hexchat prends 10Mo. Genre ça installe phonon, vlc, matroska… à méditer du coup, on va y'aller progressivement.
Smuxi, lui, nécessite Mono. Du coup c'est un peu pareil…
http://raspberrypi.stackexchange.com/questions/164/how-do-i-update-software-and-firmware
En résumé, installer rpi-update, et l'exécuter.
C'est par ici: https://yunohost.org/#/install_manually
L'installation sur un raspberry prend un peu de temps et installe une bonne 50aine de paquets (à moins que ça ne soit plutôt 300 wouah), parmi lesquels: nginx, mysql…
Echec lors de l'installation:
Traitement des actions différées (« triggers ») pour man-db (2.7.0.2-5) ... Paramétrage de libnewt0.52:armhf (0.52.17-1) ... Paramétrage de whiptail (0.52.17-1) ... Traitement des actions différées (« triggers ») pour libc-bin (2.19-13) ... ======== Checking domain ======== ======== Adding repositories ======== OK ======== Install ======== ======== Installation failed ======== Rolling back have to be done manually ! Check your legacy configuration files => '/etc/yunohost/.legacy' Check install logs => '/var/log/yunohost.log' and '/var/log/yunohost.error'
Le répertoire /etc/yunohost/.legacy est vide.
Le fichier /var/log/yunohost.error inexistant.
Le fichier /var/log/yunohost.log décrit l'échec de dpkg lors de l'installation:
Préparation du dépaquetage de .../haste_1.0-beta4~megusta1_all.deb ... Dépaquetage de haste (1.0-beta4~megusta1) ... Traitement des actions différées (« triggers ») pour man-db (2.7.0.2-5) ... Traitement des actions différées (« triggers ») pour mime-support (3.58) ... Traitement des actions différées (« triggers ») pour dbus (1.8.12-3) ... Des erreurs ont été rencontrées pendant l'exécution : /var/cache/apt/archives/mysql-server-5.5_5.5.40-1+rpi1_armhf.deb /var/cache/apt/archives/slapd_2.4.40-3_armhf.deb /var/cache/apt/archives/postfix_2.11.3-1_armhf.deb /var/cache/apt/archives/yunohost-config-tahoe_2.0-rc1~megusta1_all.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
Le script d'installation ajoute le dépot APT de yunohost directement dans /etc/apt/sources.list, il serait préférable de le mettre dans /etc/apt/sources.d/.
Le script vérifie t-il si la version de la distribution ajoutée correspond au dépot de Yunohost ? (A quelle version de Debian correspond “Megusta” ?)
Et donc oui, je n'ai pas été assez attentif, yunohost est prévu pour Wheezy et n'est pas censé tourner avec Jessie.