bootc-dev / bootc-dev/bootc

Installation fails if host has no `/run/udev`

Open
#2,239 2 comments 0 reactions 0 assignees View on GitHub
triaged
Dominant language
Rust
Stars
2.3k
Forks
230
Avg merge
3d 12h
Merged PRs (30d)
38

Description

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): https://github.com/bootc-dev/bootc/blob/60d5461d839a9fbdd5f6dff0bae9199c56181e99/crates/lib/src/install.rs#L1676

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.