Using a Linux box to serve Rio Receiver Firmware

30 Sep 2003 23:00 rio-receiver

First, you’ll need to install a stock NFS server. On Debian, that’s as simple as apt-get install nfs-user-server.

You’ll then need to export the relevant directory to the Receiver. When connecting, it attempts to mount “/tftpboot/ip-address”, where ip-address is the dotted quad form of the IP address assigned by the DHCP server. The default software responds to all mount requests with the same data, but with a Linux box, you’ll need to add an export explicitly.

Just add the following line to /etc/exports:

  /tftpboot/192.168.0.30 192.168.0.30(ro,no_root_squash,insecure)

Obviously, replace the 192.168.0.30 bit with the IP address of your Rio Receiver. Because of the way that the Receiver specifies its IP address in the mount point, you might want to configure your DHCP server to always assign the same address to each Receiver. On Debian, that’s as simple as:

    host aurora {
      hardware ethernet 00:90:00:11:5b:7a;
      fixed-address 192.168.0.30;
    }

I’ve got my Receiver configured with a hostname, which requires an extra step to set up the DNS database.

Extracting the Firmware

The receiver.arf file included with the Receiver software is just a TAR-format archive. Simply copy it to your Linux box, and extract it into the /tftpboot directory:

# mkdir -p /tftpboot/receiver
# cd /tftpboot/receiver
# tar xf /path/to/receiver.arf
# ln -s /tftpboot/receiver /tftpboot/192.168.0.30

And, now, when you turn on the Receiver, it should successfully download its firmware from your Linux box.