Simula Research Laboratory / Center for Resilient Networks and Applications / NorNet
Homepage of Thomas Dreibholz / Virtual Machine Image Builder and System Installation Scripts


Thomas Dreibholz's
Virtual Machine Image Builder and System Installation Scripts
Virtual Machine Image Builder and System Installation Scripts Logo


📑 Quick Navigation


💡 What are the Virtual Machine Image Builder and System Installation Scripts?

This repository contains Virtual Machine (VM) image building and system installation scripts, to automatically generate freshly installed VM or container images for different projects and purposes, like minimal servers, basic console setups, development environments, as well as full desktop machines. The scripts use Packer (https://www.packer.io).

As part of the VM setup process, it is also possible to set custom boot-splashes and desktop/screen locker/login background images for customisation.


💾 Sources

The Virtual Machine Image Builder and System Installation Scripts are released under the GNU General Public Licence (GPL).

The Git repository of the Virtual Machine Image Builder and System Installation Scripts sources can be found at https://github.com/simula/nornet-vmimage-builder-scripts:

git clone https://github.com/simula/nornet-vmimage-builder-scripts vmimage-builder-scripts
cd nornet-vmimage-builder-scripts vmimage-builder-scripts

Note: The repository name “nornet-vmimage-builder-scripts” refers to the NorNet project, since the initial scripts were developed for the purpose of NorNet system installations. However, the scripts are since a long time generic and project-independed. But in order to keep the repository URL as-is, the repository still contains “nornet” in its name.

Contributions:


⭐ Requirements

The following installations of dependencies are necessary:


💻 Usage

Take a look at the script make-direct for installing of the system itself (i.e. not building VMs but configuring the system itself):

./make-direct <PROJECT>

To start a VM build, run one the the make-* scripts:

./make-<PROJECT>

with <PROJECT> e.g. “minimal”, “basic”, “development”, “kde”, “kde+development”, “hipercontracer”, etc.!

See further details about the different VM hypervisor variants, systems, and projects (choice of packages to install) below!


🎫 Hypervisors

VirtualBox

The VirtualBox images use optimised settings for display, network and storage. Two disk layouts are available: 3-disks (separate disks for /, /home, and swap; recommended) and 1-disk (one disk for everything).

Proxmox

VMs for usage in Proxmox. They are basically like the VirtualBox variant, with the QEMU Guest Agent installed. Two disk layouts are available: 3-disks (separate disks for /, /home, and swap; recommended) and 1-disk (one disk for everything).

QEMU

The QEMU images use optimised settings for display, network and storage. Two disk layouts are available: 3-disks (separate disks for /, /home, and swap) and 1-disk (one disk for everything). The QEMU images are particularly useful for OpenStack, for which the disk layout should be 1-disk.

vSphere

VMs for usage in vSphere. They are basically like the VirtualBox variant, with the Open VM Tools installed.

Note: The vSphere support of the scripts is not tested any more!

Docker

Containers for usage in Docker.


💻 Systems

The following operating systems are currently supported as VM guests:

Details can be found in the directories installer and http.

Ubuntu Linux

General settings:

Debian Linux

General settings:

Fedora Core Linux

General settings:

FreeBSD

General settings:


📦 Projects

Details can be found in the directory projects.

Minimal

The minimal installation for the system with the settings described above. This project is meant mainly for testing purposes. In most cases, you want the Basic project instead!

Provided packages:

Further properties:

Basic

The “Basic” installation is based on the Minimal installation.

It must contain the following packages:

KDE

The “KDE” installation is based on the Basic installation.

It must contain the following packages:

Further properties:

Development

The “Development” installation is based on the Basic installation.

It must contain the following packages:

It must contain the following libraries and development files:

Further properties:

KDE+Development

The “KDE+Development” installation is based on the KDE and Development installation.

Further Projects

NorNet

Basic for general-purpose server usage, particularly for working with NorNet purposes.

NorNet-Desktop

Basic NorNet VMs for general-purpose desktop usage. They base on the NorNet images, with additional KDE desktop.

NEAT

Basic for general-purpose desktop usage, particularly for working with NEAT. They base on the NorNet-Desktop images, with NEAT packages and build environment.

Features:

RSerPoolDemo

Basic for general-purpose desktop usage, particularly for working with RSerPool, based on the KDE+Development installation.

Features:

SimulaMet-Desktop

These are SimulaMet desktop VMs, based on the KDE+Development installation.

Features:

5gVINNI

Basic for general-purpose desktop usage, particularly for working with 5gVINNI. They base on the NorNet images.


Networking and System Management Software

Projects using the VM Image Builder and System Installation Scripts