osbuild / osbuild-composer

An HTTP service for building bootable OS images.
https://www.osbuild.org
Apache License 2.0
160 stars 108 forks source link

iso built with edge-installer option can not boot #2891

Open jpace121 opened 2 years ago

jpace121 commented 2 years ago

Describe the bug I followed the instructions here to build an Edge installer image from an edge commit. The resulting installer does not boot.

I am running Centos Stream 9 and have installed osbuild and osbuild-composer from their respective copr's to play with container image embedding. I tried booting the installer image in a VM and the installer fails to boot. I'm not sure if this a bug here or in Anaconda, and if this is the wrong place, please let me know.

Environment

A service for building customized OS artifacts, such as VM images and OSTree commits, that uses osbuild under the hood. Besides building images for local usage, it can also upload images directly to cloud.

It is compatible with composer-cli and cockpit-composer clients.



**To Reproduce**
Steps to reproduce the behavior:
1. Build an `edge-installer` following the instructions [here](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/composing_installing_and_managing_rhel_for_edge_images/index#proc_creating-a-rhel-for-edge-installer-image-blueprint-using-image-builder-cli_composing-a-rhel-for-edge-image-using-image-builder-command-line)
2. Download the image.
3. Create a new VM in virt-manager and select the downloaded ISO as the installation source. Make sure to select UEFI for the boot type.
4. Wait for the installer boot.

**Expected behavior**
The installer to finish booting and to be greeted by an Anaconda window to make selections in.

**Additional context**
I believe this is the relevant part of the error message that appeared when the installer failed to boot.
![Screenshot from 2022-08-12 21-36-52](https://user-images.githubusercontent.com/4022303/184464259-71c66498-7cff-4259-8db0-1280e51cc2b6.png)
bcl commented 2 years ago

What does the output from 'cat /proc/cmdlineandblkid` look like? The cmdline will have the label that dracut is looking for, and blkid will show the labels of the mounted devices.

jpace121 commented 2 years ago

Where would I run that at?

bcl commented 2 years ago

From the cmdline after the failure to boot, it might take a bit for dracut to time out, but eventually there should be a bash shell available for debugging.

jpace121 commented 2 years ago

Ahhh. I'll take a look a little later this week.

jpace121 commented 2 years ago

I replicated the problem with an image-installer type instead of an edge-installer.

The output of cat /proc/cmdline and blkid in the VM I'm trying to boot is below. Screenshot from 2022-08-16 18-27-26

For consistency:

Name        : osbuild-composer
Version     : 59
Release     : 1.20220816153002551242.main.7.g239e8ccb.el9
Architecture: x86_64
Install Date: Tue 16 Aug 2022 05:57:50 PM EDT
Group       : Unspecified
Size        : 17612
License     : ASL 2.0
Signature   : RSA/SHA256, Tue 16 Aug 2022 11:45:12 AM EDT, Key ID 3b00c986c7061f69
Source RPM  : osbuild-composer-59-1.20220816153002551242.main.7.g239e8ccb.el9.src.rpm
Build Date  : Tue 16 Aug 2022 11:33:31 AM EDT
Build Host  : copr-hv-x86-64-04-prod-02020720-20220816-152726
Vendor      : Fedora Copr - group @osbuild
URL         : https://github.com/osbuild/osbuild-composer
Summary     : An image building service based on osbuild
Description :

A service for building customized OS artifacts, such as VM images and OSTree
commits, that uses osbuild under the hood. Besides building images for local
usage, it can also upload images directly to cloud.

It is compatible with composer-cli and cockpit-composer clients.

The image was build using the blueprint:

name = "empty"                                                                                                                                        
description = "An empty image."                                                                                                                       
version = "0.0.0"

using the compose command:

composer-cli compose start empty image-installer

I then downloaded the iso from composer and tried booting it with virt-manager.

jrusz commented 2 years ago

Thanks for reporting this, we already know about the image-installer issue and we're working on fixing it. It seems to be caused by dracut nvmf module, when removed the iso boots, but we need to verify if the original http boot issue fix will stay unaffected, there seems to be a grub bug that's making the verification difficult though.