diff options
Diffstat (limited to 'scripts/createNewDriver.sh')
-rw-r--r-- | scripts/createNewDriver.sh | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/scripts/createNewDriver.sh b/scripts/createNewDriver.sh new file mode 100644 index 0000000..5c05916 --- /dev/null +++ b/scripts/createNewDriver.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +# This is a simple script that creates a basic structure for your new UEFI driver +# Put this script in your edk2 folder and run it with 1 argument - your new driver name + +DRIVER_NAME=${1} + +UUID=$(uuidgen) + +mkdir -p UefiLessonsPkg/${DRIVER_NAME} + +cat << EOF > UefiLessonsPkg/${DRIVER_NAME}/${DRIVER_NAME}.inf +[Defines] + INF_VERSION = 1.25 + BASE_NAME = ${DRIVER_NAME} + FILE_GUID = ${UUID} + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + ENTRY_POINT = ${DRIVER_NAME}EntryPoint + UNLOAD_IMAGE = ${DRIVER_NAME}Unload + +[Sources] + ${DRIVER_NAME}.c + +[Packages] + MdePkg/MdePkg.dec + +[LibraryClasses] + UefiDriverEntryPoint + UefiLib +EOF + +cat << EOF > UefiLessonsPkg/${DRIVER_NAME}/${DRIVER_NAME}.c +#include <Library/UefiBootServicesTableLib.h> +#include <Library/UefiLib.h> + + +EFI_STATUS +EFIAPI +${DRIVER_NAME}Unload ( + EFI_HANDLE ImageHandle + ) +{ + return EFI_SUCCESS; +} + +EFI_STATUS +EFIAPI +${DRIVER_NAME}EntryPoint ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + return EFI_SUCCESS; +} +EOF + |