Navigation Menu

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support iso9660 as output format #1220

Closed
behrmann opened this issue Oct 6, 2022 · 3 comments
Closed

Support iso9660 as output format #1220

behrmann opened this issue Oct 6, 2022 · 3 comments
Labels

Comments

@behrmann
Copy link
Contributor

behrmann commented Oct 6, 2022

Somebody asked for it at the summit.

@DaanDeMeyer
Copy link
Contributor

So I looked into how this would work. There's actually 2 parts to this, supporting the actual ISO9660 filesystem as a filesystem for partitions and being able to boot from a CD-ROM.

To boot UEFI from a CD-ROM, you need to put a EFI boot catalog entry in the ISO filesystem (El Torito) that points to the ESP partition. The ISO filesystem itself needs to start at offset 32k in the image. Note that the ISO filesystem itself doesn't need to actually contain any files to allow booting from a CD-ROM, you just need the El Torito boot record in the EFI filesystem.

So to make the booting from CD-ROM work, we'd need to add support to systemd-repart to add Format=iso for partitions and probably add an easy way to have a partition start at a very specific offset so we can have the iso partition start at offset 32k. We'll also need to add a way to configure boot catalog entries for the iso filesystem to systemd-repart, which should be implemented as generic infra so we can specify filesystem options for any supported filesystem, probably via an [ISO] section in the partition definition file or so (and similarly, [Btrfs], [XFS] and so).

Populating an iso filesytem is more or less like populating a regular iso filesystem, but will also require adding the iso filesystem support to systemd-repart.

@DaanDeMeyer
Copy link
Contributor

So I think this is something to support in repart so I opened an issue in the system repository: systemd/systemd#28798. Let's close this here

@adrelanos
Copy link

Reasons of ISO support:

  • most Linux distributions support downloadable ISO based installers which then run calamares or similar
  • having a Live ISO
  • it's what users know and are accustomed to
  • tool that know how to write to DVD or USB understand ISOs
  • bootable in virtualizers such as VirtualBox

But as mentioned in systemd/systemd#28798 it does not necessarily need to be ISO9660. Any bootable image format that is DVD compatible would be nice.

I don't understand yet why adding this feature to repart makes this work for mkosi but I trust you're right.

This might be a duplicate of:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

3 participants