diff --git a/docs/en-US/Installation_Guide.xml b/docs/en-US/Installation_Guide.xml
index c945020bce0..bdc3b8ea20a 100644
--- a/docs/en-US/Installation_Guide.xml
+++ b/docs/en-US/Installation_Guide.xml
@@ -46,6 +46,7 @@
+
diff --git a/docs/en-US/build-deb.xml b/docs/en-US/build-deb.xml
new file mode 100644
index 00000000000..0fe3d90ce34
--- /dev/null
+++ b/docs/en-US/build-deb.xml
@@ -0,0 +1,60 @@
+
+
+%BOOK_ENTITIES;
+]>
+
+
+
+
+ Building DEB packages
+
+ In addition to the bootstrap dependencies, you'll also need to install
+ a few other dependencies by issuing the following commands:
+ # apt-get update
+ $ apt-get install debhelper openjdk-6-jdk tomcat6 libws-commons-util-java genisoimage python-mysqldb
+
+
+ While we have defined, and you have presumably already installed the
+ bootstrap prerequisites, there are a number of build time prerequisites
+ that need to be resolved. &PRODUCT; uses maven for dependency resolution.
+ You can resolve the buildtime depdencies for CloudStack by running the
+ following command:
+ $ mvn -P deps
+
+
+ Now that we have resolved the dependencies we can move on to building &PRODUCT;
+ and packaging them into DEBs by issuing the following command.
+ # dpkg-buildpackage
+
+
+
+ Setting up an APT repo
+ TBD
+
+
+ Configuring your machines to use the APT repository
+
+ Now that we have created the repository, you need to configure your machine
+ to make use of the APT repository. We do that by issuing the following commands:
+ $ echo "deb http://url.to/apt/repo $(lsb_release -s -c) 4.0" > /etc/apt/sources.list.d/cloudstack.list
+ # apt-get update
+
+
+
diff --git a/docs/en-US/build-rpm.xml b/docs/en-US/build-rpm.xml
new file mode 100644
index 00000000000..e983aba8fe5
--- /dev/null
+++ b/docs/en-US/build-rpm.xml
@@ -0,0 +1,82 @@
+
+
+%BOOK_ENTITIES;
+]>
+
+
+
+
+ Building RPMs
+
+ While we have defined, and you have presumably already installed the
+ bootstrap prerequisites, there are a number of build time prerequisites
+ that need to be resolved. &PRODUCT; uses maven for dependency resolution.
+ You can resolve the buildtime depdencies for CloudStack by running the
+ following command:
+ $ mvn -P deps
+
+
+ Now that we have resolved the dependencies we can move on to building &PRODUCT;
+ and packaging them into RPMs by issuing the following command.
+ $ ./waf rpm
+
+
+ Once this completes, you should find assembled RPMs in
+ artifacts/rpmbuild/RPMS/x86_64
+
+
+ Creating a yum repo
+
+ While RPMs is an ideal packaging format - it's most easily consumed from
+ yum repositories over a network. We'll move into the directory with the
+ newly created RPMs by issuing the following command:
+ $ cd artifacts/rpmbuild/RPMS/x86_64
+
+
+ Next we'll issue a command to create the repository metadata by
+ issuing the following command:
+ $ createrepo ./
+
+
+ The files and directories within our current working directory can now
+ be uploaded to a web server and serve as a yum repository
+
+
+
+ Configuring your systems to use your new yum repository
+
+ Now that your yum repository is populated with RPMs and metadata
+ we need to configure our machines that need to install CloudStack.
+ We will create a file at /etc/yum.repos.d/cloudstack.repo
+ with the following content:
+
+[apache-cloudstack]
+name=Apache CloudStack
+baseurl=http://webserver.tld/path/to/repo
+enabled=1
+gpgcheck=0
+
+
+
+ Completing this step will allow you to easily install CloudStack on a number of
+ machines across the network.
+
+
+
diff --git a/docs/en-US/extracting-source.xml b/docs/en-US/extracting-source.xml
new file mode 100644
index 00000000000..97a40b66213
--- /dev/null
+++ b/docs/en-US/extracting-source.xml
@@ -0,0 +1,36 @@
+
+
+%BOOK_ENTITIES;
+]>
+
+
+
+
diff --git a/docs/en-US/getting-release.xml b/docs/en-US/getting-release.xml
new file mode 100644
index 00000000000..5ed6ac1a2f9
--- /dev/null
+++ b/docs/en-US/getting-release.xml
@@ -0,0 +1,63 @@
+
+
+%BOOK_ENTITIES;
+]>
+
+
+
+
+ Getting the release
+
+ You can download the official &PRODUCT; 4.0.0 release from the
+
+ Apache CloudStack project download page.
+
+
+ You'll notice several links under the 'Latest release' section.
+
+
+
+
+
+ apache-cloudstack-4.0.0-incubating-src.tar.bz2
+ - This is the link to the release itself.
+
+
+
+
+ PGP
+ - This is a detached cryptographic signature that can be used to help
+ verify the authenticity of the release.
+
+
+
+
+ MD5
+ - An MD5 hash of the release to aid in verify the validity of the release download.
+
+
+
+
+ SHA512
+ - A SHA512 hash of the release to aid in verify the validity of the release download.
+
+
+
+
diff --git a/docs/en-US/source-prereqs.xml b/docs/en-US/source-prereqs.xml
new file mode 100644
index 00000000000..6c2bc2a3cb8
--- /dev/null
+++ b/docs/en-US/source-prereqs.xml
@@ -0,0 +1,42 @@
+
+
+%BOOK_ENTITIES;
+]>
+
+
+
+
+ Prerequisites for building Apache CloudStack
+
+ There are a number of prerequisites needed to build &PRODUCT;. This
+ document assumes compilation on a Linux system that uses RPMs or DEBs
+ for package management.
+
+
+ The minimum bootstrapped prerequisites for building &PRODUCT; includes
+ the following:
+
+ ant
+ maven (version 3)
+ Java (Java 6/OpenJDK 1.6)
+ rpmbuild or dpkg-dev
+
+
+
diff --git a/docs/en-US/source.xml b/docs/en-US/source.xml
index ffa3d0cb9b9..3cb4af2321f 100644
--- a/docs/en-US/source.xml
+++ b/docs/en-US/source.xml
@@ -1,5 +1,5 @@
-
%BOOK_ENTITIES;
]>
@@ -22,16 +22,26 @@
under the License.
-->
-
+
Building from Source
The official &PRODUCT; release is always in source code form. While there may
exist convenience binaries in various forms from a number of places, the
source is the canonical release will be source. In this document we'll cover
acquiring the source release, building that into binary, deployable packages.
+
+ While building and deploying directly from source is certainly possible, the reality
+ of Infrastructure-as-a-Service cloud computing implies a need to deploy packages on
+ a potentially large number of systems, which RPMs and DEBs fill nicely.
+
+
+ Building and deploying directly from source is thus outside the scope of this
+ document, but is documented in the INSTALL.md file in the release.
+
-
-
-
+
+
+
+
diff --git a/docs/en-US/verifying-source.xml b/docs/en-US/verifying-source.xml
new file mode 100644
index 00000000000..05b54ecb6a9
--- /dev/null
+++ b/docs/en-US/verifying-source.xml
@@ -0,0 +1,82 @@
+
+
+%BOOK_ENTITIES;
+]>
+
+
+
+
+ Verifying the downloaded release
+
+ There are a number of mechanisms to check the authenticity and validity of a
+ downloaded release.
+
+
+ Getting the KEYS
+
+ To enable you to verify the GPG signature, you will need to download the
+ KEYS
+ file.
+
+
+ You next need to import those keys, which you can do by running the following command:
+ # gpg --import KEYS
+
+
+
+ GPG
+
+ The &PRODUCT; project provides a detached GPG signature of the release.
+ To check the signature, run the following command:
+ $ gpg --verify apache-cloudstack-4.0.0-incubating-src.tar.bz2.asc
+
+
+ If the signature is valid you will see a line of output that contains 'Good signature'.
+
+
+
+ MD5
+
+ In addition to the cryptographic signature, the &PRODUCT; provides a number
+ of cryptographic hashes to aid in assurance of validity of the downloaded
+ release. You can verify this hash by executing the following command:
+ $ gpg --print-md MD5 apache-cloudstack-4.0.0-incubating-src.tar.bz2 | diff - apache-cloudstack-4.0.0-incubating-src.tar.bz2.md5
+
+
+ If this successfully completes you should see no output. If there is any output from them,
+ then there is a difference between the hash you generated locally and the hash that has been
+ pulled from the server.
+
+
+
+ SHA512
+
+ In addition to the MD5 hash, the &PRODUCT; project provides a SHA512
+ cryptographic hash to aid in assurance of the validity of the downloaded
+ release. You can verify this hash by executing the following command:
+ $ gpg --print-md SHA512 apache-cloudstack-4.0.0-incubating-src.tar.bz2 | diff - apache-cloudstack-4.0.0-incubating-src.tar.bz2.sha
+
+
+ If this command successfully completes you should see no output. If there is any output from them,
+ then there is a difference between the hash you generated locally and the hash that has been
+ pulled from the server.
+
+
+