Bug 557426 - "iso-scan/filename" boot option not supported in Fedora?
Summary: "iso-scan/filename" boot option not supported in Fedora?
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: dracut
Version: 13
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Harald Hoyer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-01-21 12:40 UTC by Jaiv
Modified: 2014-02-14 09:01 UTC (History)
19 users (show)

Fixed In Version: dracut-005-5.fc12
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-10-30 23:40:10 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
`dmesg | grep dracut` in rdshell (58.01 KB, text/plain)
2010-02-08 03:05 UTC, Elliott Sales de Andrade
no flags Details
dmsquash-live: Mount backing device before the ISO (4.47 KB, patch)
2010-02-17 04:33 UTC, Elliott Sales de Andrade
no flags Details | Diff
mine grub.cfg (2.91 KB, text/plain)
2010-10-26 17:32 UTC, Valent Turkovic
no flags Details

Description Jaiv 2010-01-21 12:40:03 UTC
Description of problem:

This is more feature request than a bug:
I'm unable to boot Fedora live ISO image from the USB drive using the grub2 - in the same way I can do Ubunutu. The reason is that Fedora does not support kernel boot parameter "iso-scan/filename=" where loopback-mounted image path can be specified. Can be this feature please be compiled into the Fedora kernel live distros as well?

Version-Release number of selected component (if applicable):
F12 and rawhide

How reproducible:


Steps to Reproduce:
1.
My grub2 entry:

menuentry "Fedora 12" {
 loopback loop /Fedora-12-i686-Live.iso
 linux (loop)/isolinux/vmlinuz boot=isolinux iso-scan/filename=/Fedora-12-i686-Live.iso ro liveimg rd_NO_LUKS rd_NO_MD noiswmd
 initrd (loop)/isolinux/initrd0.img
}
2.
3.
  
Actual results:
Boot fails

Expected results:
Boot should be successful

Additional info:
http://johngreen.doesntexist.com/2009/12/04/using-grub2-to-multiboot-iso-images/

Comment 1 Bill Nottingham 2010-01-21 15:24:17 UTC
As far as I can see, this would be a parameter read by the initramfs. Filing there.

Comment 2 Harald Hoyer 2010-01-21 18:35:16 UTC
implemented in dracut-004

Comment 3 Harald Hoyer 2010-01-21 18:36:28 UTC
syntax is "root=live:/Fedora-12-i686-Live.iso ...."

Comment 4 Jaiv 2010-01-22 02:23:25 UTC
It is not working - I tried both live images - Fedora-12-i686-Live.iso and Fedora-12-i686-Live-Games.iso (both are verified by sha256sum on the USB key itself). I get the same error:

dracut: FATAL: Don't know how to handle 'root=live:/Fedora-12-i686-Live.iso'
dracut: Refusing to continue
dracut: FATAL: Don't know how to handle 'root=live:/Fedora-12-i686-Live.iso'
dracut: Refusing to continue
Signal caught!
Boot has failed, sleeping forever.

I tried different combinations of kernel parameters - but without luck:

menuentry "Fedora 12 -2.1" {
 insmod fat
 loopback loop /Fedora-12-i686-Live.iso
 linux (loop)/isolinux/vmlinuz0 root=live:/Fedora-12-i686-Live.iso rootfstype=auto ro liveimg rd_NO_LUKS rd_NO_MD noiswmd rhgb quiet
 initrd (loop)/isolinux/initrd0.img
}

menuentry "Fedora 12 -2.2" {
 insmod fat
 loopback loop /Fedora-12-i686-Live.iso
 linux (loop)/isolinux/vmlinuz0 rootfstype=auto ro liveimg rd_NO_LUKS rd_NO_MD noiswmd rhgb quiet
 initrd (loop)/isolinux/initrd0.img root=live:/Fedora-12-i686-Live.iso
}

menuentry "Fedora 12 -2.3" {
 insmod fat
 loopback loop /Fedora-12-i686-Live.iso
 linux (loop)/isolinux/vmlinuz0 root=live:/Fedora-12-i686-Live.iso rootfstype=auto ro rd_NO_LUKS rd_NO_MD noiswmd rhgb quiet
 initrd (loop)/isolinux/initrd0.img
}

Comment 5 Harald Hoyer 2010-01-22 08:23:54 UTC
(In reply to comment #4)
> It is not working - I tried both live images - Fedora-12-i686-Live.iso and
> Fedora-12-i686-Live-Games.iso (both are verified by sha256sum on the USB key
> itself). I get the same error:

and you did this with dracut-004?

Comment 6 Jaiv 2010-01-22 10:17:20 UTC
I downloaded these images from Fedora web-page:

http://fedoraproject.org/get-fedora - Installable Live CD
http://spins.fedoraproject.org/games/#downloads - Game spin (32 bit)

As I'm unable to boot them in the form of ISO image files located on the USB drive I will have to create CD/DVD to burn them and boot them to check dracut version.

However I checked dracut version in my not completely up-to-date F12 and I can see: dracut-002-13.4.git8f397a9b.fc12.noarch, however that system wasn't installed using Live CD, so I have to check Live CD dracut versions as well.

However if I discover F12 live spins were not created with 004 then it means F12 does not support this "root=live:" option yet. I let you know. Thank you.

Comment 7 Elliott Sales de Andrade 2010-01-25 07:08:52 UTC
The original live spins use dracut-002-13.4.git8f397a9b.fc12, so they wouldn't support the "root=live:/...iso" option.

This new parameter only seems to take an absolute path. How do we get the USB drive to be mounted first?

Comment 8 Jaiv 2010-01-25 08:05:50 UTC
Elliott - I can confirm you are right, I checked live spins and they have dracut version you mentioned, so this is the reason why it does not work. I also checked rawhide (F13) and I can see dracut-004 is already there so I'm looking forward to try F13 live spins as soon as these are available.

To mount USB drive, BIOS needs to boot it and I used grub2 - you can install it in F12 using 'yum install grub2'. Then all commands are similar to grub but you use grub2 instead, so for example you use 'grub2-install'.

From my point of view this ticket can be closed.

Comment 9 Elliott Sales de Andrade 2010-01-26 04:34:00 UTC
Jaiv, I am aware of how to use GRUB2 to boot from USB and ISO.

I was wondering how to get the initramfs to mount the USB device so that it can find the ISO. The commit that added root=live:/*.iso does not appear to do this. It only seems to take an absolute path. And unless I'm missing something, I don't see it scanning all existing block devices like the Ubuntu version.

Comment 10 Elliott Sales de Andrade 2010-02-08 03:00:37 UTC
So dracut-004 is now in F12. I tried to build a initramfs with that for the current kernel (I wasn't sure if the packaged kernel used dracut-004).

As I guessed earlier, it doesn't seem to mount the USB device before looking for the ISO, so it doesn't work ("No root device found"). Maybe I'm just missing some other command-line option?

/proc/cmdline: `BOOT_IMAGE=/boot/vmlinuz-2.6.31.12-174.2.3.fc12.i686 root=live:/Fedora-12-i686-Live.iso rootfstype=auto ro liveimg rdinitdebug rdshell`
blkid only shows `/dev/sda1: LABEL="LiveLinux" UUID="AB95-9B6A" TYPE="vfat"` since I'm using qemu for this.

Comment 11 Elliott Sales de Andrade 2010-02-08 03:05:22 UTC
Created attachment 389450 [details]
`dmesg | grep dracut` in rdshell

Comment 12 Harald Hoyer 2010-02-09 09:48:51 UTC
dracut: + /sbin/losetup -f --show /Fedora-12-i686-Live.iso
dracut: /Fedora-12-i686-Live.iso: No such file or directory

you might want:

root=live:LABEL=LiveLinux

But then it expects to find the contents of the iso and not an .iso file.

Comment 13 Elliott Sales de Andrade 2010-02-17 04:33:13 UTC
Well yes, I could do that, but that's not the point of this bug. I've attached a patch to dracut that seems to work, but I haven't tested it out in all cases. It allows you to boot from ISO with root=live:storage-device:/path/to/the/image.iso where storage-device is LABEL=,UUID=,etc.

In the meantime, I've figured out that I can extract the contents and use the live_dir option to boot both 32- and 64-bit versions from the same USB.

Comment 14 Elliott Sales de Andrade 2010-02-17 04:33:18 UTC
Created attachment 394679 [details]
dmsquash-live: Mount backing device before the ISO

Comment 15 Bug Zapper 2010-03-15 14:09:59 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 13 development cycle.
Changing version to '13'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 16 Grant Bowman 2010-06-02 08:04:39 UTC
Does this bug still apply to dracut-005-3.fc13-noarch in F13?  I would really like to use grub2 to boot F13 iso images.

Comment 17 Grant Bowman 2010-07-05 22:13:33 UTC
Still no update?  There are a set of people that would like to boot Fedora but can't until this bug gets resolved somehow.

Comment 18 Fedora Update System 2010-09-23 15:32:20 UTC
dracut-005-4.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/dracut-005-4.fc13

Comment 19 Fedora Update System 2010-09-23 15:33:41 UTC
dracut-005-4.fc12 has been submitted as an update for Fedora 12.
https://admin.fedoraproject.org/updates/dracut-005-4.fc12

Comment 20 Fedora Update System 2010-09-24 20:39:24 UTC
dracut-005-4.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update dracut'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/dracut-005-4.fc12

Comment 21 Grant Bowman 2010-09-28 15:19:04 UTC
Has anyone successfully booted standard F12, F13 or F14 Beta .iso images from grub2?

Comment 22 Valent Turkovic 2010-10-26 15:00:07 UTC
Jaiv,
you haven't tols us if you got Fedora iso's to boot via grub2 or not. Please reply if you did how you made it happen.

Comment 23 Valent Turkovic 2010-10-26 16:17:38 UTC
(In reply to comment #13)
> Well yes, I could do that, but that's not the point of this bug. I've attached
> a patch to dracut that seems to work, but I haven't tested it out in all cases.
> It allows you to boot from ISO with
> root=live:storage-device:/path/to/the/image.iso where storage-device is
> LABEL=,UUID=,etc.
> 
> In the meantime, I've figured out that I can extract the contents and use the
> live_dir option to boot both 32- and 64-bit versions from the same USB.

Eliot I put as you suggested but still get error - "No root device found"

This is how my root line looks like:

root=live:LABEL=multi-boot:/iso/Fedora-14.iso

Any ideas why?

Comment 24 Valent Turkovic 2010-10-26 17:32:28 UTC
Created attachment 455823 [details]
mine grub.cfg

here is grub.cfg that I use with different combination. If you have any idea how to make Fedora iso images to boot please give your feedback.

Comment 25 Fedora Update System 2010-10-27 22:54:18 UTC
dracut-005-5.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 26 Elliott Sales de Andrade 2010-10-28 03:11:33 UTC
I don't see how this is fixed. There is no change to `cmdline/30parse-dmsquash-live`, so I don't see how it would recognize a backing device+ISO.

Comment 27 Harald Hoyer 2010-10-28 07:24:07 UTC
(In reply to comment #26)
> I don't see how this is fixed. There is no change to
> `cmdline/30parse-dmsquash-live`, so I don't see how it would recognize a
> backing device+ISO.

true... this bug number must have slipped in the buglist by copy&paste error.

Comment 28 Fedora Update System 2010-10-30 23:38:54 UTC
dracut-005-5.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 29 Elliott Sales de Andrade 2010-10-30 23:47:23 UTC
Obviously, this still shouldn't be closed.

Comment 30 nullakilla 2010-11-04 16:48:19 UTC
I'm trying to boot Fedora 14 live-image from my usb flash.
Flash disk is formatted as ext2 filesystem.
I use grub2 bootloader.

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]


At the end of booting attempt next info is printed to the teminal:

[code]
No root device found

Boot has failed, sleeping forever
[/code]

Comment 31 Elliott Sales de Andrade 2010-11-05 17:54:27 UTC
Of course, since no such option has been added, that won't work.

This bug should be re-opened, again.

Comment 32 nullakilla 2010-11-09 12:38:43 UTC
I've reopened this bug here 

https://bugzilla.redhat.com/show_bug.cgi?id=650672

Comment 33 Leslie Satenstein 2013-01-11 00:27:58 UTC
8 gig flash drives are now common.

Is there a new application in development to permit a DVD image (not live image) to be read by this application in order to create a bootable flash drive?

This flashdrive image would replace the physical dvd. 
With DVD installations, we are not asked to test or install. It is purely a replacement for the physical DVD.

Many tablets will require this program or a program that will download and install a dvd image.

Comment 34 Leslie Satenstein 2013-01-11 00:29:53 UTC
Should this bugnumber be reopened?  With Fedora 18 and future versions, with newer hardware, we need the option to dispense with the physical DVD.

Comment 35 Valent Turkovic 2013-02-27 14:42:27 UTC
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.

Comment 37 spital 2013-04-18 16:33:13 UTC
found another how to :
http://www.redips.net/linux/fedora18-netinstall-usb-stick/

that worked :

grub2-install --modules="fat ntfs iso9660 ext2" --no-floppy --boot-directory=/media/usb500mb /dev/sde

/grub2/grub.cfg ::

insmod ext2
insmod ntfs
insmod fat
insmod part_msdos
insmod iso9660
set root=(hd0,msdos1)
linux /isolinux/vmlinuz stage2=hd:/dev/sdb1:/Fedora-18-x86_64-netinst.iso
initrd /isolinux/initrd.img

Comment 38 Michael Monreal 2013-04-28 19:07:17 UTC
Harald, I tried booting the F19 Alpha Live ISO sitting in /iso (on gpt4) on my F19 system. At first it seems to start up fine but then it gets stuck. This is my config, any obvious problem? 

menuentry 'ISO' {
  set root='hd0,gpt4'
  set isofile='/iso/F19a1.iso'
  loopback loop $isofile
  linux (loop)/isolinux/vmlinuz0 iso-scan/filename=$isofile root=live:CDLABEL=Fedora
  initrd (loop)/isolinux/initrd0.img
}

Your example in the commit msg was missng a "(", I added that and also the set root='hd0,gpt4'

Comment 39 Harald Hoyer 2013-04-29 06:34:23 UTC
(In reply to comment #38)
> Harald, I tried booting the F19 Alpha Live ISO sitting in /iso (on gpt4) on
> my F19 system. At first it seems to start up fine but then it gets stuck.
> This is my config, any obvious problem? 
> 
> menuentry 'ISO' {
>   set root='hd0,gpt4'
>   set isofile='/iso/F19a1.iso'
>   loopback loop $isofile
>   linux (loop)/isolinux/vmlinuz0 iso-scan/filename=$isofile
> root=live:CDLABEL=Fedora
>   initrd (loop)/isolinux/initrd0.img
> }
> 
> Your example in the commit msg was missng a "(", I added that and also the
> set root='hd0,gpt4'

I doubt the CDLABEL is Fedora.. you will have to copy the same kernel command line from the syslinux.cfg of the original iso and just append the iso-scan parameter.

Comment 40 Matthias Saou 2013-07-05 10:27:35 UTC
Thank you so much!

I've updated GLIM to include the right configuration, and it works fine with Fedora 19 now. All spins boot properly, both x86_64 and i686 :
https://github.com/thias/glim

The Fedora configuration is here :
https://github.com/thias/glim/blob/master/grub2/inc-fedora.cfg

As Harald mentioned, it's nothing more than the parameters copied over from syslinux.cfg with iso-scan/filename= added.

Comment 41 Edward J. Huff 2013-08-05 11:11:11 UTC
Just adding some info for the convenience of those who run across this page via google.  The root=live:LABEL= value can also be found by loop mounting the iso file and looking in /dev/disk/by-label:...  Blanks are replaced by '\x20' or \\x20 outside of quotes.  You can also use UUID but just now I don't know how to find it except via dracut emergency shell when your boot failed.  When you mount an iso file during normal operation, the /dev/disk/by-uuid/ entry does not show up, at least in F17.

dracut-emergency-shell# grep loop sosreport.txt
/dev/loop0: UUID="2013-06-27-14-01-59-00" LABEL="Fedora 19 x86_64" TYPE="iso9660" PTTYPE="dos" 
lrwxrwxrwx 1 root 0 11 Aug  4 05:50 Fedora\x2019\x20x86_64 -> ../../loop0
lrwxrwxrwx 1 root 0 11 Aug  4 05:50 2013-06-27-14-01-59-00 -> ../../loop0
[...]

Thus, just boot with an incorrect live:LABEL=, and type grep loop sosreport.txt into the dracut emergency shell, write down the correct label or uuid.  Or you can go ahead and fix grub.cfg on the USB stick from the dracut shell.

menuentry "Fedora 19 64 bit net install ISO" {
 set isofile=/boot/isos/Fedora-19-x86_64-netinst.iso
 loopback loop $isofile 
 linux (loop)/isolinux/vmlinuz iso-scan/filename=$isofile root=live:UUID="2013-06-27-14-01-59-00"
 initrd (loop)/isolinux/initrd.img
}

Some other interesting lines from sosreport.txt:

+blkid
/dev/loop0: UUID="2013-06-27-14-01-59-00" LABEL="Fedora 19 x86_64" TYPE="iso9660" PTTYPE="dos"
[...]
+ blkid -o udev
[...]
ID_FS_UUID=2013-06-27-14-01-59-00
ID_FS_UUID_ENC=2013-06-27-14-01-59-00
ID_FS_LABEL=Fedora_19_x86_64
ID_FS_LABEL_ENC=Fedora\x2019\x20x86_64
ID_FS_TYPE=iso9660
ID_PART_TABLE_TYPE=dos
[...]
/dev/disk/by-label:
total 0
lrwxrwxrwx 1 root 0 11 Aug  4 05:50 Fedora\x2019\x20x86_64 -> ../../loop0
[...]
/dev/disk/by-uuid:
total 0
lrwxrwxrwx 1 root 0 11 Aug  4 05:50 2013-06-27-14-01-59-00 -> ../../loop0
[...]
+ cat /proc/cmdline
BOOT_IMAGE=(loop)/isolinux/vmlinuz iso-scan/filename=/boot/isos/Fedora-19-x86_64-netinst.iso "root=live:CDLABEL=Fedora 19 x86_64"

Comment 42 Harald Hoyer 2014-02-14 09:01:17 UTC
spaces have to be replaced with \x20 on the kernel command line ... parenthesis will not work there


Note You need to log in before you can comment on or make changes to this bug.