Split off from Etherboot as mknbi-1.1-0 on 2001-02-18 + Change Z5 unpack formats to a5 because Z introduced on in Perl 5.005. + Set dl to drvid just before calling boot block, in case some boot blocks expect this. + Updated comments in first32.c to reflect Etherboot-5.0 memory map. Released as mknbi-1.1-1 (development) Released as mknbi-1.2-0 (production) + A debugging statement left behind in disnbi.pl, tsk. + Support setup.S header version 0x0202 where parameter string pointer is 32-bit pointer. + Put mknbi version into vendor string so that it will be in image. + Derive version number of mknbi.pl and first32.c from VERSION in Makefile. + Replace 0x9000 by $relocseg, and add support for placement of Linux segments at 0x90000 and 0x80000 upwards. + Makefile now makes 2 more versions of first32{,pm,elf}.linux for placement at 0x92200 and 0x82200. Released as mknbi-1.2-1 (production) + Vendor magic string changed due to addition of version number, this caused the self consistency check to fail in first-*dos. + Use --oformat binary to cater for newest ld's. + Moved setup segment of mknbi-fdos to 0x93000. 0x97000 is used by Etherboot now. Released as mknbi-1.2-2 (production) + Added the --rdbase option to mknbi-linux, for specifying the memory location of the ramdisk. + Added some tips by Phil Davey on creating bootable MSDOS images. + Henk van de Kamer pointed out that 2.88 MB floppies actually have 80 tracks and 36 sectors instead of 160/18. It doesn't matter for network booting, but I changed it to reduce confusion. + Merged in changes by Peter Lister to support --rootmode=rw|ro. + Round down top of memory as returned by memory sizing routine to next lower 4kB boundary to make sure that ramdisk will be aligned properly. + Implement missing functionality per spec: appending additional kernel options from the vendor selection. RFC1533_VENDOR_SEL option holds value of tag that holds the options string. If the 7th argument exists, append it to kernel options after the global options, but before keyword=value substitutions. Released as mknbi-1.2-3 (production) + Hyun-Joon Cha discovered a trivial bug in 1.2-3. The kernel parameters are inserted twice, which may lead to overflow of the parameter space. + A new (s)printf which does not limit the length of the output is now used. Released as mknbi-1.2-4 (production) + Renamed do_printf to vsprintf because that's the standard function it has the same signature as. + Moved include of linux-asm-string.h into string.h in anticipation of using string.h for other standalone binaries. Added signatures for more string functions. Introduced stddef.h which contains minimal definitions to port hosted programs. Current target: lua. + Daniel Wagner sent in patches to the Makefile so that distinct intermediate files are used for the various first* images, otherwise there will be problems with parallel makes (-j). + Implemented --noharddisk option to disable hard disk access. No, make that --disableharddisk. In Perl Getopt --noharddisk is automatically the inverse of --harddisk. + first-linux.S had the right parenthesis in the wrong place for the initialisation of vmagic. + Print warning if zImage kernels are large enough to extend into Etherboot area. Released as mknbi-1.2-5 (production) + Implement --rdbase for mknbi-fdos and mknbi-dos to specify starting address of ramdisk (floppy image). + Make first.*dos depend on Makefile so that the version signature gets updated when the version is updated. + Print some friendly advice if --ip is not specified and there is no ramdisk argument (i.e. probably needs NFSroot). + Shuffle segments to make more space for parameters and first32. This version and future versions may not work with Etherboot images that have been compiled with BOOTP_DATA_AT_0x93Cxx. (There is some reprieve due to first32.c not using all 6kB of the allocated room yet, but that space may be used some day.) + Implement interception and decoding of the mem= kernel parameter to use as top of memory for the purpose of relocating the ramdisk. Released as mknbi-1.2-6 (production) + Add E820 BIOS memory sizing routines from Etherboot written by Eric Biederman. May help people with recent BIOSes. + Limit the top of ramdisk to 896MB for setup version 0x202 and earlier, or the greater of the setup variable ramdisk_max or 896MB for setup version 0x203 and later. If the user overrides it with mem=, then it's their responsibility. Released as mknbi-1.2-7 (production) + Add an EXTRAVERSION to Makefile, to be printed out by first32.c. + Modified call to int15h/e801 in start32.S to check for return values in CX, DX in case BIOS doesn't return them in AX, BX. + Ported internal menu program from Etherboot to be external menu program for mknbi-menu. + Updated URL for FreeDOS kernel sources. Released as mknbi-1.2-8 (production) + Robb Main contributed an enhanced menu implementation, mknbi-nfl. Released as mknbi-1.2-9 (production) + Add finalise_image hook in Elf.pm and Nbi.pm for later use. + Fixed start32.S to not rely on where it's called from, essential for booting from Etherboot 5.1+. For this we have to switch GDT like startmenu.S does. Released as mknbi-1.2-10 (production) + Patch from Doug Ambrisko to handle BSD. + Put in serial port console. + Forgot to include binary menu in RPM version, spotted by Masaru Kawashima. Also make symlinks to man page while at it. Released as mknbi-1.2-11 (production) + Changes by Eric Biederman for checksumming. Propagate parse_elf_boot_notes to other menu programs. + printf ignores width specification now. + mknbi-rom loads ROM image at 0x60000 now. + Make printf return value of sprintf, as per C99 spec. Released as mknbi-1.2-12 (production) + Relocated menu programs to 0x60000. + Rename some calls in startmenu.S for uniformity and hide some symbols that don't have to be global. + Downloadable Lua interpreter. Released as mknbi-1.4.0 (production) + Number segments in disnbi from 0 both in messages and in filenames. + Fix problem found by Eric in startmenu.S which affects segment override on 486s. + Add -I. to CFLAGS to make sure we get our includes instead of the system's. + In disnbi, call binmode on O not 0. + Quick and dirty Perl script to convert NBI Linux images to ELF. + Patches from Robb Main to handle larger "disks". + Added a --version option to display version. + Use lret to jump off to kernel instead of indirect jump through a data location. + Warn if in a .UTF-8 locale as this may affect binary string handling. Released as mknbi-1.4.1 (production) + Fixed bug in menu generator where ANSI escapes did not work. Was broken by introduction of LUA interpreter. Released as mknbi-1.4.2 (production) + first32.c can now be conditionally compiled as a DOS trampoline. Not tested, have to postpone to 1.4.4. + Add Quit Etherboot entry to nfl.c. + Add mkelf-img program. + Use perl instead of sed to substitute variables. If they have perl for execution they should have perl for building. + Fix a serious error in mkelf-linux where a reference to a memory location in Etherboot was used after moving the initrd up in memory. Released as mknbi-1.4.3 (production) + Improved spec file from Oron Peled. + Add memcmp to string.c and add string.o to list of objects to link, as recent gcc versions don't provide a builtin memcmp anymore. + Merge patches from Isac, and Michael Brown pertaining to padding of initrds and memdisk images. + Merge patch to menu-simple.c from Isac. + Merge corrected algorithm for calculating used sectors from Isac. + Don't print warning message for UTF-8 with Perl 5.8.3 onwards. Earlier versions of 5.8.x may be safe too, let me know. Released as mknbi-1.4.4 (production)