https://github.com/dynamist/vagrant-blank-box
An empty Vagrant box to test PXE booting over the network, or booting from local ISO files
https://github.com/dynamist/vagrant-blank-box
vagrant-box vagrant-boxes
Last synced: 5 months ago
JSON representation
An empty Vagrant box to test PXE booting over the network, or booting from local ISO files
- Host: GitHub
- URL: https://github.com/dynamist/vagrant-blank-box
- Owner: dynamist
- License: apache-2.0
- Created: 2022-02-13T20:22:56.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-02-13T21:05:12.000Z (over 4 years ago)
- Last Synced: 2025-04-08T19:53:19.994Z (about 1 year ago)
- Topics: vagrant-box, vagrant-boxes
- Language: Makefile
- Homepage: https://app.vagrantup.com/holmboe/boxes/blank
- Size: 21.5 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Vagrant blank box
An empty box to test PXE booting over the network, or booting from local ISO files. And possibly attach USB devices, or allocate some storage on local attached disks.
Our goal is to have a virtual box with 2 vCPU, 1 GB RAM, 2x CD/DVD ROM drives, 4x network adapters, 4x storage devices, and an enabled USB controller. The boot order should be:
- Removable devices
- CD-ROM drive
- Hard drive
- Network
The hardware should be compatible with Linux 3.x, which is good as far back as CentOS 7 and Ubuntu 16.04.
## Import this box locally
```
vagrant box add blank-box.json --provider vmware_desktop
vagrant box add blank-box.json --provider virtualbox
```
## Oracle Virtualbox
After creating the VM with Virtualbox use Vagrants built-in awesome support for Virtualbox to package it up:
```
vagrant package --base blank --output blank-virtualbox.box
```
The image file is a gzip compressed tarball. For the sake of version control we have extracted the contents into `blank-virtualbox`. Vagrant packages the Virtualbox up like so:
```
Vagrantfile
box-disk001.vmdk
box-disk002.vmdk
box-disk003.vmdk
box-disk004.vmdk
box.ovf
```
After this we added a `metadata.json` file because the documentation says it should be there, and also removed the `base_mac` hardcoded generated value in `Vagrantfile`.
## VMware Workstation Pro
The lowest common version that supports these features is Workstation 14.x (compatible with ESX1 6.7 and Fusion 10.x)
- NVMe devices
- UEFI Secure Boot
- Trusted Platform Module (TPM)
- I/O MMU virtualization
The contents of the Vagrant box is documented in https://www.vagrantup.com/docs/providers/vmware/boxes#contents
> The files that are strictly required for a VMware machine to function are: nvram, vmsd, vmx, vmxf, and vmdk files.
>
> There is also the `metadata.json` file used by Vagrant itself.
Once we have created a suitable virtual machine in VMware Workstation we have:
```
blank-disk1.vmdk
blank-disk2.vmdk
blank-disk3.vmdk
blank-disk4.vmdk
blank.vmsd
blank.vmx
blank.vmxf
blank.vmx.lck
```
Notably missing is the nvram file but it seems that we do without it. We will also skip the lck directory.