Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IoT Provisioner infinitely loops during install to /dev/mmcblk devices #76

Open
Sebmaster opened this issue Dec 4, 2024 · 3 comments
Open
Labels
bug Something isn't working

Comments

@Sebmaster
Copy link

Describe the bug

During install of IoT Provisioner to a mmcblk device, coreos-installer-growfs.service will fail (without log output). I believe this applies equally to nvme devices. I think the root cause is an issue in coreos-installer-dracut (coreos/coreos-installer-dracut#35) which got fixed upstream, but never packaged for Fedora.

To Reproduce

  1. Start the Fedora IoT via UEFI HTTP boot with a grub entry like linuxefi /images/pxeboot/vmlinuz rd.neednet=1 coreos.inst.crypt_root=1 coreos.inst.install_dev=/dev/mmcblk0 coreos.inst.image_url=http://<SERVER_HOST>/image.raw.xz coreos.inst.insecure quiet coreos.inst.append=ignition.config.url=http://<SERVER_HOST>/dell.ign coreos.inst.append=rd.neednet=1
  2. Wait for install to finish
  3. Install never finishes.

I've tried figuring out a repro for libvirt, but mmcblk seems to be unsupported and nvme proved annoying to set up.

Expected behavior

Install should finish successfully with a shell/powered off/rebooted depending on cmdline.

Screenshots

Log output (best-effort transcription)

[TIMESTAMP] coreos-installer-service[PID]: Modifying kernel arguments
[TIMESTAMP] coreos-installer-service[PID]: Install complete.
Failed to start coreos-installer-growfs.service - Grow root filesystem.
Dependency failed for initrd.target - Initrd Default Target.
[TIMESTAMP] coreos-installer-service[PID]: coreos-installer install <...>
[TIMESTAMP] coreos-installer-service[PID]: Downloading image from [SERVER_HOST]
...
[TIMESTAMP] coreos-installer-service[PID]: Partitions in use on /dev/mmcblk0
[TIMESTAMP] coreos-installer-service[PID]:    /dev/mmcblk0p3 in use by /dev/dm-0

this continues to loop (forever?).

OS version:

Fedora-IoT-provisioner-41-20241027.0.x86_64

Additional context

Originally this bug was reported in RH #2232406 for RHEL Edge and got fixed (in the RH package repo?). Apparently this fix didn't make it into the Fedora packages. I created https://bugzilla.redhat.com/show_bug.cgi?id=2328530 for Fedora specifically.

@Sebmaster Sebmaster added the bug Something isn't working label Dec 4, 2024
@Sebmaster Sebmaster changed the title IoT Provisioner infinitely loops during install to /dev/mmcblk0 IoT Provisioner infinitely loops during install to /dev/mmcblk devices Dec 4, 2024
@miabbott
Copy link
Member

miabbott commented Dec 4, 2024

Nice analysis and conclusion!

It's a sad state of affairs that the last change to coreos-installer-dracut that landed in Fedora is from April 2023 (coreos/coreos-installer-dracut@a4be31d)

We should propose an update to the rust-coreos-installer package (https://src.fedoraproject.org/rpms/rust-coreos-installer) to include the latest changes from coreos-installer-dracut

@Sebmaster
Copy link
Author

@miabbott Already sent out a PR in https://src.fedoraproject.org/rpms/rust-coreos-installer/pull-request/72, but not sure where to poke to get it reviewed.

@miabbott
Copy link
Member

miabbott commented Dec 4, 2024

@Sebmaster Excellent! I'll reach out to some folks who can assist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants