Make a debian xbmc box in about an hour
15:51We're making a minimal htpc today kids. Grab your gear and follow along.
Hardware:
- core2duo 2.6
- 1GB DDR2
- 200GB sata drive
- Geforce 8600gt
Software
- Minimal install of debian wheezy
- xbmc run from nodm
- media files stored on NFS share
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.