Challenge Overview
Brotli is a compression format from Google. https://github.com/google/brotli
SquashFS is a Linux utility that can build compressed file systems. http://squashfs.sourceforge.net
For this challenge, we are going to take a recently completed implementation of brotli support for SquashFS, and we are going to document how to build a SquashFS volume that can be booted from.
The client is hoping to be able to push Brotli SquashFS support back into the main Linux Kernel repository, for specific versions. They have asked us to target kernels 2.6, 3, and 4. This challenge will start with a patch for kernel 4.5.2.
Requirements:
In your submission, please provide a patch file for Linux kernel 4.5.2 that includes the Brotli SquashFS support. Your deployment guide will need to detail how to build the kernel using the sources downloaded directly from kernel.org. A similar project implemented the same work for 3.18.29, so that code will be available in the forum.
Testing
The client has asked that we start to target the Raspberry Pi2 for validation, since they want to ensure the SquashFS code runs on different architectures, like MIPS and ARM. Your deployment guide should detail how to get a simple installation of a base kernel and a terminal running and booted on a Raspberry Pi2, from a Brotli compressed file system using the Linux kernel version mentioned above.
Final Submission Guidelines
Please see above