Skip to content

matttbe/virtme-ng-init

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

virtme-ng-init: fast init process for virtme-ng

virtme-ng-init is an extremely lightweight init process for virtme-ng [1] implemented in Rust.

Its primary goal is to speed up the boot time of virtme-ng instances.

virtme-ng-init is able to perform any necessary initialization in the virtualized environment, such as mounting filesystems, starting essential services, and configuring the system before handing over control to the main user-space processes (typicall a shell session).

[1] https://github.com/arighi/virtme-ng

Result

  • virtme-init (bash implementation):
$ time virtme-ng --exec 'uname -r' 6.4.0-rc3-virtme real	0m1.146s user	0m0.829s sys	0m1.048s $ time virtme-ng --net user --exec 'ip addr show dev eth0' 2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff inet 10.0.2.15/24 scope global eth0 valid_lft forever preferred_lft forever real	0m1.282s user	0m0.930s sys	0m1.219s 
  • virtme-ng-init (Rust implementation):
$ time virtme-ng --exec 'uname -r' 6.4.0-rc3-virtme real	0m0.906s user	0m0.654s sys	0m0.684s $ time virtme-ng --net user --exec 'ip addr show dev eth0' 2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff inet 10.0.2.15/24 scope global eth0 valid_lft forever preferred_lft forever real	0m0.972s user	0m0.736s sys	0m0.795s 

Credits

Author: Andrea Righi andrea.righi@canonical.com

About

Fast init process for virtme-ng

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 100.0%