Sat Mar 8 00:20:44 CET 2003 Gero Kuhlmann * Changed Makefile to new makefile style (now includes config and rules) * Moved source code for primary boot loader into "first" sub- directory * Changed primary boot loader so that it can work with seperate text and data segments Thu Jul 25 14:03:18 CEST 2002 Gero Kuhlmann * Corrected some minor bugs in Makefile.in * Rewrote first.s86 in order to allow use of low-loading kernels. The kernel now gets loaded into high memory, and first.s86 moves it into low memory lateron when necessary * Removed size limit for Linux kernel * Corrected the IP address parser to recognize a protocol name * Removed the code to examine etherboot vendor information in the BOOTP packet. This is no longer supported even by etherboot itself. Wed Jul 10 21:02:48 CEST 2002 Gero Kuhlmann * Added support for newer kernels ("nfsaddrs=" changed to "ip=" and "kernel" argument should not get empty when calling kernel, use "::::::any" instead) to mknbi-linux Sun Jul 7 20:03:21 CEST 2002 Gero Kuhlmann * Changed all assembler code to GNU-assembler Intel syntax and modified Makefile.in accordingly * Added support for kernel setup code version 0x0202+ * Added debug option Thu Dec 24 13:33:37 MET 1998 Gero Kuhlmann * Changed all assembler code to use [...] syntax for variable reference * Added processor type check to first.S and changed it to use real-mode 32-bit instructions * The kernel now always gets loaded high, so changed mknbi.c and first.S accordingly * Reorganized the code within first.S a little bit, removing unnecessary code * Removed the code to support those very old nfsroot bootroms * Removed -s option (not necessary any more) * Changed all code to support the new memory layout required by the PXE compliant bootrom. It will still run on the older bootroms. These changes involve loading the boot image loader parts at 0x20000 and the kernel loader parts at 0x30000. * Changed all assembler code to netboot coding style/source layout Tue Dec 1 01:06:27 MET 1998 Gero Kuhlmann * Corrected a bug with computing the vendor data size in the boot image header Thu Sep 17 22:43:40 MEST 1998 Gero Kuhlmann * Adjusted all source files to correctly use __u8 instead of unsigned char * Adjusted all source files to use error printing macros from nblib.h * mknbi.c was writing to stderr with verbose option, changed to stdout * Changed all internal error checks to assert() Mon May 11 00:26:02 MEST 1998 Gero Kuhlmann * Added support for new netboot library routines Fri Apr 10 12:18:58 MEST 1998 Gero Kuhlmann * Allow specifying the root NFS network device name with the -i command line option * Updated the man page Fri Mar 27 23:32:57 MET 1998 Gero Kuhlmann * Allow specifying the root NFS network device name in bootptab by using tag number 130 Thu Jun 26 17:15:44 MEST 1997 Gero Kuhlmann * IP address support gets only compiled in if the proper header files exist Sun Jun 15 23:21:36 MEST 1997 Gero Kuhlmann * Fixed a bug which allowed not giving the kernel and outfile names Fri Jun 13 01:41:57 MEST 1997 Gero Kuhlmann * Added support for non-Intel architectures Mon Apr 14 19:14:35 MEST 1997 Gero Kuhlmann * Recycled the version number to the main version number of the whole netboot package Mon Mar 10 00:50:58 MET 1997 Gero Kuhlmann * Added some more debugging messages to first.S Sat Jan 25 11:54:01 MET 1997 Gero Kuhlmann * Cleaned up Markus code * Raised version number up to 1.6 Sat Jan 18 00:50:00 1996 Markus Gutschke * Fixed the code for determining the maximum size available for the BOOTP record. * New support for extracting command line parameters from the vendor tags. Sun Jan 5 20:25:33 MET 1997 Gero Kuhlmann * Changed Makefile.in to support compilation without master makefile, and to work with the bin86 from the ELKS project * Removed writing boot image to stdout, because it's not possible to seek on character devices Thu Dec 26 21:56:41 MET 1996 Gero Kuhlmann * Fixed a problem with loading a ramdisk image at a fixed location per Markus Gutschke's suggestion. Sun Oct 20 13:45:07 MET DST 1996 Gero Kuhlmann * Added support for choosing the root device if not NFS to -d option. Sun Oct 13 13:11:00 MET DST 1996 Gero Kuhlmann * Added "ram" pseudo directory name to -d option, so that the kernel can boot from a ramdisk without using init_rd. * The configuration now uses GNU's autoconf, so all files include a main config.h file, and the Makefile had to be changed and is now renamed to Makefile.in * Added support for different byte orders. It should now be possible to compile and run mknbi-linux on any UNIX style operating system. However, I don't have the means of testing this. * Raised the version number to 1.5 Mon Sep 23 15:01:59 MET DST 1996 Gero Kuhlmann * Changed the name of the program from mknbi to mknbi-linux in order to allow this program to coexist with similar programs for other operating systems. Also changed the Makefile so that everything is installed correctly. The mknbi.h header file is now identified by _MKNBI_H_LINUX_ to prevent inclusion of a wrong one. Thu May 23 13:01:55 1996 Markus Gutschke * Reformated ChangeLog file so that it can automatically be maintained by Emacs; this required changing the filename from Changelog to ChangeLog. * Apparently, Gero missed some of my most recent patches. So, I retrofitted them into his code: - Compile-time option ASM_FREEZE_AFTER_INIT. - Different levels of verbosity in mknbi.c. - Alignment to 4kB boundaries when loading ramdisk image. - Check magic number in kernel image. - Miscellaneous changes to the manual page (filename changed from mknbi.8 to mknbi.man). * Added the new compile-time option ASM_DEBUG_VERBOSE. * Added autodection of big kernels. This obsoletes the option "-b". * Clean the command line from multiple or contradictory parameters. This is useful for configurations that use /linuxrc for setting up the environment. * first.S would not compile with full debugging information enabled. Added a few more jump instructions to fix this problem. * While updating the error handling in first.S, Gero introduced a bug that made relocating the ramdisk image impossible. Fixed by reloading "si". * Added support for the "vga=" command line option. * Updated the manual page. * Raised the version number to 1.4. Thu May 16 10:07:38 MET DST 1996 Gero Kuhlmann * Code cleanup * Changed assembler code back to native 16-bit 80x86 opcodes * Fixed a couple of stack problems in the assembler code introduced with initrd support * Changed to allow compilation of mknbi on UNIX systems other than Linux Sun Mar 24 23:13:36 MET 1996 Markus Gutschke * Merged my source code with Gero's most recent source tree; basically this required adding: - new command line options: "-s", "-x" - minor clean ups - adding "hostname" to "-i" command line option - updating manual page I hope, I found all changes that Gero made after releasing the last public version. * Added new compile-time option ASM_FREEZE_AFTER_INIT to first.S and Makefile. * Added new command line option "-v". * Added second verbosity level to mknbi.c (this will output detailed load record information). * This release is now known as: Version 1.2 * Updated manual page and ordered options alphabetically. March 23nd 1996, Markus Gutschke * Pim reported that ramdisk images have to be aligned to 4kB page boundaries; applied fix to first.S and mknbi.c. March 22nd 1996, Markus Gutschke * Changed the internal data structure for creating the load map. This allows for adding vendor specific data to the load records. * Added "auto" support for location of ramdisk image and made it the default behavior. * Added vendor specific flag to end of ramdisk load record; this flag tells about the desired load mode (auto|eom|
) * Reordered indexes of load records to fit the new algorithm. * Cleaned up assembly code -- at least a little bit :-) * Updated manual page mknbi.8. March 21st 1996, Markus Gutschke * Added support for loading kernel into high memory. * Added "-b" and "-l" command line options. * Ramdisk images can now be loaded either to end of memory or at a user supplied position. * Determine size of kernel's setup code by looking into the boot sector. * Verify magic number in boot sector before accepting a kernel image. * Changed ID for type_of_bootloader to 0x41 as the old value collided with Peter Anvin's SYSLINUX. * Initialized heap pointer for kernel's setup code. * Allocated 8kB for kernel's setup code. * Disabled extra debugging messages in first.S. * Updated manual page mknbi.8. March 20th 1996, Markus Gutschke * Added support for preloading of ramdisk images to mknbi.c, first.S and mknbi.8. * Verified kernel's setup magic in first.S. * Allocated ID 0x31 for type_of_bootloader. * Ramdisk images will always be loaded to end of memory as reported by "int 0x15". * Removed extra block of junk that mknbi added to end of image.