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