Partition tables #18
Replies: 0 comments 42 replies
-
One topic threading through this is whether we aim to support the the "dd raw disk image to metal" for bootc installs. I personally am trying hard to back away from that because of my experience from the CoreOS side is that while it covers extremely well the 85% cases, and causes deep problems in the harder ones like iSCSI, multipath, etc. Also the LUKS thing is just ugly where we need to have a "dummy" LUKS header today. And finally, another corner case is "advanced format" disk drives which are only going to increase in importance - and needing to juggle two raw disk images just plain stinks, even though we did some clever optimizations on the coreos side. It is very much this experience that motivated the design of And this again leads to an important point to me that it's not just "bib and bootc-container" - it's "bib and anaconda and bootc-container". |
Beta Was this translation helpful? Give feedback.
-
One thing I could imagine doing here is that we support in bootc something like a single entrypoint In this we entirely avoid the need for some protocol between bib and bootc (except for the problem of osbuild wanting to have the manifest "on top"), and also it's not exposing to farther-downstream users any kind of fully general partitioning configuration mechanism (except of course that one already exists in kickstart). |
Beta Was this translation helpful? Give feedback.
-
I seem to be missing something here. Why does the container (which may or may not have any expectation of how it will be run) have any filesystem or partitioning information in it? I thought the whole point of this process is to take a container you're currently running with podman and turn it into a disk image you can use on your hardware. |
Beta Was this translation helpful? Give feedback.
-
Let me move this back to the top...from my PoV, bootc does not need to (and really can't in general) define its own comprehensive partitioning schema; it's in the end operating system specific. So one thing we could do is say that for Fedora derivatives using bootc via bootc-image-builder, we will support injecting I guess hmm...what probably needs to also happen in that case is that (I know the content-in-image thing brings back up the "manifest over image" thing...and it makes sense to me to support also providing them externally. It seemed though like we were reaching some agreement that we'd always have the container image in containers-storage or mounted in some way, so we can easily execute/introspect it. I also still don't quite understand in what cases we really want to generate a whole temporary filesystem tree that we only then copy to a disk. That still feels to me like a "debug only" thing, and so if we switch to writing content to the disk directly, it's easy to have a flow like:
|
Beta Was this translation helpful? Give feedback.
-
Chiming in from the CoreOS side here. Work is underway to switch over to osbuild soon in our pipelines for some of our streams. On the user side, as a first approach they'll be using osbuild directly + mpp files just like we do in the pipelines to generate their custom images. Longer term, obviously we'll have Composer/Image Builder integration but we'll also want something nicer on the CLI (that's more streamlined than Composer). It's still not clear yet whether bib is that something, or if we'll want something else. One of our goals I think should be to use the exact same tool in our pipelines that the user could use to generate disk images. That said, at the end of the day all the goodies will be in osbuild/images anyway, and ISTM disk generation tools should just be semi-thin wrappers around that focused more on the UX than the contents of the resulting artifacts. Notably, semantics like what's discussed here (config files in the container controlling disk image generation) basically need to live somewhere lower in the stack because we would want it to work as part of the Image Builder path too, right? Anyway, specifically on the subject of partition tables and rootfs type, some thoughts from my side:
Obviously we could support blueprints too as suggested here, but... IMO the story is more compelling if users can reuse their Ignition configs in this flow. |
Beta Was this translation helpful? Give feedback.
-
Filed containers/bootc#287 related to some realtime discussion today |
Beta Was this translation helpful? Give feedback.
-
Following up from the partition table and filesystem customization discussion in osbuild/bootc-image-builder#18.
Some relevant quotes from the discussion:
@cgwalters osbuild/bootc-image-builder#18 (comment)
@achilleas-k osbuild/bootc-image-builder#18 (comment)
@cgwalters osbuild/bootc-image-builder#18 (comment)
@cgwalters osbuild/bootc-image-builder#18 (comment)
@achilleas-k osbuild/bootc-image-builder#18 (comment)
I tried to pull some of the most important parts of that discussion for some context. I hope I didn't misrepresent something by pulling it out of its original context.
What I would love to get out of this discussion is a plan for where we want to end up for the partitioning features and how we can get there from where we are now. Questions:
Overall, how do we imagine the disk creation flow starting from a base container, that may or may not get extended by a user into a derived container, and then through BIB become a bootable disk image? What part of the partition table is defined in every step and where do we define fallbacks/defaults?
Beta Was this translation helpful? Give feedback.
All reactions