Index: BOOK/final-system/arm-chapter.xml
===================================================================
--- BOOK/final-system/arm-chapter.xml	(revision 364d698c9ea8105d4b2897ca823fd683db775efe)
+++ BOOK/final-system/arm-chapter.xml	(revision ed5e88d4f13e5747591c12451a5c2227e472fa5d)
@@ -14,4 +14,6 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/pkgmgt.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/creatingdirs.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/creatingfiles.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/toolchain.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/busybox.xml"/>
Index: BOOK/final-system/common/creatingdirs.xml
===================================================================
--- BOOK/final-system/common/creatingdirs.xml	(revision ed5e88d4f13e5747591c12451a5c2227e472fa5d)
+++ BOOK/final-system/common/creatingdirs.xml	(revision ed5e88d4f13e5747591c12451a5c2227e472fa5d)
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-final-system-creatingdirs">
+  <?dbhtml filename="creatingdirs.html"?>
+
+  <title>Creating Directories</title>
+
+  <para>It is time to create some structure in the CLFS file system. Create a
+  standard directory tree by issuing the following commands:</para>
+
+<screen><userinput>mkdir -pv ${CLFS}/{bin,boot,dev,{etc/,}opt,home,lib/{firmware,modules},mnt}
+mkdir -pv ${CLFS}/{proc,media/{floppy,cdrom},sbin,srv,sys}
+mkdir -pv ${CLFS}/var/{lock,log,mail,run,spool}
+mkdir -pv ${CLFS}/var/{opt,cache,lib/{misc,locate},local}
+install -dv -m 0750 ${CLFS}/root
+install -dv -m 1777 ${CLFS}{/var,}/tmp
+mkdir -pv ${CLFS}/usr/{,local/}{bin,include,lib,sbin,src}
+mkdir -pv ${CLFS}/usr/{,local/}share/{doc,info,locale,man}
+mkdir -pv ${CLFS}/usr/{,local/}share/{misc,terminfo,zoneinfo}
+mkdir -pv ${CLFS}/usr/{,local/}share/man/man{1,2,3,4,5,6,7,8}
+for dir in ${CLFS}/usr{,/local}; do
+  ln -sv share/{man,doc,info} ${dir}
+done</userinput></screen>
+
+  <para>Directories are, by default, created with permission mode 755, but
+  this is not desirable for all directories. In the commands above, two
+  changes are made&mdash;one to the home directory of user <systemitem
+  class="username">root</systemitem>, and another to the directories for
+  temporary files.</para>
+
+  <para>The first mode change ensures that not just anybody can enter
+  the <filename class="directory">/root</filename> directory&mdash;the
+  same as a normal user would do with his or her home directory. The
+  second mode change makes sure that any user can write to the
+  <filename class="directory">/tmp</filename> and <filename
+  class="directory">/var/tmp</filename> directories, but cannot remove
+  another user's files from them. The latter is prohibited by the so-called
+  <quote>sticky bit,</quote> the highest bit (1) in the 1777 bit mask.</para>
+
+  <sect2>
+    <title>FHS Compliance Note</title>
+
+    <para>The directory tree is based on the Filesystem Hierarchy Standard (FHS)
+    (available at <ulink url="http://www.pathname.com/fhs/"/>). In addition to
+    the FHS, we create compatibility symlinks for the <filename
+    class="directory">man</filename>, <filename
+    class="directory">doc</filename>, and <filename
+    class="directory">info</filename> directories since many packages still try
+    to install their documentation into <filename
+    class="directory">/usr/&lt;directory&gt;</filename> or <filename
+    class="directory">/usr/local/&lt;directory&gt;</filename> as opposed to
+    <filename class="directory">/usr/share/&lt;directory&gt;</filename> or
+    <filename class="directory">/usr/local/share/&lt;directory&gt;</filename>.
+    The FHS also stipulates the existence of <filename
+    class="directory">/usr/local/games</filename> and <filename
+    class="directory">/usr/share/games</filename>. The FHS is not precise as to
+    the structure of the <filename class="directory">/usr/local/share</filename>
+    subdirectory, so we create only the directories that are needed. However,
+    feel free to create these directories if you prefer to conform more strictly
+    to the FHS.</para>
+
+  </sect2>
+
+</sect1>
Index: BOOK/final-system/common/creatingfiles.xml
===================================================================
--- BOOK/final-system/common/creatingfiles.xml	(revision ed5e88d4f13e5747591c12451a5c2227e472fa5d)
+++ BOOK/final-system/common/creatingfiles.xml	(revision ed5e88d4f13e5747591c12451a5c2227e472fa5d)
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-final-system-creatingfiles">
+  <?dbhtml filename="creatingfiles.html"?>
+
+  <title>Creating the passwd, group, and log Files</title>
+
+  <indexterm zone="ch-final-system-creatingfiles">
+    <primary sortas="e-/etc/passwd">/etc/passwd</primary>
+  </indexterm>
+
+  <indexterm zone="ch-final-system-creatingfiles">
+    <primary sortas="e-/etc/group">/etc/group</primary>
+  </indexterm>
+
+  <indexterm zone="ch-final-system-creatingfiles">
+    <primary sortas="e-/var/run/utmp">/var/run/utmp</primary>
+  </indexterm>
+
+  <indexterm zone="ch-final-system-creatingfiles">
+    <primary sortas="e-/var/log/btmp">/var/log/btmp</primary>
+  </indexterm>
+
+  <indexterm zone="ch-final-system-creatingfiles">
+    <primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary>
+  </indexterm>
+
+  <indexterm zone="ch-final-system-creatingfiles">
+    <primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary>
+  </indexterm>
+
+  <para>A proper Linux system maintains a list of the mounted file systems in
+  the file <filename>/etc/mtab</filename>.  With the way our embedded system is
+  is designed, we will be using a symlink to <filename>/proc/mounts</filename>:</para>
+
+<screen><userinput>ln -svf ../proc/mounts ${CLFS}/etc/mtab</userinput></screen>
+ 
+  <para>In order for user <systemitem class="username">root</systemitem> to be
+  able to login and for the name <quote>root</quote> to be recognized, there
+  must be relevant entries in the <filename>/etc/passwd</filename> and
+  <filename>/etc/group</filename> files.</para>
+
+  <para>Create the <filename>/etc/passwd</filename> file by running the following
+  command:</para>
+
+<screen><userinput>cat &gt; ${CLFS}/etc/passwd &lt;&lt; "EOF"
+<literal>root::0:0:root:/root:/bin/ash</literal>
+EOF</userinput></screen>
+
+  <para>The actual password for <systemitem class="username">root</systemitem>
+  (the <quote>::</quote> used here is just a placeholder and allow you to login
+  with no password) will be set later.</para>
+
+  <variablelist os="b">
+
+    <title>Additional optional users you may want to add:</title>
+
+    <varlistentry>
+      <term><literal>bin:x:1:1:bin:/bin:/bin/false</literal></term>
+      <listitem>
+        <para>Can be useful for compatibility with legacy applications.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>daemon:x:2:6:daemon:/sbin:/bin/false</literal></term>
+      <listitem>
+        <para>It is often recommended to use an unprivileged User ID/Group ID
+        for daemons in order to limit their access to the system.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>adm:x:3:16:adm:/var/adm:/bin/false</literal></term>
+      <listitem>
+        <para>Was used for programs that performed administrative tasks.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>lp:x:10:9:lp:/var/spool/lp:/bin/false</literal></term>
+      <listitem>
+        <para>Used by programs for printing.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>mail:x:30:30:mail:/var/mail:/bin/false</literal></term>
+      <listitem>
+        <para>Often used by email programs.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>news:x:31:31:news:/var/spool/news:/bin/false</literal></term>
+      <listitem>
+        <para>Often used for network news servers.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>uucp:x:32:32:uucp:/var/spool/uucp:/bin/false</literal></term>
+      <listitem>
+        <para>Often used for Unix-to-Unix Copy of files from one server to the next</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>operator:x:50:0:operator:/root:/bin/ash</literal></term>
+      <listitem>
+        <para>Often used to allow system operators to access the system.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>postmaster:x:51:30:postmaster:/var/spool/mail:/bin/false</literal></term>
+      <listitem>
+        <para>Generally used as an account that receives all the information of troubles with the mail server.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>nobody:x:65534:65534:nobody:/:/bin/false</literal></term>
+      <listitem>
+        <para>Used by NFS.</para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+
+  <para>Create the <filename>/etc/group</filename> file by running the following
+  command:</para>
+
+<screen><userinput>cat &gt; ${CLFS}/etc/group &lt;&lt; "EOF"
+<literal>root:x:0:
+bin:x:1:
+sys:x:2:
+kmem:x:3:
+tty:x:4:
+tape:x:5:
+daemon:x:6:
+floppy:x:7:
+disk:x:8:
+lp:x:9:
+dialout:x:10:
+audio:x:11:
+video:x:12:
+utmp:x:13:
+usb:x:14:
+cdrom:x:15:</literal>
+EOF</userinput></screen>
+
+  <variablelist os="c">
+
+    <title>Additional optional groups you may want to add</title>
+
+    <varlistentry>
+      <term><literal>adm:x:16:root,adm,daemon</literal></term>
+      <listitem>
+        <para>All users in this group are allowed to do administrative tasks</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>console:x:17:</literal></term>
+      <listitem>
+        <para>This group has direct access to the console</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>cdrw:x:18:</literal></term>
+      <listitem>
+        <para>This group is allowed to use the CDRW drive</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>mail:x:30:mail</literal></term>
+      <listitem>
+        <para>Used by MTAs (Mail Transport Agents)</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>news:x:31:news</literal></term>
+      <listitem>
+        <para>Used by Network News Servers</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>uucp:x:32:uucp</literal></term>
+      <listitem>
+        <para>Used by the Unix-to-Unix copy users</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>users:x:100:</literal></term>
+      <listitem>
+        <para>The default GID used by shadow for new users</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>nogroup:x:65533:</literal></term>
+      <listitem>
+        <para>This is a default group used by some programs that do not
+        require a group</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><literal>nobody:x:65534:</literal></term>
+      <listitem>
+        <para>This is used by NFS</para>
+      </listitem>
+    </varlistentry>
+  </variablelist>
+
+  <para>The created groups are not part of any standard&mdash;they are groups
+  decided on in part by the requirements of the Udev configuration in this
+  chapter, and in part by common convention employed by a number of existing
+  Linux distributions. The Linux Standard Base (LSB, available at <ulink
+  url="http://www.linuxbase.org"/>) recommends only that, besides the group
+  <systemitem class="groupname">root</systemitem> with a Group ID (GID) of 0,
+  a group <systemitem class="groupname">bin</systemitem> with a GID of 1 be
+  present. All other group names and GIDs can be chosen freely by the system
+  administrator since well-written programs do not depend on GID numbers, but
+  rather use the group's name.</para>
+
+  <para>The <command>login</command>, <command>agetty</command>, and
+  <command>init</command> programs (and others) use a number of log
+  files to record information such as who was logged into the system and
+  when. However, these programs will not write to the log files if they
+  do not already exist. Initialize the log files and give them
+  proper permissions:</para>
+
+<screen><userinput>touch ${CLFS}/var/run/utmp ${CLFS}/var/log/{btmp,lastlog,wtmp}
+chmod -v 664 ${CLFS}/var/run/utmp ${CLFS}/var/log/lastlog</userinput></screen>
+
+  <para>The <filename>/var/run/utmp</filename> file records the users
+  that are currently logged in. The <filename>/var/log/wtmp</filename>
+  file records all logins and logouts. The
+  <filename>/var/log/lastlog</filename> file records when
+  each user last logged in. The <filename>/var/log/btmp</filename> file
+  records the bad login attempts.</para>
+
+</sect1>
Index: BOOK/final-system/mips-chapter.xml
===================================================================
--- BOOK/final-system/mips-chapter.xml	(revision 364d698c9ea8105d4b2897ca823fd683db775efe)
+++ BOOK/final-system/mips-chapter.xml	(revision ed5e88d4f13e5747591c12451a5c2227e472fa5d)
@@ -14,4 +14,6 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/pkgmgt.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/creatingdirs.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/creatingfiles.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/toolchain.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/busybox.xml"/>
Index: BOOK/final-system/x86-chapter.xml
===================================================================
--- BOOK/final-system/x86-chapter.xml	(revision 364d698c9ea8105d4b2897ca823fd683db775efe)
+++ BOOK/final-system/x86-chapter.xml	(revision ed5e88d4f13e5747591c12451a5c2227e472fa5d)
@@ -14,4 +14,6 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/introduction.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/pkgmgt.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/creatingdirs.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/creatingfiles.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/toolchain.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="common/busybox.xml"/>
