* grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
floppy.
* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
Check for partitions on all devices.
+2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Handle USB pendrives exposed as floppies.
+
+ * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
+ floppy.
+ * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
+ Check for partitions on all devices.
+
2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
/* set %si to the disk address packet */
movw $disk_address_packet, %si
- /* do not probe LBA if the drive is a floppy */
- testb $GRUB_BOOT_MACHINE_BIOS_HD_FLAG, %dl
- jz LOCAL(chs_mode)
-
/* check if LBA is supported */
movb $0x41, %ah
movw $0x55aa, %bx
if (drive < 0)
return grub_errno;
- disk->has_partitions = ((drive & 0x80) && (drive != cd_drive));
+ disk->has_partitions = 1;
disk->id = drive;
data = (struct grub_biosdisk_data *) grub_zalloc (sizeof (*data));
/* TODO: get the correct size. */
total_sectors = GRUB_DISK_SIZE_UNKNOWN;
}
- else if (drive & 0x80)
+ else
{
/* HDD */
int version;