У цьому підручнику я розповім, як встановити сервер потокового передавання музики (мадсонік) в с Raspberry Pi з ArchLinux ARM.
Щоб переглянути підручник із встановлення Arch Linux на Raspberry Pi ви можете подивитися на це після.
Основними особливостями madsonic є наступні:
- Інтуїтивно зрозумілий веб-інтерфейс
- Підтримує перекодування в різні формати (Наприклад, FLAC> mp3)
- У нього є клієнти для Android та iOS
Обмежити оперативну пам'ять для створення графічного процесора та області обміну (SWAP)
Сервер madsonic працює під Java, тому на 256 Мб оперативної пам'яті Raspberry Pi він використовує близько 50% оперативної пам'яті. У цьому випадку я рекомендую створити файл площа обміну (обмін), щоб у Raspberry Pi не вистачало пам'яті.
1. Ми створюємо файл, який буде використовуватися як область обміну файлами, і призначаємо йому простір 512 МБ
# fallocate -l 512M / файл підкачки
2. Ми призначаємо файлу дозволи на читання та запис.
# chmod 600 / файл підкачки
3. Ми форматуємо як своп
# mkswap / swapfile
3. Ми активуємо своп
# swapon / swapfile
4. Додаємо наступний рядок до файлу / etc / fstab для автоматичного встановлення свопу.
/ swapfile немає swap за замовчуванням 0 0
5. Ми модифікуємо файл /etc/sysctl.d/99-sysctl.conf так що запис у підкачку робиться лише в тому випадку, якщо у нас мало оперативної пам'яті. Додаємо наступний рядок
vm.swappiness = 10
6. Використання команди вільний-х Ми перевіряємо обсяг оперативної пам'яті, який у нас є.
7. Ми модифікуємо файл /boot/config.txt залежно від моделі Raspberry Pi, яку ми маємо, обмежити обсяг оперативної пам'яті, виділеної для графіки.
Ми виділимо 64 Мб оперативної пам'яті для графіки.
- Для Raspberry Pi моделі A (з 256 МБ оперативної пам'яті) ми модифікуємо лінію gpu_mem_256 = 128 по gpu_mem_256 = 64
- Для Raspberry Pi моделі B (з 512 МБ оперативної пам'яті) ми модифікуємо лінійку gpu_mem_512 = 316 по gpu_mem_512 = 64
Розгін (необов’язково)
Ми відредагуємо файл /boot/config.txt і ми прокоментуємо деякі варіанти розгону, знайдені в кінці файлу.
##Modest arm_freq=800 core_freq=300 sdram_freq=400 over_voltage=0 ##Medium #arm_freq=900 #core_freq=333 #sdram_freq=450 #over_voltage=2 ##High #arm_freq=950 #core_freq=450 #sdram_freq=450 #over_voltage=6 ##Turbo #arm_freq=1000 #core_freq=500 #sdram_freq=500 #over_voltage=6
Я скористався скромним варіантом (швидкість 800), з цією швидкістю мій Raspberry Pi Це добре працює.
Інсталяція Madsonic
Madsonic знаходиться в Репозиторій користувачів Arch Linux (AUR), тому нам потрібен пакет base-devel для компіляції програм AUR.
Встановлюємо необхідні пакети:
# pacman -S wget curl base-devel yajl java-runtime libcups
Ми створюємо каталог для компіляції та завантажуємо madsonic з AUR.
$ mkdir build $ cd build $ wget https://aur.archlinux.org/packages/ma/madsonic/madsonic.tar.gz
Ми витягуємо файли та редагуємо файл PKGBUILD додати підтримку процесорів ARM. Шукаємо лінію арка = ('i686' 'x86_64') і додаємо
'armv6h'.
$ tar zxf madsonic.tar.gz $ cd madsonic $ nano PKGBUILD ... arch = ('i686' 'x86_64' 'armv6h')
Ми використовуємо команду makepkg для завантаження та компіляції коду madsonic. Це може зайняти багато часу. Наберіться терпіння.
$ makepkg -g >> PKGBUILD $ makepkg
Команда makepkg Він генерує файл із розширенням .xz, цей файл можна встановити за допомогою pacman.
# pacman -U madsonic-5.0.3860-1-armv6h.pkg.tar.xz
Встановлення Java Oracle для ARM
Після встановлення madsonic я це помітив openjdk використовує майже 100% процесор, і тому це свідчить про низьку продуктивність Raspberry Pi.
Рішенням цієї проблеми є використання Oracle Java для архітектури ARM. Для отримання додаткової інформації з цієї теми ви можете переглянути статтю oracle, де вони показують орієнтир Oracle Java проти OpenJDK у цьому за посиланням.
Ми завантажуємо Java Oracle для архітектури ARM
wget --no-cookies \ --no-check-certificate --header "Файл cookie: gpw_e24 = http% 3A% 2F% 2Fwww.oracle.com% 2F; \ oraclelicense = accept-securebackup-cookie" \ "http: / /download.oracle.com/otn-pub/java/jdk/7u55-b13/jdk-7u55-linux-arm-vfp-hflt.tar.gz "
Розпакуйте файл у шляху / opt / java-oracle /
# mkdir / opt / java-oracle # tar -zxf jdk-7u55-linux-arm-vfp-hflt.tar.gz -C / opt / java-oracle
Ми створюємо змінну середовища Java Home та створюємо резервну копію виконуваних файлів OpenJDK Java.
# JHome = / opt / java-oracle / jdk1.7.0_55 # test -L / usr / bin / java && mv /usr/bin/java[,.backup}
Ми створюємо символічні посилання для до Ява y явак.
# ln -sf /opt/java-oracle/jdk1.7.0_55/bin/java / usr / bin / java # ln -sf /opt/java-oracle/jdk1.7.0_55/bin/javac / usr / bin / javac
Тепер ми можемо перевірити встановлення Java за допомогою команди java-версія
[eroland @ alarmpi ~] $ java -version java version "1.7.0_55" Java (TM) SE Runtime Environment (build 1.7.0_55-b13) Java HotSpot (TM) Client VM (build 24.55-b03, змішаний режим)
Ми редагуємо файл конфігурації madsonic таким чином, щоб він використовував Java Oracle, а не Java OpenJDK.
# nano /var/madsonic/madsonic.sh
І ми модифікуємо рядок JAVA_HOME так що це буде наступним чином:
JAVA_HOME = / opt / java-oracle / jdk1.7.0_55 / jre: / usr / lib / jvm / java-7-openjdk
Конфігурація Madsonic
Налаштування madsonic виконується у файлі /var/madsonic/madsonic.sh, перше, що ми робимо, це підтримуємо його.
cp /var/madsonic/madsonic.sh[,.backup}
У цьому файлі ви можете змінити порт, який використовуватиме madsonic (за замовчуванням він використовує порт 4040), шлях до папки, де будуть зберігатися пісні тощо.
Ми додамо a Зовнішній жорсткий диск підключений через USB, де ми будемо відтворювати пісні.
Якщо жорсткий диск відформатовано NTFS, вам потрібно встановити пакет ntfs-3g, щоб встановити диск.
# pacman -S ntfs -3g
Ми створюємо папку, куди буде встановлений жорсткий диск, і надаємо йому необхідні дозволи
# mkdir / mnt / Data # chmod 775 / mnt / Data
Ми отримуємо точку кріплення нашого Жорсткий диск
$ ls -l / dev / disk / by-label / загалом 0 lrwxrwxrwx 1 кореневий корінь 10 грудня 31 1969 Дані -> ../../sda2 lrwxrwxrwx 1 кореневий корінь 10 грудня 31 1969 PS3 -> ../../ sda1
У моєму випадку мене цікавить диск із міткою даних, знайдений у / dev / sda2
Однак використовувати етикетку для кріплення диска не рекомендується, оскільки якщо мітка змінюється, диск неможливо встановити.
Отримуємо унікальний ідентифікатор (UUID) з нашого жорсткого диска.
ls -l / dev / disk / by-uuid /
Ми отримаємо результат, подібний до цього:
[eroland @ alarmpi ~] $ ls -l / dev / disk / by-uuid / total 0 lrwxrwxrwx 1 кореневий корінь 10 грудня 31 1969 19F4-1917 -> ../../sda1 lrwxrwxrwx 1 кореневий корінь 15 грудня 31 1969 2300 -4E18 -> ../../mmcblk0p1 lrwxrwxrwx 1 кореневий корінь 10 грудня 31 1969 58F6AA78F6AA55D2 -> ../../sda2 lrwxrwxrwx 1 кореневий корінь 15 грудня 31 1969 b471cde8-2a15-44e7-acce-e9a2a54511 /../mmcblk6p0
Ми записуємо UUID нашого жорсткого диска (у цьому випадку 58F6AA78F6AA55D2)
Додаємо наступний рядок у кінці файлу / etc / fstab
UUID = 58F6AA78F6AA55D2 / mnt / Дані ntfs-3g за замовчуванням 0 0
Ми перезапускаємо Raspberry Pi, і жорсткий диск буде автоматично встановлений.
Нарешті, ми запускаємо службу madsonic:
# systemctl запустити madsonic.service
Якщо ми хочемо, щоб служба запускалася автоматично при кожному завантаженні системи.
# systemctl увімкнути madsonic.service
І вуаля, у нас є сервер для потокової передачі музики.
Одного разу послуга мадсонік, ми можемо ввести з улюбленого браузера на IP-адресу нашої Raspberry Pi разом із портом 4040, в моєму випадку це так 192.168.17.1:4040 і ми вводимо, використовуючи дані користувач = адміністратор пароль = адміністратор.
Вже у веб-інтерфейсі ми можемо додавати нових користувачів і змінювати пароль за замовчуванням.
Ну, це мій перший внесок, сподіваюся, вам сподобається.
Fuentes:
http://d.stavrovski.net/blog/post/set-up-home-media-streaming-server-with-madsonic-archlinux-and-cubieboard2
http://www.techjawab.com/2013/06/how-to-setup-mount-auto-mount-usb-hard.html