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.