aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/filesystems/ramfs-rootfs-initramfs.txt
diff options
context:
space:
mode:
authorRandy Dunlap <randy.dunlap@oracle.com>2007-10-17 02:29:29 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-17 11:42:56 -0400
commit1810732e94576ae0d04e953ecaba8c7151c9a287 (patch)
treec2ff43ec67ea41d2e5fee33b5e9a0d828871d3b5 /Documentation/filesystems/ramfs-rootfs-initramfs.txt
parent0e1ccb9619e8e9ae86dfc5a4645ccf3bf5a2eb3f (diff)
docs: ramdisk/initrd/initramfs corrections
initrd/initramfs/ramdisk docs: - fix typos/spellos/grammar - clarify RAM disk config location - correct cpio option Acked-by: Bryan O'Sullivan <bos@serpentine.com> Acked-by: Rob Landley <rob@landley.net> Cc: Werner Almesberger <werner@almesberger.net> Cc: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Acked-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation/filesystems/ramfs-rootfs-initramfs.txt')
-rw-r--r--Documentation/filesystems/ramfs-rootfs-initramfs.txt14
1 files changed, 7 insertions, 7 deletions
diff --git a/Documentation/filesystems/ramfs-rootfs-initramfs.txt b/Documentation/filesystems/ramfs-rootfs-initramfs.txt
index 25981e2e51be..339c6a4f220e 100644
--- a/Documentation/filesystems/ramfs-rootfs-initramfs.txt
+++ b/Documentation/filesystems/ramfs-rootfs-initramfs.txt
@@ -8,7 +8,7 @@ What is ramfs?
8 8
9Ramfs is a very simple filesystem that exports Linux's disk caching 9Ramfs is a very simple filesystem that exports Linux's disk caching
10mechanisms (the page cache and dentry cache) as a dynamically resizable 10mechanisms (the page cache and dentry cache) as a dynamically resizable
11ram-based filesystem. 11RAM-based filesystem.
12 12
13Normally all files are cached in memory by Linux. Pages of data read from 13Normally all files are cached in memory by Linux. Pages of data read from
14backing store (usually the block device the filesystem is mounted on) are kept 14backing store (usually the block device the filesystem is mounted on) are kept
@@ -34,7 +34,7 @@ ramfs and ramdisk:
34------------------ 34------------------
35 35
36The older "ram disk" mechanism created a synthetic block device out of 36The older "ram disk" mechanism created a synthetic block device out of
37an area of ram and used it as backing store for a filesystem. This block 37an area of RAM and used it as backing store for a filesystem. This block
38device was of fixed size, so the filesystem mounted on it was of fixed 38device was of fixed size, so the filesystem mounted on it was of fixed
39size. Using a ram disk also required unnecessarily copying memory from the 39size. Using a ram disk also required unnecessarily copying memory from the
40fake block device into the page cache (and copying changes back out), as well 40fake block device into the page cache (and copying changes back out), as well
@@ -46,8 +46,8 @@ unnecessary work for the CPU, and pollutes the CPU caches. (There are tricks
46to avoid this copying by playing with the page tables, but they're unpleasantly 46to avoid this copying by playing with the page tables, but they're unpleasantly
47complicated and turn out to be about as expensive as the copying anyway.) 47complicated and turn out to be about as expensive as the copying anyway.)
48More to the point, all the work ramfs is doing has to happen _anyway_, 48More to the point, all the work ramfs is doing has to happen _anyway_,
49since all file access goes through the page and dentry caches. The ram 49since all file access goes through the page and dentry caches. The RAM
50disk is simply unnecessary, ramfs is internally much simpler. 50disk is simply unnecessary; ramfs is internally much simpler.
51 51
52Another reason ramdisks are semi-obsolete is that the introduction of 52Another reason ramdisks are semi-obsolete is that the introduction of
53loopback devices offered a more flexible and convenient way to create 53loopback devices offered a more flexible and convenient way to create
@@ -103,7 +103,7 @@ All this differs from the old initrd in several ways:
103 initramfs archive is a gzipped cpio archive (like tar only simpler, 103 initramfs archive is a gzipped cpio archive (like tar only simpler,
104 see cpio(1) and Documentation/early-userspace/buffer-format.txt). The 104 see cpio(1) and Documentation/early-userspace/buffer-format.txt). The
105 kernel's cpio extraction code is not only extremely small, it's also 105 kernel's cpio extraction code is not only extremely small, it's also
106 __init data that can be discarded during the boot process. 106 __init text and data that can be discarded during the boot process.
107 107
108 - The program run by the old initrd (which was called /initrd, not /init) did 108 - The program run by the old initrd (which was called /initrd, not /init) did
109 some setup and then returned to the kernel, while the init program from 109 some setup and then returned to the kernel, while the init program from
@@ -220,7 +220,7 @@ device) but the separate packaging of initrd (which is nice if you have
220non-GPL code you'd like to run from initramfs, without conflating it with 220non-GPL code you'd like to run from initramfs, without conflating it with
221the GPL licensed Linux kernel binary). 221the GPL licensed Linux kernel binary).
222 222
223It can also be used to supplement the kernel's built-in initamfs image. The 223It can also be used to supplement the kernel's built-in initramfs image. The
224files in the external archive will overwrite any conflicting files in 224files in the external archive will overwrite any conflicting files in
225the built-in initramfs archive. Some distributors also prefer to customize 225the built-in initramfs archive. Some distributors also prefer to customize
226a single kernel image with task-specific initramfs images, without recompiling. 226a single kernel image with task-specific initramfs images, without recompiling.
@@ -339,7 +339,7 @@ smooth transition and allowing early boot functionality to gradually move to
339The move to early userspace is necessary because finding and mounting the real 339The move to early userspace is necessary because finding and mounting the real
340root device is complex. Root partitions can span multiple devices (raid or 340root device is complex. Root partitions can span multiple devices (raid or
341separate journal). They can be out on the network (requiring dhcp, setting a 341separate journal). They can be out on the network (requiring dhcp, setting a
342specific mac address, logging into a server, etc). They can live on removable 342specific MAC address, logging into a server, etc). They can live on removable
343media, with dynamically allocated major/minor numbers and persistent naming 343media, with dynamically allocated major/minor numbers and persistent naming
344issues requiring a full udev implementation to sort out. They can be 344issues requiring a full udev implementation to sort out. They can be
345compressed, encrypted, copy-on-write, loopback mounted, strangely partitioned, 345compressed, encrypted, copy-on-write, loopback mounted, strangely partitioned,