- installed debian unstable onto the computer
- I did not install X windows or anything like that. from
tasksel I only selected the webserver package and all the development
packages
- install the linux source package from debian using dselect
- install the linux-wlan-ng driver source
- compile linux kernel
- unpack the source found in /usr/src
- symlink the created directory to /usr/src/linux if
it is not already named that
- find the config for the standard debian kernel in /boot/config-<kernel
version>-<processor type>
- copy the config to /usr/src/linux/.config
- ran make menuconfig
- I then went through using this document
and enabled (not just modules fully enabled) the settings the G400 requires
- I then went and configure the linux-wlan-ng source
(a different set of instructions so truncated)
- compiled using: make bzImage
- compiled the modules: make modules
- installed the modules: make modules_install
- compiled and installed the linux-wlan-ng drivers
- copied the /usr/src/linux/arch/i386/boot/bzImage to /boot/vmlinuz-<kernel
version>
- edited lilo.conf to include the new kernel.
example section:
image=/boot/vmlinuz-<kernel-version>
label=FreevoFB
read-only
append="video=matrox:vesa:392"
- installed
the new kernel by using the lilo command
- INSTALL BTTV
- created a /etc/modutils.d/bttv file
- consulted bttv code for proper card number for the ATI TV Wonder
VE. The tuner number is a guess, that seems to work.
- put this line in it:
options bttv card=64 radio=0 tuner=2
- edited /etc/modules to include these lines:
via82cxxx_audio
bttv
btaudio
apm
- btaudio is for recording, bttv is the tuner, via for the soundcard,
and apm for poweroff during shutdown
- ran update-modules to update module info
- I then rebooted
the computer and confirmed framebuffer worked. (look for the penguin in
the top left during boot)
- INSTALL FREEVO
- get the big binary tarball
- untar it in /usr/local/src/
- cd freevo-<version>
- ./freevo setup --display=mga --geometry=768x576
- make install
- cd /usr/local/freevo
- edit local_conf.py
- set MAX_VOLUME, DEFAULT_VOLUME, TV_IN_VOLUME and VCR_IN_VOLUME
to 80
- set the DIR entries for each media type
- edit the TV_Channels entry
- set ENABLE_SHUTDOWN_SYS = 1
- set AUDIO_RANDOM_PLAYLIST = 0
- created a called /usr/local/bin/startfreevo:
#!/bin/bash
cd /usr/local/freevo; ./freevo
- created a /etc/freevo directory
- copied /usr/local/src/freevo/boot/boot.config to /etc/freevo
- copied /usr/local/src/freevo/boot/freevo to /etc/init.d/freevo.
I had to make one modification:
change this line from:
(cd /tmp && $DAEMON >> $FREEVO_LOG 2>&1 &)
to:
(/bin/su - root -c "/usr/local/bin/startfreevo" < /dev/tty3 >/dev/tty4 2>&1 &)
- then I symlinked it into the appropriate runlevels (4 in my
case) and then also symlinked in a kill request for it in /etc/rc0.d
and /etc/rc6.d otherwise you would never get your console back to see
your reboot or shutdown messages
- I then copied /usr/local/freevo/fbset.db to /etc/fb.modes
- I then compiled the code in /usr/local/freevo/fbcon/
- cd /usr/local/freevo/fbcon/
- make all
- I copied the binary matroxset/matroxset to /usr/local/bin
- I copied the binary vtrelease to /usr/local/bin
- then I tried to get the tv out working by using these commands:
- /usr/local/bin/matroxset
-f /dev/fb1 -m 0
- /usr/local/bin/matroxset
-f /dev/fb0 -m 3
- /usr/local/bin/matroxset
-f /dev/fb1 2
- fbset
ntsc-768x576
- put the set of commands from the previous set into a script in the
/etc/rcS.d/ directory to run at startup
- I then compiled and install lirc from source:
- downloaded libirman from lirc site
- cd /usr/local/src/libirman-<version>
- ./configure
- make
- make install
- cd /usr/local/src/lirc-<version>
- ./setup.sh
- configured using the curses gui
- it asked for driver I chose irman
- I then set the correct serial device to /dev/ttyS1
- saved setup
- make
- make install
- create /etc/lircd.conf using irrecord
- created a lirc init script in /etc/init.d/
- symlinked lirc init in the appropriate run levels
- created a /etc/freevo/lircrc:
In general the file is a translation table to convert stuff from your
/etc/lircd.conf into the names freevo expects in its code.
mine has several entries looking like this:
begin
prog = freevo
button = NUM_TWO
config = UP
end
where button is the /etc/lircd.conf name and config is what it maps to
in freevo.
I mapped my number area since I don't think it is used by freevo. So i
have UP, DOWN, LEFT, and RIGHT as 2, 8, 4, 6 respectively. I then mapped
some vcr buttons to the appropriate functions for REW, PLAY, FFWD,
PAUSE, and STOP.
I also then mapped five on my numeric keypad to SELECT. I then picked
another random button for EXIT, and finally mapped the channel changer
buttons to CH+ and CH-.
- XMLTV INSTALL
- originally installed xmltv using dselect which installed perl
with all correct dependancies
- then removed xmltv packages
- downloaded source
- cd /usr/local/src/xmltv-<version>
- perl Makefile.PL
- make
- make install
- setup a script to symlink current listings to /tmp/TV.xml:
#!/bin/bash
XMLTVFILE=`date +'/usr/local/freevo_data/listings/%d%m%Y.xml'`
if [ -L /tmp/TV.xml ]
then
OLDFILE=`readlink /tmp/TV.xml`
if [ $XMLTVFILE != $OLDFILE ]
then
rm -f /tmp/TV.xml
fi
fi
if [ -f $XMLTVFILE ]
then
if [ ! -L /tmp/TV.xml ]
then
ln -s $XMLTVFILE /tmp/TV.xml
fi
fi
- setup a script to get listings:
#!/bin/bash
/usr/bin/tv_grab_na --listings '/usr/local/freevo_data/listings/%d%m%Y.xml' --days 7
/usr/local/bin/fixtvxml
- put the fixtvxml script into cron to run every hour (so I
can have it change the schedule at midnight)
- I also have a script in /etc/rcS.d/ which runs this script.
- MPLAYER mga_vid install
- downloaded same version as the default mplayer in the binary
runtime.
- cd /usr/local/src/MPlayer-<version>/drivers
- make
- make install
- mplayer codec install
- downloaded the qt6 and win32 codec packages from the MPlayer
site
- installed them into /usr/lib/win32/
- I also got freevoweb setup but am skipping this since
it is going to change real soon.
- reboot, cross most of your appendages. ymmv.