[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Keeping boot/* out of filesystem.squashfs



Juergen Fiedler <juergen.fiedler <at> gmail.com> writes:

>
> On Mon, Aug 25, 2008 at 10:41 AM, Daniel Baumann <daniel <at> debian.org>
wrote:
> [...]
> > i've commited a not perfect but less limited approach:
> >
>
> It looks like this fix made it into live-helper 1.0.0+20080825.163637,
> so I created config/binary_rootfs/excludes containing the following:
> -------
> boot/vmlinuz*
> boot/initrd.img*
> -------

The *original* exclude file mechanism in Mksquashfs doesn't support
wildcards. Filenames are treated literally, i.e. "boot/vmlinuz*" excludes
the file called "vmlinuz*", which is usually not what you want.

Wildcards can sometimes be made to work with the -e option (where the
exclude files are specified on the command line) by virtue of shell
wildcard expansion, i.e. the wildcards are evaluated by the shell and are
not passed to Mksquashfs.

The -ef option doesn't support wildcards in any shape or form because
the contents of the file are not evaluated by the shell.

So in the above you should either specify "boot" to exclude the entire
boot directory, or you have to explicitly specify each file you want to
exclude.

Mksquashfs 3.3 significantly improves the exclude file mechanism adding
wildcard support and removing the odd behaviour seen previously.  To use
this you have to specify the "-wildcards" option to Mksquashfs.  Once done
your config/binary_rootfs/excludes file should work as expected.

Phillip





Reply to: