Setup the development environment
The first step is to setup a good and viable development environment. Using Vagrant and Virtualbox, you'll be able to compile and test your OS from all the OSs (Linux, Windows or Mac).
Vagrant is free and open-source software for creating and configuring virtual development environments. It can be considered a wrapper around VirtualBox.
Oracle VM VirtualBox is a virtualization software package for x86 and AMD64/Intel64-based computers.
Once Vagrant and Virtualbox are installed, you need to download the ubuntu lucid32 image for Vagrant:
vagrant box add lucid32 http://files.vagrantup.com/lucid32.box
Once the lucid32 image is ready, we need to define our development environment using a Vagrantfile, create a file named Vagrantfile. This file defines what prerequisites our environment needs: nasm, make, build-essential, grub and qemu.
Start your box using:
You can now access your box by using ssh to connect to the virtual box using:
The directory containing the Vagrantfile will be mounted by default in the /vagrant directory of the guest VM (in this case, Ubuntu Lucid32):
Test our operating system with qemu:
You can exit the emulator using: Ctrl-a.