This is a personal blog focused on computer software and hardware. Most
projects are implementing software and hardware for a homelab. What is a
homelab? I would say a homelab could be a single computer or dozens of
computers connected in a network. You can also integrate with computers
in the Cloud.
You could set up each virtual machine by mounting the installation iso image to your virtual machine’s virtual disk drive and proceeding through the installer. In fact this is what I recommend for new users, but I will be using a software known as Packer to create Linux templates that I can use in VirtualBox or even other hypervisors.
To create a virtual machine, you need a CPU that supports virtualization and hypervisor software to emulate computer hardware within software. I recommend starting with VirtualBox since this is an open-source hypervisor that you can install on Windows, macOS, or Linux.
Vagrant is a software from HashiCorp that provides easy to configure and replicate virtual machine images. Vagrant integrates with existing hypervisor software to quickly deploy VM templates from the Vagrant community or templates that you create.
vagrant_logo
Installation
Prerequisites
In order to proceed, you need a hypervisor software such as VirtualBox. I have a previous post regarding virtual machines and setting up VirtualBox.
Windows 10
I will be installing vagrant with Chocolatey. Check out my post on setting up Windows for info on how to get started with Chocolatey.
Proxmox Virtual Environment is an open-source Linux distribution for virtualization. It tightly integrates KVM hypervisor and LXC, software-defined storage, and networking functionality on a single platform. With the integrated web-based user interface you can easily manage Virtual Machines and containers.
System Requirements
CPU: 64bit
Intel VT/AMD-V capable CPU/Mainboard
Minimum 1 GB RAM
128 GB disk drive (Any less is not much to work with)
Create USB installation media with a tool like Etcher or mount the .iso image on a virtual disk drive in a VirtualBox VM. See my previous post on creating USB media.
Once you boot the installation image, you can proceed if you see the following screen:
A virtual machine is like a physical computer such as a laptop or desktop or server. It has a CPU, memory, disks, and can be connected to the internet but all of these components are emulated with software and borrowed from a host computer. A virtual machine exists as files on a host computer, commonly referred to as an image. Virtual machines should not interfere with the operations of the host computer’s operating system.
Cygwin is a collection of open source tools that are commonly found on GNU/Linux systems but not found on Windows systems. It includes a library for x86_64 Windows systems that provides some POSIX API functionality.
Installing Cygwin
If you set up Windows 10 per my previous post, you already have this utility installed. If not, I recommend using Chocolatey to install and maintain this software.
choco install cygwin
If you install Cygwin via chocolatey, the binary will be located in:
As of this post, I am running a Windows 10 custom built desktop.
There are certain tools that I install on every system I use and I have written some scripts to automate the setup process for brand new systems.
Any code on this page can also be found on my public GitHub repositories.
Installing Windows 10
Head here to Download Windows 10 (microsoft.com). Launch the media creation tool, accept the EULA, and then select “Create installation media”. Enter details for your locale settings. Next you can choose ISO file and save it to your system. Avoid paradoxical thoughts of any chickens or eggs. We can also use this .iso image later on and to create USB installation media for other computers.