Skip to content

virtme-ng v1.18 is out!

Compare
Choose a tag to compare
@arighi arighi released this 23 Nov 09:13
· 127 commits to main since this release

This new version includes a lot of contributions from the community.

This project has gained significant visibility recently, thanks to the participation at the latest Linux Plumbers Conference in Richmond, Virginia, and also thanks to the really nice article on lwn.net (https://lwn.net/Articles/951313).

I am really grateful for all of that and I am very happy to keep maintaining this cool project.

The most noticeable change is probably the support for pre-compiled vanilla kernels (using the Ubuntu mainline builds), that can help to save a bunch of build time and energy in some cases, i.e., when bisecting an issue across major upstream kernel versions.

Now virtme-ng also uses virtme-ng as the default hostname (thanks to Zev Weiss), so it's easier to spot when we are inside a virtme-ng interactive session.

Moreover, we have resumed the possibility to run virtme-ng commands directly from the source directory, as it was in the legacy virtme (thanks to Paul McKinney for the suggestion).

And last but not least, we have a bunch of changes, refactoring, cleanups in virtme-ng-init (thanks to Uli Schlachter), a few small fixes in the legacy virtme-init (thanks to Tycho Andersen) and the usual set of small bug fixes here and there.

Below is the detailed list of changes.

Cheers,
-Andrea

= virtme-ng ChangeLog =

Andrea Righi (11):
      virtme-ng: fix --user behavior
      virtme-ng: allow to run main commands directly from source
      virtme-ng: restore old --run behavior
      doc: update README.md
      virtme-init: resync with upstream virtme-ng-init
      virtme-ng: use pre-compiled mainline kernels
      doc: update README.md
      virtme-ng: fail to run pre-compiled deb if dpkg is not installed
      virtme-ng-init: resync with upstream project
      doc: add more info about potential required packages
      virtme-ng v1.18

Tycho Andersen (2):
      virtme-init: mount devtmpfs before using bash redirects
      virtme-init: touch /etc/sudoers if it doesn't exist

Zev Weiss (4):
      virtme-ng: Don't fail on missing argcomplete
      virtme-init: Add guest hostname to /etc/hosts
      virtme-ng: Set a default for --name
      Add tiny Makefile for building virtme-ng-init

= virtme-ng-init Changelog =

Andrea Righi (5):
      virtme-ng: honor virtme_user when running user script
      virtme-ng-init: always set XDG_RUNTIME_DIR
      virtme-ng-init: set proper ownership of the default console device
      virtme-ng-init: set the proper ownership on the virtio-ports devices
      virtme-ng-init: fix build error with older versions of rustc

Uli Schlachter (34):
      Use ? on Option where possible
      Add a simple test for extract_user_script()
      Simplify extract_user_script()
      Remove use of HashMap
      Remove Option return from run_misc_services()
      Simplify an env var check
      Simplify(?) some environment lookup
      Simplify lookup of $virtme_user
      Simplify(?) some command construction
      Remove useless Some-wrapping
      Remove unnecessary 'static
      Replace e.g. libc::S_IRWXU with Mode::S_IRWXU
      Fix clippy warnings around logging
      Fix clippy warnings about patterns
      Fix clippy warning about unnecessary return
      Fix clippy warnings about reading lines
      Fix clippy warning about "loop never loops"
      Fix clippy warning about "push() after creation"
      Fix clippy warning about unnecessary matching
      Simplify opening of TTYs
      Use uname() from nix instead of libc
      Remove useless to_string()
      Simplify /etc/shadow generation
      Use utils::create_file() to write some file contents
      Remove an unnecessary Vec
      Refactor logic in find_udevd()
      Allow run_cmd() with non-utf8-strings
      Avoid allocations for static strings for run_shell()
      Use nix' flags instead of libc's in one more place
      Avoid temporary allocation for PathBuf
      Add a log!() macro
      (Needlessly) optimise logging
      Use write_all() instead of write()
      Remove unnecessary trim_end_matches('\n')

Zev Weiss (3):
      utils: Don't log mount failures due to ENOENT
      Don't try to run systemd-tmpfiles on non-systemd systems
      Add guest hostname to /etc/hosts