Yes I am guessing nshell means New Shell: $ grep -i nshell EdkShellPkg/EdkShellPkg.dsc $(EDK_SHELL_DIR)/newshell/nshell.inf
But I cannot help with the reason why it is new. If you want a reason why there is no AArch64/ARM64 binaries in EdkShellBinPkg/Bin/. I can give you one. Because ARM architectures (AArch32 and AArch64 also sometimes named ARM32 and ARM64) are pretty new in the EDK(1|2) history I did not want to bother to fully support much EDK1 and EdkCompatiabilityPkg. My main blocker was UEFI SCT which was only working on EDK Shell. But since I upgraded UEFI SCT to also work on UEFI Shell, I had no reason to continue to support EDK Shell. In practical, I could have easily add EdkShellBinPkg/Bin/AArch64 because I can already build EdkShellBinPkg/FullShell/AArch64. And I am guessing EdkShellBinPkg/Bin/Arm/* binaries are really old... If you want some fresh EDK Shell binaries for AArch32 and AArch64 I could update them. -----Original Message----- From: Blibbet [mailto:blib...@gmail.com] Sent: 27 May 2015 01:18 To: edk2-devel@lists.sourceforge.net Subject: [edk2] shell questions Hi, I'm trying to write up a document on how to buid a UEFI 'boot disk', trying to target EFI 1.x as well as UEFI 2.x systems, for all architectures UEFI supports. One goal is to use pre-built binaries, for sysadmins, so I don't want to resort to telling user to compile their own binaries, if at all possible. I don't see any docs as part of the UEFI Forum specs or RodsBooks web site. If I missed the proper docs, please give me an URL. I have a few questions about which binaries to use, and some pre-EDK2 historical usage, please. Q0) If I want to use full (not minimal) pre-built TianoCore binaries for shell, to use on EFI 1.x systems I need to use: * edk2/trunk/edk2/EdkShellBinPkg/FullShell/Ia32/Shell_Full.efi * edk2/trunk/edk2/EdkShellBinPkg/FullShell/X64/Shell_Full.efi * edk2/trunk/edk2/EdkShellBinPkg/FullShell/Arm/Shell_Full.efi * edk2/trunk/edk2/EdkShellBinPkg/FullShell/AArch64/Shell_Full.efi * edk2/trunk/edk2/EdkShellBinPkg/FullShell/Ipf/Shell_Full.efi and for UEFI 2.x systems, I need to use: * edk2/trunk/edk2/ShellBinPkg/UefiShell/Ia32/Shell.efi * edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi * edk2/trunk/edk2/ShellBinPkg/UefiShell/Arm/Shell.efi * edk2/trunk/edk2/ShellBinPkg/UefiShell/AArch64/Shell.efi Renamed to Shell.efi and put in it's proper ESP subdirectory. Correct? Q1) Unlike oher archs, I don't see any edk2/trunk/edk2/ShellBinPkg/UfiShell built for Itanium. How does someone build a UEFI boot disk that works on Itanium, if there's no provided shell? Did TianoCore codebase stop supporting Itanium binary releases, and is there an alternate source of Itanium binaries from Intel? Q2) why is it called 'NShell', does N mean "New"? Newer than what, what was the old EFI shell called? Or is this New as in replacement for MS-DOS / OS/2 shell? Q3) Why are the x86, x64, and IPF binaries for older EDK Contrib and EDK apparently mirrored? Both have Edk/Other/Maintained/Application/UefiShell, why use one tree -vs- the other? edkcontrib/trunk/Edk/Other/Maintained/Application/UefiShell/bin/x64/Shell_Full.efi edkcontrib/trunk/Edk/Other/Maintained/Application/UefiShell/bin/x64/Shell.efi edkcontrib/trunk/Edk/Other/Maintained/Application/UefiShell/bin/ia32/Shell_Full.efi edkcontrib/trunk/Edk/Other/Maintained/Application/UefiShell/bin/ia32/Shell.efi edkcontrib/trunk/Edk/Other/Maintained/Application/UefiShell/bin/ipf/Shell_Full.efi edkcontrib/trunk/Edk/Other/Maintained/Application/UefiShell/bin/ipf/Shell.efi efidevkit/trunk/Edk/Other/Maintained/Application/UefiShell/bin/x64/Shell_Full.efi efidevkit/trunk/Edk/Other/Maintained/Application/UefiShell/bin/x64/Shell.efi efidevkit/trunk/Edk/Other/Maintained/Application/UefiShell/bin/ia32/Shell_Full.efi efidevkit/trunk/Edk/Other/Maintained/Application/UefiShell/bin/ia32/Shell.efi efidevkit/trunk/Edk/Other/Maintained/Application/UefiShell/bin/ipf/Shell_Full.efi efidevkit/trunk/Edk/Other/Maintained/Application/UefiShell/bin/ipf/Shell.efi Q4) Why does some older releases (EDK, EDK Contrib, EFI Toolkit) -- and only ARM32 on new EDK2 releases -- have the shell called "NShell.efi" where later it is called "Shell.efi" (or other min/full variations)? Especially why only ARM32 on EDK2? edk2/trunk/edk2/EdkShellBinPkg/Bin/Arm/NShell.efi efi-toolkit/trunk/efi-toolkit/binaries/em64t/NShell.efi efi-toolkit/trunk/efi-toolkit/binaries/nt32/NShell.efi efi-toolkit/trunk/efi-toolkit/binaries/bios32/NShell.efi efi-toolkit/trunk/efi-toolkit/binaries/sal64/NShell.efi edkcontrib/trunk/Edk/Other/Maintained/Application/UefiShell/bin/ia32/Apps/NShell.efi edkcontrib/trunk/Edk/Other/Maintained/Application/UefiShell/bin/ipf/Apps/NShell.efi edkcontrib/trunk/Edk/Other/Maintained/Application/UefiShell/bin/x64/Apps/NShell.efi efidevkit/trunk/Edk/Other/Maintained/Application/UefiShell/bin/ia32/Apps/NShell.efi efidevkit/trunk/Edk/Other/Maintained/Application/UefiShell/bin/ipf/Apps/NShell.efi efidevkit/trunk/Edk/Other/Maintained/Application/UefiShell/bin/x64/Apps/NShell.efi Thanks! Lee ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel -- 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 ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel