On 10/04/18 21:05, jim.dai...@dell.com wrote:
>> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
>> Laszlo Ersek
> 
> I'll attempt answer some of your questions, but Jaben may have to
> answer some of them (like his commit speed :-) or questions about what
> the shell spec allows).
> 
>>
>> So my first question would have been, what if the shell is memory mapped
>> (from a firmware volume), but the platform doesn't expose firmware
>> filesystems (FFSs) as EFI simple file system protocol instances? In that
>> case, the "file system on which the executing shell is located" seems
>> ill-defined.
> 
> In such a case homefilesystem will not get defined, I think.

OK, thanks.

> 
>>>>> execute %homefilesystem% to set the cwd to the root of the file system
>>>>> where the shell is located.
>>
>> I think the commit message here misses a "CD" command.
> 
> The shell does not handle "cd fsN:".  But "fsN:" does work.  I suppose
> one could always add a "cd \" after "%hoemfilesystem%", but I think it
> will not have any effect in most (all?) cases where homefilesystem is
> defined.

My mistake.

>>>>> +    InternalEfiShellSetEnv(L"homefilesystem", StartupScriptPath, TRUE);
>>>>> +
>>
>> Again, this refers to the startup script, not the shell itself.
> 
> The variable's name implies the startup script, but at the point it is
> used, it contains only the file system where the shell itself was found.
> Code following this continues to modify the variable's value until it
> eventually does point to where the startup script *might* be.

Thanks for explaining!
Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to