postmodern

Software Engineer, Open Source Developer/Maintainer. Ruby, Crystal, Bash. Sometimes I do infosec stuff. Develops @ronin_rb

2025-06-13

@JezCaudle I finally got it!

xorriso_args=$(xorriso -indev /path/to/iso -report_el_torito as_mkisofs) will output the arguments for -as mkisofs mode. I then used overlayfs to combine the autoinstal.yaml file with the loop-back mounted ISO. Then I combined those xorriso mkisofs arguments with the overlayfs working directory containing the combined files. I also had to use eval xorriso ... $xorriso_args ... in order to trick bash into parsing the single-quoted arguments (which may contain spaces, such as with the volume ID) in the xorriso -report_el_torito as_mkisofs output.

2025-06-12

@JezCaudle think I found the difference after a bunch of trial and error. You're command uses -boot any efi_path=... with a file, where as the -report_system_area cmd shows the Ubuntu ISO sets -boot any efi_path to an appended partition with a specific offset/size. When I add a file or otherwise change the contents of the ISO it then changes the sizes and breaks the offset of the EFI partition.

I also tried -boot any efi_path='/EFI/boot/bootx64.efi', but won't boot.

2025-06-11

@mike805 @j_s_j this argument falls apart once you try to modify a bootable ISO and ensure the resulting ISO can still boot on both legacy BIOS (CSM) and UEFI, which requires all sorts of configuration tricks to force the ISO9660 format to do things it wasn't originally designed to support. It would be much easier to just distribute a disk image.

2025-06-11

@evert @philsplace @darkuncle bingo. I am currently struggling to add a autoinstall.yaml file to a Ubuntu 24.04 Server ISO image and have it boot under both UEFI and BIOS (which apparently requires a ton of esoteric configuration options to make ISO9660 do something it wasn't originally designed to do), and this made me realize it would be so much easier to just ship a disk image I could mount and modify. ISOs are the PDFs of installation media.

2025-06-11

Why are OS installers still distributed as .iso files? When was the last time you actually burned a CD-ROM? OSes are almost exclusively installed with USB keys, so why not just distribute a regular disk image with partitions? This would make configuring the OS installer for non-interactive installs much easier.

2025-06-11

@JezCaudle I tried using -add but it was trying to add the full path to the ISO when I wanted to map /path/to/local/autoinstall.yaml to /autoinstall.yaml.

I just tried copying pasting the arguments from xorriso -indev $iso report_system_area cmd -report_el_torito cmd into my xorriso command (and removing the -volid which xorriso complained about for some reason), and it still does not boot with OVMF.

I also tried only copying in the options from xorriso -indev $iso report_system_area cmd, but still won't boot.

2025-06-11

@JezCaudle tried deleting that one option just to see what would happen, but xorriso gives this error:

libisofs: FAILURE: Trying to use an invalid file as boot image
xorriso: FAILURE: Could not attach El-Torito boot image to ISO 9660 image
2025-06-11

@JezCaudle trying to rewrite my xorriso command to be more like your's, but with -map /path/to/autoinstall.yaml autoinstall.yaml. Currently xorriso is complaining that /usr/share/syslinux/isohdpfx.bin does not exist. Is that path supposed to exist in the Ubuntu ISO or on the system running the xorriso command?

2025-06-11

@JezCaudle also the -boot_image options in your mentioned xorriso command are not compatible with the xorriso -as mkisofs command, which apparently switches xorriso's option parser to be more like mkisofs.

2025-06-11

@JezCaudle yes actually. That link was one of the top 10 that DDG and Google kept showing me and what I used for my xorriso command. Unfortunately, that xorriso command does not create a UEFI bootable ISO.

2025-06-11

@jan I normally do not have any 3D acceleration enabled in the VMs to prevent any possibility of VM escape. I did just test enabling 3D acceleration with Virtio and confirmed I can get 300 FPS with glxgears within the VM, however video playback is still incredibly slow and choppy under Virtio. Switching back to QXL I can achieve 600 FPS with glxgears and YouTube video play is smooth even at high-quality. For some reason QXL performs better than Virtio.

2025-06-11

Also wtf, why are Virtio Graphics so much slower than QXL Graphics? I was under the impression that Virtio was supposed to have lower overhead.

#qemu #virtio #libvirt #qxl

2025-06-11

Has anyone had luck running labwc under QEMU? Getting screen tearing running under Virtio Graphics, but better under QXL. Setting the resolution to the native resolution using wlr-randr seems to slow things down. Also having random freezes when moving my mouse around. Seeing lots of "Failed to commit output to Virtual-1" error messages when I check the stdout/stderr of labwc.

#labwc #qemu #qxl #virtio #wayland

2025-06-10

@JezCaudle interesting. You're rebuilding the initrd.cpio with the additional file added, then replacing initrd.cpio with the -map option. I just need to copy in an additional file to the root of the ISO filesystem.

2025-06-10

@JezCaudle thank you. Neither DDG nor Google listed your article when I was furiously searching for how to do this.

2025-06-10

Is it possible to get Ubuntu's autoinstall to check for autoinstall.yaml in another cdrom/USB device that is present at boot?

2025-06-10

What is the magic command to create an .iso that is both bootable by UEFI and BIOS (CSM) systems? Trying to re-build a Ubuntu .iso and cannot get the modified .iso to boot under OVMF; I did verify that OVMF can boot an unmodified Ubuntu .iso.

#ubuntu #uefi #efi #iso #xorriso #genisoimage

2025-06-09

@RussSharek neat. Although I'm working with libvirt, which doesn't seem to support next-server or filename options. I can however setup PXE boot. Is there a way to configure autoinstall via kernel arguments?

2025-06-09

What do people prefer to use for provisioning FreeBSD/OpenBSD/NetBSD systems? cloud-init? ansible?

I just need to automatically create a vanilla BSD system with a test user, sshd, and an authorized ssh key pre-installed.

#freebsd #openbsd #netbsd

2025-06-08

@d6 I tried calling fsync(int) (95) and sync() (36), but still nothing.

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst