Fedora Core 3 - Nebula HOWTO
Assumptions:Fedora Core 3 installed (w' Development Tools packages)
Internet access (lots of package updating)
Nebula DVB card installed
Basic Outcomes:Upgrades all system packages using ATrpm apt-get (OPTIONAL)
Upgrades udev to development release (and creates /dev/dvb rules)
Either:- Uses latest 2.6.10 FC3 kernel (from package upgrades)
OR
- Re-links kernel dvb sources (from CVS copy of dvb-kernel) and rebuilds current 2.6.9 kernel as "-prepdvb" version
Configures modprobe.conf to load dvb modules on startup
Builds dvbtune/dvbstream/tzap for testing
Paul Pettigrew's
FC3 + CVS dvb-kernel + Nova-T Install MINI-HOWTO was the guide that followed most closely when I was doing this install. As he says:
Quote
I follow this guide as a pre-requisite to running MythTV, and some of the steps (such as using apt-get to update the system and setting access rights for the user 'mythtv') are linked to that outcome.
Unfortunately, I have not yet finished setting up Myth so that bit can come later. For now I mention it in case you do not wish to do the whole atrpms / apt-get overhaul. You pretty much just need to upgrade (via yum) the current modutils, and kernel rpms (if you are doing 2.6.10). You still need to download the kernel SRPM (for 2.6.9 kernel) and udev from a fedora mirror.
---------------------------------------------------------------------------
1. Upgrade system packages using ATrpm kickstart OPTIONAL
- Download
Latest version of ATrpms-kickstart to /usr/src/
- Run the commands:
rpm –Uvh atrpms-kickstart-25-1.rhfc3.at.i386.rpm
yum upgrade
apt-get install modutils
apt-get update && apt-get dist-upgrade
export MYKERNEL=`uname -r`
echo "export MYKERNEL=\`uname -r\`" > /etc/profile.d/kver.sh
chmod 755 /etc/profile.d/kver.sh
---------------------------------------------------------------------------
2. Upgrade udev package to 078-8ESSENTIAL
- Download
Latest version of udev to /usr/src/
- Run the commands:
cd /usr/src
rpmbuild --rebuild udev-078-8.src.rpm
rpm -Uvh /usr/src/redhat/RPMS/i386/udev-078-8.i386.rpm
- Create udev rules file for dvb (run:
vi /etc/udev/rules.d/51-dvb.rules )
File: "51-dvb.rules"KERNEL="dvb0.dvr*", NAME="dvb/adapter0/dvr%n"
KERNEL="dvb0.demux*", NAME="dvb/adapter0/demux%n"
KERNEL="dvb0.frontend*", NAME="dvb/adapter0/frontend%n"
KERNEL="dvb0.audio*", NAME="dvb/adapter0/audio%n"
KERNEL="dvb0.ca*", NAME="dvb/adapter0/ca%n"
KERNEL="dvb0.osd*", NAME="dvb/adapter0/osd%n"
KERNEL="dvb0.net*", NAME="dvb/adapter0/net%n"
KERNEL="dvb0.video*", NAME="dvb/adapter0/video%n"
KERNEL="dvb1.dvr*", NAME="dvb/adapter1/dvr%n"
KERNEL="dvb1.demux*", NAME="dvb/adapter1/demux%n"
KERNEL="dvb1.frontend*", NAME="dvb/adapter1/frontend%n"
KERNEL="dvb1.audio*", NAME="dvb/adapter1/audio%n"
KERNEL="dvb1.ca*", NAME="dvb/adapter1/ca%n"
KERNEL="dvb1.osd*", NAME="dvb/adapter1/osd%n"
KERNEL="dvb1.net*", NAME="dvb/adapter1/net%n"
KERNEL="dvb1.video*", NAME="dvb/adapter1/video%n"
KERNEL="dvb2.dvr*", NAME="dvb/adapter2/dvr%n"
KERNEL="dvb2.demux*", NAME="dvb/adapter2/demux%n"
KERNEL="dvb2.frontend*", NAME="dvb/adapter2/frontend%n"
KERNEL="dvb2.audio*", NAME="dvb/adapter2/audio%n"
KERNEL="dvb2.ca*", NAME="dvb/adapter2/ca%n"
KERNEL="dvb2.osd*", NAME="dvb/adapter2/osd%n"
KERNEL="dvb2.net*", NAME="dvb/adapter2/net%n"
KERNEL="dvb2.video*", NAME="dvb/adapter2/video%n"
KERNEL="dvb3.dvr*", NAME="dvb/adapter3/dvr%n"
KERNEL="dvb3.demux*", NAME="dvb/adapter3/demux%n"
KERNEL="dvb3.frontend*", NAME="dvb/adapter3/frontend%n"
KERNEL="dvb3.audio*", NAME="dvb/adapter3/audio%n"
KERNEL="dvb3.ca*", NAME="dvb/adapter3/ca%n"
KERNEL="dvb3.osd*", NAME="dvb/adapter3/osd%n"
KERNEL="dvb3.net*", NAME="dvb/adapter3/net%n"
KERNEL="dvb3.video*", NAME="dvb/adapter3/video%n"
---------------------------------------------------------------------------
3. Use linux 2.6.10 OR Rebuild linux 2.6.9
(Option1 is recommended)
Option 1 - Using current 2.6.10 FC3 kernel:
- Upgrade to latest FC3 kernel rpm (should have already happened if system has been updated)
yum update kernel kernel-utils
- Fetch the dvb-apps from cvs:
cd /usr/src
mkdir dvb-cvs
cd dvb-cvs/
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-apps
cd /usr/src/
*Note: Password for CVS is blank (just hit enter)
GO TO STEP 4
OR
Option 2 - Fix existing 2.6.9 kernel with CVS dvb-kernel:
- Download
Linux 2.6.9 SRPM to /usr/src/
- Run the commands:
cd /usr/src
cd /usr/src/
rpm -Uvh kernel-2.6.9-1.667.src.rpm
cd redhat/SPECS/
rpmbuild -bp --target=i686 kernel-2.6.spec
cd ../BUILD/
cp -a kernel-2.6.9/linux-2.6.9 /usr/src/
cd /usr/src/
ln -s linux-2.6.9 linux-2.6
cd linux-2.6
ls -al configs/
cp configs/kernel-2.6.9-i686-smp.config ./.config
cd ../
mkdir dvb-cvs
cd dvb-cvs/
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co dvb-kernel dvb-apps
cd dvb-kernel/
./makelinks /usr/src/linux-2.6.9
cd /usr/src/
*Note: Password for CVS is blank (just hit enter)
- Run:
cd linux-2.6
make menuconfig
- Set
Local Version to "dvb" (in
General Settings)
- Exit, saving new kernel config
- Run:
make bzImage && make modules
make modules_install
cp ./arch/i386/boot/bzImage /boot/vmlinuz-2.6.9prepdvb
cp System.map /boot/System.map-2.6.9prepdvb
cd /boot
mkinitrd ./initrd-2.6.9prepdvb.img 2.6.9
- Add the folowing to "/boot/grub/grub.conf"
title Fedora Core (2.6.9prepdvb)
root (hd1,0)
kernel /vmlinuz-2.6.9prepdvb ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.9prepdvb.img
(NOTE: Replace
/dev/VolGroup00/LogVol00 with your root partition location, if different)
---------------------------------------------------------------------------
4. Configures modprobe.conf to load dvb modules on startup
- Edit
/etc/modprobe.conf and insert:
options bttv card=0x68 i2c_hw=1
install bttv /sbin/modprobe --ignore-install bttv && { /sbin/modprobe dvb-bt8xx; /sbin/modprobe nxt6000; /bin/true; }
remove bttv { /sbin/modprobe -r dvb-bt8xx dst nxt6000 dvb-core; }; /sbin/modprobe -r --ignore-remove bttv
- Give it a reboot and select your new kernel in the grub menu
- After you boot, you should have some lines like this in your
dmesg output:
Quote
Linux video capture interface: v1.00
bttv: driver version 0.9.15 loaded
bttv: using 8 buffers with 2080k (520 pages) each for capture
bttv: Bt8xx card found (0).
ACPI: PCI interrupt 0000:03:06.0[A] -> GSI 22 (level, low) -> IRQ 193
bttv0: Bt878 (rev 17) at 0000:03:06.0, irq: 193, latency: 32, mmio: 0xf4100000
bttv0: detected: Nebula Electronics DigiTV [card=104], PCI subsystem ID is 0071:0101
bttv0: using: Nebula Electronics DigiTV [card=104,insmod option]
bttv0: gpio: en=00000000, out=00000000 in=00ffb0cf [init]
bttv0: IRQ lockup, cleared int mask [bits: GPINT*]
bttv0: using tuner=-1
bttv0: registered device video0
bttv0: registered device vbi0
bttv0: PLL: 28636363 => 35468950 .. ok
bttv0: add subdevice "dvb0"
bt878: AUDIO driver version 0.0.0 loaded
bt878: Bt878 AUDIO function found (0).
ACPI: PCI interrupt 0000:03:06.1[A] -> GSI 22 (level, low) -> IRQ 193
bt878(0): Bt878 (rev 17) at 03:06.1, irq: 193, latency: 32, memory: 0xf4101000
DVB: registering new adapter (bttv0).
DVB: registering frontend 0 (NxtWave NXT6000 DVB-T)...
---------------------------------------------------------------------------
5. Build dvbtune/dvbstream/tzap from "dvb-apps" for testing the dvb frontend
<<<<<<<< UNDER CONSTRUCTION >>>>>>>>>
---------------------------------------------------------------------------
Edited by dcallan, 07 February 2006 - 01:52 PM.