we didnt modify the installer specially for usb keys. instead, we just made the boot process able to use a .iso file stored on a usb key as its root filesystem. that way, theres no need to maintain another install media. all one needs todo to get a bootable usb key with 9front is just copying the iso to the fat on the usb key and make they usb key bootable by adding a kernel, 9bootfat, pbs and mbr to it. the usb key prparation can be done from any operating system.
also note, that this is not limited to usb keys. you can use a iso (or paq) file on *any* drive with a fat partition on it. like one might have no removable media on a machine at all, but still can prepare a fat partition on the internal harddrive using linux or whatever to get the installation started. the biggest challange with usb boot is the usb itself. over a long time, many problems have been found and resolved: - broken bios - broken mp tables preventing usb interrupts to work - broken hci bios handover causing system freezes as soon as we touch the hci controller - some usb cdrom drives freezing up if you send it scsi inquiry with allocation length different from 36 byte -- cinap
