I’m working on the UNDI driver of the GRUB diskless patch. The driver (from etherboot-5.3.5) now works fine before I do any I/O operations. That is, the diskless GRUB can do DHCP proper, but dies on downloading kernel. It even dies on loading kernel from local disk (the disk gets busy and GRUB doesn't respond any more). Two points are suspicious: 1. UNDI is resident in the high end of the lower memory and modifies the BIOS FBMS (at 40:13h) to avoid being crashed by the OS (i.e. GRUB) to load. After loaded, the Etherboot UNDI driver will release some unused UNDI data, allocate new space to install UNDI API and modify the FBMS to the new value. ---- I don't know where the GRUB always examines FBMS before it tries to write on the high end of the lower memory. If not, GRUB may have crashed the UNDI data before it call the driver again :( 2. UNDI uses interrupt, so the UNDI driver set a 'trivial_irq_handler' after it is initialized. That seems to work fine at start, but I don't know whether it conflicts with grub I/O mechanic after grub get control. (The driver uses only one irq specified by UNDI ROM, but do not uninstall it until it is disabled)
If the problem is fixed, we could support any NICs with PXE with it :). Many thanks. Feng Shuo Email: [EMAIL PROTECTED] Tel:(86)10-62659372ext1003 Fax:(86)10-62657255 Postcode:100080 National Engineering Centre for High Performance Computer Institute of Computing Technology,Chinese Academy of Sciences 6,Kexueyuan Road South, Haidian District, Beijing,China _______________________________________________ Bug-grub mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-grub