Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Virt-io Console device. #949

Merged
merged 2 commits into from
Jan 9, 2024
Merged

Conversation

basicer
Copy link
Contributor

@basicer basicer commented Nov 27, 2023

Implements a virtio console device. This allows reading and writing buffers in bulk as well as a channel to communicate terminal size updates.

@basicer basicer force-pushed the virtio-console branch 2 times, most recently from 48eab79 to 751f346 Compare November 29, 2023 07:11
Copy link
Owner

@copy copy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! This is useful to check the existing virtio implemention, and eventually could serve as a better console for some of the modern OSes.

I have left a few stylistic remarks, but overall this looks good.

I've tested this on the archlinux profile and the device is detected and seems to work.

If you rebase, the test failure should go away.

What's missing (not necessarily in this PR):

  • A test. Unfortunately the small Linux images haven't been configured with virtio-console support, so this will have to wait for later
  • Integration into xtermjs (e.g. a virtio_console_container_xtermjs parameter, analogous to serial_container_xtermjs)
  • Some documentation on how to use this, at least on Linux

src/virtio_console.js Outdated Show resolved Hide resolved
src/virtio_console.js Outdated Show resolved Hide resolved
src/virtio_console.js Outdated Show resolved Hide resolved
src/virtio_console.js Show resolved Hide resolved
@basicer
Copy link
Contributor Author

basicer commented Dec 9, 2023

Thanks for the feedback. I'll get the style cleaned up. For testing I made a custom Alpine Linux based image that weights about 26mb (6mb kernel, 20mb initramfs). Would a test based on that work, or is it still a bit too large?

Implements a virtio console device. This allows
reading and writing buffers in bulk as well as
a channel to communicate terminal size updates.
@copy
Copy link
Owner

copy commented Dec 14, 2023

For testing I made a custom Alpine Linux based image that weights about 26mb (6mb kernel, 20mb initramfs). Would a test based on that work, or is it still a bit too large?

Yes, that would be useful.

@copy copy merged commit 7660cbf into copy:master Jan 9, 2024
3 checks passed
@copy
Copy link
Owner

copy commented Jan 9, 2024

Thanks! I've added a test in 609d794

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants