| INSTALLING SQUASHFS |
| |
| The squashfs2.2-r2.tar.gz file contains this file, a README file, |
| an ACKNOWLEDGEMENTS file, a CHANGES file, the squashfs patch |
| directories/files, and the squashfs-tools directory (mksquashfs). |
| |
| 1. Patching the kernel |
| ---------------------- |
| |
| There are twelve kernel patch directories depending on your linux kernel |
| version. If your kernel version isn't listed then try the patch for the nearest |
| kernel listed. |
| |
| To patch your kernel, cd into the top level directory, and run the "patch" |
| comand, e.g. assuming linux-2.4.20 |
| |
| %cd /usr/src/linux-2.4.20 |
| %patch -p1 < location-of-squashfs/linux-2.4.20/squashfs2.2-patch |
| |
| Where "location-of-squashfs" is the path to the squashfs2.2 source directory. |
| |
| The squashfs patches patch the relevant kernel files to add configure support, |
| initrd support, include files, and the squashfs directory under linux/fs/. |
| Once patched, the kernel must be reconfigured, with squashfs support turned on |
| (either Y/M) to ensure that inflate support is built into the kernel. The |
| squashfs kernel option can be found in the filesystems submenu of the |
| configure menus. In the 2.6.x kernels, the squashfs option is hiding in |
| the new miscellaneous filesystems submenu near the bottom of the filesystems |
| submenu. |
| |
| In SquashFS 2.2 there are a new set of options which are intended for use by |
| embedded systems with low memory. At the "Additional options for |
| memory-constrained systems" prompt, please say NO unless you know what you're |
| doing! Saying Y here allows you to specify cache sizes and how Squashfs |
| allocates memory. |
| |
| The "Number of fragments cached" prompt allows the number of fragments cached |
| to be controlled. By default SquashFS caches the last 3 fragments read from |
| the filesystem. Increasing this amount may mean SquashFS has to re-read |
| fragments less often from disk, at the expense of extra system memory. |
| Decreasing this amount will mean SquashFS uses less memory at the expense of |
| extra reads from disk. Note there must be at least one cached fragment. |
| Anything much more than three will probably not make much difference. |
| |
| The "Use Vmalloc rather than Kmalloc" prompt allows you to tell SquashFS to |
| use Vmalloc. By default SquashFS uses kmalloc to obtain fragment cache memory. |
| Kmalloc memory is the standard kernel allocator, but it can fail on memory |
| constrained systems. Because of the way Vmalloc works, Vmalloc can succeed |
| when kmalloc fails. Specifying this option will make SquashFS always use |
| Vmalloc to allocate the fragment cache memory. |
| |
| 2. Building squashfs tools |
| -------------------------- |
| |
| The squashfs-tools directory contains the mksquashfs program. This can be |
| made by typing make. The source files use a local copy of squashfs_fs.h |
| (included in the kernel patches) allowing the tools to be made without needing |
| to patch the kernel. The program uses Large File Support |
| (64 bit offsets etc.) and so a relatively recent glibc is needed. |