Skip to content

Releases: arighi/virtme-ng

v1.31

18 Oct 13:43
Compare
Choose a tag to compare

virtme-ng v1.31 released!

This is a minor release to fix a packaging issue, after an attempt to modernize the build system we realized that we were not installing the bash completion file anymore, so we have temporarily reverted the change to cut this new release.

This is mostly for distro that may have missed the bash completion and the default config file with the previous release (v1.30).

In addition to this packaging fix, there is also the initial support to run virtme-ng on macOS, which is pretty cool (thanks @tamird)!

Detailed ChangeLog:

Andrea Righi (2):
      setup.py: update contact email
      virtme-ng v1.31

Michal Suchanek (1):
      Revert "Modernize build system"

Tamir Duberstein (4):
      Make it build on macOS
      Remove redundant initialization
      Remove usage of os.uname
      Make qemu work on macOS

v1.30

13 Oct 07:44
Compare
Choose a tag to compare

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

11 Sep 06:47
Compare
Choose a tag to compare

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

05 Sep 08:04
Compare
Choose a tag to compare

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

30 Jul 17:01
Compare
Choose a tag to compare

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

29 Jul 21:18
Compare
Choose a tag to compare

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

21 May 20:26
Compare
Choose a tag to compare

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

03 May 10:55
Compare
Choose a tag to compare

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

29 Mar 08:21
Compare
Choose a tag to compare

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

24 Feb 09:18
Compare
Choose a tag to compare

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