Hello,
I wrote some introductory info about Netboot and Etherboot.
Of course, I am not sure if it is completely correct, also
there are few questions in it, and maybe some info I did not
put here is important enough to be required in such an info.
So, please help me make it better.
Jerzy Tarasiuk
PS: one of my purposes was to have the info for me, to know
what to do with these programs, what can I expect, etc.
----------------------------------------------------------------
1. Making bootrom.
Etherboot requires a driver - when you have the Etherboot
driver for your card, just 'cd src' and use 'make' to make
the bootrom images (will be in src/bin*/ subdirectories);
otherwise you need write or get suitable driver:
- written in C, to be compiled on Linux
- has one public function: probe, which returns a pointer
to a nic structure, describing other functions and NIC
- has the following functions passed in the nic structure:
- reset ( nic_struct_pointer )
- disable ( nic_struct_pointer )
- send ( nic_struct_pointer , byte eth_addr[6] , p_type ,
data_size , &data )
- poll ( nic_struct_pointer ) - this returns 0 if nothing
received, 1 if received ( nic->packet gets data from
the packet, nic->packetlen gets length of the data )
more detailed info how to write an Etherboot driver is <a href=
"http://etherboot.sourceforge.net/doc/html/README-9.html#driver"
>here</a>;
and there are drivers for many cards <a href=
"http://etherboot.sourceforge.net/doc/html/README-1.html#ss1.1"
>(here is list)</a>.
Netboot driver and related issues:
- uses packet driver (from netboot/bootrom/netdrvr/, drivers
3c501, 3c503, 3c509, arcether, dc21x4, e100bpkt, ne1000, ne2000,
ne2100, smc_wd are distributed with netboot;
- has relatively large 'kernel', e.g. bootrom code length w/ 3c503
driver is 0x3172 bytes (driver size ~= 0x1512) for minimal one,
other kernels result in larger image - almost 16kbytes;
- a 'makerom' program which makes rom image asks for:
- kernel (1:normal, 2:minimal, 3:8086; '1'-'3' ~= 112 bytes)
- look for boot drives (y/n; size does not depend on answer)
- driver (these from the netdrvr directory - can put own ones
there, or 0 to be asked for full path of the driver to use)
- command line arguments for the driver
- do you want to use ANSI display driver (yes = almost 1kb more)
- do you want to use acket driver debugger (almost 1kb, too)
- do you want to specify an additional program, if 'yes' then
- full path name of the program
- command line arguments for the program
- and the question about additional program displayed again
(an empty program takes 5 bytes; the program is told to be
invoked before driver, it can be DOS .com or .exe file)
- finally, output file format (always floppy image is made)
and writes files image.flo and image.rom; the first has 200-byte
(decimal 200!) more than rom size, second is 0-filled to 2^N,
and last byte in the image is adjusted to get proper checksum
(it would be better to use FF fill (eprom programming time)).
2. Making boot images.
I believe both share the same boot image format - is it true?
Both have utils to make the boot image (called mknbi*), and
these are different (in spite of their common origin):
- Netboot has utils to make DOS or Linux images, and Menu image
(written in some Pascal-like language); do I guess correctly
that it allows to select what boot is to be done?
- Etherboot can make images for linux, freedos (loading kernel
without the image and saving memory this way), dos, and rom -
this last allows to load bootrom image from boot image, for
testing purposes; I did not see info about menu there.
[seems need write more on the topic - later]
3. Where can get them from and what version?
Etherboot: http://etherboot.sourceforge.net/
version 4.6.3 of 08 Jul 2000
Netboot: http://www.han.de/~gero/netboot.html
version 0.8.1 of 07 Jun 1998
version 0.9.0e of 29 Jun 2000 ?
(the 'version' is the last known when I was writing it)
----------------------------------------------------------------
===========================================================================
This Mail was sent to netboot mailing list by:
Jerzy.Tarasiuk@fuw.edu.pl
To get help about this list, send a mail with 'help' as the only string in
it's body to majordomo@baghira.han.de. If you have problems with this list,
send a mail to netboot-owner@baghira.han.de.
For requests or suggestions regarding this mailing list archive please write to netboot@gkminix.han.de.