Hi All,
I am facing issue in installing FAT filesystem on my SATA HDD.
My HDD is getting detected in UEFI as block device BLK1 and BLK2(Logs pasted below):
UEFI Interactive Shell v2.1 EDK II UEFI v2.50 (LS2080a RDB board EFI May 18 2016 11:38:35, 0x00000000) Mapping table FS0: Alias(s):F0: MemoryMapped(0xB,0x837EF30000,0x837EFFFFFF) FS1: Alias(s):F1: MemoryMapped(0xB,0x83DF659000,0x83DFB11227) FS2: Alias(s):HD11b:;BLK6: VenHw(B6F44CC0-9E45-11DF-BE21-0002A5D5C51B)/HD(1,MBR,0x00000000,0x2000,0xEE5800) BLK3: Alias(s): VenHw(1F15DA3C-37FF-4070-B471-BB4AF12A724A) BLK4: Alias(s): VenHw(4D00EF14-C4E0-426B-81B7-30A00A14AAD6) BLK5: Alias(s): VenHw(B6F44CC0-9E45-11DF-BE21-0002A5D5C51B) BLK0: Alias(s): PciRoot(0x0)/Pci(0x0,0x0)/Sata(0x0,0x0,0x0) BLK1: Alias(s): PciRoot(0x0)/Pci(0x0,0x0)/Sata(0x0,0x0,0x0)/HD(1,MBR,0x88683A7D,0x800,0x8F0C981) BLK2: Alias(s): PciRoot(0x0)/Pci(0x0,0x0)/Sata(0x0,0x0,0x0)/HD(2,MBR,0x88683A7D,0x8F0D800,0x8F0CB01)
I have done following inclusion for FAT and partitioning:
FatPkg/FatPei/FatPei.inf
FatPkg/EnhancedFatDxe/Fat.inf
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.in
But FAT filesystem is not getting installed on HDD partitions. One issue I could see is:
that AtaBusDxe code install BlockIo, BlockIo2 and DiskInfo protocols as pasted:
(from file MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBus.c)
Status = gBS->InstallMultipleProtocolInterfaces (
&AtaDevice->Handle,
&gEfiDevicePathProtocolGuid,
AtaDevice->DevicePath,
&gEfiBlockIoProtocolGuid,
&AtaDevice->BlockIo,
&gEfiBlockIo2ProtocolGuid,
&AtaDevice->BlockIo2,
&gEfiDiskInfoProtocolGuid,
&AtaDevice->DiskInfo,
NULL
);
Whereas in FatPkg which I am using for FAT filesystem installation use DiskIo and DiskIo2 protocols:
Volume->DiskIo = DiskIo;
Volume->DiskIo2 = DiskIo2;
And use these to Open Fat formatted device.
Any clue, how to use FatPkg to install filesystem on SATA HDD?
Thanks and Regards,
Shaveta