Skip to content

Installation fails if host has no /run/udev #2239

@ProbstDJakob

Description

@ProbstDJakob

I currently try to build an EFI which can be loaded via HTTPS boot and installs a bootc image (passed via metadata). That worked quite well (though not finished) and during development last week I noticed that bootc install to-filesystem fails with the error Comparing filesystems at /run/udev and /proc/1//run/udev: No such file or directory. I've rolled the code back to a state which I knew worked previously, but the same error occurred. To test the EFI, I install quay.io/fedora/fedora-bootc:latest. Last Monday or so it worked but at the end of the week (I think it was Thursday), the error showed up. Sadly I do not know the working bootc version, but the "broken" one is 1.15.2.

The EFI is based on docker.io/library/alpine:latest and the linux-lts kernel. I try to keep the dependencies and thus the size low and therefore I use mostly the tools of busybox and therefore also mdev instead of udev or eudev. To fetch the image I use skopeo and umoci to unpack it and then chroot to execute bootc install to-filesystem. Thus /proc/1/run/udev does not exist. The current workaround is to create /run/udev as an empty directory on the "host".

TL;DR/Question: When installing with to-filesystem and the host does not use udev, should bootc really fail when there is no /proc/1/run/udev or just continue?

The part of the code which throws the error (if I am not mistaken):

bootc_mount::ensure_mirrored_host_mount("/run/udev")?;

Metadata

Metadata

Assignees

No one assigned

    Labels

    triagedThis issue appears to be valid

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions