2005-03-15 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/fsys_fat.c (fat_mount): Ignore the 3rd bit of a media descriptor, because some BIOSes overwrite this value, according to the storage mode (e.g. USB Floppy or USB HDD).
This commit is contained in:
parent
257fff664f
commit
f307cbf7c6
4 changed files with 15 additions and 6 deletions
|
@ -1,3 +1,9 @@
|
|||
2005-03-15 Yoshinori K. Okuji <okuji@enbug.org>
|
||||
|
||||
* stage2/fsys_fat.c (fat_mount): Ignore the 3rd bit of a media
|
||||
descriptor, because some BIOSes overwrite this value, according
|
||||
to the storage mode (e.g. USB Floppy or USB HDD).
|
||||
|
||||
2005-02-16 Yoshinori K. Okuji <okuji@enbug.org>
|
||||
|
||||
* grub/asmstub.c (grub_stage2): Remove the attribute `volatile'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.23.
|
||||
.TH GRUB "8" "February 2005" "grub (GNU GRUB 0.96)" FSF
|
||||
.TH GRUB "8" "March 2005" "grub (GNU GRUB 0.96)" FSF
|
||||
.SH NAME
|
||||
grub \- the grub shell
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.23.
|
||||
.TH MBCHK "1" "February 2005" "mbchk (GNU GRUB 0.96)" FSF
|
||||
.TH MBCHK "1" "March 2005" "mbchk (GNU GRUB 0.96)" FSF
|
||||
.SH NAME
|
||||
mbchk \- check the format of a Multiboot kernel
|
||||
.SH SYNOPSIS
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* GRUB -- GRand Unified Bootloader
|
||||
* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
|
||||
* Copyright (C) 2000,2001,2005 Free Software Foundation, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -150,7 +150,6 @@ fat_mount (void)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/* Now do some sanity checks */
|
||||
|
||||
if (FAT_CVT_U16(bpb.bytes_per_sect) != (1 << FAT_SUPER->sectsize_bits)
|
||||
|
@ -184,7 +183,11 @@ fat_mount (void)
|
|||
magic = 0x0f00;
|
||||
}
|
||||
|
||||
if (first_fat != (magic | bpb.media))
|
||||
/* Ignore the 3rd bit, because some BIOSes assigns 0xF0 to the media
|
||||
descriptor, even if it is a so-called superfloppy (e.g. an USB key).
|
||||
The check may be too strict for this kind of stupid BIOSes, as
|
||||
they overwrite the media descriptor. */
|
||||
if ((first_fat | 0x8) != (magic | bpb.media | 0x8))
|
||||
return 0;
|
||||
|
||||
FAT_SUPER->cached_fat = - 2 * FAT_CACHE_SIZE;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue