Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


cleaned up Palacios Makefile
[palacios.git] / README
1
2   Downloading, Building, and Running the Palacios Virtual Machine Monitor
3
4
5     Overview
6
7 The Palacios VMM can be embedded into existing OSes, with current
8 support for the Kitten HPC OS from Sandia National Labs and the GeekOS
9 teaching OS from the University of Maryland. A minimalist configuration
10 of GeekOS is included with Palacios. To use Palacios with Kitten, which
11 we recommend for most uses, you will need to download Kitten separately.
12
13
14     System Requirements
15
16 To build Palacios, we recommend a standard Linux system with up-to-date
17 gcc compiler and header files. In addition to the standard Linux
18 compilation and development tools, the "syslinux" package is also needed
19 to enable building guest images and bootable ISO images.
20
21 To run Palacios, you will need a real or emulated AMD x86/64 system with
22 hardware support for virtualization (SVM); This includes most recent AMD
23 Opteron processors as well as versios 0.9.1 or newer of the QEMU full
24 system simulator. Nested paging support requires an AMD processor with
25 hardware nested paging support, which is currently supported on AMD
26 "Barcelona" or newer systems; on systems without nested paging, Palacios
27 reverts to software shadow paging support.
28
29
30     Installation Steps
31
32    1. Download the latest Palacios VM and Kitten host OS release
33           * Palacios Release Site <http://www.v3vee.org/download>
34           * Kitten Release Site <https://software.sandia.gov/trac/kitten> 
35
36    2. Unpack Palacios and Kitten into the same directory
37
38       > cd where-id-like-to-build
39       > tar xzvf downloaded-file-location/palacios.tar.gz
40       > tar xzvf downloaded-file-locaiton/kitten.tar.gz
41         
42
43    3. Build 64-bit Palacios libraries for linking into Kitten host OS
44
45       > make -C palacios/build palacios-full64
46         
47
48    4. Configure and compile Kitten with Palacios by running 'make
49       config'. The default config answers should be sufficient for most
50       systems, with the exception that you want to include support for
51       the palacios VMM when prompted, and you should provide a path to
52       the ISO for the guest image (see details above).
53
54       > make -C kitten config # or menuconfig (w/ ncurses) or xconfig (w/ X11)
55         
56
57    5. Build the kitten palacios combination on a bootable iso image
58       (built into kitten/arch/x86_64/boot/image.iso)
59
60       > make -C kitten isoimage
61         
62
63    6. Boot the resulting image.
64           * For qemu:
65
66             > qemu-system-x86_64 -m 1024 -cdrom kitten/arch/x86_64/boot/image.iso
67                 
68
69           * For hardware, boot the kitten kernel
70             (kitten/arch/x86_64/boot/bzImage) as the kernel and the
71             init_task program (in kitten/init_task) as the initial
72             ramdisk. (The isoimage containing the guest OS is bundled up
73             as part of the init_task image). 
74
75
76     Guest ISO images
77
78 You will need a guest ISO image to boot on Palacios (and to specify the
79 path to that image in step 4 above). In addition to testing
80 self-virtualization (booting Kitten on top of Kitten/Palacios), we have
81 focused on supporting the following two Linux ISO images that we suggest
82 people use for initial testing and exploration:
83
84     * 32-bit Puppy Linux version 3.0
85       <http://www.puppylinux.org/downloads/official-releases>
86     * 64-bit Finnix Linux version 92.0 <http://www.finnix.org/Download> 
87