GENROMFS(8)

NAME
genromfs - create a romfs image

SYNOPSIS
genromfs -f device [ -d source ] [ -V label ] [ -a alignment ] [ -A alignment,pattern ] [ -x pattern ] [ -v ]

DESCRIPTION
genromfs is used to create a romfs file system image, usually directly on a block device, or for test purposes, in a plain file. It is the mkfs equivalent of other filesystems.

genromfs will scan the current directory and its subdirectories, build a romfs image from the files found, and output it to the file or device you specified.

During scanning, it recognizes a special notation. If a file begins with the @ sign (and is empty otherwise), it refers to a device special node in the format: @name,type,major,minor. type can be b for block devices, c for character devices, and p for fifos. The linux virtual console 1 can thus be included as a file with the name: @tty1,c,4,1

OPTIONS

-f output
    Specifies the file to output the image to. This option is required.

-d source
    Use the specified directory as the source, not the current directory.

-V label
    Build the image with the specified volume label. Currently it is not used by the kernel, but it will be recorded in the image.

-a alignment
    Align regular files to a larger boundary. genromfs will align data of each regular file in the resulting image to the specified alignment, while keeping the image compatible with the original romfs definition (by adding pad bytes between last node before the file and file's header). By default, genromfs will guarantee only an alignment of 16 bytes.

-A alignment,pattern
    Align objects matching shell wildcard pattern to alignment bytes. If one object matches more patterns, then the highest alignment is chosen. Alignment has to be a power of two. Patterns either don't contain any slashes, in which case files matching those patterns are matched in all directories, or start with a leading slash, in which case they are matched against absolute paths inside of the romfs filesystem (that is, as if you chrooted into the rom filesystem).

-x pattern
    Allow to exclude files that match a pattern. It's useful to exclude CVS directories and backup files (ending in a '~').

-i pattern
    Include files that match a pattern. You can mix and match -i and -x options, they will be processed in the order specified. You can exclude files matching *.bin but include boot*.bin later.

-v  Verbose operation, genromfs will print each file which is included in the image, along with its offset.

EXTENSION OPTIONS
Except for the alignment options, these are not supported in current in-kernel romfs implementations as of early 2009.

-ealign:N,PATTERN
    Same as the -AN,PATTERN option.

-ealign:N
    Same as the -aN option.

-eperm:N[,PATTERN]
    Will try to store the numeric (octal) permission for the files matching the pattern. Examples are 600 for files accessible to their owners only, or 4711 for setuid files. The PATTERN is optional, if missing, it will apply to all files (which is not generally useful).

-eperm[,PATTERN]
    Similar to the above option, except that the permission to store will be retrieved from the actual file.

-euid:N[,PATTERN]

-euid[,PATTERN]

-egid:N[,PATTERN]

-egid[,PATTERN]
    Similarly to the -eperm option, these options allow to store the file user-id and group-id information.

-etime:N[,PATTERN]

-etime[,PATTERN]
    Similarly, these options allow to store the file modification timestamp. The number is the Unix time, the seconds since January 1, 1970, 00:00:00 UTC.

EXAMPLES
       genromfs -d root -f /dev/fd0 -V 'Secret labs install disk'
All files in the root directory will be written to /dev/fd0 as a new romfs filesystem image.
       genromfs -d root -f /dev/fd0 -A 2048,/.. -A '4096,*.boot' -a 512 -V 'Bootable floppy'
Generate the image and place file data of all regular files on 512 bytes boundaries or on 4K boundaries, if they have the .boot extension. Additionally, align the romfs header of the '..' entry in the root directory on a 2K boundary. Effectively, this makes sure that the romfs image uses the least possible space in the first 2048 bytes.

You can use the generated image (if you have the romfs module loaded, or compiled into the kernel) via:
       mount -t romfs /dev/fd0 /mnt

AUTHOR
This manual page was initially written by Christoph Lameter <clameter@debian.org>, for the Debian GNU/Linux system.

SEE ALSO
mkfs(8), mount(8), mkisofs(8)