wget http://tinycorelinux.net/7.x/armv6/releases/RPi/piCore-7.0.zip unzip piCore-7.0.zip sudo dd bs=4M if=piCore-7.0.img of=/dev/sdb sudo sync
nozswap
. Cause ? peut-être la carte Raspberry Pi est trop ancienne, c'est le modèle B rev.1 Edimax EW-7811UN Nano Adaptateur clé USB sans fil 150 Mbps
. tce-load -wi wifi.tcz firmware-rtlwifi.tcz sudo /usr/local/bin/wifi.sh [configurer le wifi] sudo vi /opt/bootlocal.sh [ajouter une ligne: /usr/local/bin/wifi.sh -a -w 2>&1 > /tmp/wifi.log] filetool.sh -b
wifi.sh
enregistre l'info dans le fichier /home/tc/wifi.db
qui sera utilisé automatiquement au boot pour la connexion wifi. Il ne faut pas le supprimer !tce-load -wi alsa.tcz sudo alsamixer sudo alsactl store sudo echo "var/lib/alsa" >> /opt/.filetool.lst [créer le fichier /etc/asound.conf] sudo echo "etc/asound.conf" >> /opt/.filetool.lst sudo vi /opt/bootlocal.sh [ajouter une ligne: alsactl restore] filetool.sh -b
/etc/asound.conf
: pcm.!default { type hw card 0 } ctl.!default { type hw card 0 }
tce-load -wi mpd [créer le fichier /usr/local/etc/mpd.conf] ## tester ## sudo mpd /usr/local/etc/mpd.conf ############ sudo echo "usr/local/etc/mpd.conf" >> /opt/.filetool.lst sudo vi /opt/bootlocal.sh [ajouter une ligne: mpd /usr/local/etc/mpd.conf] filetool.sh -b
/usr/local/etc/mpd.conf
: audio_output { type "alsa" name "FX Audio D802" device "plughw:0,0" }
cd /mnt/mmcblk0p2/compile wget http://www.musicpd.org/download/mpd/0.19/mpd-0.19.14.tar.xz tar Jxvf mpd-0.19.14.tar.xz cd mpd-0.19.14 tce-load -i squashfs-tools.tcz compile-essentials.tcz binutils-dev.tcz pkg-config.tcz tce-load -i glib2-dev boost-dev.tcz alsa-dev.tcz audiofile-dev.tcz libmpdclient-dev.tcz libmad-dev.tcz curl-dev.tcz faad2-dev.tcz mpg123-dev.tcz libsndfile-dev.tcz icu-dev.tcz sqlite3-dev.tcz lame-dev.tcz expat2-dev.tcz libid3tag-dev.tcz tcp_wrappers-dev.tcz export CFLAGS="-Os -pipe" export CXXFLAGS="-Os -pipe -fno-exceptions -fno-rtti" export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig ../mpd_build_configure [voici le fichier :] ################ ../mpd_build_configure ####################### ./configure \ --prefix=/usr/local \ --enable-libmpdclient \ --disable-adplug \ --disable-ao \ --disable-bzip2 \ --disable-dsd \ --disable-ffmpeg \ --disable-fluidsynth \ --disable-gme \ --disable-ipv6 \ --disable-jack \ --disable-mikmod \ --disable-mms \ --disable-modplug \ --disable-mpc \ --disable-nfs \ --disable-openal \ --disable-opus \ --disable-oss \ --disable-pipe-output \ --disable-pulse \ --disable-recorder-output \ --disable-roar \ --disable-shine-encoder \ --disable-shout \ --disable-sidplay \ --disable-smbclient \ --disable-soundcloud \ --disable-soxr \ --disable-twolame-encoder \ --disable-upnp \ --disable-wavpack \ --disable-wave-encoder \ --disable-wildmidi \ --disable-zzip \ --with-zeroconf=no ############################################################################# make mkdir /tmp/ext sudo make DESTDIR=/tmp/ext install-strip cd /tmp mkdir -p /tmp/ext-doc/usr/local sudo mv /tmp/ext/usr/local/share /tmp/ext-doc/usr/local/ mksquashfs ext mpd-perso.tcz mksquashfs ext-doc mpd-perso-doc.tcz mv mpd-perso.tcz mpd-perso-doc.tcz /mnt/mmcblk0p2/tce/optional/ tce-load -i mpd-perso.tcz #### Créer un fichier contenant les dépendances ########### #### /mnt/mmcblk0p2/tce/optional/mpd-perso.tcz.dep #### glib2.tcz audiofile.tcz libmpdclient.tcz libmad.tcz curl.tcz faad2.tcz mpg123.tcz icu.tcz libsndfile.tcz sqlite3.tcz libid3tag.tcz lame.tcz expat2.tcz tcp_wrappers.tcz ########################################### vi /mnt/mmcblk0p2/tce/onboot.lst [remplacer la ligne mpd.tcz par mpd-perso.tcz] sudo reboot
tce-load -wi squashfs-tools.tcz compile-essentials.tcz binutils-dev.tcz pkg-config.tcz [compilation générale] tce-load -wi curl-dev.tcz expat2-dev.tcz libmpdclient-dev.tcz [pour upmpdcli]
# Créer un dossier persistant de compilation : sudo mkdir /mnt/mmcblk0p2/compile sudo chown tc:staff compile cd /mnt/mmcblk0p2/compile # Dossier temporaire pour la création de packages : mkdir /tmp/ext ##### Télécharger les sources #### wget http://www.lesbonscomptes.com/upmpdcli/downloads/libupnp-1.6.19.jfd3.tar.gz wget http://www.lesbonscomptes.com/upmpdcli/downloads/libupnpp-0.14.1.tar.gz wget http://www.lesbonscomptes.com/upmpdcli/downloads/upmpdcli-1.1.2.tar.gz tar zxvf libupnp-1.6.19.jfd3.tar.gz tar zxvf libupnpp-0.14.1.tar.gz tar zxvf upmpdcli-1.1.2.tar.gz ####################################### #### Export variables pour compilation #### export CFLAGS="-Os -pipe" export CXXFLAGS="-Os -pipe" ["-fno-exceptions -fno-rtti" ne passe pas pour upmpdcli] export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig ######################################################################## #### libupnp #### # compiler libupnp cd /mnt/mmcblk0p2/compile/libupnp-1.6.19.jfd3 ./configure --prefix=/usr/local make # Ensuite installer dans /tmp/ext : sudo make DESTDIR=/tmp/ext install-strip cd /tmp [#### examiner les fichiers dans /tem/ext ####] # Séparer les fichiers pour réduire la taille du package principal : mkdir -p /tmp/ext-dev/usr/local/lib sudo mv /tmp/ext/usr/local/include /tmp/ext-dev/usr/local/ sudo mv /tmp/ext/usr/local/lib/*.a /tmp/ext-dev/usr/local/lib/ sudo mv /tmp/ext/usr/local/lib/*.la /tmp/ext-dev/usr/local/lib/ sudo mv /tmp/ext/usr/local/lib/pkgconfig /tmp/ext-dev/usr/local/lib/ # Créer les deux packages : mksquashfs ext libupnp.tcz mksquashfs ext-dev libupnp-dev.tcz # Mettre les deux packages au bon endroit, et les charger avant de commencer la compilation suivante : mv libupnp.tcz libupnp-dev.tcz /mnt/mmcblk0p2/tce/optional/ tce-load -i libupnp.tcz libupnp-dev.tcz sudo rm -rf /tmp/ext/* sudo rm -rf /tmp/ext-dev ################################# #### libupnpp #### cd /mnt/mmcblk0p2/compile/libupnpp-0.14.1 ./configure --prefix=/usr/local make sudo make DESTDIR=/tmp/ext install-strip cd /tmp mkdir -p /tmp/ext-dev/usr/local/lib sudo mv /tmp/ext/usr/local/include /tmp/ext-dev/usr/local/ sudo mv /tmp/ext/usr/local/lib/*.la /tmp/ext-dev/usr/local/lib/ mksquashfs ext libupnpp.tcz mksquashfs ext-dev libupnpp-dev.tcz mv libupnpp.tcz libupnpp-dev.tcz /mnt/mmcblk0p2/tce/optional/ tce-load -i libupnpp.tcz libupnpp-dev.tcz sudo rm -rf /tmp/ext/* sudo rm -rf /tmp/ext-dev ############################## #### upmpdcli #### cd /mnt/mmcblk0p2/compile/upmpdcli-1.1.2 ./configure --prefix=/usr/local --sysconfdir=/usr/local/etc make sudo make DESTDIR=/tmp/ext install-strip cd /tmp mksquashfs ext upmpdcli.tcz mv upmpdcli.tcz /mnt/mmcblk0p2/tce/optional/ tce-load -i upmpdcli.tcz ############################# #### tester #### upmpdcli -D -c /usr/local/etc/upmpdcli.conf ############################################ #### Créer le fichier de dépendances ########### #### /mnt/mmcblk0p2/tce/optional/upmpdcli.tcz.dep #### libupnp.tcz libupnpp.tcz ################################################
vi /mnt/mmcblk0p2/tce/onboot.lst [ajouter upmpdcli.tcz] cp /usr/local/etc/upmpdcli.conf /home/tc/ vi /home/tc/upmpdcli.conf [changer "friendlyname = " et "ohproductroom =", ajouter/modifier la liste des radios, ...] sudo vi /opt/bootlocal.sh [ajouter une ligne: su tc -c "upmpdcli -D -c /home/tc/upmpdcli.conf"] filetool.sh -b sudo reboot
Shairport
directement. Mais ce dernier est obsolète.tinysvcmdn
au lieu de avahi
pour réduire les dépendances. Mais il fonctionne moins bien que avahi
.tce-load -i squashfs-tools.tcz compile-essentials.tcz binutils-dev.tcz pkg-config.tcz tce-load -wi alsa-dev.tcz openssl-dev.tcz libdaemon-dev.tcz popt-dev.tcz [éventuellement d'autres packages ..., relancer avec seulement l'option '-i' pour les packages déjà téléchargés] mkdir /tmp/ext export CFLAGS="-Os -pipe" export CXXFLAGS="-Os -pipe" export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig # D'abord libconfig : cd /mnt/mmcblk0p2/compile/ wget http://www.hyperrealm.com/libconfig/libconfig-1.5.tar.gz tar zxvf libconfig-1.5.tar.gz cd libconfig-1.5 ./configure --prefix=/usr/local make sudo make DESTDIR=/tmp/ext install-strip cd /tmp [#### examiner les fichiers dans /tem/ext ####] mkdir -p /tmp/ext-dev/usr/local/lib sudo mv /tmp/ext/usr/local/include /tmp/ext-dev/usr/local/ sudo mv /tmp/ext/usr/local/share /tmp/ext-dev/usr/local/ sudo mv /tmp/ext/usr/local/lib/*.a /tmp/ext-dev/usr/local/lib/ sudo mv /tmp/ext/usr/local/lib/*.la /tmp/ext-dev/usr/local/lib/ sudo mv /tmp/ext/usr/local/lib/pkgconfig /tmp/ext-dev/usr/local/lib/ mksquashfs ext libconfig.tcz mksquashfs ext-dev libconfig-dev.tcz mv libconfig.tcz libconfig-dev.tcz /mnt/mmcblk0p2/tce/optional/ tce-load -i libconfig.tcz libconfig-dev.tcz sudo rm -rf /tmp/ext/* sudo rm -rf /tmp/ext-dev # Maintenant shairport-sync cd /mnt/mmcblk0p2/compile/ git clone https://github.com/mikebrady/shairport-sync.git cd shairport-sync autoreconf -i -f ./configure --prefix=/usr/local --with-alsa --with-tinysvcmdns --with-ssl=openssl make sudo make DESTDIR=/tmp/ext install-strip cd /tmp mksquashfs ext shairport-sync.tcz mv shairport-sync.tcz /mnt/mmcblk0p2/tce/optional/ tce-load -i shairport-sync.tcz #### tester #### shairport-sync ############################################ #### Créer le fichier de dépendances ######################## #### /mnt/mmcblk0p2/tce/optional/shairport-sync.tcz.dep #### popt.tcz libdaemon.tcz libconfig.tcz ############################################################# vi /mnt/mmcblk0p2/tce/onboot.lst [ajouter shairport-sync.tcz] cp /etc/shairport-sync.conf /home/tc/shairport-sync.conf sudo vi /opt/bootlocal.sh [ajouter une ligne: shairport-sync -c /home/tc/shairport-sync.conf &] filetool.sh -b sudo reboot
tce-load -i squashfs-tools.tcz compile-essentials.tcz binutils-dev.tcz pkg-config.tcz git.tcz git clone https://github.com/openhome/ohdevtools.git git clone https://github.com/openhome/ohPlayer.git cd ohPlayer/ ############################################################################## # Editer le fichier ../ohdevtools/default_platform.py pour ajouter 'armv6l'. # pour supporter ma vielle carte Raspberryp Pi Modèle B Rev 1. # $ diff -Nu default_platform.py.orig defa ult_platform.py --- default_platform.py.orig +++ default_platform.py @@ -6,7 +6,7 @@ if platform.system() == 'Linux' and platform.architecture()[0] == '32bit' and platform.machine()[0:3] == 'ppc': return 'Linux-ppc32' if platform.system() == 'Linux' and platform.architecture()[0] == '32bit': - if platform.machine() == 'armv7l': + if platform.machine() == 'armv7l' or 'armv6l': return 'Linux-armhf' else: return 'Linux-x86' ############################################################ ./go fetch --all tce-load -i alsa-dev.tcz tce-load -wi glib2-dev.tcz cd linux # éditer le fichier OptionalFeatures.h pour activer le support mp3 aac # éditer le fichier Makefile.raspbian pour utiliser PREFIX = /usr/local make raspbian DISABLE_GTK=y sudo make raspbian-install openhome-player ################################ # Ça ne marche pas ! $ openhome-player terminate called after throwing an instance of 'OpenHome::StoreKeyNotFound' Aborted ########################
/home/
et /opt/
. Enlever les packages non nécessaires dans /mnt/mmcblk0p2/tce/onboot.lst
. Et reboot !/mnt/mmcblk0p2/tce/onboot.lst
openssh.tcz firmware-rtlwifi.tcz wifi.tcz alsa.tcz mpd-perso.tcz upmpdcli.tcz shairport-sync.tcz
/mnt/mmcblk0p2/tce/onboot.lst
et reboot. Ensuite si on veut le supprimer complètement, il suffit de le supprimer dans /mnt/mmcblk0p2/tce/optional
.tce-load -i squashfs-tools.tcz # Lister les fichier : unsquashfs -l /mnt/mmcblk0p2/tce/optional/nom_package.tcz # Extraire un package : unsquashfs -f -d /chemin_vers_dossier-destination nom_package.tcz
tc@rpi:~$ free -m total used free shared buffers cached Mem: 180 99 80 9 11 44 -/+ buffers/cache: 43 137 Swap: 1637 0 1637
top
lors d'une lecture d'un fichier flac 24bbit/96kHz Mem: 108964K used, 76320K free, 10004K shrd, 12156K buff, 45924K cached CPU: 9.7% usr 3.0% sys 0.0% nic 84.4% idle 0.0% io 0.0% irq 2.8% sirq Load average: 0.00 0.08 0.12 1/119 1165 PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND 1036 1 root S 81080 43.5 0 12.4 mpd /usr/local/etc/mpd.conf 1043 1 tc S 85128 45.7 0 0.8 upmpdcli -D -c /home/tc/upmpdcli.conf 1165 1134 tc R 3164 1.7 0 0.8 top 1131 872 root S 4840 2.6 0 0.4 sshd: tc@pts/0 1128 2 root SW 0 0.0 0 0.4 [kworker/0:1] 952 2 root SW 0 0.0 0 0.2 [RTW_CMD_THREAD] 7 2 root SW 0 0.0 0 0.2 [rcu_preempt] 21 2 root SW 0 0.0 0 0.2 [kworker/u2:1] 1044 1 root S 15016 8.0 0 0.0 shairport-sync -c /home/tc/shairport-sync.conf 978 1 root S 5368 2.8 0 0.0 wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B -D wext 872 1 root S 4840 2.6 0 0.0 /usr/local/sbin/sshd 826 1 tc S 3164 1.7 0 0.0 -sh 1134 1131 tc S 3164 1.7 0 0.0 -sh 832 827 root S 3036 1.6 0 0.0 /sbin/getty -L ttyAMA0 115200 vt100 1 0 root S 3032 1.6 0 0.0 init 1035 1 root S 3032 1.6 0 0.0 /sbin/udhcpc -b -i eth0 -x hostname rpi -p /var/run/udhcpc.eth0.pid 827 1 root S 3032 1.6 0 0.0 {startserialtty} /bin/sh /usr/sbin/startserialtty 1021 1 root S 3032 1.6 0 0.0 udhcpc -i wlan0 -x hostname rpi 90 1 root S 2048 1.1 0 0.0 /sbin/udevd --daemon 727 90 root S 2044 1.1 0 0.0 /sbin/udevd --daemon 728 90 root S 2044 1.1 0 0.0 /sbin/udevd --daemon 987 2 root SW 0 0.0 0 0.0 [kworker/0:3] 3 2 root SW 0 0.0 0 0.0 [ksoftirqd/0] 1116 2 root SW 0 0.0 0 0.0 [kworker/0:0] 45 2 root SW 0 0.0 0 0.0 [mmcqd/0] 633 2 root SW< 0 0.0 0 0.0 [kworker/u3:11] 2 0 root SW 0 0.0 0 0.0 [kthreadd] 11 2 root SW 0 0.0 0 0.0 [kdevtmpfs] 25 2 root SW 0 0.0 0 0.0 [fsnotify_mark] 628 2 root SW< 0 0.0 0 0.0 [kworker/u3:6] 5 2 root SW< 0 0.0 0 0.0 [kworker/0:0H] 8 2 root SW 0 0.0 0 0.0 [rcu_sched] 9 2 root SW 0 0.0 0 0.0 [rcu_bh] 10 2 root SW< 0 0.0 0 0.0 [khelper] 12 2 root SW< 0 0.0 0 0.0 [netns] 13 2 root SW< 0 0.0 0 0.0 [perf] 14 2 root SW 0 0.0 0 0.0 [khungtaskd] 15 2 root SW< 0 0.0 0 0.0 [writeback] 16 2 root SW< 0 0.0 0 0.0 [crypto] 17 2 root SW< 0 0.0 0 0.0 [bioset] 18 2 root SW< 0 0.0 0 0.0 [kblockd] 20 2 root SW< 0 0.0 0 0.0 [rpciod] 24 2 root SW 0 0.0 0 0.0 [kswapd0] 26 2 root SW< 0 0.0 0 0.0 [nfsiod] 35 2 root SW< 0 0.0 0 0.0 [kthrotld] 36 2 root SW< 0 0.0 0 0.0 [VCHIQ-0] 37 2 root SW< 0 0.0 0 0.0 [VCHIQr-0]
et
tc@rpi:~$ cat /proc/asound/FXAUDIOD802/stream0 FX-AUDIO FX-AUDIO-D-802 at usb-20980000.usb-1.3, full speed : USB Audio Playback: Status: Running Interface = 1 Altset = 2 Packet Size = 576 Momentary freq = 96000 Hz (0x60.0000) Interface 1 Altset 1 Format: S16_LE Channels: 2 Endpoint: 4 OUT (ADAPTIVE) Rates: 44100, 48000, 88200, 96000, 176400, 192000 Interface 1 Altset 2 Format: S24_3LE Channels: 2 Endpoint: 4 OUT (ADAPTIVE) Rates: 44100, 48000, 88200, 96000