1. 간단한 EFI application 만들기
앞서 빌드된 환경에서 샘플 애플리케이션 제작을 위한 폴더를 생성한다.
이후 생성할 애플리케이션의 코드를 아래와 같이 생성한다.
생성한 애플리케이션의 설정을 지정하기 위해 *.inf
파일을 작성한다.
https://edk2-docs.gitbook.io/edk-ii-inf-specification/3_edk_ii_inf_file_format
작성한 섹션별 주요 정보는 다음과 같다. https://edk2-docs.gitbook.io/edk-ii-inf-specification/3_edk_ii_inf_file_format/34_-defines-_section
Defines
INF_VERSION
BASE_NAME
FILE_GUID
: 모듈을 식별하기 위해 고유한 GUID 값을 지정한다. (uuidgen
명령어를 이용해 임의 생성이 가능하다)MODULE_TYPE
: EDK II에 정의되어진 모듈 type 중 애플리케이션로 지정한다. (https://edk2-docs.gitbook.io/edk-ii-inf-specification/appendix_f_module_types)ENTRY_POINT: 드라이버의 Entry point을 명시한다.
Sources: 포함하는 소스 코드 정보를 명시한다.
Packages: 포함하는 패키지 정보를 명시한다.
LibraryClasses
작성한 애플리케이션을 빌드하기 위해서는 특정 패키지에 포함되어야 한다.
작성한 샘플 애플리케이션은 OvmfPkg에 포함되어 있으므로 아래와 같은 명령어를 통해 빌드한다.
빌드 되어진 샘플 애플리케이션을 실행하기 위해서 해당 애플리케이션을 포함하여 QEMU를 실행한다.
QEMU 환경에서 생성한 애플리케이션을 실행한다.
Last updated