[vdr] Setting up an nfsroot VDR system with an atom ION main board (was: Recommendation for new hd vdr system).
CarstenKochElsdorf at web.de
Sat Dec 26 15:19:56 CET 2009
On Thu, 2009-12-24 at 17:12 +0100, Carsten Koch wrote:
> + I originally set up the system as a diskless (nfsroot)
> system, but KDE 4 (I am using OpenSuSE 11.2) performs
> unbearably slow, so I was forced to install a hard disk.
Just in case anyone wants to try to set up an nfsroot VDR
system with that main bord, here is what I had to do to
make it work:
In general, it is much easier now to set up an nfsroot
system, than it was a few years ago.
I attached a hard disk to the PC and installed OpenSUSE 11.2
on it normally. All to one partition, no swap.
I re-built the kernel:
I copied the whole disk partition over to the server,
then mounted it from there as /atom.
I created a new initrd for nfsroot:
mkinitrd -f nfs -D eth0 /atom
See the mkinitrd man page.
I copied that initrd and the kernel to the server,
activated a dhcp server and a tftp server with pxelinux.
My /tftpboot/pxelinux.cfg/01-00-e0-4c-00-17-3f file
DEFAULT vmlinuz-18.104.22.168-0.1-desktop initrd=initrd-22.214.171.124-0.1-desktop root=192.168.25.6:/nfsroot/atom
I changed /nfsroot/atom/etc/ftsab so root is mounted via nfs:
192.168.25.6:/nfsroot/atom / nfs exec,rw 0 0
(I read that somewhere. No idea if it is really required)
After that, the system started to boot via the network.
I have another system that works fine this way,
but the atom system failed to mount the nfs root during boot.
There seems to be a timing problem with the network driver.
I worked around that by patching boot/83-mount.sh in the
initrd. I put a "sleep 2" before the mount command.
(I tried sleep 1, but that was not enough. YMMV).
Note that the initrd is a gzipped cpio archive in NEWC format.
I unpacked the old archive using
cpio -i <../initrd.cpio
I re-packed the modified archive using
cpio -t <../initrd.cpio > /tmp/list
cpio -H NEWC -o </tmp/list > ../new.cpio
gzip -9 ../new.cpio
More information about the vdr