{"id":21040110,"url":"https://github.com/michael2012z/kvmtool","last_synced_at":"2026-04-17T05:34:06.309Z","repository":{"id":148686869,"uuid":"243263401","full_name":"michael2012z/kvmtool","owner":"michael2012z","description":"My fork of kvmtool: git://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git","archived":false,"fork":false,"pushed_at":"2022-03-08T13:24:30.000Z","size":2041,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-23T10:11:36.844Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michael2012z.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-26T13:00:10.000Z","updated_at":"2024-05-12T02:02:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"f16ec70e-b708-466d-8ee9-6e946868a189","html_url":"https://github.com/michael2012z/kvmtool","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michael2012z%2Fkvmtool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michael2012z%2Fkvmtool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michael2012z%2Fkvmtool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michael2012z%2Fkvmtool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michael2012z","download_url":"https://codeload.github.com/michael2012z/kvmtool/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243482941,"owners_count":20297908,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T13:44:53.113Z","updated_at":"2025-12-30T05:48:18.204Z","avatar_url":"https://github.com/michael2012z.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Native Linux KVM tool\n=====================\n\nkvmtool is a lightweight tool for hosting KVM guests. As a pure virtualization\ntool it only supports guests using the same architecture, though it supports\nrunning 32-bit guests on those 64-bit architectures that allow this.\n\nFrom the original announcement email:\n-------------------------------------------------------\nThe goal of this tool is to provide a clean, from-scratch, lightweight\nKVM host tool implementation that can boot Linux guest images (just a\nhobby, won't be big and professional like QEMU) with no BIOS\ndependencies and with only the minimal amount of legacy device\nemulation.\n\nIt's great as a learning tool if you want to get your feet wet in\nvirtualization land: it's only 5 KLOC of clean C code that can already\nboot a guest Linux image.\n\nRight now it can boot a Linux image and provide you output via a serial\nconsole, over the host terminal, i.e. you can use it to boot a guest\nLinux image in a terminal or over ssh and log into the guest without\nmuch guest or host side setup work needed.\n--------------------------\n\nThis is the stand-alone version which does not live inside a Linux\nkernel tree.\n1. To check it out, clone the main git repository:\n\n  git clone git://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git\n\n2. Compile the tool (for more elaborate instructions see INSTALL):\n\n  cd kvmtool \u0026\u0026 make\n\n3. Download a raw userspace image:\n\n  wget http://wiki.qemu.org/download/linux-0.2.img.bz2 \u0026\u0026 bunzip2\nlinux-0.2.img.bz2\n\n4. The guest kernel has to be built with the following configuration:\n\n - For the default console output:\n\tCONFIG_SERIAL_8250=y\n\tCONFIG_SERIAL_8250_CONSOLE=y\n\n - For running 32bit images on 64bit hosts:\n\tCONFIG_IA32_EMULATION=y\n\n - Proper FS options according to image FS (e.g. CONFIG_EXT2_FS, CONFIG_EXT4_FS).\n\n - For all virtio devices listed below:\n\tCONFIG_VIRTIO=y\n\tCONFIG_VIRTIO_RING=y\n\tCONFIG_VIRTIO_PCI=y\n\n - For virtio-blk devices (--disk, -d):\n\tCONFIG_VIRTIO_BLK=y\n\n - For virtio-net devices ([--network, -n] virtio):\n\tCONFIG_VIRTIO_NET=y\n\n - For virtio-9p devices (--virtio-9p):\n\tCONFIG_NET_9P=y\n\tCONFIG_NET_9P_VIRTIO=y\n\tCONFIG_9P_FS=y\n\n - For virtio-balloon device (--balloon):\n\tCONFIG_VIRTIO_BALLOON=y\n\n - For virtio-console device (--console virtio):\n\tCONFIG_VIRTIO_CONSOLE=y\n\n - For virtio-rng device (--rng):\n\tCONFIG_HW_RANDOM_VIRTIO=y\n\n - For vesa device (--sdl or --vnc):\n\tCONFIG_FB_VESA=y\n\n\n5. And finally, launch the hypervisor:\n\n  ./lkvm run --disk linux-0.2.img \\\n\t    --kernel ../../arch/x86/boot/bzImage \\\nor\n\n  sudo ./lkvm run --disk linux-0.2.img \\\n\t\t --kernel ../../arch/x86/boot/bzImage \\\n\t\t --network virtio\n\nThe tool has been written by Pekka Enberg, Cyrill Gorcunov, Asias He,\nSasha Levin and Prasad Joshi. Special thanks to Avi Kivity for his help\non KVM internals and Ingo Molnar for all-around support and encouragement!\n\nSee the following thread for original discussion for motivation of this\nproject:\n\nhttp://thread.gmane.org/gmane.linux.kernel/962051/focus=962620\n\nAnother detailed example can be found in the lwn.net article:\n\nhttp://lwn.net/Articles/658511/\n\nContributing\n------------\n\nPlease send patches for kvmtool to kvm@vger.kernel.org, in the usual git\npatch format, including \"kvmtool\" in the mail subject. \"kvmtool\" can be\nadded automatically by issuing the command\n\n git config format.subjectprefix \"PATCH kvmtool\"\n\nin the git repository.\n\nMaintainers\n-----------\n\nkvmtool is maintained by Will Deacon \u003cwill@kernel.org\u003e and Julien Thierry\n\u003cjulien.thierry.kdev@gmail.com\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichael2012z%2Fkvmtool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichael2012z%2Fkvmtool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichael2012z%2Fkvmtool/lists"}