UNetbootin is a tool that aims to simplify the creation of a Live USB from a standard Linux ISO file - basically it can be thought of as the equivalent of an ISO-to-CD burning application, only for USB drives (if you need the details scroll down). The application itself can run on both Windows and Linux.
The procedure for creating a Live USB is rather straightforward (download UNetbootin and run the executable, select a distribution to download, or supply your own ISO file, then select a USB drive and press OK), but if you need a screenshot-based guide the one at Howtoforge is quite good; there is also a list of guides if you want more or wish to contribute your own.
Public Wiki: http://unetbootin.wi...orge.net/public (publicly editable if you'd like to contribute more documentation)
Download Windows version: http://unetbootin.so...dows-latest.exe
Download Linux version: http://unetbootin.so...in-linux-latest
List of distributions which UNetbootin has built-in support for automatically downloading and installing: http://unetbootin.wi...n-distributions
List of ISOs known to work flawlessly with UNetbootin: http://unetbootin.wi...d-distributions (this list is far from comprehensive, if you tried it with others and they worked then add them)
How it works and Limitations (You probably don't need to read this unless you're trying to diagnose an error)
Since a CD an USB drive are fundamentally different media, you can't just blindly write the raw contents of the ISO file to the USB drive and expect it to boot - they use different filesystems (ISO files are in ISO9660 or UDF format, while USB drives are in FAT32 format), have different bootloaders (ISO files use isolinux or GRUB as a bootloader, while USB drives use syslinux).
Therefore, the way UNetbootin creates bootable USB drives is to extract the contents of your ISO file (using 7-zip) and copy it over to your USB drive, then it searches for bootloader configuration options (where are the kernel and initrd files to load, and what are the options that should be passed to the kernel), uses a few heuristics to check for the most likely candidates for kernel and initrd files, and sets up an appropriate syslinux configuration menu, then makes your USB drive bootable by installing syslinux to its boot sector. In theory this should work for most ISO files, but there are a few key assumptions and things that could potentially go wrong, and these are usually the subjects for most bug reports:
1. The USB drive itself needs to be bootable - if you select it from your BIOS menu and it just hangs on "BOOT ERROR" or "this device is not bootable" and you don't even get to the UNetbootin-generated syslinux menu then chances are syslinux wasn't properly installed to the USB drive - usually just reformatting the USB drive and re-running UNetbootin fixes this.
2. Syslinux needs to be able to load your kernel - if you're trying to load an ISO for a non-Linux OS (Windows, Solaris, *BSD, etc) syslinux will probably raise "unsupported executable format" errors when you boot the USB drive. The only way non-Linux OSes can be loaded is if they're encapsulated into a floppy/hard disk image and loaded via the "Floppy" (instead of ISO) option (which sets MEMDISK as the kernel and the the floppy/hard disk image as the initrd) - this is the approach used for FreeBSD and FreeDOS.
3. UNetbootin needs to be able to locate your kernel and initrd files - if you're loading a Linux ISO but are still getting "unsupported executable format" errors UNetbootin is probably identifying the wrong files as the kernel and initrd; if you know which ones they should be you can check syslinux.cfg and edit the paths accordingly.
4. The Linux distribution itself needs to be able to boot from USB - a CD and USB drive use different filesystems and some Linux ISO files don't build in modules to mount FAT32 filesystems or don't search any media other than CD drives at boot time. Thus you will be able to get by the syslinux booting prompt but will be dropped to a busybox shell or get other errors while the Linux distribution is still booting up since it can't find the boot medium. The only way to fix this is to patch the initrd file, which is generally a tedious process that may involve tinkering with bootup scripts and varies with each distribution (see here for a typical example). Thus since this varies for each distribution and is something that should be fixed distribution-side anyhow I don't attempt to address this within UNetbootin, but if there's anyone nice enough to make a patched initrd available for download you should just be able to run UNetbootin, replace the initrd with the patched version before rebooting, and it should work.
Running into Bugs/Issues?
Bug tracker: http://bugs.launchpad.net/unetbootin
Should they be of interest, some older threads are available on Ubuntuforums at http://ubuntuforums....ad.php?t=427540 and http://ubuntuforums....ad.php?t=811397 (which I will condense and migrate to the Wiki when I have the time)
UNetbootin Info - Readme
No replies to this topic
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users