Netboot Mailing List (by thread)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Second netboot preview



Hello,

now the second preview for netboot version 0.9 is available. You can find it
as //www.han.de/~gero/netboot/files/netboot-0.9.0b.tar.gz with a size of
approx. 700kB. This preview version is not meant for production ROMs, but the
only missing thing is the documentation, which is still on the 0.8.1 level.
However, if you have some experience with netbooting you should have no
problems using this preview.


HELP NEEDED!!!
==============

Due to the many changes with almost every aspect of the package, I'm urgently
looking for people who want to test this netboot version. Even if you don't
plan to use netboot permanently (for example because you are using etherboot
or something else), please check out this netboot version at least with the
floppy version. I do need as many test reports as possible to be able to
release the final 0.9 version by the end of the year.
The following items need special attention for testing:

- netboot now supports a couple of new standards like BBS and PMM. To test
  for this I bought a new mainboard with an Award BIOS, but this damned
  BIOS doesn't correctly implement the PnP BIOS standard, and BBS and PMM
  are not implemented by the BIOS at all. Therefore, if you have a different
  BIOS (I think AMI and Phoenix should support these standards, at least on
  Intel mainboards) please check this out. Of course this only works if the
  bootrom gets burned into an EPROM and placed directly on the network card.

- Due to the new interrupt handling imposed by the PXE specification, the
  ARP code had to be changed significantly. I only have a very small net-
  work available with a handful clients, where ARP is not needed as much.
  I'm therefore looking for tests on larger networks, including booting
  accross gateways. Also, these tests should impose a bigger load on the
  packet receiving code of the bootrom to check if it can handle a higher
  interrupt frequency. These tests should be done with both the packet and
  NDIS drivers, because interrupt handling is implemented differently with
  both driver interfaces. I've checked ARP myself as much as I can with my
  own network, so at least most bugs found in the previous netboot versions
  have been fixed now (ARP timeout etc.).

- The bootrom should be tested with different network cards and drivers. I
  only have a WD8003EP and a RTL8019 based PCI card available for testing.
  Especially, the NDIS part needs further testing.

If you have a chance of testing this new netboot version, PLEASE PLEASE do
so to help me further enhance netboot. I'm urgently needing your help.



New features:
=============

Almost every file in the netboot package has been changed somehow. It's
therefore not possible to list all new features and changes here. Please
look at the HISTORY file for a complete index. However, here are some
more or less important changes relative to version 0.8.1:

- The bootrom has been split into two parts: the bootrom kernel and the
  network driver interface, which are completely independent of each other.
  They communicate using the Universal Network Driver Interface (UNDI)
  specification. This modularization allows much more flexibility in
  configuring the bootrom.
  Three bootrom kernels are provided: the standard kernel, a kernel with
  support for old menus (defined by using BOOTP tags), and a kernel for
  old 16-bit x86 processors.
  Three network driver interfaces are provided. In addition to standard DOS
  packet drivers you can now also use NDIS-2 drivers. You should therefore
  find a driver for almost every network card on the market. Also, a stub
  for generic drivers is provided. It is now possible to write UNDI network
  drivers specially designed for the netboot bootrom (like it always had
  to be done with etherboot). Such generic drivers have the advantage of
  being smaller and faster than any of the standard drivers, but the dis-
  advantage of not being available by manufacturers. Implementation of a
  RTL8019 driver is planned for the next netboot version as a reference,
  likely to be based on the Linux kernel network driver sources.

- Support for various industry standards:
    * PnP BIOS specification
    * BIOS boot specification (BBS)
    * Device Driver Initialization Model (DDIM)
    * POST memory manager specification (PMM)

- The bootrom now has an API which fully complies to Intel's Preboot
  Execution Environment (PXE) specification, version 1.0 Release Can-
  didate Draft, which is part of the latest WfM 2.0 specification.
  Unfortunately, Intel doesn't provide a test kit yet for this version
  of the WfM specification. As soon as such a test kit gets released by
  Intel, I will verify (and adjust if necessary) proper bootrom operation.
  This seems to be necessary because the specs are not clear with some
  aspects. However, you can now start programming with the bootrom. Please
  note that at the UNDI level the PXE 1.0 specs (on which netboot is based)
  are quite different from the older specs which are part of WfM 1.1a.

- mknbi-dos has been changed so that it's now possible to keep certain
  parts of the bootrom in memory when DOS starts. With the PXE API you
  can therefore use the TFTP, UDP and network driver parts of the bootrom
  with your own DOS programs and don't have to load a seperate network
  driver.

- mknbi-linux also had to be changed because of the memory layout changes
  required to implement PXE. It now always loads the Linux kernel into high
  memory. Also, the Linux loader has been changed to 386 code so that it
  runs faster. Because of all these changes to mknbi-linux you have to
  generate new Linux boot images when using the new bootrom. Old Linux
  boot images won't boot with the new bootrom, but new boot images work
  with old bootroms. Therefore, you can safely generate new boot images
  for all your diskless clients even if you don't want to use the new
  bootrom permanently.

- makerom received a good deal of changes. Listing them all would increase
  the size of this file significantly. The more apparent changes relate to
  the user interface and the configuration and database files. Because of
  the new bootrom structure (two parts plus network driver) and the ability
  to use different network drivers the database file format had to be changed.
  Also, makerom now comes with a large database of pre-known network cards. If
  you have a driver which is listed there, you don't need to enter more data
  than absolutely necessary. Especially, the PCI vendor/device ID's and the
  PnP ID (if applicable) get set automatically. If makerom is unable to
  automatically detect your network drivers please let me know so that I can
  update the card database.

- Some of the minor changes:
    * support for blocksize and filesize TFTP options for a much faster
      loading of boot image files (a suitable TFTP daemon can be downloaded
      from the netboot home page - I don't include it with the netboot package
      because it's not GPLed - or is it legally possible to include a program
      covered by the BSD copyright into a GPLed package?).
    * upon startup, the bootrom can now optionally ask the user if he/she
      wants to start the network boot, or continue with a disk boot.
    * changed all makefiles to run with non-GNU-make programs, like SysV.
    * the new PXE memory layout now allows loading boot image files into
      low memory (below 0x0010000)
    * added a couple of additional Crynwr packet drivers
    * many many bug fixes (and probably at least the same amount of new
      bugs... :-((



Installation:
=============

Since the documentation has not been updated yet with this preview version,
here is a short installation instruction:

- Delete any old netboot directory (/usr/local/lib/netboot) or rename it
- After unpacking run:

	./configure
	make
	make install

  It is still possible to use netboot without installation, but to get the
  most functionality you should install it.
- Copy all network drivers you have available for your network cards into
  the netboot directory:
     * Packet drivers should go into /usr/local/lib/netboot/netdrvr/pktdrvr
     * NDIS drivers should go into /usr/local/lib/netboot/netdrvr/ndis
- Run makerom to generate a new bootrom

Everything else (generating boot image files etc.) works like with the old
netboot versions. Remember to re-generate your Linux boot image files with
the new mknbi-linux. If you have created a database file for your clients,
you can easily use the -b option of mknbi-linux.



Plans for the future:
=====================

Planned for the final release of 0.9 is a documentation update in addition
to fixing all the bugs you are telling me. The next version (0.9.1) will
then get DHCP support and some support for generic network drivers. Some
other future projects, for which I'm glad to receive support from you, are:

- Enhancements to MGL: The compiler needs a complete rework like internal
  pseudo-op generation, better optimization and support for object file
  output so that it becomes possible to link other object files and libraries
  into an MGL program. This should make it possible to access the PXE bootrom
  functions from an MGL program, and write small network programs completely
  using MGL.

- Enhancements to makerom: I'm still thinking about a curses- and/or X11-
  based user interface to makerom, but haven't had the time yet to implement
  it.

If you are interested in contributing to the netboot project, please let
me know for further coordination of our work.


That's all for now. Hopefully, many of you send me your findings on testing
this new preview release. Remember, the more replies I get the sooner the
final version 0.9 will be released. At present I'm planning to release it
by the end of the year. Therefore, please test it and send me your findings.
Tell me if netboot works for you, and more importantly if it doesn't work.

Thanks in advance for your support.

gero.

-- 
The better technology does not always sell better, even if it is first.
  - William J. Spencer, Xerox Corporation
--
Gero Kuhlmann, Hannover     0511/6497525 (Voice)        gero@gkminix.han.de
===========================================================================
This Mail was sent to netboot mailing list by:
Gero Kuhlmann <gero@gkminix.han.de>
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.