USB

Windows XP natiebvly supports USB 1.1 and 2.0. Third party drivers can enable later versions.

Booting from USB
The default disc only supports booting from an optical medium but third party installers and tools like easy2boot support usb booting. Many older bioses may not support usb booting so may need a bios update or disc drive.

Although, a workaround to perform an optical medium-less installation without any third party tools does exist. Refer to the section below for additional information.

Warning
Don't use a SATA-to-USB adaptor. It will screw up on step 2.

Correct installation from USB
It's just about installing DOS to the target partition before.

The example algorhytm to do this is:
 * 1) DD the "Full USB" or "Lite USB" variant of FreeDOS to a *blank* (otherwise all existing data will be lost permanentely) USB stick.
 * 2) Expand the new 512MB partition on the stick to ~2GB or less a bit to make XP source files fit. UN*X users can also create another partition for this purpose.
 * 3) Copy all files from XP CD-ROM to the stick.
 * 4) Make a FAT32 filesystem on the target partition (the best variant is the first partition of the target HDD), using third party tools like MiniTool Partition Wizard or fat32format if needed. Making this partition active and moving the target HDD to the top of BIOS drives order is strongly recomended to make sure that NTLDR will be installed to the right drive and the target partition will get the C: drive letter.
 * 5) Boot from the stick and install FreeDOS to the target partition. After the installation, keep the USB stick inserted and make sure that something like "USB legacy support" is enabled in BIOS.
 * 6) Boot FreeDOS from the target partition, navigate to the \I386 folder on the USB stick (it must appear as another HDD).
 * 7) Run WINNT.EXE (it is the installer). If it asks anything about floppies, re-run it with the /B switch.
 * 8) After completing DOS portion of the Setup, boot from the target partition.

Keep in mind that this method is not guaranteed to work with custom images like ZverCD etc. Moreover, it dit not with nCore.