Install from USB flash drive? Sort of...

Brandon Fosdick bfoz at bfoz.net
Tue Aug 23 03:08:40 GMT 2005


So I had this "brilliant" idea that I was going to install FreeBSD on my new amd64 system using a 512MB flash drive since I didn't feel like digging out a CD-ROM. I ended up installing from CD anyway, but I thought I'd share my experience in case anyone else knows how to do this.

My first thought was to fdisk and newfs my flash drive to make it look like a bootable drive. I had successfully made a win98 boot "floppy" on a smaller flash drive so it seemed like a natural place to start. Surprisingly, that actually worked. I was able to boot from the device, but naturally there wasn't anything else on the device. So, then late at night when I wasn't thinking clearly I proceeded to do a make release with the intent of copying the release onto the flash drive. The next morning it occured to me that I probably could have just copied the files from an install CD. Oh well.

The drive booted fine and went into sysinstall and everything seemed to work in the normal fashion. However, I ran into a problem when it came time to select the installation media. Obviously I couldn't select the CDROM/DVDROM option (although I tried it anyway, just for kicks) so I tried to do an FTP install. Oddly, the network chip wasn't detected, even though it is recognized when booting from a CD. Perhaps there was something wrong with the release I had rolled.

Determined to press on I tried the "install from existing file system" option, which I had never noticed before. That didn't work since I had no idea what path to give it, or even if the flash drive had been mounted. I suspected it hadn't been, so I proceeded to the emergency holographic shell, at which point I realized just how useless that feature is if you don't have a CD in the drive.

So I returned to the network install idea. Thinking that maybe I had built a bad release I decided to try copying from the disc1 iso. The iso is listed at 515MB which is almost small enough. The packages are about 70MB and they're not strictly necessary so I thought it would work. So I mounted the iso and proceeded to copy the files out, since iso's mount read only and I needed to delete stuff. To my surprise it turned into 1.1GB when copied onto a "real" filesystem. Obviously that's a problem.

The handbook (Section 2.13.1) says that the boot-only iso has everything needed to do a network install. So I downloaded that, mounted it and copied it to the flash disk. It boots and recognizes the NIC. Now I can do a network install. Finally. But that's a really slow way to do an install. There has to be some way to get sysinstall to install from a flash drive. Right?

So now I have questions...
How do I use a USB drive as installation media?
How do I get sysinstall to recognize the USB drive as a fixit disc/holographic shell?
How does an ISO manage a 50% compression ratio?



More information about the freebsd-stable mailing list