Multicast boot and filesystems for STB

Metanate were asked to produce client and server implementations of a multicast network boot system to minimise network bandwidth utilisation and server load when hundreds/thousands of client boxes were powered up or rebooted simultaneously.

The boot server, which ran on a standard Linux system, multicast a cryptographically signed code image in chunks, rotating through the chunks of the complete image.

The boot client collated all the image chunks and then validated the code signature before proceeding to boot the image. The client was integrated with the customer's boot ROM and used cryptographic code implemented by Metanate.

Metanate were also asked to produce client and server implementations of a multicast read-only filesystem both to further reduce network traffic, and also to be able to access a filesystem which was too big to be loaded into memory.

The file server, again running on a standard Linux system, multicast chunks of each file in the filesystem in rotation.

The client was implemented as a user-space filesystem on the PowerPC-based embedded Linux system which was able to collate all the chunks for the requested file, then cache the file for the system to use.