diff options
Diffstat (limited to 'resources/tools/disk-image-builder/nested/README.md')
-rw-r--r-- | resources/tools/disk-image-builder/nested/README.md | 71 |
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. |