For a more general introduction of what these instructions are and why I wrote them, head over to my main MythTV page.
These instructions - really, more like a cheat sheet - are written for wheezy (7.0). I presume you have --with-recommends (the default in wheezy) enabled for aptitude.
While there is a little bit of hand-holding here, these instructions are not geared toward beginners. You should have a pretty solid background with Debian and a good understanding of how MythTV works in order to understand these instructions. Again, this really is just my notes cleaned-up a little.
Code run as root
# run as root
Code run as regular or administrative user
$ run as user
Placeholder for appropriate argument in command
<parameter>
e.g.
$ sudo splashy_config --set-theme <theme>
Insert argument from list of options
<option1|option2>
e.g.
$ sudo aptitude install mysql-<client|server>
Edit file as reflected
filename:
...
Look for a line like this and change it as shown // if not obvious, original will be presented
...
This is pretty straightforward: install Debian wheezy as you normally would. At the task selection menu, install just the base or standard system. Do not install the full desktop system - you will get much more than you need.
I install a few extras during my automated Debian install. If you are using the stock installer provided by Debian, install the following extra packages:
# aptitude install plymouth [plymouth-themes-all] v86d sudo ssh screen \
usbutils hwinfo xfsprogs
Set sudoers
# visudo
My standard installation has three users: root (obviously), a "standard" account with very specific execute permissions allowed via sudo, and an "administrative" user with full execute access via sudo. The remainder of the commands provided here are run under the administrative account via sudo.
SUDOERS:
...
# User alias specification
User_Alias ADMINS = <super user account>
User_Alias USERS = <regular user account>
...
# Command alias specification
Cmnd_Alias REBOOT = /sbin/reboot
Cmnd_Alias HALT = /sbin/halt
...
# User privilege specification
...
ADMINS ALL = NOPASSWD: ALL
USERS ALL = NOPASSWD: REBOOT, HALT
...
Set hostname as appropriate, if not already done during installation:
$ sudo nano /etc/hostname
$ sudo hostname --file /etc/hostname
$ sudo nano /etc/hosts
Install ntp (preferred) to maintain proper time:
$ sudo aptitude install ntp
Alternately, install ntpdate and run on regular basis (change "M" in the sample crontab to a different, random number, between 0 and 59 of course):
$ sudo aptitude install ntpdate
$ sudo crontab -e
CRONTAB:
# m h dom mon dow command
M * * * * ntpdate 0.pool.ntp.org
Install mysql-server for master backend, mysql-client (only) for frontend or slave backend:
$ sudo aptitude install mysql-<server|client>
For "public" master backends, change mysql bindings (nota bene - configuring as shown will permit ANYONE with network access to your machine to be able to access your mysql databases; use at your discretion):
$ sudo nano /etc/mysql/my.cnf
my.cnf:
...
bind-address = 0.0.0.0 # you also could be more specific, e.g. 192.168.0.2-192.168.0.255
...
$ sudo /etc/init.d/mysql restart
Install ALSA and test it:
$ sudo aptitude install alsa-utils
$ sudo amixer | less
Review amixer results to make sure ALSA recognized your card correctly. If not, run alsaconf; see below.
$ sudo alsamixer
Move Master, PCM, (perhaps) Headphone, and (perhaps) Front to an appropriate level (~90%). If you are using a digital output, make sure it is not muted. Test your audio:
$ sudo speaker-test -c2 (tests two channels)
$ sudo speaker-test -c6 (tests six channels, i.e. 5.1)
Install capture card drivers if necessary.
IVTV and CX18 (e.g. Hauppauge HVR-1600) firmware (needed in wheezy):
Install X and test it:
$ sudo aptitude install xserver-xorg xbase-clients \
ttf-linux-libertine ttf-mscorefonts-installer \
[iceweasel | chromium-browser] [vnc4server] xvnc4viewer \
openbox libxml2-dev menu obconf python ttf-dejavu roxterm thunar
$ startx
I choose to install a lightweight window manager, openbox, plus a file manager, thunar. If you want a more complete desktop environment complete with graphical login, install gdm and lxde.
I included the installer for the Microsoft core web fonts, since some of the MythTV themes still require these fonts. Note that ttf-mscorefonts-installer requires the contrib repository.
Add appropriate users to video, staff (for access to /usr/local), and powerdev groups
$ sudo adduser <user> <audio|video|staff|powerdev>
Install display drivers for nVidia video cards, if needed
Method 1
Add contrib and non-free apt sources if not already done so.
$ sudo aptitude install nvidia-kernel-amd64 nvidia-glx nvidia-xconfig
Refer to documentation in /usr/share/doc/nvidia-glx for information on creating an appropriate xorg.conf file.
Method 2
Add contrib and non-free apt sources if not already done so.
$ sudo aptitude install nvidia-kernel-dkms module-assistant
Refer to documentation in /usr/share/doc/nvidia-glx for information on creating an appropriate xorg.conf file.
Method 3
$ sudo aptitude install module-assistant
$ sudo m-a prepare
$ chmod a+x NV*.run
$ sudo ./NV*.run
Install display drivers for ATI or AMD video cards, if needed. You will need to add the non-free repository.
$ sudo aptitude install fglrx-control fglrx-driver
$ sudo aticonfig --initial
Modify appropriate boot files.
/etc/initramfs-tools/modules:
...
uvesafb mode_option=800x600-16 mtrr=3 scroll=ywrap
...
/etc/default/grub:
...
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash modeset video=uvesafb:mode_option=800x600-16,mtrr=3,scroll=ywrap"
...
GRUB_GFXMODE=800x600-16
...
/etc/initramfs-tools/conf.d/splash:
...
FRAMEBUFFER=y
...
/etc/modprobe.d/disable-nouveau.conf:
...
blacklist nouveau
options nouveau modeset=0
...
Configure plymouth:
$ sudo plymouth-set-default-theme --list # list available themes
$ sudo plymouth-set-default-theme <theme>
$ sudo update-grub
$ sudo update-initramfs -u
$ sudo reboot
Install lirc:
$ sudo aptitude install lirc
Modify your lirc configuration files.
/etc/lirc/hardware.conf:
...
DRIVER=""
DEVICE=/dev/lirc0
MODULES=<lirc_module, e.g. lirc_usbmce2; only if needed>
...
Then restart lirc
$ sudo invoke-rc.d lirc restart
System is ready for mythTV packages. Proceed to Installing MythTV.