After Mike Laverick posted his experience with ESX Server and USB flash disks in another thread, I decided to figure out how to make it work.
Here's a quick rundown on setting up a USB flash disk (ie. pen drive, flash key, etc.) to install ESX Server.
Requirements:
\- You will need at least a 1 GB USB flash disk.
\- You must have
both
the ESX 3.x CD-ROM and ISO image handy.\- You will need an ISO image extraction tool such as WinISO, MagicISO, or even WinRAR.
\- You'll need SYSLINUX, a Linux boot loader for removable media. Get it here:
http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.36.zip
\- These instructions are based on a Windows PC for simplicity. If you're a Linux guru, then you can obviously do this under Linux. You'd need to know how to mount .ISO images in order to extract files, etc.
Steps Required:
1. Plug in your USB flash disk and format it under Windows. Use the FAT filesystem (not FAT32, although it would probably work).
2. From Windows Explorer, find the
boot.iso
file in the/images
directory on the ESX 3.x CD-ROM. Copyboot.iso
into a temporary directory on your hard drive.3. Using your ISO extraction program of choice, extract the contents of the
boot.iso
file to your USB flash drive. On my PC, it's theE:
drive.4. Delete the
isolinux.bin
andupdatecd.cfg
files from the USB flash disk.5. Rename the
isolinux.cfg
file on the USB flash disk tosyslinux.cfg
6. Using WordPad (not Notepad), open the
syslinux.cfg
file and add the keyword usbto the end of every line that begins withappend
. Here's what the file should look like when you're done:default esx
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F7 snake.msg
label debug
kernel vmlinuz
append initrd=initrd.img noapic nomediacheck debug usb
label esx
kernel vmlinuz
append initrd=initrd.img usb
label text
kernel vmlinuz
append initrd=initrd.img text usb
label expert
kernel vmlinuz
append expert initrd=initrd.img usb
label ks
kernel vmlinuz
append ks initrd=initrd.img usb
label lowres
kernel vmlinuz
append initrd=initrd.img lowres usb
7. Now, extract the
syslinux
.zip file into another temporary directory on your hard drive.8. Open up a command prompt and use the
cd
command to navigate into thewin32
directory. For example:
cd C:\temp\syslinux-3.36\win32</p>
9. Now, run the syslinux program to apply the boot loader and boot sector to the USB flash drive:</p>
syslinux -s e:
( On my PC, my USB flash drive is mounted as drive E: )
10. Finally, copy the ESX 3.x ISO image onto the flash drive:
+copy c:\iso\esx-3.0.1-32039.iso e:\ +
11. Confirm that your USB flash drive contains the following files:
boot.cat
boot.msg
initrd.img
snake.msg
splash.lss
vmlinuz
syslinux.cfg
esx-3.0.1-32039.iso
12. You're all set! Unplug the USB flash drive, configure the BIOS on your server to boot from USB accordingly, and boot 'er up!
13. The ESX installer will detect the USB device and whatever SCSI / disk controllers you have. When the installer asks you what the installation source will be, choose
Hard Disk
.14. You will need to choose the right disk device (ie. /dev/sda, /dev/sdb) that corresponds to your USB flash disk. Chances are it will be /dev/sdb.
15. Finally, the installer will ask you what directory to find the ESX installation CD image in. Just use / and it will find the .ISO image for you.
16. The rest is history!
Please let me know how this works for you and if you run into any glitches. This is going to save me a lot of time since I don't have CD-ROM drives in all of my servers!!
Paul