Running on VirtualBox
While we always welcome community contributions and fixes, please note that VirtualBox is not an officially supported platform at this time. (See the platform overview .)
These instructions will walk you through running Flatcar Container Linux on Oracle VM VirtualBox.
Choose a channel
Flatcar Container Linux is designed to be updated automatically with different schedules per channel. You can disable this feature , although we don’t recommend it. Read the release notes for specific features and bug fixes.
The Alpha channel closely tracks master and is released frequently. The newest versions of system libraries and utilities will be available for testing. The current version is Flatcar Container Linux 4669.0.0.
Download the OVF configuration file and VMDK disk image by running:
mkdir flatcar; cd flatcar wget https://alpha.release.flatcar-linux.net/amd64-usr/current/flatcar_production_virtualbox.ovf wget https://alpha.release.flatcar-linux.net/amd64-usr/current/flatcar_production_virtualbox.ovf.sig wget https://alpha.release.flatcar-linux.net/amd64-usr/current/flatcar_production_virtualbox_image.vmdk.bz2 wget https://alpha.release.flatcar-linux.net/amd64-usr/current/flatcar_production_virtualbox_image.vmdk.bz2.sig
The Beta channel consists of promoted Alpha releases. The current version is Flatcar Container Linux 4628.1.0.
Download the OVF configuration file and VMDK disk image by running:
mkdir flatcar; cd flatcar wget https://beta.release.flatcar-linux.net/amd64-usr/current/flatcar_production_virtualbox.ovf wget https://beta.release.flatcar-linux.net/amd64-usr/current/flatcar_production_virtualbox.ovf.sig wget https://beta.release.flatcar-linux.net/amd64-usr/current/flatcar_production_virtualbox_image.vmdk.bz2 wget https://beta.release.flatcar-linux.net/amd64-usr/current/flatcar_production_virtualbox_image.vmdk.bz2.sig
The Stable channel should be used by production clusters. Versions of Flatcar Container Linux are battle-tested within the Beta and Alpha channels before being promoted. The current version is Flatcar Container Linux 4593.2.0.
Download the OVF configuration file and VMDK disk image by running:
mkdir flatcar; cd flatcar wget https://stable.release.flatcar-linux.net/amd64-usr/current/flatcar_production_virtualbox.ovf wget https://stable.release.flatcar-linux.net/amd64-usr/current/flatcar_production_virtualbox.ovf.sig wget https://stable.release.flatcar-linux.net/amd64-usr/current/flatcar_production_virtualbox_image.vmdk.bz2 wget https://stable.release.flatcar-linux.net/amd64-usr/current/flatcar_production_virtualbox_image.vmdk.bz2.sig
Verify and decompress the image
Ensure that what you have downloaded has a good signature:
gpg --verify flatcar_production_virtualbox.ovf.sig
gpg --verify flatcar_production_virtualbox_image.vmdk.bz2.sig
The disk image needs to be decompressed before use:
bunzip2 flatcar_production_virtualbox_image.vmdk.bz2
Deploying a new virtual machine on VirtualBox
Note for Windows users
The following steps use the VBoxManage command, which is not in the PATH on Windows by default. Temporarily add it to the PATH like so:
$env:PATH += ";C:\Program Files\Oracle\VirtualBox"
Import the OVF configuration file and VMDK disk image
Importing with no additional arguments will clone the disk image and use the default configuration defined in the OVF. You can give the VM a custom name and override certain properties such as the amount of memory and the number of CPUs. When giving any additional arguments, you must start them with --vsys=0.
VBoxManage import flatcar_production_virtualbox.ovf --vsys=0 --vmname=myflatcar --memory=4096 --cpus=4
If you don’t give a custom name, one will be generated for you and shown in the output.
Resize the disk
By default, the root filesystem will hold roughly 12GB. If this is too small, you can resize the image, and Flatcar will adjust the root filesystem at boot time. Find the disk’s UUID within the VM’s details:
VBoxManage showvminfo myflatcar
Then resize the disk as required:
VBoxManage modifymedium disk 1f768d59-256f-4fee-96f5-c12624d4f0f0 --resize 20480
Make the VM accessible
If you were to start the VM now, you would not be able to log in because the automatic console login would be disabled, the SSH port would not be exposed, and no SSH keys would be added. Expose the VM’s SSH port via port 2222 on the host:
VBoxManage modifyvm myflatcar --nat-pf1=ssh,tcp,127.0.0.1,2222,,22
An SSH key must be inserted into the VM by provisioning it with Ignition. First, write a [Butane configuration] butane-configs containing your public SSH key and transpile it. Then attach the transpiled configuration to the VM as a property:
Bash (Linux, macOS)
VBoxManage guestproperty set myflatcar /Ignition/Config "$(< config.ign)"
PowerShell (Windows)
VBoxManage guestproperty set myflatcar /Ignition/Config (Get-Content -Raw config.ign)
Unfortunately, a VirtualBox restriction limits the permitted size of such properties to just 1024 bytes. This is barely enough for an SSH key and/or a URL to a remote configuration. Anything further must therefore be done in a remote configuration. See Ignition issue #2226 for more details.
Start the VM
Once configured as necessary, start the VM:
VBoxManage startvm myflatcar
This will open a window for the VM’s display. You can run the VM headless instead:
VBoxManage startvm myflatcar --type=headless
Logging in
Assuming you’re using NAT networking and have exposed SSH via host port 2222, log in using your private SSH key like so:
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -l core -p 2222 127.0.0.1
Using Flatcar Container Linux
Now that you have a machine booted it is time to play around. Check out the Flatcar Container Linux Quickstart guide or dig into more specific topics .