containers / bootc

Boot and upgrade via container images
https://containers.github.io/bootc/
Apache License 2.0
719 stars 81 forks source link

Need to switch Anaconda to using bootc install #883

Open kfox1111 opened 6 days ago

kfox1111 commented 6 days ago

alma linux image. when I boot from bios, kargs works. if I boot efi, its failing to show custom args.

ex:

  echo 'kargs = ["ipv6.disable=1"]' > /usr/lib/bootc/kargs.d/00-config.toml

I dont see the arguments making it into /boot/loader.1/entries/ostree-*

Something I'm missing?

cgwalters commented 6 days ago

What is your deployment path? bootc-image-builder? Anaconda? bootc install to-filesystem wrapped with something else?

cgwalters commented 6 days ago

Is this after an in-place update or is this a fresh install issue?

kfox1111 commented 6 days ago

I've seen it both ways.

In bios mode today, I did an upgrade with the new image and it seemed to work. then reinstalled forcing the firmware over to efi. it installed without the args. Then I tweaked the image then in-place updated it and still no options applied.

cgwalters commented 6 days ago

The thing is with the default bootloader flow we have, bios and UEFI both invoke grub which both just read the bootloader configs from /boot so there should really be no possible difference between the two.

Can you please include the container OS version and confirm the bootloader path?

kfox1111 commented 6 days ago

FROM quay.io/almalinuxorg/almalinux-bootc:9.4-20241023 RUN echo 'kargs = ["ipv6.disable=1"]' > /usr/lib/bootc/kargs.d/00-config.toml

When I boot, I see the config.toml

# cat  /usr/lib/bootc/kargs.d/00-config.toml
kargs = ["ipv6.disable=1"]

But the generated loader args are skipping the kargs.d file:

# more /boot/loader.1/entries/ostree-1.conf 
title AlmaLinux 9.20241023.0.4 (Seafoam Ocelot) (ostree:1)
version 1
options crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M root=UUID=43eb3e40-ba57-4699-a52b-97c31139cf1f rw ostree=/ostree/boot.1/default/cbeefe89fd291c49b81b228f857a42b65366392f437dbd0489b160b1cbb50dab/1
linux /ostree/default-cbeefe89fd291c49b81b228f857a42b65366392f437dbd0489b160b1cbb50dab/vmlinuz-5.14.0-427.40.1.el9_4.x86_64
initrd /ostree/default-cbeefe89fd291c49b81b228f857a42b65366392f437dbd0489b160b1cbb50dab/initramfs-5.14.0-427.40.1.el9_4.x86_64.img
aboot /ostree/deploy/default/deploy/bc3560ecaf50123a8d79b2dcdf73b74df1ec274b6c98a164a93c9196671c2b35.0/usr/lib/ostree-boot/aboot.img
abootcfg /ostree/deploy/default/deploy/bc3560ecaf50123a8d79b2dcdf73b74df1ec274b6c98a164a93c9196671c2b35.0/usr/lib/ostree-boot/aboot.cfg
cgwalters commented 3 hours ago

We chatted in person about this and realized it's because Anaconda isn't using bootc install yet, but we're working on that!