Skip to content
csmnprschv edited this page Apr 20, 2013 · 26 revisions

Table of Contents

Compile Lguest

x86

  • # make ARCH=x86 defconfig
  • # make menuconfig
  "Processor type and features":
     "Paravirtualized guest support" = Y
        "Lguest guest support" = Y
     "High Memory Support" = off/4GB
     "Alignment value to which kernel should be aligned" = 0x1000000
     (CONFIG_PARAVIRT=y, CONFIG_LGUEST_GUEST=y, CONFIG_HIGHMEM4G=y, CONFIG_HIGHMEM64G=n and 
      CONFIG_PHYSICAL_ALIGN=0x1000000)
  "Device Drivers":
     "Block devices"
        "Virtio block driver (EXPERIMENTAL)" = M/Y
     "Network device support"
        "Universal TUN/TAP device driver support" = M/Y
        "Virtio network driver (EXPERIMENTAL)" = M/Y
     (CONFIG_VIRTIO_BLK=y, CONFIG_TUN=y and CONFIG_VIRTIO_NET=y)
  "Virtualization"
     "Linux hypervisor example code" = M/Y
     (CONFIG_LGUEST=m)

x86_64

  • # make ARCH=x86_64 defconfig
  • # make menuconfig
  "Processor type and features":
     "Paravirtualized guest support" = Y
     (CONFIG_PARAVIRT=y)
  "Device Drivers":
     "Block devices"
        "Virtio block driver" = M/Y
     "Network device support"
        "Network core driver support"
           "Universal TUN/TAP device driver support" = M/Y
           "Virtio network driver" = M/Y
     (CONFIG_VIRTIO_BLK=y, CONFIG_TUN=y and CONFIG_VIRTIO_NET=y)

Internet access

  • # lspci | grep Ethernet
  • # make menuconfig
  "Device Drivers"
     "Network device support"
        "Ethernet driver support"
           - Look for the above Ethernet Controller and build it directly into the kernel (Y). -

Run Lguest

  • Go to Lguest's directory:
    • # cd tools/lguest/
  • Download a root disk image:
  • Add Lguest module:
    • # modprobe lg
  • Compile Lguest:
    • # make
  • Run Lguest:
    • # ./lguest 128 /boot/vmlinuz-3.8.0 --block=initrd-1.1-i386.img root=/dev/vda
  • Enjoy!

Resources

Clone this wiki locally