summaryrefslogtreecommitdiffstats
path: root/share/man/man4/geom_map.4
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man4/geom_map.4')
-rw-r--r--share/man/man4/geom_map.4130
1 files changed, 81 insertions, 49 deletions
diff --git a/share/man/man4/geom_map.4 b/share/man/man4/geom_map.4
index 3d65dcd..6af91be 100644
--- a/share/man/man4/geom_map.4
+++ b/share/man/man4/geom_map.4
@@ -25,12 +25,12 @@
.\"
.\" $FreeBSD$
.\"
-.Dd April 5, 2011
+.Dd May 17, 2011
.Dt GEOM_MAP 4
.Os
.Sh NAME
.Nm geom_map
-.Nd "GEOM module that map difined items as separate partitions"
+.Nd "GEOM module that maps defined items as separate partitions"
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following line in your
@@ -41,16 +41,16 @@ kernel configuration file:
.Sh DESCRIPTION
The
.Nm
-framework provides support for mapping defined parts of the media. Basicaly it
-is helpful in the embedded devices where in the one continous flash are loader,
-kernel and rootfs parts. The
+framework provides support for mapping defined parts of the media.
+Basically it is helpful for embedded devices where in the one continuous
+flash are loader, kernel and rootfs parts.
.Nm
-allows making them available as separate parts and protect loader from
-overwriting.
+allows making them available as separate parts and protects the loader from
+being overwritten.
.Pp
At boot time
.Nm
-partitions listed (only with bootverbose) as:
+partitions are listed (only with bootverbose) as:
.Bd -literal -offset indent
MAP: 0x30000, data=0x30000 "/dev/map/bootloader"
MAP: 30000x10000, data=0x10000 "/dev/map/factory"
@@ -62,13 +62,19 @@ MAP: 150000x690000, data=0x690000 "/dev/map/rootfs"
MAP: 7e0000x20000, data=0x20000 "/dev/map/config"
.Ed
.Pp
-Also
+The current
.Nm
-current configuration can be accessible with sysctl's kern.geom.conftxt,
-kern.geom.confxml, kern.geom.confdot or geom map list.
+configuration can be accessed with the following
+.Xr sysctl 8
+nodes:
+.Va kern.geom.conftxt , kern.geom.confxml ,
+and
+.Va kern.geom.confdot
+or by using
+.Dq Li "geom map list" .
.Bd -literal -offset indent
-# sysctl kern.geom.conftxt
-kern.geom.conftxt: 0 MD md0 10485760 512 u 0 s 512 f 0 fs 0 l 10485760 t malloc
+# sysctl -n kern.geom.conftxt
+0 MD md0 10485760 512 u 0 s 512 f 0 fs 0 l 10485760 t malloc
0 DISK cfid0 8388608 4 hd 0 sc 0
1 MAP map/config 131072 4 i 5 o 8257536 entry 0 dsize 131072
1 MAP map/rootfs 6881280 4 i 4 o 1376256 entry 0 dsize 6881280
@@ -79,49 +85,55 @@ kern.geom.conftxt: 0 MD md0 10485760 512 u 0 s 512 f 0 fs 0 l 10485760 t malloc
1 MAP map/bootloader 196608 4 i 0 o 0 entry 0 dsize 196608
.Ed
.Pp
-Driver configuration can be done in device hints file. List of used parameters:
+Driver configuration can be done in
+.Xr device.hints 5 .
+List of used parameters:
.Bl -tag -width indent
-.It Fa at
+.It Va at
select media to attach
-.It Fa name
-name of partiton (will create device /dev/map/that_name)
-.It Fa start
+.It Va name
+name of partition (will create device
+.Pa /dev/map/ Ns Ar that_name )
+.It Va start
offset from the beginning of the parent media to start of the mapped partition.
-This field can also have special value
-"search:searchstart:searchstep:searchkey", where:
+This field can also have a special value
+.Qq Li search: Ns Ar searchstart Ns Li : Ns Ar searchstep Ns Li : Ns Ar searchkey ,
+where:
.Bl -tag -width indent
-.It Fa searchstart
+.It Ar searchstart
offset from the beginning of the parent media where search will be started
-.It Fa searchstep
+.It Ar searchstep
value of the increment used while searching for the partition boundary markers
-.It Fa searchkey
-key which will be used to find partition boundary markers. Wildcard "." char
-can be used to match any char on that position
+.It Ar searchkey
+key which will be used to find partition boundary markers.
+The wildcard
+.Ql .\&
+can be used to match any character on that position
.El
-.It Fa end
-offset from the beginning of the parent media to end of the mapped partition.
-This field can also have special value
-"search:searchstart:searchstep:searchkey", look "start" for details.
-.It Fa offset
-offset where the data of mapped partition begins
+.It Va end
+offset from the beginning of the parent media to the end of the mapped partition.
+This field can also have the special value
+.Qq Li search: Ns Ar searchstart Ns Li : Ns Ar searchstep Ns Li : Ns Ar searchkey ,
+as described above.
+.It Va offset
+offset where the data of the mapped partition begins
.El
.Pp
-Each record contains start address(bytes) from the media begin, size(bytes),
-offset where the data of mapped partition begins, and the name of new device.
+Each record contains the start address (in bytes) from the media begin, size
+(in bytes), offset where the data of mapped partition begins, and the name of
+new device.
.Bd -literal -offset indent
MAP: 150000x690000, data=0x690000 "/dev/map/rootfs"
.Ed
.Bd -literal
-00150000 - begin address
+00150000 - start address
00690000 - size
00000000 - data begin from zero offset
00690000 - data size
"map/rootfs" - new media will be accessible via /dev/map/rootfs dev.
.Ed
.Sh EXAMPLES
-.Pp
-.Bl -bullet -compact
-If we need to implement layout shown above, we need to define the folowing
+If we need to implement layout shown above, we need to define the following
hints:
.Bd -literal -offset indent
hint.map.0.at="cfid0"
@@ -129,10 +141,17 @@ hint.map.0.start=0x00000000
hint.map.0.end=0x00030000
hint.map.0.name="bootloader"
hint.map.0.readonly=1
-
.Ed
-define "/dev/map/bootloader" at disk "cfid0" starting at 0x00000000 and end
-0x00030000, also marked as readonly.
+.Pp
+This defines
+.Pa /dev/map/bootloader
+at disk
+.Pa cfid0
+starting at
+.Li 0x00000000
+and ending at
+.Li 0x00030000 ,
+it is also marked as readonly.
.Bd -literal -offset indent
hint.map.1.at="cfid0"
hint.map.1.start=0x00030000
@@ -148,13 +167,28 @@ hint.map.3.at="cfid0"
hint.map.3.name="kernel"
hint.map.3.start=0x00040000
hint.map.3.end="search:0x00100000:0x10000:.!/bin/sh"
-
.Ed
-define "/dev/map/kernel" at disk "cfid0" starting at 0x00040000, but end
-position must be searched by the key ".!/bin/sh", from offset 0x00100000 to end
-of media with step 0x10000. Real marker in that case is "#!/bin/sh", but "#"
-terminates the line when hints file is parsed, so we need to use wildcard "."
-instead of "#".
+.Pp
+This defines
+.Pa /dev/map/kernel
+at disk
+.Pa cfid0
+starting at
+.Li 0x00040000 ,
+but the end position must be searched by finding the key
+.Dq Li ".!/bin/sh" ,
+from offset
+.Li 0x00100000
+to the end of media with step
+.Li 0x10000 .
+The real marker in this case is
+.Dq Li "#!/bin/sh" ,
+but
+.Ql #
+terminates the line when the hints file is parsed, so we need to use wildcard
+.Ql .\&
+instead of
+.Ql # .
.Bd -literal -offset indent
hint.map.4.at="cfid0"
hint.map.4.name="rootfs"
@@ -166,13 +200,11 @@ hint.map.5.start=0x007e0000
hint.map.5.end=0x00800000
hint.map.5.name="config"
.Ed
-.El
.Sh SEE ALSO
-.Xr GEOM 4 ,
+.Xr geom 4 ,
.Xr geom 8 ,
.Xr sysctl 8
.Sh AUTHORS
-.An -nosplit
The
.Nm
driver was written by
OpenPOWER on IntegriCloud