fix a bug in fat. fix bsd boot in the grub shell.

This commit is contained in:
okuji 1999-08-31 03:17:30 +00:00
parent 83b3d5eee0
commit 69be37a233
3 changed files with 28 additions and 1 deletions

View file

@ -1,3 +1,15 @@
1999-08-31 Pavel Roskin <pavel_roskin@geocities.com>
* stage2/boot.c [GRUB_UTIL] (bsd_boot_entry): New function.
(bsd_boot) [GRUB_UTIL]: Set ENTRY_ADDR to BSD_BOOT_ENTRY to fake
the *BSD boot.
1999-08-31 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
* stage2/fsys_fat.c (fat_create_blocklist): Cast FAT_BUF to
unsigned short * instead of unsigned long *. Suggested by Pavel
Roskin.
1999-08-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
From Edward Killips <ekillips@triton.net>:

View file

@ -523,6 +523,17 @@ load_initrd (char *initrd)
}
#ifdef GRUB_UTIL
/* Dummy function to fake the *BSD boot. */
static void
bsd_boot_entry (int flags, int bootdev, int sym_start, int sym_end,
int mem_upper, int mem_lower)
{
stop ();
}
#endif
/*
* All "*_boot" commands depend on the images being loaded into memory
* correctly, the variables in this file being set up correctly, and
@ -538,7 +549,11 @@ bsd_boot (int type, int bootdev, char *arg)
int clval = 0, i;
struct bootinfo bi;
#ifdef GRUB_UTIL
entry_addr = (entry_func) bsd_boot_entry;
#else
stop_floppy ();
#endif
while (*(++arg) && *arg != ' ');
str = arg;

View file

@ -124,7 +124,7 @@ fat_create_blocklist (int first_fat_entry)
}
first_fat_entry
= *((unsigned long *) (FAT_BUF + (new_mapblock - mapblock)));
= *((unsigned short *) (FAT_BUF + (new_mapblock - mapblock)));
if (fat_size == 3)
{