Archive:Configuring XBMC Live

All the following commands must run in the chroot-ed environment created with MIC. Use the "Terminal" icon in MIC to start such a session.

Add restricted user & configure user
As a general security measure, XBMC will run as unpriviledged user. A new user is therefore added to the system with:

adduser xbmc

A new group called 'admin' is to be created:

addgroup admin --system

and the xbmc user is added to the new group:

adduser xbmc admin

Type the following to configure audio and removable media support:

adduser xbmc admin adduser xbmc adm adduser xbmc dialout adduser xbmc cdrom adduser xbmc floppy adduser xbmc audio adduser xbmc dip adduser xbmc video adduser xbmc plugdev adduser xbmc fuse adduser xbmc sudo

Configure IP
Edit the file /etc/network/interfaces copying the following lines. Those will allow automatic DHCP IP assignemt on eth0, or assign a fixed IP is the last block is uncommented:

auto lo iface lo inet loopback
 * 1) Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
 * 2) /usr/share/doc/ifupdown/examples for more information.

auto eth0 iface eth0 inet dhcp


 * 1) iface eth0 inet static
 * 2) address 192.168.0.100
 * 3) netmask 255.255.255.0
 * 4) gateway 192.168.0.1

Configure name resolution
Edit /etc/resolv.conf' copying the following lines:

domain dummy.net nameserver 208.67.222.222 nameserver 208.67.220.220

This will configure OpenDNS servers for name resolution.

Set hostname
Edit /etc/hostname and replace the default hostname with:

XBMCLive

Edit hosts file
Edit /etc/hosts and replace the existing lines with the following ones:

127.0.0.1 localhost 127.0.1.1 XBMCLive

PS. for the unusual 2nd line see Debian manuals

Set proper language environment
apt-get install --reinstall language-pack-en

Edit /etc/environment adding the following two lines:

LC_ALL=en_US.utf8 LANG=en_US.utf8

Configure Xorg to be able to be launched at boot
Edit '/etc/X11/Xwrapper.config' and change the line

allowed_users=console

to

allowed_users=anybody

Enable password-less sudo
Run 'visudo' and add the following lines:

%admin ALL=(ALL) ALL xbmc ALL=NOPASSWD: /bin/mount, /bin/umount, /sbin/reboot, /sbin/shutdown

then uncomment %sudo ALL=NOPASSWD: ALL

Create XBMC init.d start script and related helpers
Grab the file "xbmc" from SVN and save it in /etc/init.d. Make it executable and create a symlink in the /etc/rc2.d directory:

ln -s ../init.d/xbmc S50xbmc

Grab the files runXBMC.sh, diskmounter, setAlsaVolumes.py, installXBMC.py from SVN and save them in /usr/bin. Then make the executable by using chmod -x on all of them.

Insert xbmc usplash theme
Forum user 'Duduke' has kindly contributed a nice XBMC usplash theme; get it from sourceforge repository, copy the .so file on the target filesystem and type:

cp /tmp/XBMC-theme.so /usr/lib/usplash/ cd /etc/alternatives/ rm usplash-artwork.so ln -s /usr/lib/usplash/XBMC-theme.so usplash-artwork.so

There are also some additional variations in the developer's Blog.

Automount local hard drive partitions
Add the script "diskmounter" checked out from the SVN to '/usr/bin'

/usr/bin/diskmounter

and make it executable:

chmod +x /usr/bin/diskmounter

Enable xbmc to execute power-related DBUS calls
polkit-auth --user xbmc --grant org.freedesktop.hal.power-management.shutdown

polkit-auth --user xbmc --grant org.freedesktop.hal.power-management.shutdown-multiple-sessions

polkit-auth --user xbmc --grant org.freedesktop.hal.power-management.reboot

polkit-auth --user xbmc --grant org.freedesktop.hal.power-management.reboot-multiple-sessions

polkit-auth --user xbmc --grant org.freedesktop.hal.power-management.set-powersave

polkit-auth --user xbmc --grant org.freedesktop.hal.power-management.suspend

polkit-auth --user xbmc --grant org.freedesktop.hal.power-management.hibernate

polkit-auth --user xbmc --grant org.freedesktop.hal.storage.mount-removable

Enable eject button of your ODD
To allow an optical media to be ejected by pressing the button edit the file /etc/sysctl.conf and insert the following line:

dev.cdrom.lock=0

Enable 24 Frames per Second Video Output on ION
There is an easy to follow guide on enabling 24fps on nVidia ION here.