Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've got a usb-key setup to multi-boot different Linux images. I'm trying to add CentOS, here's a post with similar entries for grub.cfg

set drive_label=multipass01
set isopath=/iso

menuentry "CentOS-6.3-x86_64-LiveCD" {

# Tried the following root designations;
# root=live:LABEL="multipass01" 
# root=live:LABEL=multipass01 
# root=live:LABEL="multipass01":$isofile
# root=live:LABEL=multipass01:$isofile
# root=live:/dev/disk/by-label/$drive_label$isofile
# root=live:UUID=3A55-12BC:$isofile
# root=live:UUID=:$isofile
# root=UUID=3A55-12BC
# root=live:$isofile
# iso-scan/filename=$isofile

    set isofile="$isopath/CentOS-6.3-x86_64-LiveCD.iso"
    loopback loop $isofile
    linux (loop)/isolinux/vmlinuz0 boot=isolinux root=live:LABEL=multipass01:$isofile rootfstype=auto ro liveimg 3 rhgb rd.luks=0 rd.md=0 rd.dm=0 splash --
    initrd (loop)/isolinux/initrd0.img

Heres the result of attempting to boot this entry (regardless of which root=);

kernel panic

edit; related fedora bug

share|improve this question

I tried the same approach as you(but the liveos is Fedora 17 for me), I failed too, we can't use isofile for root=live: option. root=live:LABEL=multipass01:$isofile can't be recognized(maybe it can be recognized in future fix, but I can't wait).

So I used a different approach:

#step 1 create a blank partition that can hold the liveos.(/dev/sdb5)

#step 2 copy the liveos to the partition
dd if=/my-path-to-f17-live-iso of=/dev/sdb5

#step 3 change the grub.cfg,
#note1: don't need to use loopback, just use (hdX,Y).
#note2: "root=" becomes "root=live:/dev/sdb5"
menuentry 'F17 install' --class fedora --class gnu-linux --class gnu --class os {
    insmod part_msdos
    linux (hd1,5)/isolinux/vmlinuz0 linux root=live:/dev/sdb5 rootfstype=auto ro liveimg rd.luks=0 rd.md=0 rd.dm=0 
    initrd (hd1,5)/isolinux/initrd0.img

You can try this approach too, the /dev/sdb5 act as a CD/DVD-rom in this approach.

Another approach is changing the python script of the dracut to make it recognize such options, but I don't think it is worth.

share|improve this answer

Was not able to find a viable answer either. But it seems to be implemented by now.

This post mentions a commit which implements said functionality in dracut (this is what you want).

Remember that the root= option is a kernel commandline parameter:

root=       [KNL] Root filesystem
        See name_to_dev_t comment in init/do_mounts.c.

For these kinds of setups to work, you have to look inside the initramfs infrastructure and see whether this is supported. (i.e. the kernel mounting .iso's for use as root is apparently not a kernel task?)

If you look at comment 38 and later you will see some sort of step by step instruction. I'm going to test this myself now.

EDIT: This is not going to fly for Centos 6.4 :/ which has an ancient version of dracut.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.