Comments (1)
After extensive research, this turns out to be the responsibility of the guest OS, not the connecting terminal [emulator] or virtual serial devices. The TERM
value is set by the init system, be it systemd or otherwise. A guest disk image would need to be modified to set the TERM
to something appropriate for a terminal emulator (such as xterm256-color
).
After a few experimental implementations, including calling libguestfs
directly using the cgo FFI, and invoking guestfish
as a series of child processes, I have concluded that it should not be the responsibility of vm
to modify the guest filesystem to suite its expectations. This obviously applies to modifying the TERM
value of serial TTYs, but I also feel it extends to supporting something like cloud-init. While cloud-init is prominently used in the "cloud image" space, it can easily be supported by applying an appropriately constructed read-only disk image using the --disk
option of the create
subcommand.
Put another way, vm
enables the easy creation of domains backed by existing qcow2 disk images. It will also fetch images from provided URLs and convert them to qcow2 if necessary, but it will not modify said image in any way. There are mature tools (guestfish
, virt-builder
) to aid in the modification and creation of qcow2 images already.
from vm.
Related Issues (15)
- Support cloud-init user-data HOT 3
- Serial & console connections term width/height
- Serial & console connections input line overwriting HOT 1
- generate flags introduce crash when running with unknown subcommand
- Running 'vm create' by itself does not report a positional argument error
- Old VMs (RHEL 6 era) cannot start without a video device HOT 1
- Check for runtime requirements
- Add a --no-persist option to create
- Add option to import an image from a location on disk
- Add snapshotting capabilities
- error: no interfaces detected for domain HOT 1
- Add domain editing
- Creation customization options
- Release 0.1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vm.