Difference between revisions of "File systems"

From Organic Design wiki
(add fuse)
m
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Articles that need updating]][[Category:peerix]]
+
[[Category:peerix]]
{{stub}}
+
The [[:Category:Kernel|Kernel]] requires a filesystem to start up. In unix terms this means it's ''/sbin/init'' or ''/linuxrc''. It's also important that the OS is able to read and write all common file systems.
  
It's important that the OS is able to read and write all common file systems.
+
= FUSE =
==NTFS==
+
User-space implementation of a filesystem API.
Because it is based on Linux most file systems are natively supported, with the exception of NTFS.
+
*Requires kernel module that is standard in 2.6 kernels
 +
*Good examples of custom implementation
 +
*See [[fs.c]]
 +
 
 +
= tmpfs =
 +
''tmpfs'' is a ram based file system that is discarded on shutdown. It may be easier to use tmpfs to store changing data as UnionFS seems still a bit immature and complicated. A tmpfs could be mounted at ''/etc''. At present we mount a tmpfs at ''/tmp'' by convention.
  
There is a utilty called Captive that can provide a read/write NTFS file system layer that will integrate with the OS in the normal way.
+
= UnionFS =
*[http://www.jankratochvil.net/project/captive/ Captive home page]
+
Using UnionFS you can separate the read and write parts of a file system transparently. I propose to use this in the [[:Category:Media Center|Media Center]]. The main root file system is created in a [[w:CramFS|CramFS]] filesystem. CramFS is read only but is very fast to load and boot from. Once the kernel has booted an additional RamFS file system is created and UnionFS is used to send any writes to the new file system.
  
==Fuse==
+
*http://www.damnsmalllinux.org/f/topic-3-26-12858-0.html
User-space implementation of a filesystem API.
+
 
*Requires kernel module
+
= NTFS =
*Good examples of custom implementation
+
ntfs-3g is a project giving unlimited read-write access to ntfs file system partitions. With this library and FUSE ntfs partitions can be treated almost transparently by linux.
**See [[Peerix filesystem]]
+
*Requires FUSE 2.6
 +
*[http://www.ntfs-3g.org/index.html#installation Installation notes]
 +
*http://www.ntfs-3g.org/
 +
 
 +
=See also=
 +
*[[Virtual file systems]]

Latest revision as of 01:19, 5 March 2007

The Kernel requires a filesystem to start up. In unix terms this means it's /sbin/init or /linuxrc. It's also important that the OS is able to read and write all common file systems.

FUSE

User-space implementation of a filesystem API.

  • Requires kernel module that is standard in 2.6 kernels
  • Good examples of custom implementation
  • See fs.c

tmpfs

tmpfs is a ram based file system that is discarded on shutdown. It may be easier to use tmpfs to store changing data as UnionFS seems still a bit immature and complicated. A tmpfs could be mounted at /etc. At present we mount a tmpfs at /tmp by convention.

UnionFS

Using UnionFS you can separate the read and write parts of a file system transparently. I propose to use this in the Media Center. The main root file system is created in a CramFS filesystem. CramFS is read only but is very fast to load and boot from. Once the kernel has booted an additional RamFS file system is created and UnionFS is used to send any writes to the new file system.

NTFS

ntfs-3g is a project giving unlimited read-write access to ntfs file system partitions. With this library and FUSE ntfs partitions can be treated almost transparently by linux.

See also