mkbiarch(8)
β¨ mkbiarch(8) β the manual, but make it a group chat π
okay so bestie, you know how you've got two LiveCDs of different architectures and you want ONE bootable disk image that just... does both? yeah. that's this. this is the mkbiarch.py page from the User Manuals, and I'm gonna walk you through it like we're texting at 1am π¦
πΈ NAME πΈ
mkbiarch.py β makes a multiple architecture Live boot disk image for USB, CF, SSD or literally any disk, built from 2 architecturally different LiveCD ISO9660 image files. that's the whole vibe. two ISOs in, one iconic multi-arch image out π
β¨ SYNOPSIS β¨
mkbiarch <LiveCDx86ISO> <LiveCDx64ISO> <MultipleArch Disk IMG File>
three arguments, no cap. x86 ISO, x64 ISO, and where you want the multi-arch image to land.
π DESCRIPTION π
mkbiarch(8) creates a multiple architecture, bootable Live Disk image file (IMG) for use on USB or any disk (CF, SSD) from 2 LiveCD ISO9660 files of different architecture (ISO). it's giving "two flavours, one disk" and honestly? obsessed. π
π USAGE π
here's the moment you've been waiting for:
mkbiarch.py Fedora-13-i686-Live.iso Fedora-13-x86_64-Live.iso Fedora-13-MultiArch.img
and then, to actually write it out:
/bin/dd if=Fedora-13-MultiArch.img of=/dev/sdb bs=4M
so in that example, mkbiarch.py creates Fedora-Multi-arch.img from the two existing ISO9660 LiveCD image files. the resulting image file gets written to a raw disk device using dd(1). iconic, no notes π₯
β οΈ heads up bestie, thatddline writes straight to a raw device./dev/sdbis your disk, so triple-check it before you hit enter, ok? π
π¦ UNDER THE HOOD π¦
okay this is the part where it gets lowkey genius. mkbiarch.py(8) first checks that the two ISO9660 image files exist. then:
- it creates a blank file using
dd(1), writing data from/dev/zero, and the size is the size of the two ISO9660 image files combined - that blank file gets bound via loopback using
losetup(8), partitioned, and bound at an offset via loopback of 512 bytes - this second loopback device is formatted type ext3 using
mke2fs(8) - that filesystem is mounted using
mount(8)on a temporary directory - the two ISO9660 files are then mounted via loopback, and files are copied using the shutil module in Python, from them to the newly formatted filesystem in the image file
- data is gathered from the ISO9660 image files from its
isolinux.cfg - after the files are copied, the loopbacked ISO9660 image files are released
extlinux(1)is installed to the loopback mounted filesystem on the target image file, and anextlinux.confis written- the temporary directories are unmounted using
umount(8)and the loopback devices are released - the temporary directories are then removed
- and the resulting Multiple Architecture Disk Image File is moved using shutil to the specified location on the command line β which is provided as argument 3 to
mkbiarch.py
the way that whole pipeline just works?? main character energy fr fr π
π BUGS π
Please report any bugs to http://bugzilla.redhat.com under component livecd-tools. found a gremlin? snitch on it. we love accountability π«Ά
π AVAILABILITY π
wanna check out the git version of this program? say less:
git clone https://github.com/rhinstaller/livecd-tools
π AUTHOR π
Jasper Hartline <autopsy@liveprojects.info>
π CONTRIBUTORS π
- Richard Shaw
<email@address.com>β pyparted suggestions and feedback - Jan Kratochvil
<email@address.com>β for the original bash script which the python version was derived
shoutout to the founding mothers and fathers of this script, we stan π
π SEE ALSO π
livecd-creator(8), livecd-iso-to-disk(8), mke2fs(8), losetup(8), dd(1), exlinux(1)
and that's the whole page bestie!! this one came from LiveCD Tools, dated 2010-8-24, and it's manual page mkbiarch(8) β go make yourself a multi-arch disk and slay the day away π§β¨π
π¦ where this page comes from
- epel 10: livecd-tools 31.0-15.el10_1 Β· GPL-2.0-only
- epel 9: livecd-tools 31.0-15.el9 Β· GPL-2.0-only
- fedora 43: livecd-tools 1:31.0-18.fc43 Β· GPL-2.0-only
- fedora 44: livecd-tools 1:31.0-20.fc44 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms