Outils pour utilisateurs

Outils du site


archlinux:arch_linux_sur_olimex_a20-olinuxino-lime

Arch Linux sur Olimex A20-OLinuXino-LIME

  • Accès ssh pour root : Dans le fichier /etc/ssh/sshd_config, utiliser l'option PermitRootLogin yes.
  • Installer le minimum nécessaire pour compiler
    # pacman -S git base-devel vim wget
    • root ne peut plus exécuter la commande makepkg. On donne user alarm le droit de utiliser sudo
      # EDITOR=vim visudo  (ajouter une ligne "alarm ALL=(ALL) ALL" dans le paragraphe "User privilege specification")
  • Installer package
    $ sudo pacman -S alsa-utils
  • Installer upmpdcli (et mpd bien sûr).
    • Note : cela permet déjà d'utiliser le serveur UPnP (Minimserver) de GoFlex Home.
    • /etc/mpd.conf :
      music_directory         "/archives/music"
      db_file                 "/archives/mpd/database"
      log_file                "/archives/mpd/mpd.log"
      pid_file                "/archives/mpd/pid"
      state_file              "/archives/mpd/state"
      sticker_file            "/archives/mpd/sticker.sql"
      
      input {
              plugin "curl"
      }
      
      audio_output {
              type "alsa"
              name "FX Audio D802"
              device "plughw:0,0"
      }
      
      id3v1_encoding                  "UTF-8"
  • Installer Minimserver et utiliser un disque dur 2.5“ sata connecté sur le port sata : à faire peut-être …
  • Installer LMS : Utiliser AUR logitechmediaserver.
    1. Compiler sous user alarm (temps de compilation : ~2h)
      $ wget https://aur4.archlinux.org/cgit/aur.git/snapshot/logitechmediaserver.tar.gz
      $ tar zxvf logitechmediaserver.tar.gz
      $ cd logitechmediaserver
      $ makepkg -s
    2. Installer et vérifier le serveur
      # pacman -U logitechmediaserver-7.9.0.arch2-1-armv7h.pkg.tar.xz
      # systemctl enable logitechmediaserver
      # systemctl start logitechmediaserver
      # systemctl status logitechmediaserver
      • Désactiver tous les plugins.
  • Installer Squeezelite : Installer le plugin Local Player (voir ici). Ou bien :
    # pacman -S git flac libmad mpg123 libvorbis faad2
    # git clone https://code.google.com/p/squeezelite/
    # cd squeezelite
    # make clean
    # make
    # cp squeezelite /usr/local/bin/
    • Créer le service systemd /etc/systemd/system/squeezelite.service
      [Unit]
      Description=Squeezelite
      After=network.target
      
      [Service]
      Type=simple
      ExecStart=/usr/local/bin/squeezelite -n LimeSqueezelite -o plughw:CARD=FXAUDIOD802,DEV=0 -s 192.168.0.15
      # Le premier lancement ne marche pas "unable to open output device". Relancer le apres 1 minute
      Restart=always
      RestartSec=1min
      
      [Install]
      WantedBy=multi-user.target

      et ensuite

      # systemctl enable squeezelite
      # systemctl start squeezelite
      # systemctl status squeezelite
    • :!: Squeezelite peut monopoliser la sortie audio. Pour cohabiter avec d'autres players, il faut “power off” squeezelite dans l'interface de contrôle après son utilisation.
  • Swap : Optionnel uniquement pour de grosse compilation. Créer un fichier swap de 512MB.
    # dd if=/dev/zero of=/swapfile.img bs=1M count=512
    # mkswap /swapfile.img
    # chmod 0600 /swapfile.img

    et activer le swapfile dans /etc/fstab avec une ligne

    /swapfile.img    none    swap    sw    0    0
  • Optimisation :
    • Examiner les services systemd. Prendre des trucs utiles dans la config de GoFlex Home.
    • Recompiler le noyau : Pas vraiment nécessaire.
      • :!: S'assurer d'abord que chroot fonctionne bien : refaire une installation basique de la même archlinux sur une deuxième carte microSD. A l'aide d'un adaptateur, brancher la première carte microSD sur un port usb (ça sera /dev/sda1), booter sur la deuxième carte microSD. Tester si ”pacman -S“ fonctionne pour réinstaller le kernel officiel. Cela permet de retrouver l'ancien système au cas où le noyau compilé ne démarre pas. Voir la fin de cette page pour les commandes à taper.
      • :!: Je compile un noyau sans support ipv6. Il me faut changer la ligne DHCP=yes en DHCP=v4 dans /etc/systemd/network/wlan0.network et /etc/systemd/network/eth0.network. Sinon pas de connexion réseau. Il faut aussi désactiver udp6 et tcp6 dans /etc/netconfig si utiliser NFS (serveur ou client qui installe rpcbind qui installe libtirpc).
      • Prendre les trois fichiers PKGBUILD, config et linux-armv7.install ici : https://github.com/archlinuxarm/PKGBUILDs/tree/master/core/linux-armv7, et les mettre dans un même dossier. Adapter PKGBUILD et lancer la commande
        $ makepkg -s
    • Info sur les processes (en particulier le RTPRIO) : voir Priorities and policies et Using chrt to set the scheduler
      # ps -eLo pid,pri,rtprio,cmd
        PID PRI RTPRIO CMD
          1  19      - /sbin/init
          2  19      - [kthreadd]
          3  19      - [ksoftirqd/0]
          5  39      - [kworker/0:0H]
          7  19      - [rcu_sched]
          8  19      - [rcu_bh]
          9 139     99 [migration/0]
         10 139     99 [migration/1]
         11  19      - [ksoftirqd/1]
         13  39      - [kworker/1:0H]
         14  39      - [khelper]
         15  19      - [kdevtmpfs]
         16  39      - [netns]
         17  39      - [perf]
         18  19      - [khungtaskd]
         19  39      - [writeback]
         20  14      - [ksmd]
         21  39      - [crypto]
         22  39      - [kintegrityd]
         23  39      - [bioset]
         24  39      - [kblockd]
         25  39      - [ata_sff]
         26  39      - [edac-poller]
         27  39      - [devfreq_wq]
         31  19      - [kswapd0]
         32  19      - [fsnotify_mark]
         73  39      - [kthrotld]
         74  39      - [iscsi_eh]
         75  90     50 [irq/26-sunxi-mm]
         76  90     50 [irq/47-1c0f000.]
         78  19      - [kworker/u4:2]
         93  39      - [deferwq]
         94  19      - [mmcqd/0]
         95  19      - [scsi_eh_0]
         96  39      - [scsi_tmf_0]
         98  39      - [kworker/0:1H]
         99  19      - [jbd2/mmcblk0p1-]
        100  39      - [ext4-rsv-conver]
        113  39      - [kworker/1:1H]
        124  19      - /usr/lib/systemd/systemd-journald
        146  19      - /usr/lib/systemd/systemd-udevd
        164  19      - /usr/lib/systemd/systemd-timesyncd
        164  19      - /usr/lib/systemd/systemd-timesyncd
        170  19      - /usr/bin/haveged -F -w 1024 -v 1
        171  19      - /usr/lib/systemd/systemd-logind
        173  19      - /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
        178  19      - /usr/lib/systemd/systemd-networkd
        183  19      - avahi-daemon: running [alarm.local]
        192  19      - avahi-daemon: chroot helper
        193  19      - /usr/bin/shairport-sync
        193  19      - /usr/bin/shairport-sync
        194  19      - /usr/bin/mpd --no-daemon
        194  19      - /usr/bin/mpd --no-daemon
        194  19      - /usr/bin/mpd --no-daemon
        194  19      - /usr/bin/mpd --no-daemon
        194  90     50 /usr/bin/mpd --no-daemon
        195  19      - /usr/bin/upmpdcli -c /etc/upmpdcli.conf
        195  19      - /usr/bin/upmpdcli -c /etc/upmpdcli.conf
        195  19      - /usr/bin/upmpdcli -c /etc/upmpdcli.conf
        195  19      - /usr/bin/upmpdcli -c /etc/upmpdcli.conf
        195  19      - /usr/bin/upmpdcli -c /etc/upmpdcli.conf
        195  19      - /usr/bin/upmpdcli -c /etc/upmpdcli.conf
        195  19      - /usr/bin/upmpdcli -c /etc/upmpdcli.conf
        195  19      - /usr/bin/upmpdcli -c /etc/upmpdcli.conf
        196  19      - /usr/bin/perl /opt/logitechmediaserver/slimserver.pl --prefsdir /opt/logitechmediaserver/prefs --cachedir /opt/logite
        197  19      - /usr/lib/systemd/systemd-resolved
        198  19      - /usr/bin/sshd -D
        199  19      - /sbin/agetty --noclear tty1 linux
        209  39      - [cfg80211]
        228  19      - /usr/bin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-wlan0.conf -iwlan0
        280  19      - /opt/logitechmediaserver/cache/InstalledPlugins/Plugins/LocalPlayer/Bin/squeezelite-armv6hf -n LimeSqueezelite -o plu
        280  19      - /opt/logitechmediaserver/cache/InstalledPlugins/Plugins/LocalPlayer/Bin/squeezelite-armv6hf -n LimeSqueezelite -o plu
        280  85     45 /opt/logitechmediaserver/cache/InstalledPlugins/Plugins/LocalPlayer/Bin/squeezelite-armv6hf -n LimeSqueezelite -o plu
        280  19      - /opt/logitechmediaserver/cache/InstalledPlugins/Plugins/LocalPlayer/Bin/squeezelite-armv6hf -n LimeSqueezelite -o plu
        434  19      - [kworker/u4:0]
        484  19      - [kworker/0:3]
        524  19      - [kworker/0:1]
        551  19      - [kworker/1:2]
        559  19      - [kworker/1:1]
        569  19      - sshd: root@pts/0
        573  19      - /usr/lib/systemd/systemd --user
        574  19      - (sd-pam)
        577  19      - -bash
        580  19      - ps -eLo pid,pri,rtprio,cmd
archlinux/arch_linux_sur_olimex_a20-olinuxino-lime.txt · Dernière modification: 2017/08/21 12:43 (modification externe)