[vdr] Setting up an nfsroot VDR system with an atom ION main board (was: Recommendation for new hd vdr system).

Carsten Koch 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:
  cd /usr/src/linux
  gunzip </proc/config.gz>.config
  make oldconfig
  make all

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
contains:

DEFAULT vmlinuz-2.6.31.5-0.1-desktop initrd=initrd-2.6.31.5-0.1-desktop root=192.168.25.6:/nfsroot/atom  
ip=192.168.25.30:192.168.25.6:192.168.25.4:255.255.255.0:atom:eth0:none
TIMEOUT 10000

I changed /nfsroot/atom/etc/ftsab so root is mounted via nfs:
192.168.25.6:/nfsroot/atom /  nfs  exec,rw   0 0

in /nfsroot/atom/etc/sysconfig/network/ifcfg-eth0
I set 
STARTMODE='nfsroot'
(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
   gunzip <initrd-2.6.31.5-0.1-desktop>initrd.cpio
   mkdir initrd
   cd initrd
   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

Carsten.





More information about the vdr mailing list