Skip to content
Ryan Collins edited this page Mar 12, 2022 · 6 revisions

Welcome to the VM-OS wiki!

Approximate design of how this works/will work:

  1. Compile the linux kernel, with a specific set of build options. (optimised mostly for Qemu itself to start with for testing purposes)
  2. Find a simple bootloader, to handle booting (qemu testing doesn't need this, but real hardware will)
  3. A custom init script to: a. Set up DHCP (get an IP address, if there's a network) b. Set up IO devices (keyboard/mouse), if required. c. Start up Qemu with a configured VM image, which will run in foreground. d. Then loop until Qemu exits, and shutdown the machine (gracefully).

Why?

The goal is to be able to run, on new hardware, many old operating systems (just by providing a VM image).

The boot time should be fast: we don't need systemd just to run a VM (the VM itself should govern the startup time).

But really, why?

This is a learning experience about operating systems, Linux in general, and VMs.

Log of getting this built:

This section will be split/will be separated later into a write up. This contains various notes of issues/improvements throughout.

  1. Unable to mount root fs on unknown block

Unable to mount root fs

This confused me slightly: seems as though the root fs isn't set up properly/in the right format, but the question is: how to fix this?

Clone this wiki locally