Skip to content

Installation#

Secure Boot and Boot Integrity for Physical Nodes

Key Points

  • VergeOS does not use traditional UEFI Secure Boot for physical nodes
  • VergeOS implements its own boot integrity verification that prevents tampered images from booting
  • This approach provides practical tamper protection without the limitations of UEFI Secure Boot

Overview

VergeOS takes a different approach to boot security than traditional UEFI Secure Boot. While VergeOS physical nodes do not use BIOS-level Secure Boot, the system implements its own boot integrity mechanism that provides robust protection against tampering.

VergeOS Boot Integrity Protection

VergeOS has implemented its own methodology to ensure boot integrity. This mechanism verifies that the VergeOS image has not been modified or tampered with before allowing the system to boot.

How It Works

When a VergeOS node starts up, the system validates the integrity of the boot image. If the image has been tampered with or modified in any way, VergeOS will refuse to boot. This ensures that only authentic, unmodified VergeOS software runs on your infrastructure.

Comparison with Traditional UEFI Secure Boot

Aspect UEFI Secure Boot VergeOS Boot Integrity
Tamper protection Prevents boot of unsigned/modified OS Prevents boot of tampered VergeOS images
Alternative OS boot Blocks unsigned operating systems entirely Does not prevent booting a different OS
Implementation BIOS/firmware level, requires signed keys Software-level verification
Practical security Protects against unauthorized OS loading Protects against VergeOS image tampering

The key difference is timing and scope:

  • UEFI Secure Boot operates at the BIOS level and won't even attempt to boot an unsigned or unregistered operating system
  • VergeOS Boot Integrity allows the boot process to begin but will not complete boot if the VergeOS image has been tampered with

This means that while someone could theoretically install a completely different operating system on the hardware, they cannot modify the VergeOS image itself and have it boot successfully. Any tampering with VergeOS system files will be detected and prevent boot.

Why VergeOS Does Not Use UEFI Secure Boot

Traditional UEFI Secure Boot presents several challenges that make it impractical for VergeOS:

Certification Requirements

UEFI Secure Boot requires operating systems to be signed with keys that are registered in the system firmware. This process is controlled by a limited set of gatekeepers:

  • Microsoft maintains control over the primary Secure Boot key infrastructure
  • Only a small number of Linux distributions have registered Secure Boot keys (primarily Red Hat and Ubuntu)
  • Most Linux distributions that support Secure Boot actually bootstrap through Ubuntu's signed bootloader (shim) to load their own GRUB bootloader

Practical Limitations

For specialized operating systems like VergeOS, obtaining and maintaining Secure Boot certification would require:

  • Ongoing relationship with certificate authorities
  • Re-signing with each update
  • Dealing with potential key revocation scenarios

Security Implications

Practical Security

For most deployment scenarios, VergeOS boot integrity protection provides equivalent practical security to UEFI Secure Boot. Your VergeOS infrastructure is protected against image tampering, which is the primary concern for production environments.

What VergeOS Boot Integrity Protects Against

  • Modification of VergeOS system files
  • Injection of malicious code into the VergeOS image
  • Tampering with the boot process after VergeOS installation

What Requires Physical Security Controls

  • Installation of an entirely different operating system (requires physical access and storage reformation)
  • BIOS/firmware-level attacks (mitigate with physical security and firmware passwords)

Physical Security

As with any infrastructure, physical security of your nodes remains important. VergeOS boot integrity protects the software layer, while physical access controls protect against hardware-level attacks.

Disabling UEFI Secure Boot

Before installing VergeOS on physical nodes, you must disable UEFI Secure Boot in the system BIOS/UEFI settings. The specific steps vary by hardware manufacturer, but generally involve:

  1. Enter the BIOS/UEFI setup during system boot (typically F2, Del, or F10)
  2. Navigate to the Security or Boot section
  3. Locate the Secure Boot option and set it to Disabled
  4. Save changes and exit
  5. Proceed with the VergeOS installation

Pro Tip

Document your BIOS settings before making changes. Some enterprise servers may have additional security settings that interact with Secure Boot, such as TPM configuration or boot device restrictions.

Troubleshooting

Common Issues

  • Problem: Node fails to boot after VergeOS installation
  • Solution: Verify that UEFI Secure Boot is disabled in BIOS settings. Some systems may re-enable Secure Boot after firmware updates.

  • Problem: "Boot integrity check failed" error message

  • Solution: This indicates the VergeOS image has been modified. Re-download and reinstall VergeOS from an official source.

  • Problem: Cannot find Secure Boot option in BIOS

  • Solution: Check under Security, Boot, or Authentication menus. Some systems label it as "UEFI Security" or require administrator/setup password to access.

Additional Resources

Feedback

Need Help?

If you need further assistance or have any questions about this article, please don't hesitate to reach out to the VergeOS Support Team.

Pre-installation Checklist

Main Items

  • Site Survey completed and approved by VergeOS
  • ISO downloaded and installed on a USB drive
  • Encryption Key USB prepared (if enabling encryption)
  • Nodes powered up with ISO booted to the VergeOS Install screen
  • Crash cart ready, if applicable
  • Remote screen share capability or remote IPMI access (via WAN or VPN)

Hardware

  • Hardware burn-in completed
  • All drives set up for JBOD (No RAID)
  • BIOS configured to the proper boot settings (Legacy / Dual / UEFI)
    • Note: UEFI is required if all drives are NVMe
  • Redundant power supplies connected and set up (recommended)
  • IPMI ports patched and configured
  • IPMI setup tested and configured
  • Latest IPMI firmware installed (recommended)
  • Remote console capability tested via IPMI (in case of licensing issues)

Network

  • All switches online and tested
  • All cables patched and connected
  • All VLANs configured (core and external)
  • All switch ports configured (core and external)
  • Minimum of 2 NICs per node with connections to separate switches
  • Correct supported SFP modules in use (if applicable)
  • IP addresses validated and available

Document Information

  • Last Updated: 2024-08-29
  • vergeOS Version: 4.12.6

Creating Bootable Installation Media

This guide explains how to create a bootable USB to install VergeOS on different operating systems.

Windows

  1. Download the VergeOS installation ISO from https://updates.verge.io/download.

  2. Insert a USB drive into your computer.

    Warning

    This USB drive will be overwritten.

  3. Download and launch Rufus from https://rufus.ie/en/.

  4. In Rufus:

    • Select your USB device under Device.
    • Click the Select button and choose the VergeOS installation ISO.
    • Click Start.
  5. Choose ISO mode when prompted by Rufus, then select DD mode to proceed.

    It is critical to choose DD mode during this step. Selecting the wrong mode can result in an unbootable USB drive

  6. Rufus will begin creating the bootable USB. Once complete, your USB is ready to be used for VergeOS installation.


macOS

  1. Download the VergeOS installation ISO from https://updates.verge.io/download.

  2. Insert a USB drive into your computer.

    Warning

    This USB drive will be overwritten.

  3. Download and install BalenaEtcher from https://www.balena.io/etcher/.

  4. Launch BalenaEtcher and:

    • Click Flash from file, and select the VergeOS ISO.
    • Select the target USB disk (be careful not to select hidden drives).
    • Click Flash! to start the process.
  5. Once the flashing process is complete, your USB drive will be ready to boot and install VergeOS.


Linux Mint

  1. Download the VergeOS installation ISO from https://updates.verge.io/download.

  2. Insert a USB drive into your computer.

    Warning

    This USB drive will be overwritten.

  3. Using Mint’s file browser, navigate to the downloaded ISO file:

    • Right-click the ISO and choose Make bootable USB stick.
    • In the USB Image Writer, select the USB media to write the installation file to.
    • Authenticate with your admin password when prompted.
    • Click Authenticate to start writing the ISO to the USB drive.
  4. Once the process is finished, your bootable USB stick will be ready for VergeOS installation.


By following these steps for your specific operating system, you'll have a bootable USB ready to install VergeOS on your server.


Document Information

  • Last Updated: 2024-08-29
  • vergeOS Version: 4.12.6