Installing an operating system on an embedded evaluation board can be a bit of a problem if you don't have an optical drive. Other reasons to read further may be ...
o You are playing around with boot options and don't want to use up your limited stock of CDR's
o You only have a CD-ROM drive, and your distribution of choice comes on a DVD sized ISO.
o You really are an embedded developer, and you are constantly rebuilding the OS, and you don't have the boot over TFPT working yet (8-).
For any of these reasons, I recommend UNetbootin, a free utility that "allows you to create bootable Live USB drives for a variety of Linux distributions from Windows or Linux, without requiring you to burn a CD" (quoted from http://unetbootin.sourceforge.net/ )
UNetbootin helps create a bootable LiveUSB drive for a large selection of Linux distributions, and can download the selected distribution or you supply it with an ISO file. I recently picked up a 4Gb SD card and installed several distributions to try out on my Intel Atom Processor based Swift Current board . You can get UNetbootin executables for Windows and for Ubuntu, Debian, openSuse, and Gentoo flavors of Linux. I tried the Windows executable first, but my laptop usually lives behind the Intel proxy, and I couldn't find a way to get UNetbootin to download files.
I ended up downloading the D-a-m-n Small Linux (DSL) ISO image by hand, and pointing UNetbootin to the file. If you also have problems downloading from behind a corporate setup, you can get a few clues from the failed attempts. If you copy the unsuccessful download locations that UNetbootin displays as it attempts to get the files to put on the USB drive, you can browse out to the website or FTP locations and get an ISO file using your browser (which presumably works well with the proxy setup).
The USB drive boots fine on my T61 laptop, and I've also loaded it successfully on a Kontron min-iTX motherboard. I traditionally have problems with Linux sound systems, so I have a SIIG USB sound adapter I use for my Linux systems and that worked flawlessly. There are a set of optimized graphics drivers available for DSL the US15W chipset used on the Kontron board, http://www.intel.com/design/intarch/swsup/graphics_faq.htm but that's a topic for a later article.
The program is very easy to use. First select your favorite distribution, and any particular version you want from the pull down menu's. Second select your USB drive, and click OK. Wait for the files to download, and once everythings complete, the system will ask if you want to reboot and try out your new Linux version.
If your particular favorite is not supported yet, you can select a previously downloaded ISO image. You can even make a custom version using your own kernel and initrd RAMdisk images, and a custom set of kernel options. My particular foible with Linux is having to have a keyboard for initial installs to enable the sshd daemon, so I'm going to try customizing a few setups to see if I can improve my remote access.
The UNetbootin Home Page on Sourceforge http://unetbootin.sourceforge.net/ has lots more info, and even has a recommended method of getting the developers to add your favorite setup to the next release.
Several different specialized versions of UNetbootin have been created, even a few specifically for Intel Atom Processor based EEE systems from ASUS. These custom versions have a different list of supported OS', so check out the derivatives if you use some of the not quite so popular distributions. http://unetbootin.wiki.sourceforge.net/listcustomversion. Or go ahead and try it with a CD or DVD iso.
The Swift Current setup that I have is mounted in a really small custom case, you can see a few photo's here http://4.bp.blogspot.com/_KgpmpBxoYwk/SBEg6rb2U7I/AAAAAAAAAUI/CMoD8uFe3Bw/s400/DSC02359.JPG and I use a small 7 inch car PC VGA display from Xenarc. Unfortunately this display only supports 800x600 video, so I have to have a keyboard connected at power on to downshift the default screensize of DSL. I'm playing around with the Custom Options in Unetbootin to see if I can enable SSH and get the screensize to match my display. Once I get that working I'll update this post.
If you try UNetbootin, or have suggestions for other USB utilities, I'd like to know about them.
And, as always I'm looking for other applications that embedded developers have co-opted into their toolkit. You can post in this forum or click here to send me a private message within the EDC.