diff --git a/poky/documentation/dev-manual/common-tasks.rst b/poky/documentation/dev-manual/common-tasks.rst
index 4a5011e..bd8bbec 100644
--- a/poky/documentation/dev-manual/common-tasks.rst
+++ b/poky/documentation/dev-manual/common-tasks.rst
@@ -25,7 +25,7 @@
 -----------------------
 
 It is very easy to create your own layers to use with the OpenEmbedded
-build system. The Yocto Project ships with tools that speed up creating
+build system, as the Yocto Project ships with tools that speed up creating
 layers. This section describes the steps you perform by hand to create
 layers so that you can better understand them. For information about the
 layer-creation tools, see the
@@ -422,8 +422,9 @@
 enable it. To enable your layer, simply add your layer's path to the
 :term:`BBLAYERS` variable in your ``conf/bblayers.conf`` file, which is
 found in the :term:`Build Directory`.
-The following example shows how to enable a layer named
-``meta-mylayer``::
+The following example shows how to enable your new
+``meta-mylayer`` layer (note how your new layer exists outside of
+the official ``poky`` repository which you would have checked out earlier)::
 
    # POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
    # changes incompatibly
@@ -434,7 +435,7 @@
        /home/user/poky/meta \
        /home/user/poky/meta-poky \
        /home/user/poky/meta-yocto-bsp \
-       /home/user/poky/meta-mylayer \
+       /home/user/mystuff/meta-mylayer \
        "
 
 BitBake parses each ``conf/layer.conf`` file from the top down as
@@ -554,6 +555,67 @@
 used during :ref:`ref-tasks-fetch` and the test for a non-zero file size in
 :ref:`ref-tasks-install` will return true, and the file will be installed.
 
+Installing Additional Files Using Your Layer
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+As another example, consider the main ``xserver-xf86-config`` recipe and a
+corresponding ``xserver-xf86-config`` append file both from the :term:`Source
+Directory`.  Here is the main ``xserver-xf86-config`` recipe, which is named
+``xserver-xf86-config_0.1.bb`` and located in the "meta" layer at
+``meta/recipes-graphics/xorg-xserver``::
+
+   SUMMARY = "X.Org X server configuration file"
+   HOMEPAGE = "http://www.x.org"
+   SECTION = "x11/base"
+   LICENSE = "MIT-X"
+   LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+   PR = "r33"
+
+   SRC_URI = "file://xorg.conf"
+
+   S = "${WORKDIR}"
+
+   CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf"
+
+   PACKAGE_ARCH = "${MACHINE_ARCH}"
+   ALLOW_EMPTY:${PN} = "1"
+
+   do_install () {
+	if test -s ${WORKDIR}/xorg.conf; then
+		install -d ${D}/${sysconfdir}/X11
+		install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/
+	fi
+   }
+
+Following is the append file, which is named ``xserver-xf86-config_%.bbappend``
+and is from the Raspberry Pi BSP Layer named ``meta-raspberrypi``. The
+file is in the layer at ``recipes-graphics/xorg-xserver``::
+
+   FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+   SRC_URI:append:rpi = " \
+       file://xorg.conf.d/98-pitft.conf \
+       file://xorg.conf.d/99-calibration.conf \
+   "
+   do_install:append:rpi () {
+       PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
+       if [ "${PITFT}" = "1" ]; then
+           install -d ${D}/${sysconfdir}/X11/xorg.conf.d/
+           install -m 0644 ${WORKDIR}/xorg.conf.d/98-pitft.conf ${D}/${sysconfdir}/X11/xorg.conf.d/
+           install -m 0644 ${WORKDIR}/xorg.conf.d/99-calibration.conf ${D}/${sysconfdir}/X11/xorg.conf.d/
+       fi
+   }
+
+   FILES:${PN}:append:rpi = " ${sysconfdir}/X11/xorg.conf.d/*"
+
+Building off of the previous example, we once again are setting the
+:term:`FILESEXTRAPATHS` variable.  In this case we are also using
+:term:`SRC_URI` to list additional source files to use when ``rpi`` is found in
+the list of :term:`OVERRIDES`.  The :ref:`ref-tasks-install` task will then perform a
+check for an additional :term:`MACHINE_FEATURES` that if set will cause these
+additional files to be installed.  These additional files are listed in
+:term:`FILES` so that they will be packaged.
+
 Prioritizing Your Layer
 -----------------------
 
@@ -843,8 +905,8 @@
 
    IMAGE_INSTALL:append = " strace"
 
-Use of the syntax is important -
-specifically, the space between the quote and the package name, which is
+Use of the syntax is important; specifically, the leading space
+after the opening quote and before the package name, which is
 ``strace`` in this example. This space is required since the ``:append``
 operator does not add the space.
 
@@ -2361,7 +2423,7 @@
    require xorg-lib-common.inc
 
    SUMMARY = "Xpm: X Pixmap extension library"
-   LICENSE = "BSD"
+   LICENSE = "MIT"
    LIC_FILES_CHKSUM = "file://COPYING;md5=51f4270b012ecd4ab1a164f5f4ed6cf7"
    DEPENDS += "libxext libsm libxt"
    PE = "1"
@@ -3476,7 +3538,7 @@
 previous section, you can also spawn and work within an interactive
 Python development shell. When debugging certain commands or even when
 just editing packages, ``devpyshell`` can be a useful tool. When you
-invoke ``devpyshell``, all tasks up to and including
+invoke the ``devpyshell`` task, all tasks up to and including
 :ref:`ref-tasks-patch` are run for the
 specified target. Then a new terminal is opened. Additionally, key
 Python objects and code are available in the same way they are to
@@ -3486,7 +3548,7 @@
 
    pydevshell> d.getVar("STAGING_DIR")
    '/media/build1/poky/build/tmp/sysroots'
-   pydevshell> d.getVar("STAGING_DIR")
+   pydevshell> d.getVar("STAGING_DIR", False)
    '${TMPDIR}/sysroots'
    pydevshell> d.setVar("FOO", "bar")
    pydevshell> d.getVar("FOO")
@@ -3517,9 +3579,9 @@
 Building
 ========
 
-This section describes various build procedures. For example, the steps
-needed for a simple build, a target that uses multiple configurations,
-building an image for more than one machine, and so forth.
+This section describes various build procedures, such as the steps
+needed for a simple build, building a target for multiple configurations,
+generating an image for more than one machine, and so forth.
 
 Building a Simple Image
 -----------------------
@@ -3575,8 +3637,10 @@
    .. note::
 
       A common practice is to use a different Build Directory for
-      different targets. For example, ``~/build/x86`` for a ``qemux86``
-      target, and ``~/build/arm`` for a ``qemuarm`` target.
+      different targets; for example, ``~/build/x86`` for a ``qemux86``
+      target, and ``~/build/arm`` for a ``qemuarm`` target. In any
+      event, it's typically cleaner to locate the build directory
+      somewhere outside of your source directory.
 
 3. *Make Sure Your* ``local.conf`` *File is Correct*: Ensure the
    ``conf/local.conf`` configuration file, which is found in the Build
@@ -3599,7 +3663,7 @@
    The target is the name of the recipe you want to build. Common
    targets are the images in ``meta/recipes-core/images``,
    ``meta/recipes-sato/images``, and so forth all found in the
-   :term:`Source Directory`. Or, the target
+   :term:`Source Directory`. Alternatively, the target
    can be the name of a recipe for a specific piece of software such as
    BusyBox. For more details about the images the OpenEmbedded build
    system supports, see the
@@ -3810,7 +3874,7 @@
 
    .. note::
 
-      It is recommended that you do bundle the initramfs image with the
+      It is recommended that you bundle the initramfs image with the
       kernel image to avoid circular dependencies between the kernel
       recipe and the initramfs recipe should the initramfs image include
       kernel modules.
@@ -4430,7 +4494,7 @@
          SRCREV = "${AUTOREV}"
 
       When a recipe sets :term:`SRCREV` to
-      ``${AUTOREV}``, the build system accesses the network in an
+      ``${``\ :term:`AUTOREV`\ ``}``, the build system accesses the network in an
       attempt to determine the latest version of software from the SCM.
       Typically, recipes that use :term:`AUTOREV` are custom or modified
       recipes. Recipes that reside in public repositories usually do not
@@ -5197,17 +5261,19 @@
 
    $ wic list images
      genericx86                    		Create an EFI disk image for genericx86*
-     beaglebone-yocto              		Create SD card image for Beaglebone
      edgerouter                    		Create SD card image for Edgerouter
-     qemux86-directdisk            		Create a QEMU machine 'pcbios' direct disk image
-     directdisk-gpt                		Create a 'pcbios' direct disk image
-     mkefidisk                     		Create an EFI disk image
-     directdisk                    		Create a 'pcbios' direct disk image
+     beaglebone-yocto              		Create SD card image for Beaglebone
+     qemux86-directdisk            		Create a qemu machine 'pcbios' direct disk image
      systemd-bootdisk              		Create an EFI disk image with systemd-boot
      mkhybridiso                   		Create a hybrid ISO image
+     mkefidisk                     		Create an EFI disk image
      sdimage-bootpart              		Create SD card image with a boot partition
      directdisk-multi-rootfs       		Create multi rootfs image using rootfs plugin
+     directdisk                    		Create a 'pcbios' direct disk image
      directdisk-bootloader-config  		Create a 'pcbios' direct disk image with custom bootloader config
+     qemuriscv                     		Create qcow2 image for RISC-V QEMU machines
+     directdisk-gpt                		Create a 'pcbios' direct disk image
+     efi-bootdisk
 
 Once you know the list of available
 Wic images, you can use ``help`` with the command to get help on a
@@ -7571,7 +7637,7 @@
 The Yocto Project provides multiple ways to manage the device manager
 (``/dev``):
 
--  Persistent and Pre-Populated\ ``/dev``: For this case, the ``/dev``
+-  Persistent and Pre-Populated ``/dev``: For this case, the ``/dev``
    directory is persistent and the required device nodes are created
    during the build.
 
@@ -7581,7 +7647,7 @@
    configuration of device nodes is done in user space by a device
    manager like ``udev`` or ``busybox-mdev``.
 
-Using Persistent and Pre-Populated\ ``/dev``
+Using Persistent and Pre-Populated ``/dev``
 --------------------------------------------
 
 To use the static method for device population, you need to set the
@@ -10478,7 +10544,7 @@
    and email address. In this example, the email address is a mailing
    list::
 
-      $ poky/scripts/send-pull-request -p ~/meta-intel/pull-10565 -t meta-intel@yoctoproject.org
+      $ poky/scripts/send-pull-request -p ~/meta-intel/pull-10565 -t meta-intel@lists.yoctoproject.org
 
    You need to follow the prompts as the script is interactive.
 
diff --git a/poky/documentation/dev-manual/history.rst b/poky/documentation/dev-manual/history.rst
deleted file mode 100644
index 1ba3124..0000000
--- a/poky/documentation/dev-manual/history.rst
+++ /dev/null
@@ -1,67 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
-
-***********************
-Manual Revision History
-***********************
-
-.. list-table::
-   :widths: 10 15 40
-   :header-rows: 1
-
-   * - Revision
-     - Date
-     - Note
-   * - 1.1
-     - October 2011
-     - The initial document released with the Yocto Project 1.1 Release
-   * - 1.2
-     - April 2012
-     - Released with the Yocto Project 1.2 Release.
-   * - 1.3
-     - October 2012
-     - Released with the Yocto Project 1.3 Release.
-   * - 1.4
-     - April 2013
-     - Released with the Yocto Project 1.4 Release.
-   * - 1.5
-     - October 2013
-     - Released with the Yocto Project 1.5 Release.
-   * - 1.6
-     - April 2014
-     - Released with the Yocto Project 1.6 Release.
-   * - 1.7
-     - October 2014
-     - Released with the Yocto Project 1.7 Release.
-   * - 1.8
-     - April 2015
-     - Released with the Yocto Project 1.8 Release.
-   * - 2.0
-     - October 2015
-     - Released with the Yocto Project 2.0 Release.
-   * - 2.1
-     - April 2016
-     - Released with the Yocto Project 2.1 Release.
-   * - 2.2
-     - October 2016
-     - Released with the Yocto Project 2.2 Release.
-   * - 2.3
-     - May 2017
-     - Released with the Yocto Project 2.3 Release.
-   * - 2.4
-     - October 2017
-     - Released with the Yocto Project 2.4 Release.
-   * - 2.5
-     - May 2018
-     - Released with the Yocto Project 2.5 Release.
-   * - 2.6
-     - November 2018
-     - Released with the Yocto Project 2.6 Release.
-   * - 2.7
-     - May 2019
-     - Released with the Yocto Project 2.7 Release.
-   * - 3.0
-     - October 2019
-     - Released with the Yocto Project 3.0 Release.
-   * - 3.1
-     - April 2020
-     - Released with the Yocto Project 3.1 Release.
diff --git a/poky/documentation/dev-manual/index.rst b/poky/documentation/dev-manual/index.rst
index 941db2d..f16b135 100644
--- a/poky/documentation/dev-manual/index.rst
+++ b/poky/documentation/dev-manual/index.rst
@@ -14,6 +14,5 @@
    start
    common-tasks
    qemu
-   history
 
 .. include:: /boilerplate.rst
diff --git a/poky/documentation/dev-manual/intro.rst b/poky/documentation/dev-manual/intro.rst
index 23c848e..0f7370a 100644
--- a/poky/documentation/dev-manual/intro.rst
+++ b/poky/documentation/dev-manual/intro.rst
@@ -7,16 +7,16 @@
 Welcome
 =======
 
-Welcome to the Yocto Project Development Tasks Manual! This manual
+Welcome to the Yocto Project Development Tasks Manual. This manual
 provides relevant procedures necessary for developing in the Yocto
 Project environment (i.e. developing embedded Linux images and
-user-space applications that run on targeted devices). The manual groups
+user-space applications that run on targeted devices). This manual groups
 related procedures into higher-level sections. Procedures can consist of
 high-level steps or low-level steps depending on the topic.
 
 This manual provides the following:
 
--  Procedures that help you get going with the Yocto Project. For
+-  Procedures that help you get going with the Yocto Project; for
    example, procedures that show you how to set up a build host and work
    with the Yocto Project source repositories.
 
@@ -24,25 +24,25 @@
    Changes can be improvements, new features, or bug fixes.
 
 -  Procedures related to "everyday" tasks you perform while developing
-   images and applications using the Yocto Project. For example,
-   procedures to create a layer, customize an image, write a new recipe,
+   images and applications using the Yocto Project, such as
+   creating a new layer, customizing an image, writing a new recipe,
    and so forth.
 
 This manual does not provide the following:
 
--  Redundant Step-by-step Instructions: For example, the
+-  Redundant step-by-step instructions: For example, the
    :doc:`/sdk-manual/index` manual contains detailed
    instructions on how to install an SDK, which is used to develop
    applications for target hardware.
 
--  Reference or Conceptual Material: This type of material resides in an
-   appropriate reference manual. For example, system variables are
+-  Reference or conceptual material: This type of material resides in an
+   appropriate reference manual. As an example, system variables are
    documented in the :doc:`/ref-manual/index`.
 
--  Detailed Public Information Not Specific to the Yocto Project: For
-   example, exhaustive information on how to use the Source Control
-   Manager Git is better covered with Internet searches and official Git
-   Documentation than through the Yocto Project documentation.
+-  Detailed public information not specific to the Yocto Project: For
+   example, exhaustive information on how to use the Git version
+   control system is better covered with Internet searches and official Git
+   documentation than through the Yocto Project documentation.
 
 Other Information
 =================
diff --git a/poky/documentation/dev-manual/start.rst b/poky/documentation/dev-manual/start.rst
index c3276c9..fc1b7c3 100644
--- a/poky/documentation/dev-manual/start.rst
+++ b/poky/documentation/dev-manual/start.rst
@@ -321,7 +321,7 @@
 
    -  gcc &MIN_GCC_VERSION; or greater.
 
-   If your build host does not meet any of these three listed version
+   If your build host does not meet any of these listed version
    requirements, you can take steps to prepare the system so that you
    can still use the Yocto Project. See the
    ":ref:`ref-manual/system-requirements:required git, tar, python and gcc versions`"
