blob: 5c0591614330a6216b847ab4960f96ddd166ee98 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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
|