Page cover

Creating Bootable Media

Create USB drives or ISOs to run NØNOS on real hardware.


USB Drive

Linux

# Build NØNOS
make nonos

# Create ESP structure
mkdir -p /tmp/nonos-esp/EFI/BOOT
cp target/x86_64-unknown-uefi/release/nonos_boot.efi /tmp/nonos-esp/EFI/BOOT/BOOTX64.EFI
cp target/x86_64-nonos/release/nonos_kernel /tmp/nonos-esp/

# Write to USB (replace sdX with your device)
sudo mkfs.fat -F32 /dev/sdX1
sudo mount /dev/sdX1 /mnt
sudo cp -r /tmp/nonos-esp/* /mnt/
sudo umount /mnt

macOS

# Find your USB device
diskutil list

# Format and mount (replace diskN)
diskutil eraseDisk FAT32 NONOS MBRFormat /dev/diskN
cp -r /tmp/nonos-esp/* /Volumes/NONOS/
diskutil unmount /Volumes/NONOS

ISO Image

Creates nonos.iso in the project root.


Manual ISO Creation


EFI System Partition Layout


Booting on Real Hardware

Requirements

UEFI firmware (not legacy BIOS)

Secure Boot disabled (or NØNOS keys enrolled)

x86_64 processor


Boot Steps

  1. Insert USB or mount ISO

  2. Enter UEFI boot menu (usually F12, F2, or Del)

  3. Select the NØNOS USB/ISO

  4. NØNOS boots and verifies the kernel


Secure Boot

NØNOS can work with Secure Boot if you enroll its signing keys.

Enroll Keys

  1. Export the public key in DER format

  2. Use UEFI Key Management to add as DB key

  3. Enable Secure Boot

Details in Signing Keys.


Virtual Machines

VirtualBox

  1. Create new VM (Type: Other, Version: Other/Unknown 64-bit)

  2. Enable EFI: Settings → System → Enable EFI

  3. Attach ISO or create virtual disk from ESP

  4. Boot


VMware

  1. Create new VM (Guest OS: Other 64-bit)

  2. Edit .vmx file, add: firmware = "efi"

  3. Attach ISO

  4. Boot


Hyper-V

  1. Create Generation 2 VM

  2. Disable Secure Boot in settings

  3. Attach ISO

  4. Boot


Troubleshooting

"No bootable device"

  • Ensure UEFI mode, not legacy BIOS

  • Check ESP partition is FAT32

  • Verify BOOTX64.EFI path is correct

"Security violation"

Disable Secure Boot in UEFI settings, or enroll NØNOS keys.

Black screen after boot

  • Try connecting a serial cable

  • Check GPU compatibility

  • Boot in QEMU first to verify image

Last updated

Was this helpful?