5

I am attempting to edit a Fedora 19 DVD ISO to add a kickstart file. I then need this ISO burnt to a USB stick for instillation.

The error I get when booting is

Warning: Could not boot.
Warning: /dev/root does not exist

To try and determine which part of the process is failing I have broken the process down in to separate stages.

Step 1:

Burn the original ISO "Fedora-19-x86_64-DVD.iso" (Available -> here) to a pendrive and see if that will install.

dd if=/path/to/iso of=/dev/sdc

Burning this image was successful and it installed without issue.

Step 2:

Exctract the ISO, repackage it and burn it to a pendrive and see if that will install. PLEASE NOTE: The final command in this section has been broken down in to multiple lines for ease of reading, in fact it was run as a single command on one line.

mkdir -p /mnt/linux
mount -o loop /tmp/linux-install.iso /mnt/linux

cd /mnt/
tar -cvf - linux | (cd /var/tmp/ && tar -xf - )

cd /var/tmp/linux

xorriso -as mkisofs -R -J -V "NewFedoraImage" -o ouput/file.iso 
-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 
-boot-info-table -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin .

This iso was then burnt to a pendrive as before.

dd if=/path/to/iso of=/dev/sdc

This ISO burnt to the pen drive with no problem and will boot. I then see the fedora options screen. After choosing either "Install Fedora 19" or "Test this media & install Fedora 19" I then receive the errors highlighted above.

This means the kickstart file is not to blame, but repackaging the ISO. Is there something I am missing in the repackaging process?

Any input would be great!

NOTE: If it is of any help, I attempted Step 2 with an Ubuntu server ISO and the process was successful.

dooffas
  • 315
  • 2
  • 5
  • 11

3 Answers3

9

i guess it is because you have chosen a new Volume Id by -V "NewFedoraImage".

I am the developer of xorriso and have experienced a similar problem when experimenting with GPT enhanced isohybrid in Fedora-LiveCD.iso. It did not work unless i used the same -V as with the original image. In an old mail text of mine i see a reference to "/dev/disk/by-label/".

To learn about the original Volume Id, you may do:

  xorriso -indev Fedora-19-x86_64-DVD.iso 2>&1 | grep 'Volume id'

(Leave out "2>&1 | grep 'Volume id'" if you don't get any output)

squillman
  • 37,618
  • 10
  • 90
  • 145
Thomas Schmitt
  • 206
  • 1
  • 1
  • That was exactly it, thank you. Any ideas as to why Fedora is so particular about the volume ID and Ubuntu is not? – dooffas Oct 25 '13 at 09:15
  • There must be files in the original image which refer to /dev/disk/by-label/...orginal.Volume.Id... . I forgot how exactly i came to the suspicion about Volume Id. Maybe from looking at some fstab. Possibly in the initrd. (I am not much into booting myself. My job is done when BIOS or EFI find their boot images.) – Thomas Schmitt Oct 25 '13 at 11:34
  • My best suspect in Fedora-LiveCD.iso are /isolinux/isolinux.cfg , /EFI/BOOT/grub.conf , /EFI/BOOT/BOOTX64.conf. They all mention kernel parameters like root=live:CDLABEL=Fedora-LiveCD. "Fedora-LiveCD" is the Volume Id of the original image. – Thomas Schmitt Oct 25 '13 at 11:50
  • @ThomasSchmitt this works great, but the resulting image does not boot on UEFI BIOS. Am I missing anything? – Peter Mar 30 '18 at 09:04
0

A quick workaround: https://ask.fedoraproject.org/en/question/10795/minimal-install-boot-results-in-devroot-does-not-exist/

In case that link disappears: Upon booting from the USB drive, at 1st screen hit TAB to get the grub command line. Remove the label that says something like 'Fedora-22-xxx' and replace by the label of your USB drive/stick, in several cases I have seen it is "LIVE".

David Ramirez
  • 397
  • 2
  • 3
  • 18
0

To make the image also boot on UEFI bios, include

-eltorito-alt-boot -e images/efiboot.img -isohybrid-gpt-basdat

So the command will look like:

xorriso -as mkisofs -R -J -V "NewFedoraImage" -o ouput/file.iso \ 
-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot \
-boot-load-size 4 -boot-info-table -eltorito-alt-boot \
-e images/efiboot.img -isohybrid-gpt-basdat -no-emul-boot \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin .

But this still leaves booting on macs out

Peter
  • 849
  • 8
  • 10