*.conf
de ALSA, MPD, Upmpdcli et ShairportSync.wget http://tinycorelinux.net/7.x/armv6/test_releases/piCore-7.1beta4.zip unzip piCore-7.1beta4.zip sudo dd bs=4M if=piCore-7.1beta4.img of=/dev/sdb sudo sync
gparted
pour étendre la deuxième partition et créer une troisième grosse partition swap (~2GB) (ou bien en ligne de commande en suivant la section “SD card partitioning” de README). tce-load -wi wifi.tcz firmware-brcmfmac43430.tcz sudo reboot sudo wifi.sh [configurer le wifi] sudo vi /opt/bootlocal.sh [ajouter une ligne: 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 [vérifier les réglages de la carte son] ###### A faire seulement si des modifications pendant la commande "sudo alsamixer" #### ### Sinon, pas besoin de cette partie sur "alsactl" : sudo alsactl store sudo echo "var/lib/alsa" >> /opt/.filetool.lst sudo vi /opt/bootlocal.sh [ajouter une ligne: alsactl restore] ############################################################################ sudo vi /etc/asound.conf [voir le contenu plus bas] sudo echo "etc/asound.conf" >> /opt/.filetool.lst filetool.sh -b
/etc/asound.conf
: pcm.!default { type hw card 0 } ctl.!default { type hw card 0 }
#### Créer un dossier persistant de compilation #### sudo mkdir /mnt/mmcblk0p2/compile sudo chown tc:staff /mnt/mmcblk0p2/compile #### Préparation pour compiler #### tce-load -wi squashfs-tools.tcz compile-essentials.tcz binutils-dev.tcz pkg-config.tcz [compilation générale] tce-load -wi glib2-dev boost-dev.tcz alsa-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 [pour mpd] # Note : j'avais besoin de recompiler libssh2 # Il suffit d'adapter la méthode http://distro.ibiblio.org/tinycorelinux/7.x/armv7/tcz/src/libssh2/ # Remplacer les extensions /mnt/mmcblk0p2/tce/optional/libssh2-dev.tcz et # /mnt/mmcblk0p2/tce/optional/libssh2.tcz et rebooter #### Export variables pour compilation #### export CFLAGS="-Os -pipe" export CXXFLAGS="-Os -pipe -fno-exceptions -fno-rtti" export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig cd /mnt/mmcblk0p2/compile wget http://www.musicpd.org/download/mpd/0.19/mpd-0.19.15.tar.xz tar Jxvf mpd-0.19.15.tar.xz cd mpd-0.19.15 ../mpd_build_configure ################ le contenu du 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 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 flac.tcz libvorbis.tcz ########################################### vi /mnt/mmcblk0p2/tce/onboot.lst [ajouter une ligne : mpd-perso.tcz] [créer le fichier /usr/local/etc/mpd.conf (voir plus bas)] ## 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 sudo reboot
/usr/local/etc/mpd.conf
: audio_output { type "alsa" name "Interface USB/SPDIF XMOS" device "plughw:0,0" }
tce-load -i squashfs-tools.tcz compile-essentials.tcz binutils-dev.tcz pkg-config.tcz tce-load -wi curl-dev.tcz expat2-dev.tcz libmpdclient-dev.tcz [pour upmpdcli]
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.3.tar.gz tar zxvf libupnp-1.6.19.jfd3.tar.gz tar zxvf libupnpp-0.14.1.tar.gz tar zxvf upmpdcli-1.1.3.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.3 ./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 # D'abord libconfig : export CFLAGS="-Os -pipe" export CXXFLAGS="-Os -pipe" export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig 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 export CXXFLAGS="-Os -pipe -fno-exceptions -fno-rtti" cd /mnt/mmcblk0p2/compile/ wget https://github.com/mikebrady/shairport-sync/archive/2.8.1.tar.gz tar zxvf 2.8.1.tar.gz cd shairport-sync-2.8.1 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 deux lignes: "sleep 5" et "shairport-sync -c /home/tc/shairport-sync.conf &"] filetool.sh -b sudo reboot
/home/
et /opt/
. Enlever les packages non nécessaires dans /mnt/mmcblk0p2/tce/onboot.lst
. Et reboot !/mnt/mmcblk0p2/tce/onboot.lst
(wifi désactivé) #firmware-brcmfmac43430.tcz #wifi.tcz openssh.tcz alsa.tcz mpd-perso.tcz upmpdcli.tcz shairport-sync.tcz
et le fichier /opt/bootlocal.sh
#!/bin/sh # Start serial terminal /usr/sbin/startserialtty & # Set CPU frequency governor to ondemand (default is performance) echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # Load modules /sbin/modprobe i2c-dev # Start openssh daemon /usr/local/etc/init.d/openssh start # ------ Put other system startup commands below this line #wifi.sh -a -w 2>&1 > /tmp/wifi.log #alsactl restore mpd /usr/local/etc/mpd.conf su tc -c "upmpdcli -D -c /home/tc/upmpdcli.conf" # Attendre 5 secondes avant de charger l'extension shairport-sync : sleep 5 shairport-sync -c /home/tc/shairport-sync.conf &
/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
nozswap
dans /mnt/mmcblk0p1/cmdline.txt
(monter d'abord la partition : mount /mnt/mmcblk0p1
) tc@box:~$ free -m total used free shared buffers cached Mem: 925 78 847 9 6 29 -/+ buffers/cache: 41 883 Swap: 1998 0 1998
(la partition swap sur la carte SD est de 2GB) et on peut le comparer avec la situation sans l'option nozswap
tc@box:~$ free -m total used free shared buffers cached Mem: 925 78 846 9 6 29 -/+ buffers/cache: 42 883 Swap: 2221 0 2221
gpu_mem=16
vers la fin du fichier /mnt/mmcblk0p1/config.txt
pour réduire à 16MB (minimal). On récupère 973-925=48MB de RAM :
tc@box:~$ free -m total used free shared buffers cached Mem: 973 77 895 9 6 29 -/+ buffers/cache: 41 932 Swap: 1998 0 1998
/mnt/mmcblk0p1/config.txt
... ... gpu_mem=16 #---------------------------------------------------- # Enable peripheral buses #dtparam=i2c=on,spi=on,i2s=on,i2c_vc=on
sudo vi /opt/bootsync.sh filetool.sh -b
/dev/sdb
sudo dd bs=4M if=/dev/sdb of=piCore-7.1beta4_backupMySDCard.img