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>
|
2005-02-16 Yoshinori K. Okuji <okuji@enbug.org>
|
||||||
|
|
||||||
* grub/asmstub.c (grub_stage2): Remove the attribute `volatile'
|
* 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.
|
.\" 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
|
.SH NAME
|
||||||
grub \- the grub shell
|
grub \- the grub shell
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.23.
|
.\" 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
|
.SH NAME
|
||||||
mbchk \- check the format of a Multiboot kernel
|
mbchk \- check the format of a Multiboot kernel
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* GRUB -- GRand Unified Bootloader
|
* 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
|
* 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
|
* 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 */
|
/* Now do some sanity checks */
|
||||||
|
|
||||||
if (FAT_CVT_U16(bpb.bytes_per_sect) != (1 << FAT_SUPER->sectsize_bits)
|
if (FAT_CVT_U16(bpb.bytes_per_sect) != (1 << FAT_SUPER->sectsize_bits)
|
||||||
|
@ -184,7 +183,11 @@ fat_mount (void)
|
||||||
magic = 0x0f00;
|
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;
|
return 0;
|
||||||
|
|
||||||
FAT_SUPER->cached_fat = - 2 * FAT_CACHE_SIZE;
|
FAT_SUPER->cached_fat = - 2 * FAT_CACHE_SIZE;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue