1) ставим raspxbmc
2) согласно
инструкциям сливаем себе тарбол с ядром с ветки 3.6.y - стабильной на момент этого поста и соответствующей raspxbmc.
3) разархивируем тарбол, но прежде чем собирать ядро - редактируем \linux\sound\usb\pcm.c , вытирая оттуда три строчки
if (abs(est_delay - subs->last_delay) * 1000 > runtime->rate * 2)
snd_printk(KERN_DEBUG "delay: estimated %d, actual %d\n",
est_delay, subs->last_delay);
4) sudo apt-get install ncurses-base libncurses5 ncurses-bin ncurses-term libncurses5-dev sudo gcc automake autoconf bison gettext flex make - это все чтоб было чем собирать ядро
5) дальше собираем и устанавливаем ядро и модули к нему согласно вышеописанной ссылке. фирмварь я не обновлял, вроде подошла
Вся эта байда была нужна потому что если установить nrpacks параметр выше двойки то во время проигрывания alsa непрерывно гадила в логи сообщениями, что приводило к постоянной записи на SD-карту, что во-первых выжирало саму карту, а во-вторых приводило к редким слышимым щелчкам в звуке т.к. распберри имеет врожденный недостаток - одну глобальную шину USB, работу с которой тормоизит запись на sd карту. А если установить nrpacks меньш двойки до 192/24 не играло т.к. опять же малиновская шина USB слабовата чтоб обслуживать так много запросов в единицу времени.
...ну а дальше уже все просто..
6) sudo apt-get update && sudo apt-get install alsa mpg123 flac mplayer mpd mpc ftp curlftpfs
6) sudo nano /etc/mpd.conf : убираем нафиг всякие сэмплрейт конвертеры, мисеры и т.п. Звуковуха умеет играть все сама, а громкость тру-аудиофилы регулятором крутят:
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,0"
}
- тут просто выпилили format, и все связанное с mixer
далее находим, раскоментим и меняем:
mixer_type "disabled"
audio_buffer_size "8192"
buffer_before_play "30%"
/me любит большие буфера, да.. но не очень, иначе будет тупить на запуске проигрывания
7) sudo nano /etc/modprobe.d/alsa-base.conf
тут
options snd-usb-audio index=-2
меняем на
options snd-usb-audio index=-1
и добавляем
options snd-usb-audio nrpacks=10
дальше надо бы сделать так чтобы FTP папка с музлом монтировалась автоматом и еще xbmc гасить когда он не нужен. Для этого я набыдлокодил скриптец. Распаковываем два файла из него в /etc/init.d и делаем банальности:
sudo chmod +x hacks && sudo chmod +x hacks.pl
sudo update-rc.d hacks defaults
(в hacks.pl прописываем свои адреса, пути и credentials-ы к FTP)
9) создаем /etc/modprobe.d/smscnonturbo.conf и пишем в него параметр:
sudo nano /etc/modprobe.d/smscnonturbo.conf
echo smsc95xx.turbo_mode=N
это чтоб сетевуха, которая все на том же USB, сильно шину не зажирала под себя
10) настраиваем FTP сервер - делаем ограничение скорости 1мб/сек. Опять же чтоб сетевуха не жрала больше чем надо.
11) sudo reboot