Boot from USB eat your heart out – Standby for boot from Web!
Needed to get my embedded firewall up and running with CentOS 5.4, however it doesnt have a CD-ROM so brushed off the cobwebs on PXE boots which i havent done for years.
Spent 2 hours pulling my hair out as tftpd32 (build 335) running on Windows 7 wasn’t initialising pxe boot clients properly. Was getting ‘5184 Request 2 not processed’ errors, clients were getting an IP but didnt progress beyond that so not sure what the issue was.
Fired up the same config on Windows Vista and worked straight away. So much for those 2 hours of life wasted head scratching!! D$RT:F£$@""!
I stumbled across gPXE, from the website: "gPXE is an open source (GPL) network bootloader. It provides a direct replacement for proprietary PXE ROMs, with many extra features such as DNS, HTTP, iSCSI, etc". In summary its an advanced iSCSI, HTTP, FTP boot loader, that bootstraps from a PXE loader. With the normal PXE boot I would have to find pxelinux.0 (which isnt on CentOS CDs for some reason), configure pxelinux.cfg and all that stuff.
Thought it would be cool if the bootstrapped gPXE could boot from the internet server, so i gave it a try:
- Went to the following website to generate the PXE image: http://rom-o-matic.net/gpxe/gpxe-0.9.9/contrib/rom-o-matic/
- Added the following script (under advanced options):
- Hit ‘Get Image’ and downloaded the PXE file.
- Set the downloaded PXE file from the above steps to be served to via dhcp filename option in tftpd32 (in Vista not Windows 7!)
- Turned the clients on, hey presto the gPXE ran up after downloading from the tftp server, then proceeded to download and boot the kernels specified above.
The box is currently installing over the internet as i type… superb and no CDs needed!
Please dont laugh at the 70 mins install time… even though i pay best part of £100 a month my internet connection sucks!!