mirror of
https://github.com/clearlinux/kvmtool.git
synced 2026-08-23 06:28:00 +00:00
c13efdd600cfd6401fc27adb0c90cdf26df2849a
Thomas and Asias reported that kernel doesn't find MP tables on 32 bit host. This is because previously the alignment was done on address obtained from calloc missing the fact that MP tables are put into guest memory *with* offset and MP signature should be calculated keeping this offset in midn as well and then aligned. Reported-by: Thomas Heil <heil@terminal-consulting.de> Reported-by: Asias He <asias.hejun@gmail.com> Tested-by: Thomas Heil <heil@terminal-consulting.de> Tested-by: Asias He <asias.hejun@gmail.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
Native Linux KVM tool ===================== The goal of this tool is to provide a clean, from-scratch, lightweight KVM host tool implementation that can boot Linux guest images (just a hobby, won't be big and professional like QEMU) with no BIOS dependencies and with only the minimal amount of legacy device emulation. Note that this is a development prototype for the time being: there's no networking support and no graphics support, amongst other missing essentials. It's great as a learning tool if you want to get your feet wet in virtualization land: it's only 5 KLOC of clean C code that can already boot a guest Linux image. Right now it can boot a Linux image and provide you output via a serial console, over the host terminal, i.e. you can use it to boot a guest Linux image in a terminal or over ssh and log into the guest without much guest or host side setup work needed. 1. To try out the tool, clone the git repository: git clone git://github.com/penberg/linux-kvm.git or alternatively, if you already have a kernel source tree: git checkout -b kvm/tool git pull git://github.com/penberg/linux-kvm.git 2. Compile the tool: cd tools/kvm && make 3. Download a raw userspace image: wget http://wiki.qemu.org/download/linux-0.2.img.bz2 && bunzip2 linux-0.2.img.bz2 4. Build a kernel with CONFIG_VIRTIO_BLK=y and CONFIG_SERIAL_8250_CONSOLE=y configuration options. Note: also make sure you have CONFIG_EXT2_FS or CONFIG_EXT4_FS if you use the above image. 5. And finally, launch the hypervisor: ./kvm --image=linux-0.2.img --kernel=../../arch/x86/boot/bzImage The tool has been written by Pekka Enberg, Cyrill Gorcunov, and Asias He. Special thanks to Avi Kivity for his help on KVM internals and Ingo Molnar for all-around support and encouragement! See the following thread for original discussion for motivation of this project: http://thread.gmane.org/gmane.linux.kernel/962051/focus=962620 Build dependencies ===================== For deb based systems: 32-bit: sudo apt-get install build-essential 64-bit: sudo apt-get install build-essential libc6-dev-i386 For rpm based systems: 32-bit: yum install glibc-devel 64-bit: yum install glibc-devel glibc-devel.i386
Description
Languages
C
96.6%
Makefile
2.6%
Assembly
0.5%
Shell
0.3%