{"id":16716871,"url":"https://github.com/dmbaturin/hvinfo","last_synced_at":"2025-04-10T06:41:37.072Z","repository":{"id":28199336,"uuid":"31701645","full_name":"dmbaturin/hvinfo","owner":"dmbaturin","description":"Yet another hypervisor detection tool. Pure Ada 2005, supports Linux and FreeBSD","archived":false,"fork":false,"pushed_at":"2020-12-15T13:41:09.000Z","size":49,"stargazers_count":16,"open_issues_count":1,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-24T07:49:01.280Z","etag":null,"topics":["ada","debian","freebsd","hypervisor-detection","linux","virtualization"],"latest_commit_sha":null,"homepage":"","language":"Ada","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/dmbaturin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-05T07:36:45.000Z","updated_at":"2024-11-03T23:43:34.000Z","dependencies_parsed_at":"2022-07-21T03:02:45.300Z","dependency_job_id":null,"html_url":"https://github.com/dmbaturin/hvinfo","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmbaturin%2Fhvinfo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmbaturin%2Fhvinfo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmbaturin%2Fhvinfo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmbaturin%2Fhvinfo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmbaturin","download_url":"https://codeload.github.com/dmbaturin/hvinfo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248173067,"owners_count":21059592,"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":["ada","debian","freebsd","hypervisor-detection","linux","virtualization"],"created_at":"2024-10-12T21:28:20.174Z","updated_at":"2025-04-10T06:41:37.053Z","avatar_url":"https://github.com/dmbaturin.png","language":"Ada","funding_links":[],"categories":[],"sub_categories":[],"readme":"hvinfo\n------\n\nYet another hypervisor detection tool for UNIX-like systems.\n\n# Design goals\n\n* Single high level language (Ada 2005). Even if certain things require more code.\n* No root privileges required, ever. Even if it means running checks in inconvenient ways.\n* Support for at least the most popular UNIX-like systems, not just Linux.\n\n# Building\n\nTo build it, you need GNU Make, GNAT 4.x or higher (Ada 2005 support required) and gprbuild.\n\nBuild setup is rather simplistic at this time.\n\n```\ncd hvinfo\ngmake\ngmake install PREFIX=\u003csome dir\u003e\n```\n\n## Building a Debian package\n\nDebian packaging is not yet good enough to get it included in Debian,\nbut should be fine for local use.\n\nThe procedure is simple:\n\n```\nsudo apt-get install devscripts\n\ncd hvinfo\n\ndebuild -us -uc\n```\n\nIf you have your Ada toolchain installed in an unusual location, it's better to ensure you have it\nin your $PATH.\n\n# OS and hypervisor support\n\nCPUID-based checks that can detect KVM, Xen HVM, VMware, bhyve, and Hyper-V are\nsupported on any OS.\n\nXen PV vs. Xen HVM check is supported on Linux and FreeBSD.\n\nThe easiest way to detect VirtualBox, Parallels, and some other hypervisors\nthat don't use CPUID identification is to check the SMBIOS vendor name,\nand this is currently only supported on Linux because it provides DMI information\nvia sysfs to unprivileged users. FreeBSD requires root privileges for DMI reading,\nso Parallels is undetectable on FreeBSD right now.\n\nContainer systems such as LXC and OpenVZ are not supported yet.\n\nVirtualization systems for platforms other than x86 aren't supported either.\n\nPatches are welcome.\n\n# TODO\n\n* Implementation-independent makefile (anyone knows how to make ifdef work in both make flavours?)\n* Container detection.\n* Non-x86 platforms support.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmbaturin%2Fhvinfo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmbaturin%2Fhvinfo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmbaturin%2Fhvinfo/lists"}