From:	MX%"netboot@baghira.han.de" 14-JUL-2000 23:34:54.13
To:	MX%"netboot@baghira.han.de"
CC:	MX%"jt@fuw.edu.pl"
Subj:	Etherboot/Netboot introductory info

Return-Path: <netboot-owner@baghira.han.de>
Received: from cocos.fuw.edu.pl by npdaxp.fuw.edu.pl (MX V4.1 AXP) with SMTP;
          Fri, 14 Jul 2000 23:34:52 MET_DST
Received: from baghira.han.de ([212.63.63.2]) by cocos.fuw.edu.pl (8.9.1/8.9.1)
          with ESMTP id XAA06010 for <Jerzy.Tarasiuk@fuw.edu.pl>; Fri, 14 Jul
          2000 23:40:04 +0200 (MET DST)
Received: (from root@localhost) by baghira.han.de (8.9.3/8.9.3) id WAA00499 for
          netboot-outgoing; Fri, 14 Jul 2000 22:43:27 +0200
Received: from shadow.han.de (shadow.han.de [212.63.63.8]) by baghira.han.de
          (8.9.3/8.9.3) with ESMTP id WAA00496 for <netboot@baghira.han.de>;
          Fri, 14 Jul 2000 22:43:26 +0200
From: Jerzy.Tarasiuk@fuw.edu.pl
Received: from cocos.fuw.edu.pl (cocos.fuw.edu.pl [193.0.80.11]) by
          shadow.han.de (8.9.3/8.9.3) with ESMTP id WAA18879 for
          <netboot@baghira.han.de>; Fri, 14 Jul 2000 22:43:29 +0200
Received: from fizyk1.fuw.edu.pl (fizyk1 [193.0.81.41]) by cocos.fuw.edu.pl
          (8.9.1/8.9.1) with SMTP id WAA05184; Fri, 14 Jul 2000 22:48:26 +0200
          (MET DST)
Received: by fizyk1.fuw.edu.pl (4.1/SMI-4.1) id AA00671; Fri, 14 Jul 00
          22:43:19 +0200
Date: Fri, 14 Jul 00 22:43:19 +0200
Message-ID: <10007142043.AA00671@fizyk1.fuw.edu.pl>
To: netboot@baghira.han.de
CC: jt@fuw.edu.pl
Subject: Etherboot/Netboot introductory info
Sender: owner-netboot@baghira.han.de
Precedence: bulk
Reply-To: netboot@baghira.han.de
X-Moderator: netboot-owner@baghira.han.de


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.

