Hi,

Sreyan Chakravarty wrote:
> If someone asked you to create a custom Fedora ISO that you could use in
> VirtualBox/DVD/USB, what would you do ?

(As first i'd try what you did: Build a new ISO from the mounted original.
 Then i'd try whether the original works in the test situation.
 Then i'd invest an unpredictable amount of time digging for reasons why
 my ISO does not work while the original works.)

Then i'd add the file by multi-session to a copy of the original ISO

  cp Fedora-Workstation-Live-x86_64-31-1.9.iso test.iso

  file_or_tree_on_disk="$HOME"/my_file
  path_in_iso=/my_file

  xorriso -dev test.iso \
          -boot_image any keep \
          -map "$file_or_tree_on_disk" "$path_in_iso"

(These xorriso commands are documented in man xorriso, as they are part
 of the native non-emulated command mode. See below for your question
 about the emulated options.)

Afterwards test.iso should contain the same files as the original ISO
plus the file or tree given by "$HOME"/my_file as file or tree with the
path /my_file.
The boot equipment is supposed to stay unchanged.

The resulting ISO will grow by the size of the whole ISO directory tree
and the size of the data files which get added.


Of course any distro can impose arbitrary demands on how a file in an ISO
has to be announced in some list file in the ISO, or equipped with some
crytographic signature.
A few plain data files and directories, which have no role in the official
boot process, should not demand much announcement ... i hope.

---------------------------------------------------------------------------

> But here is the problem, the ISO booted and displayed all the memory
> options. So something weird is happening there.

Yes. The weirdness is probably in ISOLINUX or (if you can navigate in the
menu) in the start-up of Linux kernel and initrd.

Did you verify that the original ISO works as expected ?


> I have mailed the guys on the ISOLINUX mailing list but I will probably not
> get a reply.

There's hardly anybody at home any more.


> What I could make out was that the
> livecd-tools for Fedora itself make use of a genisoimage like program called
> xorriso.

xorriso (where i am developer) has an emulation mode which takes many
options of program mkisofs. genisoimage is a fork of mkisofs from 2006,
beefed up by boot capabilities which Debian needed. Most of them are
available in xorriso, too.


> >   xorriso -indev "$orig" -report_el_torito plain -report_system_area plain

> I could not understand these commands at all. If its alright with you, would
> you mind adding some more details ?

The shown xorriso run is for inspection of the boot entry points of ISOs,
regardless which program made them.

We see the El Torito Catalog which PC-BIOS and EFI look up when the ISO
is presented to them on CD, DVD, or BD medium. The one of your custom
ISO will only have two entries.

Since you see the ISOLINUX menu, your test boots via catalog entry 1,
which marks the first 2048 bytes of file /isolinux/isolinux.bin. The entry
stems from mkisofs/genisoimage/xorrisofs option -b. The program determines
the block address of isolinux.bin in the ISO and writes this number into
the El Torito Catalog and into the boot-info-table inside isolinux.bin.
So isolinux.bin will get selected for being started by PC-BIOS compatible
firmware, which has no clue of ISO 9660 as filesystem.
isolinux.bin knows how to read ISO 9660 filesystems and thus can load
the menu configuration file, which it then displays.

The MBR partition table would be of interest if EFI firmware in non-legacy
mode would boot. But in this case you would see a GRUB menu, which comes
from software inside the FAT filesystem image /images/efiboot.img.
xorriso shows that this image is exposed as MBR partition of type EF, so
that EFI firmwares knows where to look for /EFI/BOOT/BOOTX64.EFI or
/EFI/BOOT/BOOTIA32.EFI.


> I could not find these options listed in the xorriso man page so I don't
> understand what you are referring to.

The man page of the mkisofs emulation is shown by

  man xorrisofs

Many of the options are compatible with mkisofs and genisoimage. Some are
special to xorriso.


Have a nice day :)

Thomas
_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org

Reply via email to