Code Monkey home page Code Monkey logo

Comments (17)

nhorman avatar nhorman commented on August 14, 2024 2

@ashcrow @cgwalters

from coreos-assembler.

cgwalters avatar cgwalters commented on August 14, 2024

This is a distinct initramfs from the target system, right? IOW we don't want that module installed in the ostree payload.

Today our virt image generation doesn't really do a "build" in that sense.

I think this would end up being a separate supermin-based stage?

We don't even necessarily need to turn this into a RPM, we could add it as a git submodule too like mantle.

An open question here is whether we always generate this, or whether we follow the e.g. buildextend-openstack model where it's a separate phase. I'd kind of lean a little bit towards the latter, but it'd probably be fine to have it just be unconditional in cmd-build.

from coreos-assembler.

eparis avatar eparis commented on August 14, 2024

It could be installed, and a kernel command line option used to enable/disable?

from coreos-assembler.

cgwalters avatar cgwalters commented on August 14, 2024

It could be installed, and a kernel command line option used to enable/disable?

Like add ConditionKernelCommandline=coreos.install or so to coreos-install.service? Yeah that'd get us going pretty quickly.

from coreos-assembler.

ashcrow avatar ashcrow commented on August 14, 2024

Adding @bgilbert @ajeddeloh @lucab for visibility

from coreos-assembler.

cgwalters avatar cgwalters commented on August 14, 2024

We discussed this in a live meeting and I think a conclusion is - this isn't large, let's bake it into the same initramfs (i.e. the one in the ostree commit).

We also do eventually want to do a live payload but this is a good start.

from coreos-assembler.

bgilbert avatar bgilbert commented on August 14, 2024

@nhorman Have you checked how much space the additional binaries take up in the initramfs?

from coreos-assembler.

lucab avatar lucab commented on August 14, 2024

Some more notes from yesterday discussion:

  • adding more kernel cmdline options is less than ideal. For the longer term, it would be good to keep the ignition configuration as the single entry-point and trigger/configure the install-script from there (similar to previous flow)
  • There is a trade-off between requiring an external image_url (cons: requires reachable buckets and network trips) and having a default image in the installer (cons: larger initramfs for pxe-boot). If we manage to get the base image compressed down to a sane size, it would be good to make it available as the local default source for the installer.

from coreos-assembler.

nhorman avatar nhorman commented on August 14, 2024

@bgilbert no, I've not done the math, but the entire initrd image for x86_64 is 40Mb, so I'm not very worried about it.

from coreos-assembler.

nhorman avatar nhorman commented on August 14, 2024

@cgwalters yes, the initrd is specifically constructed for the purposes of installing the coreos image, and is distinct from the initrd that boots the system after install. there is no need to have the coreos-dracut package installed to the coreos image (though it wouldn't hurt anything if it was, as long as the dracut config from the installed image didn't turn it on). that said, if you wanted to use a conditional start parameter in the unit file, you could probably just add this into your running coreos initrd, and it would work fine (i.e you would only need one initrd, not two)

from coreos-assembler.

nhorman avatar nhorman commented on August 14, 2024

@lucab I'm not sure how you avoid adding kernel command line options here. As I understand it, ignition runs on firstboot after the install takes place, so there is no option to trigger the install from ignition. The installer starts on a bare, uninstalled system, so it needs to know at boot time what image its going to install, and I see no other way to do that other than from the command line (or some other hook point available during the install process at run time)

As for an external image_url, thats not strictly speaking required. If you want to build an install iso, there is no reason that you can't:

  1. include the rhcos image on the same iso
    and
  2. configure dracut to automatically add the command line parameter image_url=file:///path/to/rhcos/on/the/iso

You can do the same thing with the other kernel command line parameters, and make a resultant image that self installs without needing external network access at all. You just need to have the command line parameters available for the pxe install use case, where all these files necessarily need to be fetched separately

from coreos-assembler.

bgilbert avatar bgilbert commented on August 14, 2024

@nhorman Okay, could you please check the size increase? It'd be good to verify that we're not blowing up the image too much.

from coreos-assembler.

dustymabe avatar dustymabe commented on August 14, 2024

I just added some notes from our meeting yesterday and discussions in #fedora-coreos over in the FCOS tracker ticket for this work: coreos/fedora-coreos-tracker#50 (comment)

from coreos-assembler.

yrobla avatar yrobla commented on August 14, 2024

I managed to make RHCOS images work on baremetal. I forked nhorman/coreos-dracut, to do some modifications:https://github.com/yrobla/coreos-dracut.
I needed to add some drivers and modules to make it work with real hardware. And i also added some udev commands + ifup calls on the installer, as the network interfaces were not being configured properly (i guess i was hitting some udev problems).
I also added a guide on how to build them, as i was missing some dependencies: https://github.com/yrobla/coreos-dracut/blob/master/docs/how-to-generate-images.md

from coreos-assembler.

cgwalters avatar cgwalters commented on August 14, 2024

We're agreed overall on the coreos-dracut approach right? One thing I'd say is we should rename it to coreos-installer or something as otherwise one might get it confused with https://github.com/coreos/ignition-dracut/

Let's migrate it into the coreos/ Github org?

from coreos-assembler.

dustymabe avatar dustymabe commented on August 14, 2024

@yrobla - thank you for the information

@cgwalters - yeah - i'm working on polishing this off

from coreos-assembler.

dustymabe avatar dustymabe commented on August 14, 2024

@nhorman - we've got this incorporated into Fedora CoreOS now. There is a coreos-installer RPM and an upstream repo. Closing this issue as I think this is resolved.

from coreos-assembler.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.