3 ms·
Running on bare metal usually means not in a VM or container. It means they talk to the hardware in the most direct way. Sure, it takes drivers, kernel, etc but
by cassianoleal 3y ago
Running on bare metal usually means not in a VM or container. It means they talk to the hardware in the most direct way. Sure, it takes drivers, kernel, etc but that's about it.
Operating systems can run on VMs or containers. When comething runs on top of those OSs, they are not running on bare metal.
- arghwhat 3y agoThis is not what whot meant. He meant "bare metal" in that Xorg is the display server talking to your input (evdev) and output devices (drm/kms), rather than running as a rootful or rootless child of another display server as is the case with Xwayland or Xephyr. A "bare metal" display server can run in VMs, or even in containers (although the latter is a little pointless as the device access violates sandbox safety).
- cassianoleal 3y agoThanks, this is an interesting point-of-view, and thinking back and re-reading the article, it seems you're right. I'll have to say though, I find that particular definition of bare metal quite strange.
- arghwhat 3y agoIt's also a bit of a weird thing to describe. Native? Master? Normal? "Nested" is more or less the de-facto term in Wayland-land for the child scenario (pretty much all Wayland display servers natively support a rootful child mode either as real feature or for testing/debugging, some even under X), but there isn't really a good word for the normal case.
- sproingie 3y agoA container is simply a process with isolated namespaces — an OS does not run within them, and any hardware access they have is mediated by the OS in the same way as any other process. This being from Linux’s POV anyway: once you’re running Docker on other OS’s, there’s a Linux VM in the middle.
- cassianoleal 3y agoYou can absolutely run a separate OS in a container. Not the kernel, but everything else. It's true that you don't have to, but you certainly can. In fact, the first implementation of containers in Linux - Linux Containers, or LXC - works exactly that way. This may or may not be as great a distinction as you might want in order to consider it bare metal vs. not. I'll leave that up to you.
- arghwhat 3y agoI think this part of the discussion is just a disagreement as to what constitutes an OS, and whether running a process with a different rootfs entails "running a different OS".
- sproingie 3y agoSure, the average container in fact brings along an entire OS distribution like Alpine or Ubuntu or whatnot, but there’s still no extra layers added (save perhaps for the filesystem). Then again, running an OS at all is not “bare metal” by some definitions… it’s all various amounts of alloys I suppose.