Bug 2181989

Summary: Boot from ISO on USB stick using dracut iso-scan feature does not work
Product: [Fedora] Fedora Reporter: knossos456
Component: dracutAssignee: Pavel Valena <pvalena>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 39CC: awilliam, cacho96, dracut-maint-list, jamacku, jonathansteffan, lnykryn, matthias, ngompa13, pvalena
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-10-05 16:07:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2143447    
Attachments:
Description Flags
Fedora 36 rdsosreport.txt (working)
none
Fedora 37 rdsosreport.txt (not working)
none
Fedora 38 rdsosreport.txt (not working) none

Description knossos456 2023-03-27 07:40:10 UTC
Description of problem: Can't live Boot via grub2, get dracut-initqueue error after iso-scan 


How reproducible: 100%


Steps to Reproduce:
1) Put in /etc/grub.d/40_custom   then sudo update-grub:

menuentry 'Live Fedora 38 Beta Cinnamon '  {

        set isoname=F38-Cin-x86_64
        set iso="/isos/Fedora-Cinnamon-Live-x86_64-38_Beta-1.3.iso"
        loopback loop (hd0,6)$iso
        linux (loop)/images/pxeboot/vmlinuz rd.live.image verbose root=live:LABEL=${isoname} iso-scan/filename=$iso
        initrd (loop)/images/pxeboot/initrd.img
}

Actual results: iso_scan can't find the ISO

Additional info:
Distributions that work with iso-scan and isos on same HDD partions:
All Ubuntu based, OpenMandriva
AV Linux / Antix / MX don't need iso-scan to boot from HDD.

Perhaps other arguments are need to do this (live boot from Iso on HDD) ?

Comment 1 Matthias Saou 2023-05-27 18:57:40 UTC
I've tried to boot Fedora from a multi-boot USB drive for the first time in a long while, and am seeing this issue.

Fedora 36 works for me, though, only Fedora 37 & 38 fail to boot.

I'm attaching and rdsosreport.log from all 3, where Fedora 36 was booted with rd.break=cleanup. Looking at the lines with "loop0" one can see that Fedora 36 is doing a lot more, and 37 & 38 are failing there.

Comment 2 Matthias Saou 2023-05-27 18:58:54 UTC
Created attachment 1967344 [details]
Fedora 36 rdsosreport.txt (working)

Comment 3 Matthias Saou 2023-05-27 18:59:43 UTC
Created attachment 1967345 [details]
Fedora 37 rdsosreport.txt (not working)

Comment 4 Matthias Saou 2023-05-27 19:00:09 UTC
Created attachment 1967346 [details]
Fedora 38 rdsosreport.txt (not working)

Comment 5 Luis A. Florit 2023-06-08 17:53:35 UTC
Same issue for Fedora KDE SPIN.

Comment 6 Matthias Saou 2023-10-04 20:07:54 UTC
This is still happening with Fedora 38 Beta, so it's not looking good for Fedora 38 final. I see the assignee of this ticket crossed out, so it might be in limbo... I'll try to find help or reassign. I'm pretty sure it must be a fairly easy bug to track down and fix.

Comment 8 Fedora Blocker Bugs Application 2023-10-04 22:58:58 UTC
Proposed as a Freeze Exception for 39-final by Fedora user ngompa using the blocker tracking app because:

 I'm not sure if this counts as a blocker, but it's worth an FE because GA media don't get respun and this bug would persist forever on them if it's not fixed before GA.

Comment 9 Adam Williamson 2023-10-05 00:41:28 UTC
So, from a quick peruse of the logs, the issue seems to wind up being that dracut is looking for /dev/disk/by-label/Fedora-WS-Live-37-1-7 , but this is all there is in /dev/disk/by-label:

/dev/disk/by-label:
total 0
lrwxrwxrwx 1 root root 10 May 27 18:19 GLIM -> ../../sda1

On Fedora 36, for some reason, there's these too:

/dev/disk/by-label:
total 0
lrwxrwxrwx 1 root root 10 May 27 18:33 Anaconda -> ../../dm-1
lrwxrwxrwx 1 root root 11 May 27 18:33 Fedora-WS-Live-36-1-5 -> ../../loop0
lrwxrwxrwx 1 root root 10 May 27 18:33 GLIM -> ../../sda1

dracut looks for /dev/disk/by-label/Fedora-WS-Live-36-1-5 , and finds it, because it's there.

So the difference seems to be that the expected by-label symlink just isn't there. I don't think anything in the dracut parsing has changed. I'm not sure why the symlink is no longer present, though. I'm not too familiar with this feature, so I don't know what would be expected to ensure that's created.

Comment 10 Matthias Saou 2023-10-05 08:08:08 UTC
This seems to have been reported and fixed upstream. The fix is a an extra one line in the script dedicated to this feature: https://github.com/dracutdevs/dracut/pull/2196

Comment 11 Joe Zeff 2023-10-05 16:07:03 UTC
Still happening on the F38 Xfce spin, 100% of the time.  If I turn the laptop on without a flash drive inserted I can get to the BIOS.  If the drive's inserted, it ignores the F keys and goes directly to the grub prompt.

Comment 12 Adam Williamson 2023-10-05 16:07:35 UTC

*** This bug has been marked as a duplicate of bug 2131852 ***