Description of problem: Getting boot error when trying to boot Fedora 14 Live iso image from grub2. I have iso image on my usb flash disk. Flash disk is formatted to ext2 filesystem. Grub2 is installed to the mbr on flash disk. Version-Release number of selected component (if applicable): Fedora 14 Live iso image Steps to Reproduce: Here is the configuration of booting item for this live fedora 14 iso: [code] menuentry "Fedora 14 Live" { set isofile="/RFRemix-14-i686-Live-GNOME.iso" loopback loop (hd0,1)$isofile linux (loop)/EFI/boot/vmlinuz0 root=live:UUID=3f63c06f-faf6-46f2-850c-89bb170a7306:$isofile rootfstype=auto ro verbose debug boot=EFI/boot iso-scan/filename=$isofile noeject noprompt rd_NO_LUKS rd_NO_MD rd_NO_DM -- initrd (loop)/EFI/boot/initrd0.img } [/code] Actual results: At the end of booting attempt next info is printed to the teminal: [code] No root device found Boot has failed, sleeping forever [/code] Expected results: Booting Live Fedora 14 without any problems. There are no such problems when booting Ubuntu 10.04 this way.
It seems based on the discussion in: https://bugzilla.redhat.com/show_bug.cgi?id=557426 That this is really a dracut bug and should be moved to dracut instead of LiveCD. Since 557426 was closed according to the dracut people: https://bugzilla.redhat.com/buglist.cgi?component=dracut&product=Fedora They may not even know this is still an issue. I would really like to boot fedora iso's from grub2, and am eagerly awaiting this feature. If my logic seems sound, could someone move this bug to dracut from LiveCD? Thanks, Luther
Moved to dracut
I vote for this feature. Hope this won't be considered spamming. :)
GNOME3 has a Fedora LiveCD, would be nice to have this indeed.
Doesn't work here either.
Please make this feature so that we can have Fedora also boot from multiboot usb sticks that have grub2 installed. This is a must have feature.
This requires a new parameter for dracut, for specifying the device that contains the iso image. A patch https://bugzilla.redhat.com/attachment.cgi?id=394679&action=diff in bug#557426 has been proposed, and for what I can tell it should work. Could this small patch be included in dracut? Another issue is that the initrd doesn't include support for ntfs, so if your iso image is in an ntfs filesystem, it can-t be accessed anyway even if dracut is patched. One could mount the iso image, extract only the initrd.gz, extract it-s contents, patch the relevant files, rebuild the initrd.gz, and boot from grub by specifying that initrd instead of the one in the iso, and the additional parameters [which I don't remember but you can look up in the original bug].
Any updates regarding this issue? When can we expect this patch be implemented and in mainstream Fedora repos?
It is unbelievable but this is apparently still not working for Fedora 15. The small progress is the fact that now we end up in dracut shell... I reopened this bug against rawhide - 723801 and I'm going to post an e-mail to dracut list.
I was able to boot from iso on USB, by using the setup found here: http://www.panticz.de/MultiBootUSB , created from my Debian Sid (Unstable) desktop. The grub entry I used was simply #ok, boot pauses 2 minutes with a blinking cursor menuentry "Fedora 15 (DVD)" { loopback loop /boot/iso/Fedora-15-x86_64-DVD.iso linux (loop)/isolinux/vmlinuz iso-scan/filename=/boot/iso/Fedora-15-x86_64-DVD.iso initrd (loop)/isolinux/initrd.img } Where my usb stick had a /boot/iso/ directory with the iso. But note that it showed a black screen with a blinking cursor for 2 minutes after starting it from grub, before the real boot process started. I don't know why.
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
Are Live images of Fedora 15 iso or Fedora 16 booting via grub2 now? Should this bug be closed?
I tried these two grub entries on my GRUB2 multiboot USB stick, and they both fail: menuentry "Fedora 16 Beta" { root (hd0,1) linux /iso/Fedora-16-beta/isolinux/vmlinuz0 ro root=live:LABEL=multi-boot live_dir=/iso/Fedora-16-beta/LiveOS/ rootfstype=auto liveimg quiet rhgb selinux=0 initrd /iso/Fedora-16-beta/isolinux/initrd0.img } menuentry "Fedora 16 Beta test" { loopback loop (hd0,1)/iso/Fedora-16-Beta-i686-Live-Desktop.iso linux (loop)/isolinux/vmlinuz0 root=live:LABEL=multi-boot boot=isolinux iso-scan/filename=/iso/Fedora-16-Beta-i686-Live-Desktop.iso noeject noprompt -- initrd (loop)/isolinux/initrd0.img }
I made a mistake, first entry works, but you have to extract Fedora ISO, if you keep the iso and try to boot it via second menu option that one fails.
I also look forward to see this feature implemented in Fedora. GRUB 2 with its lookback feature is an amazing and very practical tool, it would be great if we can test further Fedora versions with loopback. I look forward to see it implemented and use this feature!
(In reply to comment #15) > I also look forward to see this feature implemented in Fedora. > > GRUB 2 with its lookback feature is an amazing and very practical tool, it > would be great if we can test further Fedora versions with loopback. > > I look forward to see it implemented and use this feature! Oops typo. s/lookback/loopback/g
Any updates?
hi everybody I figured out how to boot Fedora-16 directly from iso. This is my grub2 entry on my bootable usb-stick: menuentry "Fedora 16 Live" { loopback loop /Fedora-16-i686-Live-Desktop.iso linux (loop)/isolinux/vmlinuz0 rootfstype=auto root=UUID=<UUID-of-the-USB> liveimg ro quiet rhgb initrd (loop)/isolinux/initrd0.img } maybe it helps.
doh, I was to quick with my post. doesen't work. :-(
Does this work? menuentry "Fedora 16 Live" { loopback loop /Fedora-16-i686-Live-Desktop.iso linux (loop)/isolinux/vmlinuz0 rootfstype=auto root=live:UUID=<UUID-of-the-USB> liveimg ro quiet rhgb initrd (loop)/isolinux/initrd0.img }
(In reply to comment #20) > Does this work? > > menuentry "Fedora 16 Live" { > loopback loop /Fedora-16-i686-Live-Desktop.iso > linux (loop)/isolinux/vmlinuz0 rootfstype=auto root=live:UUID=<UUID-of-the-USB> > liveimg ro quiet rhgb > initrd (loop)/isolinux/initrd0.img > } nope, it doesen't.
I've tested Fedora 17 Alpha and it seems that there is still no option for this use case but I found another way to boot from an ISO. This is my Grub2 menu entry: menuentry "Fedora ISO" { set isofile="/iso/Fedora-17-Alpha-x86_64-Live-Desktop.iso" loopback loop "$isofile" set root=(loop) linux /isolinux/vmlinuz0 root=live:/isodevice$isofile rootfstype=auto ro liveimg rd.luks=0 rd.md=0 rd.dm=0 rd.break=pre-udev initrd /isolinux/initrd0.img } This pauses the boot process and gives me a command prompt where I enter the following commands: mkdir /isodevice mount /dev/sda1 /isodevice exit Now Dracut is able to find the ISO file and successfully boots.
(In reply to comment #22) > I've tested Fedora 17 Alpha and it seems that there is still no option for this > use case but I found another way to boot from an ISO. This is my Grub2 menu > entry: > > menuentry "Fedora ISO" { > set isofile="/iso/Fedora-17-Alpha-x86_64-Live-Desktop.iso" > loopback loop "$isofile" > set root=(loop) > linux /isolinux/vmlinuz0 root=live:/isodevice$isofile rootfstype=auto ro > liveimg rd.luks=0 rd.md=0 rd.dm=0 rd.break=pre-udev > initrd /isolinux/initrd0.img > } > > This pauses the boot process and gives me a command prompt where I enter the > following commands: > > mkdir /isodevice > mount /dev/sda1 /isodevice > exit > > Now Dracut is able to find the ISO file and successfully boots. can you do "rd.break rd.shell" and wait until it errors out, then type in the dracut shell: # ls -l /dev/disk/by* and see if you can find a symlink to sda1?
(In reply to comment #23) > can you do "rd.break rd.shell" and wait until it errors out, then type in the > dracut shell: > > # ls -l /dev/disk/by* > > and see if you can find a symlink to sda1? Yes, there are several symlinks to the device.
(In reply to comment #24) > (In reply to comment #23) > > can you do "rd.break rd.shell" and wait until it errors out, then type in the > > dracut shell: > > > > # ls -l /dev/disk/by* > > > > and see if you can find a symlink to sda1? > > Yes, there are several symlinks to the device. which are? Especially: /dev/disk/by-label/* ?
Created attachment 568402 [details] "ls -l /dev/disk/by*" result In this case the device which contains the ISO is /dev/sda2 with the label "Boot"
so, this might work: menuentry "Fedora 16 Live" { loopback loop /Fedora-16-i686-Live-Desktop.iso linux (loop)/isolinux/vmlinuz0 rootfstype=auto root=live:LABEL=Boot liveimg ro quiet rhgb initrd (loop)/isolinux/initrd0.img }
I have similar issue (though I'm using 64 bit image). In dracut shell ls -l /dev/disk/by-label/* gave me: Bootstick -> ../../sdd1 Fedora-13-x86_64 -> ../../dm-0 (quite odd that label has 13 while image is F16) So I tested following menuentry with both Bootstick and Fedora-13-x86_64 as label and neither worked. menuentry "Fedora 16 Live 64bit" { loopback loop /Fedora-16-x86_64-Live-Desktop.iso linux (loop)/isolinux/vmlinuz0 rootfstype=auto root=live:LABEL=Fedora-13-x86_64 liveimg quiet rhgb initrd (loop)/isolinux/initrd0.img } In both cases the error message was: dracut Warning: no root device "/dev/disk/by-label/Fedora-13-x86_64" found and: dracut Warning: no root device "/dev/disk/by-label/Bootstick" found Still I could list both of them with ls -l in Dracut shell at both test times.
(In reply to comment #27) > so, this might work: > > menuentry "Fedora 16 Live" { > loopback loop /Fedora-16-i686-Live-Desktop.iso > linux (loop)/isolinux/vmlinuz0 rootfstype=auto root=live:LABEL=Boot liveimg > ro quiet rhgb > initrd (loop)/isolinux/initrd0.img > } No it doesn't and I don't think it can work without telling Dracut where it can find the ISO file. Maybe it helps if I summarize my view of the problem. The starting point is a Fedora LiveCD ISO file on a device partition. Now Grub2 is able to mount the ISO (with the loopback command) and can directly boot the kernel and initrd image. It is important that the Grub2 context ends here and so does the loopback device. At this point Dracut takes over and must find the livesystem root. Because the livesystem root is the ISO file it is required to mount the related device partition first. Correct me if I'm wrong but I think this is currently not possible. I can think of two ways to get to the ISO file: 1. A kernel parameter with the device and the path to the ISO file is specified (e.g. root=live:LABEL=Boot:/iso/Fedora.iso). 2. A kernel parameter that only contains the path to the ISO file is specified (e.g. root=live:/iso/Fedora.iso). This would require to mount every device to check if it contains the ISO file. This is how the “iso-scan/filename” kernel parameter from Ubuntu works.
Created attachment 571299 [details] Boot from ISO using live:/*.iso boot parameter This patch must be applied to (fedora-iso)/EFI/boot/initrd0.img
> 2. A kernel parameter that only contains the path to the ISO file is specified > (e.g. root=live:/iso/Fedora.iso). This would require to mount every device to > check if it contains the ISO file. This is how the “iso-scan/filename” kernel > parameter from Ubuntu works. This seems to be already half implemented in F16 (and perhaps even earlier releases). I did a patch (attached) for the missing part. I have only tested it with CD/DVD media using grub2. I also wrote a shell script which does the patching automatically: https://gist.github.com/2132076 Example and usage info is in the comments.This is obviously just a temporary solution until Fedora folks get it sorted.
This message is a notice that Fedora 14 is now at end of life. Fedora has stopped maintaining and issuing updates for Fedora 14. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At this time, all open bugs with a Fedora 'version' of '14' have been closed as WONTFIX. (Please note: Our normal process is to give advanced warning of this occurring, but we forgot to do that. A thousand apologies.) Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, feel free to reopen this bug and simply change the 'version' to a later Fedora version. Bug Reporter: Thank you for reporting this issue and we are sorry that we were unable to fix it before Fedora 14 reached end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged to click on "Clone This Bug" (top right of this page) and open it against that version of Fedora. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
I have found a script that actually works: http://git.marmotte.net/git/glim/plain/fedora18-fromiso Details are here: http://git.marmotte.net/git/glim/plain/README Cheers, Valent.
This is still not working in Fedora 18, hence the scripts mentioned above.
(In reply to Thomas Vander Stichele from comment #34) > This is still not working in Fedora 18, hence the scripts mentioned above. Why is this bug reopened when it is already implemented in Fedora 19 (bug 923268)?
I cannot get this to work with Fedora-Live-Desktop-x86_64-19-1.iso or Fedora-Live-Desktop-x86_64-20-Alpha-4.iso Just some example menu entries:- menuentry 'Live Fedora 19' --class fedora --class gnu-linux --class gnu --class os { insmod loopback set isofile=Fedora-Live-Desktop-x86_64-19-1.iso loopback loop (hd0,gpt3)/$isofile set root=(loop) linuxefi /isolinux/vmlinuz0 iso-scan/filename=$isofile root=live:UUID=1f9f5c22-a2e1-4d4c-a384-3c33e6905f65 ro rd.live.image quiet rhgb initrdefi /isolinux/initrd0.img } menuentry 'Live Fedora 20-Alpha' --class fedora --class gnu-linux --class gnu --class os { insmod loopback set isolabel=Fedora-Live-Desktop-x86_64-20-Al set isofile=Fedora-Live-Desktop-x86_64-20-Alpha-4.iso loopback loop (hd0,gpt3)/$isofile set root=(loop) linuxefi /isolinux/vmlinuz0 root=live:UUID=1f9f5c22-a2e1-4d4c-a384-3c33e6905f65 ro rd.live.image quiet rhgb # linuxefi /isolinux/vmlinuz0 iso-scan/filename=$isofile root=live:UUID=1f9f5c22-a2e1-4d4c-a384-3c33e6905f65 ro rd.live.image quiet rhgb # linuxefi /isolinux/vmlinuz0 iso-scan/filename=$isofile root=live:UUID=1f9f5c22-a2e1-4d4c-a384-3c33e6905f65 ro rd.live.image rd.shell rd.debug log_buf_len=1M # linuxefi /isolinux/vmlinuz0 root=live:LABEL=Fedora-Live-Desktop-x86_64-20-Al ro rd.live.image quiet rhgb initrdefi /isolinux/initrd0.img } The iso-scan/filename parameter causes /etc/udev/rules.d/99-isofile-mount.rules to be created but the rule is never fired. Running /sbin/iso-scan Fedora-Live-Desktop-x86_64-20-Alpha-4.iso by hand just generates another mount of (hd0,gpt3) at /run/initramfs/isoscan alongside the mount at /run/initramfs/live and the symlink to /dev/sda3 at /run/initramfs/livedev. I cannot find anything that is going to mount the iso file itself. By contrast, Fedora-20-Alpha-x86_64-netinst.iso, does work with inst.stage2.
root=live:UUID=1f9f5c22-a2e1-4d4c-a384-3c33e6905f65 This can't be the same for Fedora-Live-Desktop-x86_64-19-1.iso and Fedora-Live-Desktop-x86_64-20-Alpha-4.iso Please use the correct UUID or the correct CDLABEL for the iso
Perhaps I have misunderstood how this is supposed to work. The UUID is the device /dev/sda3 # blkid /dev/sda3 /dev/sda3: UUID="1f9f5c22-a2e1-4d4c-a384-3c33e6905f65" TYPE="ext4" PARTUUID="7d24ee94-9750-462b-8e91-ce84d4114560" which is mounted at: # mount ... dev/sda3 on /mnt/distro type ext4 (rw,relatime,seclabel,data=ordered) ... and contains: # ls -l /mnt/distro total 2278432 drwxr-xr-x. 2 root root 4096 Sep 30 16:10 disc -rw-------. 1 dixon dixon 329252864 Oct 1 06:07 Fedora-20-Alpha-x86_64-netinst.iso -rw-r--r--. 1 root root 997195776 Oct 9 16:10 Fedora-Live-Desktop-x86_64-19-1.iso -rw-------. 1 dixon dixon 1006632960 Sep 30 06:19 Fedora-Live-Desktop-x86_64-20-Alpha-4.iso -rw-r--r--. 1 root root 1085 Oct 9 16:12 Fedora-Live-x86_64-19-CHECKSUM drwx------. 2 root root 16384 Aug 10 02:20 lost+found Now what I was expecting to happen was that dracut would get the root file system out of the iso file as anaconda is able to do from the netinst iso with: menuentry 'Install Fedora 20-Alpha' --class fedora --class gnu-linux --class gnu --class os { insmod loopback set isofile=Fedora-20-Alpha-x86_64-netinst.iso loopback loop (hd0,gpt3)/$isofile set root=(loop) linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:UUID=1f9f5c22-a2e1-4d4c-a384-3c33e6905f65:/$isofile inst.lang=en_GB.UTF-8 inst.keymap=uk quiet # linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:UUID=1f9f5c22-a2e1-4d4c-a384-3c33e6905f65:/$isofile inst.lang=en_GB.UTF-8 inst.keymap=uk inst.repo=http://www.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/releases/20/Fedora/x86_64/os/ quiet initrdefi /images/pxeboot/initrd.img }
The following gets further menuentry 'Live Fedora 20-Alpha' --class fedora --class gnu-linux --class gnu --class os { insmod loopback set isolabel=Fedora-Live-Desktop-x86_64-20-Al set isofile=Fedora-Live-Desktop-x86_64-20-Alpha-4.iso loopback loop (hd0,gpt3)/$isofile set root=(loop) linuxefi /isolinux/vmlinuz0 iso-scan/filename=$isofile root=live:LABEL=$isolabel ro rd.live.image quiet rhgb initrdefi /isolinux/initrd0.img } After a few minutes it drops to a dracut prompt reporting: Warning : Could not boot. Warning : /dev/disk/by-label/Fedora-Live-Desktop-x86_64-20-Al does not exist. Warning : /dev/mapper/live-rw does not exist. As before, /etc/udev/rules.d/99-isofile-mount.rules is created but the rule is not triggered. Indeed, there is no /dev/loop0 and I cannot see anything that would create it. Running: /sbin/iso-scan Fedora-Live-Desktop-x86_64-20-Alpha-4.iso by hand at the dracut prompt generates the mount of (hd0,gpt3) at /run/initramfs/isoscan and the device /dev/loop0 which blkid shows to be the iso. I still cannot get anywhere with Fedora-Live-Desktop-x86_64-19-1.iso it simply hangs at "secure boot not enabled".
Created attachment 814225 [details] rdsosreport.txt I have attached an rdsosreport for the the following case menuentry 'Live Fedora 20-Alpha' --class fedora --class gnu-linux --class gnu --class os { insmod loopback set isolabel=Fedora-Live-Desktop-x86_64-20-Al set isofile=Fedora-Live-Desktop-x86_64-20-Alpha-4.iso loopback loop (hd0,gpt3)/$isofile set root=(loop) linuxefi /isolinux/vmlinuz0 iso-scan/filename=$isofile root=live:LABEL=$isolabel ro rd.live.image rd.lvm=0 rd.luks=0 rd.md=0 rd.dm=0 rd.shell rd.debug log_buf_len=1M initrdefi /isolinux/initrd0.img } I have removed a section of looping to bring the file size to a manageable level.
I am pleased to report that I have had success with Beta. menuentry 'Live Fedora 20-Beta' --class fedora --class gnu-linux --class gnu --class os { insmod loopback set isolabel=Fedora-Live-Desktop-x86_64-20-Be set isofile=Fedora-Live-Desktop-x86_64-20-Beta-5.iso loopback loop (hd0,gpt3)/$isofile set root=(loop) linuxefi /isolinux/vmlinuz0 iso-scan/filename=$isofile root=live:LABEL=$isolabel ro rd.live.image quiet rhgb initrdefi /isolinux/initrd0.img } works as expected.
This message is a reminder that Fedora 18 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 18. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '18'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 18's end of life. Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 18 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior to Fedora 18's end of life. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Fedora 18 changed to end-of-life (EOL) status on 2014-01-14. Fedora 18 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed.
Example for multi-boot USB stick (http://www.circuidipity.com/multi-boot-usb.html): menuentry 'Live Fedora 20' --class fedora --class gnu-linux --class gnu --class os { set isolabel=Fedora-Live-LXDE-x86_64-20-1 set isofile="/boot/iso/Fedora-Live-LXDE-x86_64-20-1.iso" loopback loop $isofile linux (loop)/isolinux/vmlinuz0 boot=isolinux iso-scan/filename=$isofile root=live:LABEL=$isolabel ro rd.live.image quiet rhgb initrd (loop)/isolinux/initrd0.img }