Minifed Virt (kvm/qemu)

License and Liability
Project Page Logo
Minifed-Virt uses the following technology at its core:
  • Minifed
  • KVM/Qemu
  • Fedora 7
  • Lighttpd
  • php
  • linux Later on, the following components will be added:
  • Sqlite (for auth and config storage)
  • Ldap (for auth and config)
  • mysql (for auth and config)
  • libvirt (for vm control)

    How it works

    Minifed Minifed is a memory-resident OS, its primary duty is to boot the kernel, load the initrd and then execute the init inside the initrd. It executes nothing else so no daemons run from the OS itself and the initrd/kernel can be kept in a secure place (such as a read-only tftp/pxe boot location or on cdrom). The location of the base OS is immaterial as the OS is never really modified except by its configuration later in the boot process.

    Minifed-virt extends minifed by adding the following:
  • Second-step init (the init that runs after minifed's init runs)
  • Lighttpd website + config (the lighttpd binaries are from F7's rpm's)
  • Host daemon - the host daemon manages the host and is communicated locally from the website via shared memory.
    Sound simple huh? it is, and thats the way it will stay as much as is humanly possible

    The Boot process is as follows (mf = minifed, mfv = minifed-virt):
  • (mf) boot the kernel (pxe, usb flash, cdrom)
  • (mf) load initrd
  • (mf) execute init (bash shell script)
  • (mf) Probe storage, network and usb modules (via kudzu) and load
  • (mf) Source (mfv) profile
  • (mf) execute second (mfv) init script
  • (mfv) look for configuration file (checks /dev/sda1 for a mountable fs, checks for a volume named mfv-config, and checks for a fs on the floppy but this can be changed via kernel command line params)
  • (mfv) if a config is found, load it!
  • (mfv) if no config is found or the config is invalid, prompt for initial config
  • (mfv) bring up ncurses/php page that allows user to choose a network card and configure an ip or dhcp
  • (mfv) bring up lighttpd with the website in "config" mode
  • (mfv) host is configured by web for config storage and things about the host