diff options
-rw-r--r-- | scripts/README.md | 2 | ||||
-rwxr-xr-x | scripts/createNewShellApp.sh | 46 |
2 files changed, 48 insertions, 0 deletions
diff --git a/scripts/README.md b/scripts/README.md index 18ecb7c..41f2461 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -4,6 +4,8 @@ [createNewApp.sh](createNewApp.sh) - create new UEFI_APPLICATION by name +[createNewShellApp.sh](createNewShellApp.sh) - create new UEFI_APPLICATION with shell entry point by name + [createNewDriver.sh](createNewDriver.sh) - create new UEFI_DRIVER by name - Replace GUIDs in log file: diff --git a/scripts/createNewShellApp.sh b/scripts/createNewShellApp.sh new file mode 100755 index 0000000..9674142 --- /dev/null +++ b/scripts/createNewShellApp.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +# This is a simple script that creates a basic structure for your new UEFI shell application +# Put this script in your edk2 folder and run it with 1 argument - your new application name + +APP_NAME=${1} + +UUID=$(uuidgen) + +mkdir -p UefiLessonsPkg/${APP_NAME} + +cat << EOF > UefiLessonsPkg/${APP_NAME}/${APP_NAME}.inf +[Defines] + INF_VERSION = 1.25 + BASE_NAME = ${APP_NAME} + FILE_GUID = ${UUID} + MODULE_TYPE = UEFI_APPLICATION + VERSION_STRING = 1.0 + ENTRY_POINT = ShellCEntryLib + +[Sources] + ${APP_NAME}.c + +[Packages] + MdePkg/MdePkg.dec + +[LibraryClasses] + ShellCEntryLib + UefiLib +EOF + +cat << EOF > UefiLessonsPkg/${APP_NAME}/${APP_NAME}.c +#include <Library/UefiBootServicesTableLib.h> +#include <Library/UefiLib.h> + +INTN +EFIAPI +ShellAppMain ( + IN UINTN Argc, + IN CHAR16 **Argv + ) +{ + return EFI_SUCCESS; +} +EOF + |