105 lines
3.6 KiB
Plaintext
Executable File
105 lines
3.6 KiB
Plaintext
Executable File
The cofs driver in the coLinux kernel is based on work by the people
|
|
responsible for the fuse-1.3 library and kernel code, namely Miklos
|
|
Szeredi <miklos@szeredi.hu>.
|
|
|
|
cofs is similar to UML's hostfs. It is a binding between the host's
|
|
VFS and Linux's VFS layers. By using cofs it is possible to mount
|
|
host OS directories inside Linux.
|
|
|
|
* Flat mode (default)
|
|
|
|
Mounting in flat mode (the default) under Windows, means that the
|
|
expected behavior of the mounted file system is similar to that of
|
|
vfat or samba, which means there is no support for the regular
|
|
UNIX meta data and all the UNIX attributes (mode, uid, gid) are
|
|
virtually the same for all files and directories. Creation of special
|
|
files like symlinks, device nodes, and pipes are not supported.
|
|
|
|
Unix mode Attributes are maped to FAT attributes.
|
|
File: Directory:
|
|
r Hidden is not set r Hidden is not set
|
|
w Readonly is not set w Readonly is not set
|
|
x System is set x System is not set
|
|
|
|
Only owner rights have effect for change the attribues on host side.
|
|
The rights for group and others are mirrored from owner rights.
|
|
All attributes are AND masked with dmask and fmask on attribute read.
|
|
Use mount option 'noattrib' to disable these attribute mapping.
|
|
|
|
* UNIX meta data mode (not supported)
|
|
|
|
Future versions of cofs support will introduce the UNIX meta data
|
|
mode, which is similiar to hostfs. It will allow to have a true
|
|
UNIX file system on top of a Windows (or Linux) file system by
|
|
storing the VM's UNIX meta data as regular inaccessible files.
|
|
Theoretically, it will allow to boot a full Linux system without
|
|
a root file system image.
|
|
|
|
* Ports
|
|
|
|
For the host OS side, cofs is only supported on the Windows port
|
|
at the time this is writing (October 23, 2004).
|
|
|
|
The planned Linux port will be designed to behave more like UML's
|
|
hostfs in flat mode (with support for UNIX attributes), and UML's
|
|
humfs in UNIX meta data mode.
|
|
|
|
* Configuring cofs (using the colinux-daemon command line interface):
|
|
|
|
cofsXX=host-pathname
|
|
|
|
XX is a number between 0 and 31.
|
|
|
|
* mount syntax:
|
|
|
|
mount -t cofs (cofs)XX(:path) (-o options) /mnt/point
|
|
|
|
'cofs' as a prefix to the device name is optional and it is only for
|
|
clarity.
|
|
|
|
The optional ':path' suffix can specify an inner path to mount
|
|
instead of the mapped root.
|
|
|
|
'options' are parallel to smbfs:
|
|
|
|
gid= Set the default group.
|
|
uid= Set the default user.
|
|
dmask= Set the default directory permission.
|
|
fmask= Set the default regular file permission.
|
|
nocache Disable directory caching.
|
|
noattrib Disable host file attribute mapping.
|
|
|
|
* Examples:
|
|
|
|
Using the following configuration:
|
|
|
|
colinux-daemon kernel=vmlinux hda1=root_fs cofs0=c:\
|
|
|
|
This map cofs0 to c:\.
|
|
|
|
mount -t cofs 0 /mnt/windows
|
|
|
|
Mount c:\ as /mnt/windows.
|
|
|
|
mount -t cofs cofs0 -o uid=dax,gid=dax /mnt/windows
|
|
|
|
Mount c:\ as /mnt/windows and give dax full access to all the
|
|
files and directories.
|
|
|
|
mount -t cofs cofs0:Share -o uid=dax,gid=dax,dmask=0775,fmask=0664 /mnt/windows
|
|
|
|
Mount c:\Share as /mnt/windows and give dax exclusive full access to
|
|
all the files and directories. Executable mode will unmask for all files.
|
|
|
|
An example fstab entry:
|
|
|
|
cofs0:Share /mnt/windows cofs defaults 0 0
|
|
|
|
* Cofs31, initrd and vmlinux-modules.tar.gz:
|
|
|
|
While using initrd, cofs 31 is automatically added for the path of file
|
|
initrd.gz to locate the file vmlinux-modules.tar.gz in same directory.
|
|
User can overwrite cofs31, then initrd would not work and don't install
|
|
modules.
|
|
|