Hi,

I have copied SCT and EFI shell in SD card.
Followed following link for running sct from SD card.
https://wiki.linaro.org/LEG/Engineering/Kernel/UEFI/SCT/HowTo

Now, on running sct binary I am facing “InitShellApp: Application not started 
from Shell” error.

What will be the reason behind?

“Shell_Full.efi” is taken from EdkShellBinPkg/FullShell/AArch64/Shell_Full.efi  
path.

FS0:\SCT\> ls
Directory of: FS0:\SCT\
07/20/2015  09:31 <DIR>         4,096  .
07/20/2015  09:31 <DIR>             0  ..
07/20/2015  09:25             440,736  SCT.efi
07/20/2015  09:25              27,616  StallForKey.efi
07/20/2015  09:30 <DIR>         4,096  Application
07/20/2015  09:30 <DIR>         4,096  Data
07/20/2015  09:30 <DIR>         4,096  Dependency
07/20/2015  09:30 <DIR>         4,096  Ents
07/20/2015  09:30 <DIR>         4,096  Proxy
07/20/2015  09:30 <DIR>         4,096  Report
07/20/2015  09:30 <DIR>         4,096  SCRT
07/20/2015  09:30 <DIR>         4,096  Sequence
07/20/2015  09:30 <DIR>         4,096  Support
07/20/2015  09:30 <DIR>         8,192  Test
07/19/2015  01:23           1,047,296  Shell_Full.efi
          3 File(s)   1,515,648 bytes
         12 Dir(s)

FS0:\SCT\> SCT
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B DFEAA440
add-symbol-file 
/proj/nmgsw_be/users/b46476/code/UEFI/ls1043a-uefi/Build/UefiSct/DEBUG_ARMGCC/AARCH64/SctPkg/TestInfrastructure/SCT/Framework/Sct/DEBUG/SCT.dll
 0xDC040260
Loading driver at 0x000DC040000 EntryPoint=0x000DC040260 SCT.efi
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF DF6C9018
InstallProtocolInterface: 752F3136-4E16-4FDC-A22A-E5F46812F4CA FFFFF7E0
InitShellApp: Application not started from Shell
remove-symbol-file 
/proj/nmgsw_be/users/b46476/code/UEFI/ls1043a-uefi/Build/UefiSct/DEBUG_ARMGCC/AARCH64/SctPkg/TestInfrastructure/SCT/Framework/Sct/DEBUG/SCT.dll
 0xDC040260
FS0:\SCT\>



Any help is appreciated.


Thanks & Regards
Meenakshi
From: Andrew Fish [mailto:af...@apple.com]
Sent: Wednesday, July 15, 2015 7:33 PM
To: Aggarwal Meenakshi-B46476
Cc: edk2-de...@lists.sourceforge.net<mailto:edk2-de...@lists.sourceforge.net>
Subject: Re: [edk2] Filesystem support


On Jul 15, 2015, at 6:29 AM, Meenakshi Aggarwal 
<meenakshi.aggar...@freescale.com<mailto:meenakshi.aggar...@freescale.com>> 
wrote:

Hi,


I need your help in running SCT from SD card on Freescale SoC.


I have built SCT and copied following images on SD card (formatted with FAT32), 
inserted this SD card in my board:

1.EdkShellBinPkg/FullShell/Arm/Shell_Full.efi
2.Build/UefiSct/DEBUG_ARMGCC/SctPackageAARCH64/AARCH64/*



On running shell I saw following entry:
UEFI Interactive Shell v2.1
EDK II
UEFI v2.40 (LS1043a Simulator EFI Jul 15 2015 16:55:13, 0x00000000)
Mapping table
      FS0: Alias(s):HD0mohuqyt:;BLK0:
          HD(-1225503552,175,0,0x20021BE11DF9E45,0xAFAFAFAF1BC5D5A5)


It is the hard drive device path. The UEFI spec defines these device path 
display formats in the “EFI Device Path Display Format Overview” section.

HD(Partition,Type,Signature,Start, Size)
HD(Partition,Type,Signature) (Display Only)

The Partition is an integer representing the partition number. It is optional 
and the default is 0. If Partition is 0, then Start and Size are prohibited.
The Type is an integer between 0-255 or else the keyword MBR (1) or GPT (2). 
The type is optional and the default is 2.
The Signature is an integer if Type is 1 or else GUID if Type is 2. The 
signature is required.
The Start is a 64-bit unsigned integer. It is prohibited if Partition is 0. 
Otherwise it is required.
The Size is a 64-bit unsigned integer. It is prohibited if Partition is 0. 
Otherwise it is required.

The SD spec defines the format to be an MBR partition with a single entry, that 
is formatted FAT32. SD XC is MBR formatted with exFAT :(.

The partition driver should not bind to a malformed MBR (it produced the device 
path), so maybe this is memory corruption?
https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdeModulePkg/Universal/Disk/PartitionDxe/

This is the binary data structure being converted to text:
https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Include/Protocol/DevicePath.h

///

/// The Hard Drive Media Device Path is used to represent a partition on a hard 
drive.

///

typedef struct {

  EFI_DEVICE_PATH_PROTOCOL        Header;

  ///

  /// Describes the entry in a partition table, starting with entry 1.

  /// Partition number zero represents the entire device. Valid

  /// partition numbers for a MBR partition are [1, 4]. Valid

  /// partition numbers for a GPT partition are [1, NumberOfPartitionEntries].

  ///

  UINT32                          PartitionNumber;

  ///

  /// Starting LBA of the partition on the hard drive.

  ///

  UINT64                          PartitionStart;

  ///

  /// Size of the partition in units of Logical Blocks.

  ///

  UINT64                          PartitionSize;

  ///

  /// Signature unique to this partition:

  /// If SignatureType is 0, this field has to be initialized with 16 zeros.

  /// If SignatureType is 1, the MBR signature is stored in the first 4 bytes 
of this field.

  /// The other 12 bytes are initialized with zeros.

  /// If SignatureType is 2, this field contains a 16 byte signature.

  ///

  UINT8                           Signature[16];

  ///

  /// Partition Format: (Unused values reserved).

  /// 0x01 - PC-AT compatible legacy MBR.

  /// 0x02 - GUID Partition Table.

  ///

  UINT8                           MBRType;

  ///

  /// Type of Disk Signature: (Unused values reserved).

  /// 0x00 - No Disk Signature.

  /// 0x01 - 32-bit signature from address 0x1b8 of the type 0x01 MBR.

  /// 0x02 - GUID signature.

  ///

  UINT8                           SignatureType;

} HARDDRIVE_DEVICE_PATH;



#define MBR_TYPE_PCAT             0x01

#define MBR_TYPE_EFI_PARTITION_TABLE_HEADER 0x02



#define NO_DISK_SIGNATURE         0x00

#define SIGNATURE_TYPE_MBR        0x01

#define SIGNATURE_TYPE_GUID       0x02
Thanks,

Andrew Fish


I am not getting from where it is populating these values of HD().


Now on selecting FS0, I saw following prints:
Shell> fs0:
FS0:\> ls
Get RTC Year: 15 Mon: 07 Day: 15 Hour: 17 Min: 24 Sec: 59
Get DATE: 2015-07-15 TIME: 17:24:59
FSOpen: Open '.' Success
File Not Found
FS0:\>


My UEFI binary has support of SD card, I can probe a card and its read, write 
and erase functionalities are working fine.

I want to execute SCT.efi using shell. Kindly help me with this


Along with the above issue, I am seeing following failures in OpenVolume() call:

FATDirSize: cluster chain corrupt
*OutputFileName 0x61
*OutputFileName 0x62
*OutputFileName 0x63
FatGrowEof: cluster chain corrupt
FatShrinkEof: cluster chain corrupt


What is the reason behind these prints?


Regards
Meenakshi

From: Olivier Martin [mailto:olivier.mar...@arm.com]
Sent: Tuesday, June 16, 2015 4:43 PM
To: edk2-de...@lists.sourceforge.net<mailto:edk2-de...@lists.sourceforge.net>
Subject: Re: [edk2] Filesystem support

UEFI specification says ‘HD(Partition,Type,Signature,Start, Size)’.
These values are specific to you partition table.

gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath is specific to the ARM BDS. 
It is to create a default boot entry when you start your system for a first 
time.
It is not (necessary) relevant to boot Linux or run SCT on your platform.

I would say you have the appropriate list of EFI modules to get FAT support (if 
you already have SD support in your UEFI firmware).


From: Meenakshi Aggarwal [mailto:meenakshi.aggar...@freescale.com]
Sent: 16 June 2015 10:10
To: edk2-de...@lists.sourceforge.net<mailto:edk2-de...@lists.sourceforge.net>
Subject: [edk2] Filesystem support

Hi All,


I want to boot linux and run SCT from SD card.

I have seen BeagleBoard package code which is booting linux from SD.

I got confused with entry:
gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(B615F1F5-5088-43CD-809C-A16E52487D00)/HD(1,MBR,0x00000000,0x3F,0x19FC0)/zImage"

from where are 0x3F and 0x19FC0 came. Is it some default value for start 
address and size?
Do I need to create an FV entry for this?


Also what all I need to include in my dsc and fdf file to enable support of 
filesystem. I can see following listed files for filesystem support (reference 
: BeagleBoard)

Changes in FDF:
#
    # FAT filesystem + GPT/MBR partitioning
    #
    INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
    INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
    INF FatBinPkg/EnhancedFatDxe/Fat.inf
    INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf

Changes in DSC
#
# FAT filesystem + GPT/MBR partitioning
#
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf




Thanks & regards
Meenakshi Aggarwal


-- IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered 
in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, 
Registered in England & Wales, Company No: 2548782
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/_______________________________________________
edk2-devel mailing list
edk2-de...@lists.sourceforge.net<mailto:edk2-de...@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to