mirror of
https://github.com/RhapsodiOS/RhapsodiOS.git
synced 2026-11-03 22:01:40 -07:00
[GH-ISSUE #38] Easy way to generate a bootable ISO (install-media phase 6: El Torito CD) #31
Labels
No labels
bug
documentation
enhancement
enhancement
good first issue
help wanted
help wanted
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
github-starred/RhapsodiOS#31
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @raynorpat on GitHub (Oct 6, 2026).
Original GitHub issue: https://github.com/RhapsodiOS/RhapsodiOS/issues/38
Goal. One command that builds a bootable El Torito ISO of the installer, which boots under
qemu -cdromwith SeaBIOS and with IA32 UEFI, runssysinstall, and installs a disk that boots tologin:and accepts SSH. This is phase 6 ofdocs/superpowers/specs/2026-09-22-install-media-design.mdand the next piece after phase 5a (sysinstall, merged in197a04b60; record indocs/build/sysinstall.md).What exists now.
python -m instmedia.collect+python -m instmedia.buildmake a hard-disk-form image:boot0MBR, 64 MB ESP,0xA7partition with the live UFS root (/System/Installation/Packagesholds the apks named bySets/*.set). It boots as IDEhd1in the harness.From the umbrella spec, phase 6 (CD form, 2048-byte sectors).
secsize2048) at byte 7680, the offset DR2 used; the ISO volume descriptors start at byte 32768.boot1f,boot2,mach_kernel.rcz,sarld, the boot drivers and anInstance0.tablewithrootdev=cdrom.BOOTIA32.EFI.dl_front× 2048 onward: the same live-root UFS (fsize 2048), invisible to ISO readers.bootefimust accept 2048-byte BLOCK_IO media (efi_disk.ccurrently rejects it): read the containing block into a bounce buffer and return the 512-byte sectors.rootdev=cdrom(EIDE/AHCI present ATAPI drives assd*).vm/instmedia/iso.py(ISO 9660 and El Torito writer plus the floppy image) and a--form disk|cdswitch onbuild.py.Known risks (umbrella spec).
docs/drivers/drvEIDE-issues.mdrecords past ATAPI command failures.live.listsubset.sarldnode count.Done when.
-cdromboots under SeaBIOS and under IA32 UEFI to the installer's Welcome screen.login:with working SSH.Needs a brainstorm and plan first (new subsystem: ISO writer, floppy image,
bootefichange, ATAPI root).@raynorpat commented on GitHub (Oct 7, 2026):
Done on master (
c6c392a00).cd vm && python -m instmedia.build --repo DIR --efi ../src/bootefi-1/BUILD/BOOTIA32.EFI --form cd --out installer.isobuilds a ~295 MB El Torito ISO (hard-disk emulation for BIOS, the ESP image for UEFI, the live root on the CD with rootdev=cdrom). It boots from IDE and AHCI CD-ROMs under SeaBIOS and IA32 UEFI to sysinstall, installs complete, and the installed disks boot alone to login: with SSH. Floppy and DOS boot code, including boot0's partition menu, is removed. Record: docs/build/instmedia-cd.md.