How to set up an OS image to work with Argos

1. Requirements

To set up an operating system to use with Argos, you will need the following:

2. Install QEMU

  1. Extract the souce code package qemu-0.8.2.tar.gz:
    /download/directory$ tar zxvf qemu-0.8.2.tar.gz
    
  2. [OPTIONAL] Move the Qemu kernel accelerator into `/download/directory/qemu-0.8.2/' and extract it :
    /download/directory/$ mv kqemu-1.3.0pre9.tar.gz qemu-0.8.2/.
    /download/directory/$ cd qemu-0.8.2/
    /download/directory/qemu-0.8.2$ tar zxvf kqemu-1.3.0pre9.tar.gz
    
  3. Configure Qemu:
    /download/directory/qemu-0.8.2$ ./configure --target-list="i386-softmmu"
    
  4. Build Qemu by running `make'
    /download/directory/qemu-0.8.2$ make
    
  5. [OPTIONAL] Build the kernel accelerator by running `make' within the kqemu-1.3.0pre9 directory:
    /download/directory/qemu-0.8.2/kqemu-1.3.0pre9$ make
    
  6. Become root and install QEMU:
    /download/directory/qemu-0.8.2$ make install
    
  7. [OPTIONAL] Become root and install KQEMU:
    /download/directory/qemu-0.8.2/kqemu-1.3.0pre9$ ./install.sh
    

Consult Qemu's compilation from sources and kernel accelerator documentation in case of problems.

3. Create a virtual hard disk image

Qemu provides the utility `qemu-img' for this purpose. The following example creates a 3 gigabytes hard disk image named `IMAGE' using Qemu's copy-on-write format:

qemu-img -f qcow IMAGE 3G

For more information on how to create a disk image consult Qemu's documentation on on disk images.

4. Installing a guest OS

In the following examples `NNN' corresponds to the amount of virtual RAM (in megabytes) that Qemu will be run with.

Also `-localtime' is optional. It sets Qemu's clock to local time instead of UTC.

From a CD/DVD ROM

Assuming that the CD-ROM device at the host can be found under `/dev/cdrom', and `IMAGE' is a disk image created using qemu-img, run Qemu as such:

qemu -cdrom /dev/cdrom -hda IMAGE -boot d -m NNN -localtime

Make sure that you have permissions to read `/dev/cdrom' before trying to run the above command.

From an ISO image

Similarly, if `ISOIMAGE.iso' is the ISO image containing the OS you wish to install and `IMAGE' is a disk image created using qemu-img, run Qemu as such:

qemu -cdrom /path/to/iso/images/ISOIMAGE.iso -hda IMAGE -boot d -m NNN -localtime

OS specifics

5. Post-installation

After installing and configuring the guest OS to your liking remove the `-cdrom ...' and `boot d' options when running Qemu or Argos.

We recommend that you use the `-snapshot' option, which forces Qemu and Argos to open the disk image as read-only, writing all changes to temporary files. This way you do not risk corrupting the disk image.

September 2006, Georgios Portokalidis