Installing Ubuntu with VirtualBox

In this guide, we will be creating a virtual machine, using the VirtualBox software, and running the Linux distro Ubuntu inside of our host operating system.


 

To start, head on over to the VirtualBox website, and download the latest version of the VirtualBox software for your Operating System.  It should be a fairly straightforward install process.

Next, head to the Ubuntu download page, and download a Ubuntu .iso file.  You can select either the 64 bit version, or the 32 bit version.  I would recommend the 64 bit, because it is a more modern architecture built for better computers.


 

With both of these items fully downloaded to your computer, open up VirtualBox.  Hit “New” at the top-left, and name your Virtual Machine.  If the name you choose includes the word “Ubuntu”, then it should automatically fill in the two boxes below.  Otherwise, change “Type” to “Linux” and “Version” to “Ubuntu”.  Hit “Continue”.

Here, it will ask you to allocate RAM to your VM.  This can be any amount, but whatever number you choose will affect your VM’s speed.  I chose 2 Gb, to shorten my build times in later videos.

In the next screen, it will ask how you want it to do the Hard-Drives.  Opt to create a Virtual Hard Drive.  In the prompt that follows, choose to create a .VDI file, and choose an allocation type.  The two types have their own advantages/disadvantages, some of which I detail below:

Dynamically Allocated:

  • Pros: Takes up less space on your HDD if your Virtual Drive is not completely full.  Also takes less time to generate initially.
  • Cons: Slower IO times when running your VM, because VirtualBox has to allocate more space as you use it.

Fixed Size:

  • Pros: Faster IO times inside VirtualBox, because the file is already created, and you are just overwriting the data.
  • Cons: Full-Size file is created from the start, so it takes up more HDD space from the beginning.

It should then prompt you for a size.  Pick something large enough to store all you need to, but not large enough to be cumbersome to your host OS.  It is possible to resize a .VDI file later, as seen in this post, but this process is best to be avoided.


 

At this point, you should have completely set up your VM.  Go ahead and select your VM from the list on the left, and hit “Start“.  You will soon see a prompt asking you to locate your CD Image.  Navigate to your Ubuntu ISO, and select it.  VirtualBox will boot into the Live CD version of Ubuntu.  You should quickly see a prompt asking if you want to Try Ubuntu, or Install Ubuntu.  Choose to Install it, and follow the prompts.  It should be pretty straight forward from here, up until your desktop gets fully booted up.

Once you finally get to the Ubuntu desktop, there is one final step.  In order to ensure full compatibility with VirtualBox, Oracle has created a small software package for you to install to ensure the best experience.  Go to “Devices” in the Menu Bar of your host OS, and hit “Install Guest Additions“.  Let the process run its course, and you should be good to go.  Let me know in the video comments if any part of this was unclear!

Assembly development on a mac.

When I first got my mac, I had no idea how to continue working on my toy operating system.  After some research, I found a couple of effective ways to do assembly programming on the mac.

Option 1:

I recommend this method for learning basic assembly.  In combination with debug.com, dosbox provides a good safe environment for learning the basics.  A guy named Khoraski(on YouTube) has a really good series on how to do assembly programming in DEBUG.

Install dosbox.  Just use the .dmg file to install it to a default directory.

Next create a working directory to store all you dosbox programs and source files. Open up a terminal window, and type something along the lines of ‘mkdir ~/DOSPrograms’ to make a folder.

Now that you have a working directory, just download the debug.com file (try this site) and put it into the directory you created earlier(e.g. DOSPrograms).

The rest of this method is just  booting dosbox and using its built in commands.

Option 2:

This is another very safe way to practice Assembly, but provides a much broader toolset.

Download and install VirtualBox, and the latest Ubuntu .iso.

Install nasm via command line.

you should be good to go

Option 3:

Probably the most obvious option, you just install the tools directly into OSX and just program without the protection of a virtual machine.  Download Xcode, enable the command-line tools, and you should be ready to go.  Nasm, GCC, DD, VIM, and LD should be automatically installed and enabled.

 

I hope some of you found this helpful.  Options 2 and 3 are probably the two I would most recommend for serious Assembly development, seeing as Option 1 is severely limited in scope and utility.