Infra: UEFI PXE integrated infra
[csit.git] / resources / tools / disk-image-builder / nested / README.md
1 # Nested VM builder
2
3 ## Summary
4
5 The files in this directory are used to build CSIT's "nested VM" image.
6 The Nested VM image is a mini Linux image that gets spun up inside the
7 main CSIT test VM for selected test cases.
8
9 Considering that this VM is:
10
11 - Very purpose-built; the ONLY thing it needs to do is run a bridge group,
12 - spun up and torn down repeatedly by an automated test case,
13 - is bundled within another VM image where resources are already limited,
14
15 this VM is designed to be minimalistic, small and efficient. For that reason
16 it is NOT build around any established Linux distribution (Ubuntu,
17 Red Hat, ...), but around "buildroot" (https://buildroot.org/) which is
18 aimed at building small Linux images for embedded systems.
19
20 Scripts in this directory are aimed at producing functionally identical VM
21 images each time they are run. That is, a given version of this package
22 will consistenly download the same buildroot version, and install the same
23 packages and the same kernel version with the same config.
24
25
26 ### Prerequisites
27
28 This scripts have been tested on Ubuntu Linux. They should run on any platform
29 supported by buildroot, and where a standard bourne shell and Linux toolchain
30 are available.
31
32 ## Files
33
34 ### requirements.sh
35
36 (One-time) installs required Ubuntu packages for buildroot
37
38
39 ### build.sh
40
41 Downloads all required packages source code and builds the nested VM image.
42 Is NOT intended to be run as root, but requires "sudo" privileges for a
43 handful of commands.
44
45 ### clean.sh
46
47 Remove any object files and compiled files. Keep the downloaded source
48 packages, both of buildroot itself as well as any packages downloaded by
49 buildroot.
50
51 ### deepclean.sh
52
53 Remove any compiled or downloaded files.
54
55 ### CHANGELOG
56
57 A change log. This will also be copied onto the image itself.
58 Versions in the changelog MUST be tagged as follows:
59
60 ~~~
61 ## [MAJOR.MINOR] YYYY-MM-DD
62 ~~~
63 eg.
64
65 ~~~
66 ## [1.0] 2016-05-16
67 ~~~
68
69 This format will be used for auto-extracting the version
70 number, which will become part of the target image filename
71 and will also be copied onto the image itself.