Installing yaVDR
Install from USB stick
Boot from the USB stick. Scroll down and select SGD: Super Grub Disk.
root (fd1) loopback lb ($root)/yavdr-0.3a.iso root (lb) linux (lb)/install/vmlinuz append file=/cdrom/preseed/yavdr-s2.seed localechooser/translation/warn-light=true localechooser/translation/warn-severe=true initrd (lb)/install/initrd.gz boot
Now the setup should start and complains about a missing CD, start the console:
mkdir /mnt/usbstick mount /dev/sdb /mnt/usbstick losetup /dev/loop0 /mnt/usbstick/yavdr-0.3.0a.iso CTRL+D
Continue the installation select auto, then no, then yes and enter as manual cd-device /dev/loop0.
Using PXE to run yaVDR
At first install yaVDR by using the normal ISO. I installed it on a virtual machine in Parallels.
After that is finished and the installation boots fine we have to copy the complete installation to our server. To do this, login into your yaVDR, upgrade the system with:
apt-get update apt-get upgrade apt-get install s2-liplianin-dkms
Edit the file /etc/initramfs-tools/initramfs.conf:
MODULES=netboot BOOT=nfs
Edit the file /etc/network/interfaces:
auto lo iface lo inet loopback iface eth0 inet manual
Edit the file /etc/resolve.conf:
nameserver 192.168.0.251
Edit the file /etc/fstab;
proc /proc proc nodev,noexec,nosuid 0 0 /dev/nfs / nfs defaults 0 1
Create the initramfs newly with:
mkinitramfs -o /boot/initrd.img-2.6.32-27-nfs
At first we pack the complete tree:
cd / tar cjvf yavdr-0.0.3.tar.bz2 --exclude=proc --exclude=sys --exclude=yavdr-0.0.3.tar.bz2 *
Now we copy the archive to the server:
scp yavdr-0.0.3.tar.bz2 video:/yavdr
Now we extract the file and do some cleanup
cd /yavdr tar xjvf yavdr-0.0.3.tar.bz2 mkdir proc mkdir sys
Now we setup a aufs file structure. Our base image is now on /yavdr.
We create a new folder structure to hold our changed files per host.
mkdir /usr/local/videos/ cd !$ mkdir schlafzimmer mkdir wohnzimmer
Now we create the folders which are mounted via NFS:
mkdir /usr/local/nfsmounts cd !$ mkdir schlafzimmer mkdir wohnzimmer
We can test if everything works like expected with:
mount -t aufs -o br:/usr/local/videos/schlafzimmer=rw:/yavdr=ro none schlafzimmer/
Now we add the following lines to our /etc/fstab:
# our aufs mounts none /usr/local/nfsmounts/schlafzimmer aufs br=/usr/local/videos/schlafzimmer=rw:/yavdr=ro 0 0 none /usr/local/nfsmounts/wohnzimmer aufs br=/usr/local/videos/wohnzimmer=rw:/yavdr=ro 0 0
Setup the pxeconfiguration by editing your config file depending on your mac address:
PROMPT 1 PROMPT 1 DEFAULT vdrhd TIMEOUT 1 LABEL vdrhd MENU HIDE MENU LABEL ^VDRHD KERNEL vmlinuz-2.6.32-27-generic APPEND netboot=nfs nfsroot=192.168.0.149:/usr/local/nfsmounts/schlafzimmer rw initrd=initrd.img-2.6.32-27-generic-nfs vmalloc=256m noresume nohz=off acpi_enforce_resources=lax LABEL memtest MENU HIDE MENU LABEL ^memtest86+ KERNEL memtest.bin
If boot now our box it should start up completely with PXE.
Compile own VDR Plugins
To compile your own VDR plugins you need some packages to be installed:
apt-get install yavdr-dev
sudo add-apt-repository ppa:bpl3f1lmootj/yavdr-stable sudo apt-get update sudo apt-get install vdr-plugin-sc sudo apt-get install vdr-plugin-sc-cardclient sudo apt-get install vdr-plugin-sc-nagra