Releases: arighi/virtme-ng
v1.30
virtme-ng v1.30 is out!
The most noticeable changes in this new version are the initial support for NVIDIA GPUs passthrough (thanks to @ianm-nv), the possibility to use pre-compiled -rc kernels from Ubuntu mainline builds, the possibility to use virtiofs natively on arm64, some improvements to run virtme-ng cross-architecture and cross-distro and the usual set of bug fixes.
Future plans include the generalization of PCI passthrough support (not only GPUs) and improving the cross-architecture support.
Detailed ChangeLog:
Andrea Righi (13):
vng: allow to use -rc kernels from Ubuntu mainline builds
virtme: fix lint warnings in architectures.py
virtme: fix regex lint warning
virtme: fix "too many arguments" warning in cpiowriter
virtme-ng: fix "too many positional arguments" lint warnings
architectures: GPU passthrough
virtme-ng: fix incorrect cross-compile override
virtme-ng: handle undefined release with --root
virtme-ng: auto-detect host architecture
virtme-ng: allow to specify multiple --rwdir and --rodir
doc: update contact email
readme: add Linux Foundation mentorship session about virtme-ng
virtme-ng v1.30
Andrew Kreimer (2):
readme: fix a typo
virtme: fix typos
Anisse Astier (2):
virtme: fix regex expecting a group
virtme-ng: only match a single downloaded kernel on arm64
Ian May (2):
vng: add support for passthrough NVIDIA GPUs
doc: update README.md with gpu passthrough setup
Jean-Baptiste Denis (1):
Add Kernel Recipies 2024 talk link in the README
Jens Axboe (1):
virtme: enable virtiofs support for arm64
Marcos Paulo de Souza (4):
virtme: commands: run.py: Make get_kernel_version more accurate
virtme: Enable -r argument to work on more architectures
virtme: commands: run.py: Search for kernel version of the file name as fallback
virtme: architectures: Add "image" as s390x image name
Matthieu Baerts (NGI0) (2):
Revert "fix command to install vng_init in pipx"
version: fallback if no git tags
Ricardo B. Marliere (1):
Add hint when trying to create root filesystem outside a Debian host
Tamir Duberstein (1):
Modernize build system
patso (2):
add setuptools to requirements.txt
fix command to install vng_init in pipx
v1.29
virtme-ng v1.29 has been released just with a minor packaging fix, addressing an issue where the requirements.txt file was missing from the source tarball published on PyPI.
This won't affect anyone, unless you're trying to build virtme-ng directly from the tarball available on PyPI.
v1.28
virtme-ng v1.28 is out!
No major changes in this release, just a few bug fixes that are worth for cutting a new release and a small boot time improvement, so, it's pretty safe to update.
Detailed ChangeLog:
Andrea Righi (4):
setup.py: include dependencies parsing requirements.txt
virtme-ng: fix typo in command help
virtme-configkernel: disable nvram support
virtme-ng v1.28
Jim Cromie (6):
configkernel: config comment cosmetics
configkernel: act more like kernel's make O=outdir
vng-run: get kdir from O=outdir
vng: propagate --verbose to configkernel
vng: alias --custom to --config
run.py: add a --qemu-opts='...' option bundling hint to help
Ricardo Ribalda (1):
init: Always create /run/tmp folder
Stephen Brennan (2):
Don't require ".git" to be a directory
Specify "refs/heads/__virtme__" in git push
v1.27
There are no changes in this new v1.27 release, just bumping up the version to fix a packaging issue with Pypi.
<insert "Nothing to see here. Please disperse." meme>
Detailed ChangeLog
Andrea Righi (2):
version: introduce VNG_PACKAGE to force a proper packaging version
virtme-ng v1.27
v1.26
virtme-ng v1.26 is out!
The most noticeable changes are: the proper integration with Arch Linux (thanks for the CachyOS https://cachyos.org/ community for the help!), the inclusion of a vng manpage, the host's /tmp is now also visible from the guest, a new --configitem option that allows to quickly change specific kernel config options (with --build) and the usual set of bug fixes.
Detailed ChangeLog below.
Andrea Righi (19):
virtme-ng: export real /tmp to guest
init: move all temp files to /run/tmp
virtme-ng: provide a man page for vng
virtme-ng: check validity of rwdir paths
virtme-ng: set both CC and HOSTCC with --compiler
virtme-ng: deprecate --compiler option
virtme-ng: boot with nokaslr when --debug is used
virtme: introduce option --gdb
doc: document the new --gdb option
virtme-configkernel: fix coding style
virtme-ng-init: resync submodule
version: generate verison string based on git information
version: run git describe from the path of the python file
version: make sure to get the git version from a virtme-ng git repo
version: try to get version from pip
virtme: get rid of virtme/scripts symlink
virtme: pass "debug" to the boot options when running in verbose mode
virtme: properly show/redirect kernel log when running in command mode
virtme-ng v1.26
Fredrik Lönnegren (2):
Add cross-compile argument
Fix review comments
Jim Cromie (8):
configkernel: add --configitem and --verbose
prefix BLK_DEV_INITRD=y with CONFIG_
vng/run: expose configkernel --configitem option
vng/run: handle user-config 1st, allow --configs after
readme: same kernel as the host
add Makefile install target
run git describe in Makefile
Makefile - add install-top-only target
Johannes Thumshirn (1):
virtme-ng: fix virtiofsd search path on openSUSE
Juerg Haefliger (1):
init: Fall back to mounting without xino option
Marcos Paulo de Souza (1):
setup.py: Check if argparse-manpage is present to vng.1
Matthieu Baerts (NGI0) (4):
virtme-configkernel: 'O=' takes precedence over KBUILD_OUTPUT
version: move the non-local case out of the try/catch
version: fallback to PKG_VERSION if git describe failed
virtme: switch back to hypervisor console
v1.25
virtme-ng v1.25 is out!
This is a minor release with just a small change, but it was worthwhile to cut a new version, because it can significantly improve boot time with the microvm architecture (simply by enabling the RTC and avoiding unnecessary boot time that most kernels spend probing for a non-existent RTC).
And with this applied I can break the 1s boot-time limit on my laptop and start a vng instance in only ~0.93s!
arighi@gpd ~/src/linux (master)> time vng -- uname -r
6.9.0-rc1-virtme
________________________________________________________
Executed in 931.57 millis fish external
usr time 838.65 millis 0.00 micros 838.65 millis
sys time 690.61 millis 404.00 micros 690.20 millis
Detailed ChangeLog below.
Andrea Righi (6):
Merge pull request #111 from matttbe/kvm
virtme: make sure RTC is enabled with microvm
Merge pull request #112 from arighi/microvm-enable-rtc
virtme-ng: silent lint errors
Merge pull request #113 from arighi/silent-lint-error
virtme-ng v1.25
Matthieu Baerts (NGI0) (1):
github: new test with KVM support
v1.24
A new release of virtme-ng is out!
The most noticeable changes include the support for the loop network type and the possibility to specify the --network command multipe times, both useful for kernel selftests testing (thanks to Jiri Pirko).
Moreover, there is a boot-time improvement in environments where the kvm acceleration is not available, such as container, cloud environments, etc. (using the q35 arch in qemu - thanks to Ricardo Ribalda for driving this topic).
Notably, this new version is expected to enhance the performance of GitHub workflows that use virtme-ng.
Detiled ChangeLog below.
== virtme-ng ChangeLog ==
Andrea Righi (10):
Merge pull request #100 from jfernandez/virtiofsd-arch
Merge pull request #102 from lorenzo-stoakes/ljs-fix-cross-compile-heuristic
Merge pull request #103 from jpirko/net_loop
Merge pull request #105 from l-0-l/patch-2
Merge pull request #104 from l-0-l/patch-1
virtme-ng-init: resync submodule
Merge pull request #109 from arighi/update-virtme-ng-init
virtme: default to q35 architecture when kvm is not available
Merge pull request #110 from arighi/q35-arch
virtme-ng v1.24
Jiri Pirko (2):
virtme: introduce loop network type
virtme: allow user to ask for multiple network devices
Jose Fernandez (1):
Add additional path for virtiofsd executable
Lorenzo Stoakes (1):
config: avoid accidentally specifying invalid cross-compile
l-0-l (2):
Update README.md
Update README.md
== virtme-ng-init ChangeLog ==
Andrea Righi (1):
add Cargo.lock
virtme-ng v1.23 is out
A new version of virtme-ng is out to address a few bug fixes, especially a breakage with QEMU 8.2.2 (kudos to @matttbe and @ishitatsuyuki for investigating and figuring out the fix), that is the most noticeable change.
There is also a small behavior change with --kconfig, that will always override the .config if present (since there is not reason to use --kconfig and not update the .config).
Moreover, it is now possible to force the legacy cgroup v1 using the option -a "SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1": the vng init script will mimic systemd behavior and mount cgroup v1, instead of v2.
Detailed ChangeLog:
== virtme-ng ChangeLog ==
Andrea Righi (11):
setup.py: properly detect when the virtme-ng-init submodule is missing
init: allow to mount legacy cgroupfs (v1)
Merge pull request #85 from arighi/support-cgroup-v1
virtme-ng-init: resync submodule
Merge pull request #93 from arighi/fix-virtme-ng-init-console
Merge pull request #94 from matttbe/home
Merge pull request #91 from matttbe/config
Merge pull request #96 from matttbe/config
Merge pull request #98 from matttbe/docker-privileged
Merge pull request #99 from matttbe/qemu-8.2.2
virtme-ng v1.23
Matthieu Baerts (NGI0) (9):
init: set the HOME env var if root
config: always append virtme configs
config: override the kernel config if asked
config: option not to update if there is a config file
vng: override kconfig with '--force'
vng: --kconfig: override the .config
readme: docker: recommend using --privileged option
readme: docker: add virtiofsd
qemu: remove unnecessary '-serial none' arg
== virtme-ng-init ChangeLog ==
Andrea Righi (4):
virtme-ng-init: allow to mount legacy cgroupfs (v1)
Merge pull request #7 from matttbe/home
virtme-ng-init: properly configure terminal line settings
add Cargo.lock
Matthieu Baerts (NGI0) (1):
init: set the HOME env var if root
virtme-ng v1.22 is out
Very calm release, only bug fixes this time, but I wanted to cut a new version anyway to make sure that no other people are hitting the permission errors with sudo.
Most noticeable changes:
- fix potential sudo errors (in openSUSE, Fedora, CachyOS)
- propagate /proc/sys/fs/nr_open from host to guest
- more robust parsing of upstream kernel versions
- small command help improvements
== virtme-ng ChangeLog ==
Andrea Righi (11):
Merge pull request #73 from WOnder93/fix-traceback-config
Merge pull request #74 from WOnder93/fix-setup
virtme: propagate /proc/sys/fs/nr_open from host to the guest
virtme-ng: hide additional sudo settings
Merge pull request #77 from arighi/propagate-nr-open
virtme-ng: more robust parsing of upstream versions
virtme-ng: improve help of --run command
virtme-ng: print a hint to exit from the virtme-ng session
Merge pull request #82 from arighi/improve-help
Merge pull request #83 from paulmenzel/fix-typo-in-warning-in-setup.py
virtme-ng v1.22
Ondrej Mosnáček (2):
virtme: fix traceback with --kdir when .config doesn't exist
setup.py: fix logic around the virtme_ng_init submodule
Paul Menzel (1):
setup.py: Fix typo in *submodule* in warning
== virtme-ng-init ChangeLog ==
Andrea Righi (4):
virtme-ng-init: handle command line option nr_open
virtme-ng-init: apply limits after mounting kernel filesystems
virtme-ng-init: hide additional sudo settings
virtme-ng-init: print a hint to exit from virtme-ng
virtme-ng v1.21 is out
This new version of virtme-ng includes some new enhancements focused at improving its integration in CI/CD environments, alongside with the usual set of miscellaneous fixes.
Most noticeable changes in this release:
- When running in script mode do not hang in case of kernel panic, but return the special error code 255 (this allows to automate catching kernel panics)
- Redirect kernel log to stderr on the host when running in interactive mode: this allows to easily save the kernel log to a file (or pipe it to another tool), simply by runing a
vng -vr 2>/tmp/kernel.log vng --dumpcan now generate a memory dump compatible with drgn- It is now possible to use virtiofsd with a btrfs root filesystem on the host (e.g., default openSUSE setup)
- It is not possible to to use the microvm architecture with kernels that don't have built-in virtio-pci / virtio-mmio (e.g., stock openSUSE Tumbleweed kernel)
== virtme-ng ChangeLog ==
Andrea Righi (21):
virtme-ng: redirect kernel log to stderr in interactive mode
Merge pull request #66 from arighi/kernel-log-stderr
virtme-ng: generate drgn compatible memory dumps
Merge pull request #67 from arighi/drgn-support
doc: replace the screenshot with a video in README.md
Merge pull request #68 from arighi/video-demo
virtme-init: always override sudoers
virtme-ng: deprecate --skip-config
Merge pull request #69 from arighi/fix-sudo
virtme-ng: fix sending kernel log to stderr in script mode
virtme-ng: return 255 on panic in script mode instead of hanging
Merge pull request #70 from arighi/detect-kernel-panic
doc: add "Additional resources" section to README.md
Merge pull request #71 from arighi/readme-additional-resources
virtme: properly detect rootfs when /lib is symlinked to /usr/lib
virtme: use --no-announce-submounts with virtiofsd
setup.py: always add site-packages to PYTHONPATH
virtme: always add modules required by microvm to the initramfs
Merge pull request #72 from arighi/tumbleweed-fixes
setup.py: automatically initialize virtme-ng-init submodule
virtme-ng v1.21
== virtme-ng-init ChangeLog ==
Andrea Righi (2):
virtme-ng-init: allow virtme-ng to specify a console device
virtme-ng-init: always override sudoers