Previous: [DebianOnGalileo]
Setting up the Virtual Machine for the SDK
This phase will setup the Virtual Machine (VM) that will become the development environment.
1. Pre-requisites
I have choosen VirtualBox because it is available for a variety of systems and,
through the extensions, allows the exposing to the guest OS of USB devices connected to
the host - hence the point below
2. Creating the Virtual Machine
- Start VirtualBox and select "New" to create the VM
- Name it and select Linux Debian (32 bit).

- Assign the required RAM (1-2 GB should be sufficient).

- Now it's time to setup the HD of the VM.

- Unless you plan to switch/share HD with some other virtualisation solution,
choose the default VDI.

- Choose between fixed and dynamical allocation of the HD space.
Dynamical might be slower but allows a more care-free allocation, as it won't take up
space as long as it doesn't need it.

- Define where to store the disk and how large it will be.
200GB should be sufficient for most people and won't waste any actual space,
as long as the disk is Dynamically Allocated.

This concludes the creation of the image.
Now comes the configuration.
- Select "Settings" and from the "General" Item choose the "Advanced" tab,
where you can customize the clipboard and drag'n drop configuration.

- Select the "System" Item and from the motherboard tab assign the Base Memory.
2GB will probably do, if you can afford them. Anything less might slow down the VM.

- From the Processor tab, enable Physical Address Extension if you assigned more than
4GB or RAM. You can also assign more than 1 CPU, but the quark has only 1, without
hyperthreading.
So selecting more than 1 CPU might skew too much the simulation of the real target
environment, although this could be said also for assigning 4GB of RAM.

3. Installing Debian Stable (Wheezy)
- Load the image of the Debian installer into the VM CD and save the configuration.

- Finally, it's time to start the VM
- if you are happy with the default gnome UI, just go for "Install"
otherwise choose "Advanced options" > "Alternative desktop environments >"
- pick your desktop environment of choice
- select "Install" or "Graphical Install"
the following points refer to the text version.
- Select the configuration options.
- Localization:
Unless one absolutely needs some alternate configuration, the best choice is:
- Language: English
- Country/Zone: Ireland (Uses IS measurements units, no imperial legacy)
- Keymap: whatever is preferred/needed
- Hostname: give a name to your SDK VM
- domain: leave this empty
- root password: enter a password of your liking, just do yourself a favor and pick
something different from the root password on the host machine.
After a while spent dealing with a VM, especially if it is in seamless mode,
it can happen to type commands for the VM in a host terminal. This small precaution
will trigger a failure and force you to think.
- Full name & username for a new user: I recommend something different from your
typical user set, for the same reason explained above.
- New user password: enter the password for your regular user.
- Partitioning:
- Method: pick the 1st option (Guided - user entire disk) for a care-free setup.
Or go for one of the others if you know what you are doing.
- Device: if you have followed the instructions, there is only one option here.
- Partitioning scheme: again, pick the 1st option and let all the files in one
single partition.
- Review your choices and either amend or commit them to disk.
You will be prompted for confirmation.
- Download Mirror:
- Pick someplace close to your internet gateway. Probably your country.
- Setup your proxy, if needed.
- Let the installer do its job and deploy the very basic packages.
- When prompted for which SW to install, leave enabled only:
- Debian desktop environment
(alternatively, one could not choose this option and install a subset later on,
but it's beyond the scope of this howto)
- SSH server
- Standard system utilities
- Agree to install grub on the master boot loader and reboot into your brand new VM.
- Install the Guest Additions [InstallingGuestAdditions]