Make a debian xbmc box in about an hour

We're making a minimal htpc today kids. Grab your gear and follow along.

Hardware:

Software


Install Debian

First install a minimal debian installation. Pop in a boot stick and run through the installer. Simple stuff. Only thing to note is that we are looking for MINIMAL, so when it asks you which package groups you want, don't select anything (well, maybe ssh).


Install needed packages

aptitude install xserver-xorg-video-nouveau xserver-xorg-video-vesa nodm xorg-common x11-session-utils xinit alsa nfs-common xbmc xbmc-bin xbmc-common xbmc-data xbmc-eventclients-common xbmc-eventclients-dev xbmc-eventclients-j2me xbmc-eventclients-ps3 xbmc-eventclients-wiiremote xbmc-eventclients-xbmc-send xbmc-skin-confluence xbmc-standalone


Configure nodm

Edit nodm config to start on boot, and to run as the correct user

vi /etc/default/nodm
# nodm configuration                                                                                                                                                                
# Set NODM_ENABLED to something different than 'false' to enable nodm                                                                                                               
NODM_ENABLED=true                                                                                                                                                                   
# User to autologin for                                                                                                                                                             
NODM_USER=silver                                                                                                                                                                    
# First vt to try when looking for free VTs                                                                                                                                         
NODM_FIRST_VT=7                                                                                                                                                                     
# X session                                                                                                                                                                         
NODM_XSESSION=/etc/X11/Xsession                                                                                                                                                     
# Options for the X server                                                                                                                                                          
NODM_X_OPTIONS='-nolisten tcp'                                                                                                                                                      
# If an X session will run for less than this time in seconds, nodm will wait an                                                                                                    
# increasing bit of time before restarting the session.                                                                                                                             
NODM_MIN_SESSION_TIME=60 
       


Configure NFS

Test that nfs works

mount 192.168.10.100:/home /mnt
ls /mnt
umount /mnt

Make a new nfs moutpoint

mkdir /penny
chmod 755 /penny/
   

Add to fstab

echo "192.168.10.100:/home    /penny  nfs     ro      0       0" >> /etc/fstab

Test

mount /penny/
ls /penny
   


Graphics setup (without touching X configs!)

Run to allow normal users to start X (Might not be needed)

dpkg-reconfigure x11-common
Edit to remove "quiet" and add "nomodeset". For me, this was all that was needed to make tv out work.
vi /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
GRUB_INIT_TUNE="480 440 1"
update-grub
Create .xsession for nodm/xbmc user
  su silver
  cd ~
  vi .xsession
#!/bin/sh
xbmc
chmod +x .xsession


Reboot the box and see if it works!

At this point you should have xbmc up, and nfs mounted. You may now configure xbmc as you see fit.


This page written by someone annoyed by xbmcbuntu's massive bloat and lag, and random inability to even shut down properly.