Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
eb_imagetypes [2007/04/07 03:59]
stevem
eb_imagetypes [2007/04/07 04:00]
stevem
Line 1: Line 1:
-====== 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* 

QR Code
QR Code eb_imagetypes (generated for current page)