Directions largely taken from RaspyFi RC2's "How It's Made"
- Download Ubuntu 13.10 Minimal CD
- Create bootable USB
- Install OS... *. Software Selection: Install only 'OpenSSH Server'
- Install base packages:
sudo apt-get install vim htop
- Install general dependencies for building packages:
sudo apt-get install autoconf automake g++ gcc make
- Disable suspend on closing laptop lid
- Setup wifi:
sudo apt-get install wicd-curses
(optional?)
Notes: Way more free space! Now only using 890mb, when lubuntu was using something close to 2.4gb.
anthony@jambox:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 2.7G 890M 1.7G 35% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 488M 4.0K 488M 1% /dev
tmpfs 100M 552K 99M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 497M 0 497M 0% /run/shm
none 100M 0 100M 0% /run/user
anthony@jambox:~$
- Figure out which card corresponds to your USB DAC:
cat /proc/asound/cards
- Create
~/.asoundrc
file with:
pcm.!default {
type hw
card 1
device 0
}
- Install
mpd
&mpc
:
anthony@jambox:~$ sudo apt-get install mpd mpc
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
avahi-daemon dconf-gsettings-backend dconf-service freepats glib-networking glib-networking-common
glib-networking-services gsettings-desktop-schemas libao-common libao4 libasound2 libasound2-data
libasyncns0 libaudiofile1 libavahi-client3 libavahi-common-data libavahi-common3 libavahi-core7
libavahi-glib1 libavcodec53 libavformat53 libavutil51 libcdio-cdda1 libcdio-paranoia1 libcdio13
libconfig++9 libdaemon0 libdconf1 libfaad2 libffado2 libflac8 libfluidsynth1 libglibmm-2.4-1c2a
libgme0 libgsm1 libid3tag0 libiec61883-0 libiso9660-8 libjack-jackd2-0 libmad0 libmikmod2 libmms0
libmodplug1 libmp3lame0 libmpcdec6 libmpdclient2 libmpg123-0 libnss-mdns libogg0 liborc-0.4-0
libproxy1 libpulse0 libraw1394-11 libresid-builder0c2a libsamplerate0 libschroedinger-1.0-0
libshout3 libsidplay2 libsidutils0 libsndfile1 libsoup2.4-1 libspeex1 libtheora0 libva1 libvorbis0a
libvorbisenc2 libvorbisfile3 libvpx1 libwavpack1 libwildmidi-config libwildmidi1 libxml++2.6-2
libyajl2
Suggested packages:
avahi-autoipd libaudio2 libesd0 libesd-alsa0 libasound2-plugins alsa-utils jackd2
pulseaudio-esound-compat oss-compat pulseaudio libraw1394-doc speex icecast2 mpd-client
The following NEW packages will be installed:
avahi-daemon dconf-gsettings-backend dconf-service freepats glib-networking glib-networking-common
glib-networking-services gsettings-desktop-schemas libao-common libao4 libasound2 libasound2-data
libasyncns0 libaudiofile1 libavahi-client3 libavahi-common-data libavahi-common3 libavahi-core7
libavahi-glib1 libavcodec53 libavformat53 libavutil51 libcdio-cdda1 libcdio-paranoia1 libcdio13
libconfig++9 libdaemon0 libdconf1 libfaad2 libffado2 libflac8 libfluidsynth1 libglibmm-2.4-1c2a
libgme0 libgsm1 libid3tag0 libiec61883-0 libiso9660-8 libjack-jackd2-0 libmad0 libmikmod2 libmms0
libmodplug1 libmp3lame0 libmpcdec6 libmpdclient2 libmpg123-0 libnss-mdns libogg0 liborc-0.4-0
libproxy1 libpulse0 libraw1394-11 libresid-builder0c2a libsamplerate0 libschroedinger-1.0-0
libshout3 libsidplay2 libsidutils0 libsndfile1 libsoup2.4-1 libspeex1 libtheora0 libva1 libvorbis0a
libvorbisenc2 libvorbisfile3 libvpx1 libwavpack1 libwildmidi-config libwildmidi1 libxml++2.6-2
libyajl2 mpc mpd
0 upgraded, 75 newly installed, 0 to remove and 0 not upgraded.
Need to get 41.3 MB of archives.
After this operation, 79.0 MB of additional disk space will be used.
Do you want to continue [Y/n]?
- Install dependencies for building MPD packages:
sudo apt-get install libfaad2 libfaad-dev libflac8 libflac-dev libogg0 libogg-dev libvorbis0a libvorbis-dev libid3tag0 libid3tag0-dev libmad0 libmad0-dev libcue-dev libcue1 libasound2 libasound-dev libasound2-dev libao-dev libwavpack-dev libwavpack1 libsamplerate0 libsamplerate-dev libmikmod2-dev libmikmod2 libmikmod-dev libshout-dev libavformat-dev libavcodec-dev libavutil-dev libaudiofile-dev libcurl4-openssl-dev libmms-dev libmms0 libtwolame-dev libtwolame0 libmp3lame-dev
- Clone, configure and build mpd:
cd ~/
sudo su
git clone git://git.musicpd.org/master/mpd.git
cd ./mpd
./autogen.sh
./configure --disable-bzip2 --disable-iso9660 --disable-zzip --enable-id3 --disable-sqlite --enable-ffmpeg --enable-alsa --disable-wave-encoder --enable-pipe-output --enable-httpd-output --disable-recorder-output --disable-sndfile --enable-oss --enable-shout --disable-pulse --disable-ao --disable-mad --disable-inotify --disable-ipv6 --enable-curl --disable-mms --disable-wavpack --disable-lame-encoder --disable-twolame-encoder --enable-vorbis --enable-lsr --with-zeroconf=auto
make
make install
sudo su
/etc/init.d/mpd stop
echo DAEMON=/usr/local/bin/mpd >>/etc/default/mpd
/etc/init.d/mpd start
mkdir -p ~/.mpd/playlists # Is this correct? Where should this playlist live?
- Edit
/etc/mpd.conf
:#group "nogroup"
->group "audio"
bind_to_address "localhost"
->bind_to_address "any"
#auto_update "yes"
-> `auto_update "yes"'
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,0" # optional
format "44100:16:2" # optional
mixer_device "default" # optional
mixer_control "PCM" # optional
mixer_index "0" # optional
becomes
audio_output {
type "alsa"
name "USB Dac"
device "hw:0,0" # optional
format "44100:16:2" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional