aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools/disk-image-builder/nested/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'resources/tools/disk-image-builder/nested/README.md')
-rw-r--r--resources/tools/disk-image-builder/nested/README.md71
1 files changed, 71 insertions, 0 deletions
diff --git a/resources/tools/disk-image-builder/nested/README.md b/resources/tools/disk-image-builder/nested/README.md
new file mode 100644
index 0000000000..3c4968909c
--- /dev/null
+++ b/resources/tools/disk-image-builder/nested/README.md
@@ -0,0 +1,71 @@
+# Nested VM builder
+
+## Summary
+
+The files in this directory are used to build CSIT's "nested VM" image.
+The Nested VM image is a mini Linux image that gets spun up inside the
+main CSIT test VM for selected test cases.
+
+Considering that this VM is:
+
+- Very purpose-built; the ONLY thing it needs to do is run a bridge group,
+- spun up and torn down repeatedly by an automated test case,
+- is bundled within another VM image where resources are already limited,
+
+this VM is designed to be minimalistic, small and efficient. For that reason
+it is NOT build around any established Linux distribution (Ubuntu,
+Red Hat, ...), but around "buildroot" (https://buildroot.org/) which is
+aimed at building small Linux images for embedded systems.
+
+Scripts in this directory are aimed at producing functionally identical VM
+images each time they are run. That is, a given version of this package
+will consistenly download the same buildroot version, and install the same
+packages and the same kernel version with the same config.
+
+
+### Prerequisites
+
+This scripts have been tested on Ubuntu Linux. They should run on any platform
+supported by buildroot, and where a standard bourne shell and Linux toolchain
+are available.
+
+## Files
+
+### requirements.sh
+
+(One-time) installs required Ubuntu packages for buildroot
+
+
+### build.sh
+
+Downloads all required packages source code and builds the nested VM image.
+Is NOT intended to be run as root, but requires "sudo" privileges for a
+handful of commands.
+
+### clean.sh
+
+Remove any object files and compiled files. Keep the downloaded source
+packages, both of buildroot itself as well as any packages downloaded by
+buildroot.
+
+### deepclean.sh
+
+Remove any compiled or downloaded files.
+
+### CHANGELOG
+
+A change log. This will also be copied onto the image itself.
+Versions in the changelog MUST be tagged as follows:
+
+~~~
+## [MAJOR.MINOR] YYYY-MM-DD
+~~~
+eg.
+
+~~~
+## [1.0] 2016-05-16
+~~~
+
+This format will be used for auto-extracting the version
+number, which will become part of the target image filename
+and will also be copied onto the image itself.