blob: f3111eef8624020f6442bf903c42c89e4d9db93b [file] [log] [blame] [raw]
2008-11-19(r62) enable interrupt when DELAY. avoid disabling CPU cache in a20_test(a20.inc).
2008-11-18p added STIs to better respond hardware interrupt(a20.inc, asm.S).
2008-11-18 changed DELAY code(a20.inc). added JMPs in unreal mode for RAM disk emulation(asm.S).
2008-11-15 loosened the check of the first FAT entry(fsys_fat.c). avoid using OUT instruction in DELAY(a20.inc).
2008-11-11(r61) added --ignore-cd option for the find command.
2008-11-08 read the boot file to determin the pxe block size. avoid running pxe_detect for non-pxe booting.
2008-11-02 added a new option --mbr-no-bpb for bootlace.com.
2008-11-01 changed PXE_MIN_BLKSIZE and PXE_MAX_BLKSIZE. allowed FAT cluster size larger than 32K.
2008-10-26 fixed pxe block size issue.
2008-10-21 fixed cylinder issue in int13/ah=8. Fixed stack conflict in bootlace.
2008-10-17 added command line options --serial-number=SN and --restore-mbr to bootlace.
2008-10-12 fixed a bug in fsys_fat.c causing FAT32 mount failure.
2008-10-03 cancelled unnecessary initialisations for the root device.
2008-10-02 improved int15 probing in probe_int.
2008-10-01 before booting GRLDR, give the user a chance to boot previous mbr.
2008-09-30 fixed a big bug in set_bootdev causing extra rawread executed and the geometry messed up.
2008-09-29 fixed a big bug in get_diskinfo causing duplicate geometry calculation for each IO request on floppy.
2008-09-27 fixed a new bug intrduced recently in get_diskinfo.
2008-09-25 fixed an issue of uninitialised current_term in boot.c, causing the failure of the kernel command in graphics mode.
2008-09-24 fixed the issue of "$BITMAP should be non-resident when in attribute list" in fsys_ntfs.c.
2008-09-23 fixed virtual cdrom sector read issue(64K at a time) for a non-mem mapping.
2008-09-21 added a new command "tpm --init".
2008-09-21 fixed memory conflicts between graphics mode and linux kernel.
2008-09-20 fixed a serious problem in grldrstart causing boot failure on FAT.
2008-09-19 fixed a new bug intrduced last in get_diskinfo.
2008-09-15 fixed a problem when different action occurs on a drive between chs and lba.
2008-09-13 fixed a problem of reentering int13 handler from a virtual device on a real cdrom device driven by the builtin cdrom driver.
2008-09-12 fixed an issue of whole cdrom mapping.
2008-09-09 fixed virtual cdrom sector read issue when it is not a mem-mapping.
2008-09-07 title delimitors(or comments) can be used in menu now.
2008-08-27 save stack space occupation by the int13_handler.
2008-08-26 fixed a bug relevant to iso emulation, causing disk read error.
2008-08-24 save stack space occupation by the int13_handler.
2008-08-14 enlarged stage2 stack space.
2008-08-13 fixed again the bug on the root command.
2008-08-12 fixed int5 in probe_int.
2008-08-10 added a new command checkrange; fixed a bug on the root command.
2008-08-08 added builtin stack for int13_handler to avoid stack overflow.
2008-08-06 fixed a suspicious problem on the SCRATCH buffer in get_diskinfo.
2008-08-04 fixed again error handling problem about operator && and ||; added STIs to better respond hardware interrupt.
2008-08-03 fixed error handling problem about operator && and ||; grldr.mbr structure change; other small alterations.
2008-07-28 added STIs to better respond hardware interrupt or to feed watchdog.
2008-07-10(r60) let KEY_UP(KEY_DOWN) loop to the last(first) menu entry.
2008-07-06 added backup_int13 and restore_int13 for a buggy usb bios f24a ver 1.00parttbl on compaq v5235tu(reporter: uleak). turn a20 debug on for memdrives.
2008-06-28 fixed ext3-inode-size issue in grldr boot sector and bootlace.inc.
2008-06-26 fixed int4C-4F in probe_int for Lenovo A6900.
2008-06-24 fixed "256-byte ext3 inode size" issue in fsys_ext2fs.c.
2008-06-23 added command ls.
2008-06-22 disabled safe_int13 code for a buggy usb bios f24a ver 1.00parttbl on compaq v5235tu(reporter: uleak).
2008-06-21 add A20 debug code to help locate a20 failure.
2008-06-18 A20 test begins. Update version number to 0.4.4.
2008-06-12 Let HIDE and UNHIDE respond with a message.
2008-06-10 Let ROOT show correct filesystem info.
2008-06-07 Let MAKEACTIVE and GEOMETRY show active partitions.
2008-06-01 commented out the terminal-switching code in run_menu.
2008-05-31 changed asm.S to avoid clearing out bss for the configfile command.
2008-05-27 initialize saved_videomode/font8x16 for working across configfile.
2008-05-25 fixed int76 in probe_int for a Tongfang.
2008-05-22 fixed an issue of CPU cache wrongly disabled in GRUB.EXE for long.
2008-05-21 fixed an issue of stack-overflow in real_get_cmdline.
2008-05-17 enable the geometry_tune code for test only.
2008-05-14 fix int5 and int8 in probe_int.
2008-05-06 adjustment on probe_int for "pxe keep".
2008-05-03 fixed problem on the commands setup and install.
2008-05-02(r59) add new command checktime.
2008-05-01 fixes on int vector probing, A20 control, configfile, find, etc.
2008-03-14(r58) commented out the geometry-tune code. other fixes.
2008-01-01(r57): mini build support
2007-12-25(r56): created the test branch
2007-12-25(r55) removed commands uppermem, ioprobe, impsprobe and displayapm.
2007-12-14 test 3 of the geometry-tune.
2007-12-10 cleanups on chainloader and errorcheck.
2007-12-05 fixed a bug in ntfs file system module.
2007-12-04 fixes on gzipped (rd) image support.
2007-12-02 int13 emulation workaround for buggy BIOSes('Disk read error').
2007-11-23 implemented cdrom emulation.
2007-10-15(r54) version 0.4.3
2007-10-08 implemented chainloading isolinux.
2007-10-04 changed drive number of (md) to 0xffff.
2007-10-02 reduced output messages for "debug off".
2007-09-27 added a new map option of --a20-keep-on.
2007-09-26 a workaround for buggy USB floppy BIOSes(hang at INT13/AH=48h).
2007-08-27(r53) new notation () standing for the current root device.
2007-08-26 new feature of root prefix for support of relative path.
2007-08-25 fixed one more possible issue on A20.
2007-08-24 fixed another possible issue on A20 for memdrives.
2007-08-23 fixed a possible issue on A20 for memdrives.
2007-08-21 expand memdrive size according to the probed CHS.
2007-08-17 test A20 control for memory mapped disks.
Updated code for hmload.
Fixed a major problem of endless loop on enumeration of partitions.
Fixed an issue in probe_mbr.
Fixed a bug on compressed NTFS volume.
Fixed a problem in probe_int by capturing int10.
2007-07-25 version 0.4.3pre2
Added a new command OUTLINE, and a new option --duce for GRUB.EXE.
Changed PARTNEW syntax. Fixed a problem of OPEN_PARTITION.
The arguments of PARTTYPE have changed to be optional.
A Fault-Recovery-Handler was imposed on probe_int to fight against
some very serious BIOS bugs(reportedly of DELL machines).
The DEBUG command syntax was changed for verbosity control.
2007-06-22 version 0.4.3pre1
Fixed two problems on GRUB.EXE: preset_menu and FreeDOS related.
Added a new command `hiddenflag'; Added BPB in GRLDR.MBR; Ignored the
partition-ID check in filesystem modules; other fixes.
PXE and NTFS fixes.
Fixed a bug in probe_int for GRUB.EXE running in VM86 mode.
Rewrite fsys_ntfs.c
Fixed probe_int and init_pic in GRUB.EXE. Reduced warnings in bios.c.
Added PXE support.
NTFS code update for bootlace. Fixed timing functions.
fix a bug in get_diskinfo; protect the MBR of an in-situ-mapped drive.
Insert-key to debug on startup; polish graphics. NTFS boot record fix.
Bugfixes on STAGE2_SIZE, arrow keys, and handling `&&'/`||' in menu.
Move preset menu to the end/tail of pre_stage2.
Numeric keys to select menu entry; fixed a bug of int13 harddrives.
Code clean-ups on build script and keycode translation.
F11/F12 hotkey handling.
Added builtin NTFS boot sectors into GRLDR.
Added 3 commands is64bit, errnum and errorcheck.
Applied Robert Millan's patch of check_64bit.
Implemented two syntactic operators `&&' and `||'.
Added a new option --in-situ for the map command.
Fixed an auto-probe-int problem of GRUB.EXE under "EMM386 noems".
Workaround for buggy VirtualPC on a issue of floppy-emulation-mode
bootable CDROM.
2006-12-28 version 0.4.2
Fixed a bug hidden deeply in memcheck.
Fixed a bug hidden deeply in get_diskinfo.
Fixed a bug in load_image.
GRLDR(as a no-emulation-mode bootable CDROM image) was adapted to
cope with some buggy BIOSes(e.g., VirtualPC).
Added LBA-to-CHS geometry translation(in int13_handler) to simulate
LBA(EBIOS)-enabled drives on CHS-only drives.
Added a new feature of Unconditional Command-line Entrance.
Applied Beverly Brown's patch to load_initrd.
Added two new options to the map command to better serve Win9x.
The default config file search path for GRUB.EXE was changed to
(DOS file) .\menu.lst and then (DOS file) \menu.lst and then
(GRUB file) /menu.lst.
Other bug fixes.
2006-10-24 version 0.4.2pre11
Made a workaround for buggy USB-bootable board QDI 848E.
Made a workaround for buggy 965 board with SATA CDROM connected.
2006-10-07 version 0.4.2pre10
Fixed a problem in GRUB shell which causes failure in grub-install.
Enabled GRUB.EXE to run under FreeDOS with memdrives in use.
Implemented an auto-probe mechanism to support all kinds of DOSes.
2006-09-19 version 0.4.2pre9
Resolved several problems:
1. (about kexec)Dropped the problematic kexec-tools-1.101-patch.
2. (about stack)Adjusted code in C files to use less stack.
3. (about cdrom)Fixed a few bugs in the cdrom driver.
2006-08-29 version 0.4.2pre8
Added a new command `setvbe'.
Dropped the obsolete EZ-BIOS(with signature `AERMH') support.
Fixed a bug in parsing Rock-Ridge extension.
No-emulation-mode Bootable CD can be chainloaded now.
Some work was done to improve remote/diskless boot.
Fixed one more USB/Floppy EBIOS problem(in get_diskinfo).
Merged protected mode stack into real mode stack at 0x2000.
Code clean-up.
2006-07-31 version 0.4.2pre7
Imported ATAPI CDROM driver from Smart Boot Manager.
Dropped the previous implementation of SCDROM/BIOSCDROM.
Fixed a USB/Floppy EBIOS problem that could cause media access failure
or even hang the machine when using USB storage devices.
Fixed a bug in BOOTLACE.COM that had improperly set the LBA indicator
byte(which is at offset 0x02 of the boot sector).
Fixed a bug in GRLDR that caused failure in finding the associated
MENU.LST config-file(which should be in the same directory as GRLDR).
2006-06-18 version 0.4.2pre6
Dropped the obsolete EZD disk map support.
Fixed several bugs that may hang or slow the qemu virtual machine.
Fixed a bug that causes the pause command not to respond any key-press.
Fixed a bug that causes a command to accidentally fail if in a menu.
Fixed a bug that causes the menu not to work once a cdrom had booted.
2006-06-05 version 0.4.2pre5
Added a static-linked binary executable file GRUB(a Linux utility).
Fixed a gateA20 problem related to memdrive emulation.
Boot GRUB.EXE directly off Windows9x/Me(experimental; might hang).
2006-04-03 version 0.4.2pre4
Made GRUB.EXE run under EMM386.
Fixed a bug in splashimage_func().
Made `ignore error' constant and removed the `--ignore-error' option,
and renamed the option `--seconds=T' to `--wait=T' for savedefault.
The sample menu.lst was modified accordingly.
2006-03-28 version 0.4.2pre3
New syntax for the `default' and `savedefault' commands was
implemented.
Changed `int' to `unsigned long' for filemax, filepos and fsmax, and
modified all fsys_*.c files in order to open large files(2GB or
longer).
2006-03-09 version 0.4.2pre2
The directory `boot/grub/' was removed from the release tree(GRUB4DOS
does not use the stage files at boot time). The default config file for
GRUB.EXE was changed to (hd0,0)/menu.lst(but preset_menu still locates
(hd0,0)/boot/grub/menu.lst when (hd0,0)/menu.lst does not exist).
Added DOS command-line options --bypass, --time-out=T and --hot-key=K
for GRUB.EXE.
2006-02-24 version 0.4.2pre1
gcc-4 support by VirusCamp.
Limited support for returning to DOS from GRUB.EXE.
Implemented a new feature that GRUB.EXE can be used as a DOS device
driver and be started in CONFIG.SYS with a DEVICE line.
Better IODELAY was made for initialization of PIC to fix the
keyboard-not-responding problem when running through KEXEC.
Better A20 gate control was made to help fix various problems on the
boot of grub.
2005-12-14 version 0.4.1
Fixed a partition enumeration bug(in disk_io.c). Fixed a bug of mapping
partitions to harddrives(in builtins.c). Fixed a bug that causes
failure when `find --set-root' on a CD-ROM device(in builtins.c). Added
a new feature of directly chainloading ntldr and some dos kernels.
2005-11-14 version 0.4.1pre32
Fixed more bugs.
2005-11-02 version 0.4.1pre31
A few bugs were fixed.
2005-10-23 version 0.4.1pre30
A bug about "bootlace.com --floppy" was fixed.
2005-10-18 version 0.4.1pre29
Added ram disk device (rd) to access, typically, the initrd image.
Added many new command-line options for bootlace.com to install GRLDR
boot record onto the boot sector of a floppy. A few bugs about
"map --mem" were fixed. Another bug about finding grldr in NTFS was
also fixed. It may cause the machine to hang up when there is no ntfs
boot record in the boot area of the NTFS partition.
2005-09-25 version 0.4.1pre28
Commandline option --config-file="FILENAME_OR_RAW_COMMANDS" was added
for GRUB.EXE where GRUB.EXE is treated as a Linux kernel.
Fixed a bug which causes installation failure when BOOTLACE.COM is
used for large disks.
2005-09-21 version 0.4.1pre27
Added a patch to the kexec-tools-1.101. Kexec might fail to load
grub.exe without this patch.
2005-09-14 version 0.4.1pre26
Fixed a bug for the DOS part of BOOTLACE.COM
2005-09-11 version 0.4.1pre25
GRUB4LIN has merged into GRUB.EXE; A new command-line option
--read-only was added for BOOTLACE.COM; A few bug fixes.
2005-09-01 version 0.4.1pre24
BOOTLACE.COM runs under both DOS and Linux.
2005-08-27 version 0.4.1pre23
Added a utility BOOTLACE.COM for installing grldr bootstrap code to MBR
2005-07-30 version 0.4.1pre22
Added bootstrap file GRLDR.MBR for launching grldr from MBR.
2005-07-24 version 0.4.1pre21
Added Windows NT 4.0 support(actually fixed a bug reported by Stefan
Baur). For other new features, see README.txt.
2005-07-20 version 0.4.1pre20
Added ext2/ext3 boot record code for loading grldr from the beginning
sector of a floppy or a partition.
2005-05-25 version 0.4.1pre5
GRUB commands can be embedded into the command line of GRUB.EXE
2005-05-20 version 0.4.1pre4
Bug fixes: When the system has no floppies, some operations,
e.g., the find command, will hang the machine.
2005-05-17 version 0.4.1pre3
Search for cdrom_drive from drive 0x88 to drive 0xff
2005-05-11 version 0.4.1pre2
Our base is now upgraded to GNU GRUB 0.97.
2005-04-25 version 0.4.1pre
Fixed a bug reported by Gilles van Ruymbeke
<gvr_no_spam_123@ruymbeke.com> <gvr_grub4dos123@ruymbeke.ch>:
The map_func improperly opened the emulation image for 3 times, that
might slow down the load speed heavily, especially for gzipped files.
2005-04-15 version 0.4.0
Add /boot/grub/menu.lst in preset menu. This is final.
2005-04-07 version 0.4.0pre7
config_file takes precedence over preset_menu.
2005-04-06 version 0.4.0pre6
GRLDR can be used with no-emulation-mode bootable CD-ROM.
2005-03-09 version 0.4.0pre4
Now preset menu find /menu.lst, no longer support /boot/grub/menu.lst
Partition images can emulate a partition (hd?,0) with --mem option.
2005-03-02 version 0.4.0pre3
GRLDR startup code search all partitions in all harddrives for GRLDR.
chainloader can boot images larger than 512 bytes, and can load image
to a different location than 0000:7C00.
2005-02-06 version 0.4.0pre
Switched to GNU GRUB 0.96
The --mem option of MAP command was added for memdrive emulation.
Also announced 0.2.0 final.
2004-10-23 version 0.2.0pre13
GRUB.EXE runs in DOSBOX.
GRUB4LIN is introduced to boot off LINUX.
Fixed a bug reported by windrv: NTFS check contiguity failure
Rearranged the patches.
2004-08-31 version 0.2.0pre12
Fixed a bug reported by szwp: cannot load GRLDR on partition that is
not CHS-accessible.
Fixed a bug reported by windrv: take too much time to check contiguity
2004-08-15 version 0.2.0pre11
Mark the scdrom module as experimental.
2004-07-13 version 0.2.0pre9
Merged GNU GRUB 0.95
BOOTGRUB removed. Use BOOT.INI line C:\GRLDR="Start GRUB" instead.
Patches from Gandalf: NTFS and ATAPI CDROM support(also thanks to
Tobias Svensson <tobiassvensson@home.se>)
Patches from Chris Semler <csemler@mail.com>: findroot
2004-04-12 version 0.2.0pre6
Now GRUB.EXE can be used in CONFIG.SYS this way:
shell=C:\some\where\grub.exe --config-file=(hd0,0)/boot/grub/menu.lst
or
shell=C:\some\where\grub.exe
No other changes.
2004-04-09 version 0.2.0pre5
Now BOOTGRUB contains 4 sectors, i.e., 2048 bytes. Optionally, you may
copy the 2nd, 3rd and 4th sectors of BOOTGRUB to the three sectors that
immediately follow the MBR. Also Optionally, you may copy 446 bytes
from the very beginning of BOOTGRUB to the very beginning of MBR. In
this way, the GRLDR can be started out of MBR, without the presence of
NTLDR.
CAUTION: Don't copy 512 bytes to MBR. The partition table should not
be overwritten. The partition table is in the end of MBR. If you make
a mistake, you will lose your whole system!!
2004-02-18 version 0.2.0pre4
Arbitrary-size floppy and hard disk emulation finally implemented.
GRUB for NTLDR is included. See README file.
Splash image version is available in the SPLASH directory.
2003-09-23 version 0.1.4 -- development unstable release
Unfortunately 0.1.3 has an ugly bug. Fixed.
2003-09-01 version 0.1.3 -- development unstable release
Rewrite the code for guessing FreeDOS int vectors. Hopefully it works
for all the future versions of FreeDOS :-)
2003-08-25 version 0.1.2 -- development unstable release
Fixed a small bug that affects the read of the emulated floppy sectors.
Added some files (including the menu.lst file) for installing GRUB to
MBR from DOS. Usage:
Copy the boot directory to C:\ ; You must do this on Windows, NOT dos,
because DOS cannot deal with the long filenames.
Run grub to access the menu.lst file in C:\boot\grub ; Of cause on DOS.
When menu occurs, select a proper menu item for installing GRUB to MBR.
If the menu does not appear, you should get the "grub>" prompt. At the
prompt, type the following commands:
grub> configfile (hd0,1)/boot/grub/menu.lst
grub> configfile (hd0,2)/boot/grub/menu.lst
grub> configfile (hd0,3)/boot/grub/menu.lst
Then, the menu should occur.
2003-06-29 version 0.1.0.1 -- development unstable release
Do some cleanups on 0.1.0, no important changes.
BTW, it seems that the 0.1.0 is quite stable :-)
2003-06-29 version 0.0.8
Restore mapped int13 to the unmapped state while grub is invoked
after a previously performed drive map operation.
2003-05-29 version 0.1.0 -- development unstable release
Floppy 1.44M drive emulation are OK. GOOD!!!! Usage:
# boot Windows 98 SE
map (hd1,0)/dos98se.img (fd0)
chainloader (hd1,0)/dos98se.img
rootnoverify (fd0)
boot
Another example:
# boot Mandrake hard disk installer
map (hd0,0)/hd.img (fd0)
chainloader (hd0,0)/hd.img
rootnoverify (fd0)
boot
Note that the floppy image file must size 1440KB, i.e., 1474560 bytes.
_AND_ also, the file must consist of one contiguous disk area, no
holes, no fragments. Use GRUB's blocklist command to determine whether
or not an image file is contiguous. It is known that a 1440KB-file is
always non-contiguous if it resides in an ext2 filesystem. But you may
get a 1440KB contiguous file with an FAT32 partition(vfat filesystem).
Floppy(and hard disk) with arbitrary sizes will be emulated in the
future.
2003-05-06 version 0.0.7
Fixed a huge bug!! Read the following carefully!
Using the drive map command(just as many distributions currently do)
map TO_DRIVE FROM_DRIVE
to boot your system could seriously _damage_ your hard disk data,
totally and thoroughly!! This bug has just been fixed in 0.0.7 :-)
This bug is not specific to grub_for_dos, but caused by the original
grub-0.93 release. So do _NOT_ use map command any more until my fix is
accepted by GRUB maintainers or a similar fix is made by other
people. For now, do _NOT_ use map command in any kind of Linux
distributions such as Red Hat or Mandrake or any others.
Because GRUB_FOR_DOS-0.0.7 already applied the fix, so it
should be safe to use the map command.
Another small bug was also fixed in grub_for_dos-0.0.7 :-)
2003-04-29 version 0.0.6
Runs also on MS-DOS 3.30. No other changes.
2003-04-26 version 0.0.5
Runs on MS-DOS 4.0, 5.0, 6.0, 6.20, 6.21, 6.22, 7.0, 7.10, 8.0 and
FreeDOS(build 2029). GOOD!!
2003-04-20 version 0.0.4
Running on FreeDOS(build 2029), GOOD!! (But currently GRUB.EXE only
has limited FreeDOS support, maybe unstable.)
Add a "Guess DOS Version" feature. The program now exit to DOS when
guess failed. The previous versions of GRUB.EXE always hang when
running on an unsupported DOS version.
2003-04-13 version 0.0.3
The option "--config-file=FILE" was added.
2003-04-11 version 0.0.2
Also runs on MS-DOS 8.0 (i.e., the DOS with WinMe/2000/XP), GOOD!!
The GRUB.PIF file included, so GRUB.EXE can be started from Windows 9x
2003-04-10 version 0.0.1
Runs on MS-DOS 7.10(Win98)