This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Etherboot image types ====== Using rom-o-matic, or compiling Etherboot yourself, you will be able to generate different file types, depending on your needs. Those file types shall be explained here: ===== Floppy bootable ROM image (.zdsk) ===== These files are meant to be used on floppy disks. If you obtained such a file, copy it to a floppy: Under Linux, <file>cat etherboot.zdsk > /dev/fd0</file> will mostly do the trick. Programs for windows are also available; raw disk access is an add-on-feature on windows, which ''rawrite'' can be used for. [[http://www.redhat.com/docs/manuals/linux/RHL-7.1-Manual/alpha-install-guide/s1-makediskette-rawrite.html|RedHat has an explanation]] of rawrite usage. Those files can also be used to run [[vmware|Etherboot inside VMware]]. Bochs and qemu might also work. ===== Binary ROM image (.zrom) ===== Binary ROM images are meant to be [[burningroms|burned into a ROM chip]], which then is set into the ROM socket on a network card. Those files can also be patched into a Mainboard BIOS, at least for Modular Award and AMI BIOSes this has been done successfully. The advantages of adding EtherBoot into a mainboard BIOS: * Fast access * easier management, because of using BIOS flash utilities\\ ( programming a network card (Flash)EEPROM is generally more complicated/time consuming ) * Further EEPROMs are not necessary\\ (Using EtherBoot ROM directly on/with a network card, needs a further EEPROM at first. Embedding EtherBoot ROM into a mainboard BIOS does not require a further EEPROM.) Read [[biosmodule|this article]] to find out how to patch Etherboot into a Mainboard BIOS. Information about [[vmwarebios|using .zrom files in VMware and bochs]] is also available. [[http://www.codebreakers-journal.com/index.php/CodeBreakersJournal/article/view/12/13|A Codebreakers-Journal article]] describes the whereabouts of Option ROMs in the PC boot process. ===== ISO bootable images (.iso, .liso) ===== Those files are meant to be burnt onto a CD-ROM. Although very small (what a waste of disk space), there might be situations where PCs can reasonably be booted from CD-ROM instead of floppy disk, to run Etherboot later. The difference between those two lies in the mechanism of disk access (and details are to be found in the source, if you really need to know). Try one, if it does not work with your BIOS, try the others. *FIXME* A recommendation of the method rather expected to work would be nice. ===== LILO/GRUB/SysLinux files (.zlilo) ===== Those files are meant to be loaded by any of those bootloaders. To the bootloader, it will look like a Linux kernel, so just go ahead as you would with inserting another kernel file into your bootmanager configuration. ==== Using lilo on a floppy ==== Marty Connor wrote an explanation on how to use .zlilo files on a floppy: <file> First, you need a formatted floppy. I would recommend doing: fdformat /dev/fd0H1440 Which will low-level format a standard double-sided 1.44M floppy disk. If your floppy is already DOS formatted, you can probably skip this step. Next, you can do: mformat -f 1440 a: Which puts a DOS filesystem on the floppy ( and makes sure the floppy geometry is known :) ). Next, let's use SYSLINUX to make the floppy bootable: syslinux /dev/fd0 After this step, you have a bootable floppy, but nothing to boot. Let's fix that. First we'll need something to boot. Make a .zlilo file using rom-o- matic.net or, since you're writing a driver, something like: make bin/mynic.zlilo Let's put it on the DOS floppy, using an 8.3 format name: mcopy bin/mynic.zlilo a:mynic.zli Now, we just need to tell SYSLINUX to boot our image. For that, you need a file called "syslinux.cfg" on the floppy. So first, create a text file in emacs, vi, or whatever your favorite text editor is, and put the following three lines in it: DEFAULT mynic.zli LABEL mynic.zli KERNEL mynic.zli Save the file as syslinux.cfg. Now, copy the file to the floppy with: mcopy syslinux.cfg a: You can do: mdir a: to see the contents of your floppy: Volume in drive A has no label Volume Serial Number is 063C-F9DA Directory for A:/ ldlinux sys 8236 2006-06-21 10:43 mynic zli 25162 2006-06-21 10:50 mynic.zli SYSLINUX CFG 57 2006-06-21 10:58 syslinux.cfg 4 files 33 512 bytes 1 422 336 bytes free You now have a bootable DOS formatted floppy that you can put into your test machine, and it should load and run your .zlilo formatted Etherboot image. One of the nice things about this is that when you want to update your floppy, you can just do: mcopy mynic.zlilo a:mynic.zli and the floppy is ready to go. It makes for easy testing. Of course, if your testing machine has a hard drive, you can use GRUB or LILO to load an Etherboot .zlilo (or .lilo) image. LILO needs to be run again if you copy a new image onto the media, because it stores the disk location of the file. GRUB and SYSLINUX find it by name, so just putting it in the right place with the right name is enough. I hope this message is helpful. It probably should be on the Etherboot wiki or in an FAQ. (anybody want to do that? :) Corrections and suggestions to this recipe are welcome. I am sure there are other ways to achieve the same effect. In particular, if the syslinux.cfg file contained: PROMPT 1 TIMEOUT 30 DEFAULT mynic.zli LABEL mynic.zli KERNEL mynic.zli SYSLINUX would display a "boot: " prompt for 3 seconds before booting, and allow you to type in a filename instead of "mynic.zli". This might be useful for testing alternative images without deleting the original one. Please let us know how things go, or if we can offer other suggestions to make your development task easier. Regards, / Marty / </file> ==== EtherBoot from USB flash ==== An EtherBoot initial load from USB flash media is quite staightforward provided of course that your BIOS can boot from USB in the first place. A modern machine will probably be able to do this. - BIOS - USB master boot record - USB partition boot record - SYSLINUX - EtherBoot - Linux kernel Your BIOS should really be able to boot from any sensible arrangement of partitions and boot sectors, but it might insist that a ZIP DRIVE geometry be used. Required: [[http://syslinux.zytor.com/|SYSLINUX]] [[http://www.etherboot.org|EtherBoot]] Once Linux is running with USB storage support, an inserted USB key will appear as a SCSI drive and be called something like ///dev/sda//, ///dev/sdb//, ///dev/sdc//,... in the following guide, the key is referred to as ///dev/sda//. ** Be certain which device name refers to your flash key as this device is about to be irrevocably erased ** ===== USB Flash EtherBoot - General hard disk boot geometry ===== * If necessary, prepare Linux to handle USB storage devices. This is up to your configuration and distribution. For example, you might find these modules present if they are not already linked into the kernel: Module Size Used by sd_mod 19472 0 usb_storage 35588 0 libusual 14864 1 usb_storage uhci_hcd 25100 0 usbcore 141956 4 usb_storage,libusual,uhci_hcd * Insert USB flash key and examine //dmesg// output sda: sda1 sd 2:0:0:0: Attached scsi removable disk sda * Wipe the master boot record ** losing all data ** dd if=/dev/zero of=/dev/sda bs=1k count=128 * Create new partition sfdisk /dev/sda [ENTER for defaults then (w)rite partition table] Device Boot Start End #cyls #blocks Id System /dev/sda1 0+ 1021 1022- 124683+ 83 Linux /dev/sda2 0 - 0 0 0 Empty /dev/sda3 0 - 0 0 0 Empty /dev/sda4 0 - 0 0 0 Empty * Mark the partition as active: sfdisk /dev/sda -A1 * Create a DOS filesystem on the newly created active partition mkdosfs /dev/sda1 * Install SYSLINUX onto it syslinux /dev/sda1 * Mount the device and copy over required //networkcard.zlilo// file and corresponding //syslinux.cfg// [[eb_imagetypes#Using lilo on a floppy|just as in a diskette boot]]. There will now be three files on the flash device root@shark(/flash)# ls ldlinux.sys r8169.zli syslinux.cfg root@shark(/flash)# cat syslinux.cfg default r8169.zli * Unmount the device, shutdown and reboot from the network. ===== USB Flash EtherBoot - ZIP drive geometry ===== An older machine may insist on a geometry which appears to your BIOS as a standard ZIP drive having 64 heads and 32 sectors per track. The number of cylinders depends on the capacity of the drive. A ZIP drive boots from partition 4. * Use the mkdiskimage script from SYSLINUX to create a blank DOS-formatted image on your flash key, letting mkdiskimage work out the size of the device. This may take a little while to complete. mkdiskimage -4 /dev/sda 0 64 32 * Install syslinux onto the key. syslinux /dev/sda4 * Mount /dev/sda4 and copy over required //networkcard.zlilo// file and corresponding //syslinux.cfg// [[eb_imagetypes#Using lilo on a floppy|just as in a diskette boot]] * unmount the device, shutdown and reboot from the network. More recipies can be found [[http://www.beezmo.com/FloobyDustDir/FDKnoppixUsbDir/FDKnoppixUsb.htm|here]], with another source of information [[http://www.freesoftwaremagazine.com/articles/grub_intro|here]]. ===== PXE bootstrap loader (.zpxe) ===== .zpxe files are meant to be loaded BY a PXE ROM, so that Etherboot can replace the PXE functionality. Please read also [[pxefilenamehack|A method to work more than one stage of PXE with stupid DHCP servers]]. ===== DOS executable (.com) ===== .com files are straightforward: Boot DOS, execute etherboot.com (except that DOS only has 8.3 filenames...). You will have to find out though wether etherboot works with EMM386 loaded, for example. ===== Hard disk partition image (.zhd) ===== *FIXME* ===== ELF Rom images (.elf) - generic / LinuxBIOS ===== *FIXME*


Navigation

* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code eb_imagetypes (generated for current page)