Provision

How to provision EtchaOS on various platforms.

EtchaOS can be ran on a variety of platforms. To get started, review the EtchaOS Variants and determine which Variant is best for your needs. Then, choose a platform to provision EtchaOS on.

EtchaOS currently supports these platforms:

  • Bare Metal
    Physical servers and devices
  • Containers
    Virtual machine running on QEMU via a container on Docker, Kubernetes, or Podman
  • Libvirt
    Virtual machine running on Libvirt
  • PXE
    Run EtchaOS via network boot, including support for Secure Boot
  • Proxmox
    Virtual machine running on Proxmox
  • QEMU
    Virtual machine running on QEMU
  • VMware
    Virtual machine running on VMware

The following platforms are considered experimental, please Contact Us for assistance:

  • Amazon Web Services (AWS)
    Run EtchaOS as an EC2 instance on AWS
  • Google Cloud Platform (GCP)
    Run EtchaOS as a Compute Engine instance on GCP
  • Microsoft Azure
    Run EtchaOS as a VM on Azure

Bare Metal

EtchaOS should work out of the box with most bare metal platforms using either BIOS or UEFI boot. Secure boot should work as well without any extra steps or key signing. EtchaOS comes bundled with most commonly used firmware, but certain firmware such as GPU drivers may need to be installed separately.

To get started with EtchaOS on Bare Metal:

  1. Download the Disk for your Variant.
  2. Flash a USB drive with the disk image:
gzip -d etchaos_deb_amd64.raw.gz | dd of=/dev/sda
  1. Determine your Config strategy for Etcha. Using cidata is recommended.

ARM Support

ARM can be tricky with EtchaOS. While EtchaOS has been tested with various Tow-Boot platforms, it should work with U-Boot configured for with BIOS or UEFI support.

Sharing a disk with U-Boot or Tow-Boot bootloaders can be problematic. The EtchaOS disk image is not meant to be combined with other disk images, and splicing it onto an existing disk image can be error prone. There are a few ways to accomplish this:

  • Use two disks, one for the bootloader (U-Boot, Tow-Boot), one for EtchaOS
  • Using the U-Boot or Tow-Boot disk image, add the Kernel and Initrd files from Downloads and configure a bootflow

QEMU

EtchaOS has been tested and deployed across various QEMU platforms and boot sources.

To get started with EtchaOS on QEMU:

  1. Choose your Platform
  2. Choose your Boot Source
  3. Determine your Config strategy for Etcha. Using SMBIOS or cidata is recommended.

Platforms

QEMU can be used on various platforms:

Container

Checkout the Run EtchaOS in a Container Tutorial

Candid Development has created a QEMU container that can easily launch an EtchaOS instance using QEMU. For this to work, mount the location of the disk image or kernel and initrd files into the container and follow the instructions on that page. The QEMU arguments listed below can be used with the environment variable, QEMUARGS.

Libvirt

A Libvirt VM can be created using the disk image or kernel and initrd files below. Simply download the files to a Libvirt directory pool, such as /var/lib/libvirt/images.

Proxmox

A Proxmox VM can be created by importing a raw disk from the disk image below. Make sure to decompress it first.

Boot Source

QEMU VMs can boot from either a raw disk image or the kernel and initrd files.

Disk Image

  1. Download the Disk for your Variant. Decompress the .raw.gz file using gzip -d.
  2. Determine your Config strategy for Etcha. Using smbios is an easy way to get started.
  3. Launch a QEMU virtual machine using the disk:
-drive file=etchaos_deb_amd64.raw,media=disk

Kernel and Initrd

  1. Download the Kernel and Initrd for your Variant.
  2. Determine your Config strategy for Etcha. Using smbios is an easy way to get started.
  3. Launch a QEMU virtual machine using the kernel and initrd:
-kernel etchaos_deb_amd64.vmlinuz -initrd etchaos_deb_amd64.initrd

PXE

EtchaOS can be deployed on the network using UEFI PXE Boot.

To get started with EtchaOS using PXE:

  1. Download the Kernel and Initrd for your Variant. Put these files in the root of your TFTP directory.
  2. Download the PXE archive for your Variant. Extract the contents of this archive to the root of your TFTP directory.
  3. Configure your boot server to present the bootx64.efi file (or bootaa64.efi for arm64 hosts).
  4. Determine your Config strategy for Etcha. PXE booted hosts may or may not have disks, so consider setting up an Instance User Data service on your network.

VMware

VMware ESXi VMs can be created from EtchaOS by converting the raw disk to a VMDK using qemu-img:

To get started with EtchaOS on VMware:

  1. Download the Disk for your Variant. Decompress the .raw.gz file using gzip -d.
  2. Convert the disk to a VMDK:
qemu-img convert -O vmdk etchaos_deb_amd64.raw etchaos_deb_amd64.vmdk
  1. Import the VMDK into your VMware Datastore. The VM should support BIOS or UEFI boot.
  2. Determine your Config strategy for Etcha. Using cidata is recommended.