bootc-dev / bootc-dev/bootc

bootupctl receives wrong path when /boot is not a separate partition

Open
#1,933 1 comment 0 reactions 1 assignee Claimed by @jeckersb View on GitHub
Dominant language
Rust
Stars
2.3k
Forks
230
Avg merge
3d 12h
Merged PRs (30d)
38

Description

`bootc output: error: Installing to filesystem: No /boot directory found in root; this is is currently required`

Relevant journal:
```
5838 Jan 19 16:17:23 ibm-p8-kvm-03-guest-02.virt.pnr.lab.eng.rdu2.redhat.com org.fedoraproject.Anaconda.Modules.Payloads[2641]: INFO:program:Running... bootc install to-filesystem --bootloader=grub --stateroot=test-stateroot --source-imgref=registry:quay.io/fedora/fedora-bootc:rawhide --target-imgref=registry:quay.io/fedora/fedora-bootc:rawhide /mnt/sysimage
5839 Jan 19 16:17:23 ibm-p8-kvm-03-guest-02.virt.pnr.lab.eng.rdu2.redhat.com bootc[3209]: Starting filesystem installation from registry:quay.io/fedora/fedora-bootc:rawhide to /mnt/sysimage
5841 Jan 19 16:17:23 ibm-p8-kvm-03-guest-02.virt.pnr.lab.eng.rdu2.redhat.com org.fedoraproject.Anaconda.Modules.Payloads[2641]: DEBUG:anaconda.modules.payloads.payload.rpm_ostree.installation:bootc output: Installing image: docker://registry:quay.io/fedora/fedora-bootc:rawhide
5842 Jan 19 16:17:23 ibm-p8-kvm-03-guest-02.virt.pnr.lab.eng.rdu2.redhat.com org.fedoraproject.Anaconda.Modules.Payloads[2641]: DEBUG:anaconda.modules.payloads.payload.rpm_ostree.installation:bootc output: error: Installing to filesystem: No /boot directory found in root; this is is currently required

```

Reproducer KS:

```
# Test that bootc installation works without a separate /boot partition.
# This test verifies that clearpart, reqpart, and part commands work correctly
# with bootc when no separate /boot partition is specified.

# network
network --bootproto=dhcp
# bootloader
bootloader --timeout=1
# l10n
keyboard us
lang en
timezone America/New_York
# user confguration
rootpw testcase

# Override storage configuration - no separate /boot partition
zerombr
clearpart --all --initlabel
reqpart
part / --size=1 --grow

# Setup the bootc image source.
bootc --source-imgref=registry:quay.io/fedora/fedora-bootc:rawhide --stateroot=test-stateroot

```

I tried in anaconda code to create /boot directory in the root partiiton but it fails still because it expects it to be mount point.
I also tried bind mounting it to itself, to fake a mount point. Failed again.

Image

It seems [install_via_bootupd
](https://github.com/bootc-dev/bootc/blob/d5c6515e237d7e8b9b1e385fbc393e8c517eafad/crates/lib/src/bootloader.rs#L84) needs to be extended to support this scenario.

Related downstream bug report: https://issues.redhat.com/browse/RHEL-141936

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.