[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <200904060355.44679.rob@landley.net>
Date: Mon, 6 Apr 2009 03:55:43 -0500
From: Rob Landley <rob@...dley.net>
To: Phillip Lougher <phillip@...gher.demon.co.uk>
Cc: Stephen Hemminger <shemminger@...tta.com>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
linux-kernel@...r.kernel.org, squashfs-devel@...ts.sourceforge.net
Subject: Re: Squashfs 4.0 tools
On Sunday 05 April 2009 18:27:49 Phillip Lougher wrote:
> Phillip Lougher wrote:
> > Rob Landley wrote:
> >> On Monday 30 March 2009 19:55:24 Stephen Hemminger wrote:
> >>> I built it from cvs (imported into git), and it works okay.
> >>
> >> I grabbed the cvs snapshot gentoo's been using, but I don't see any
> >> way to feed in a device list text file so I can create the
> >> /dev/console node root filesystems need without needing root access on
> >> the host to mknod.
> >>
> >> genext2fs has the -D option, which takes:
> >>
> >> /dev d 755 0 0 - - - - -
> >> /dev/console c 640 0 0 5 1 0 0 -
> >>
> >> gen_init_cpio takes:
> >>
> >> dir /dev 755 0 0
> >> nod /dev/console 660 0 0 c 5 1
> >>
> >> Is there a squashfs option I'm missing...?
> >
> > I'll delay the release of the 4.0 tools and see if I can
> > implement this option in the next day or two.
>
> The Squashfs 4.0 tools have been released on sourceforge
> (http://www.squashfs.org), and mksquashfs now includes support for
> fake devices and directories.
>
> From README-4.0
Some suggested wordsmithing on the text you posted:
---
Mksquashfs now supports pseudo-files, which may be specified via the -p
and -pf command line options.
Pseudo-files allow fake directories, character devices, and block devices to
be added to the Squashfs filesystem being built without requiring them to be
present in the source filesystem. This allows a non-root user to create a
squashfs filesystem containing device nodes and directories (but files) with
arbitrary ownership/permissions.
The -p option specifies an individual pseudo-file, and takes a single argument
such as -p "/dev d 755 root root". The -p option may be repeated as
necessary.
The -pf option specifies a file containing a list of pseudo-file definitions,
one per line.
Pseudo-file definitions look like this:
/dev d 755 root root
/dev/chr_dev c 666 root root 100 1
/dev/blk_dev b 444 0 0 200 200
The first field is the complete path to the new entry in the squashfs
filesystem. (This path cannot currently contain any whitespace space
characters.) The second field is a single letter indicating the entry type.
Currently supported types are d (directory), b (block device), and c (char
device). The third, fourth, and fifth fields are (respectively) octal mode,
user id, and group ID. UID and GID can be specified either by decimal number
or using a name valid on the host filesystem.
Directory pseudo-file definitions only contain five fields. Device
pseudo-file definitions include major and minor numbers in the sixth and
seventh fields.
To ensure the pseudo-file definition is parsed as one argument, and to
ensure it isn't interpreted by the shell, the definition should be enclosed
in quotes when using the -p option, i.e.
mksquashfs test test.sqsh -p "/dev/chrdev c 666 root 100 1"
If a directory given in a pseudo file path exists in the real source
directories it doesn't have to be specified as a pseudo directory, if it
doesn't exist in the source directories, it must first be specified as a
pseudo directory (otherwise any pseudo devices under the directory will be
ignored).
For example
/dev d 755 root root
/dev/chr_dev c 666 root root 100 1
---
Thanks, looks good. I should be able to test it out in the morning.
Rob
--
GPLv3 is to GPLv2 what Attack of the Clones is to The Empire Strikes Back.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists