UEFI 시뮬레이터 놀기
개요
가상화 환경 없이 UEFI(최근 BIOS) 펌웨어를 사용하는 방법
UEFI 펌웨어 및 응용프로그램 개발 환경은 OSS(EDK2)로 공개됩니다.
이 트리에는 호스트 환경에서 실행할 수 있는 UEFI 펌웨어와 UEFI 쉘의 시뮬레이터가 포함되어 있습니다.이 시뮬레이터에서도 UEFI 응용 프로그램을 실행할 수 있습니다.
다음은 이 빌딩에서 방법을 총결해 봅시다.
시뮬레이터가 할 수 있는 일
가볍게 건드리면 다음과 같은 일을 할 수 있다.
VM이 없어도 UEFI Shell은 VM에서 쉽게 시도할 수 있으며, UEFI 응용프로그램에서도 실행할 수 있기 때문에 간단한 동작 확인에 사용될 수 있습니다.
시뮬레이터의 구축
Ubuntu 18.0464 비트에 구축됩니다.[1]
Ubuntu의 공식 홈페이지에는 환경을 구축하는 방법이 적혀 있어 참고할 수 있다.
1. 필요한 패키지 설치
※ 참고자료에 기재되지 않은 최근 EDK2 구축 필요
python3-distutils
.후반전의 두 개의libx는 시뮬레이터의 구축에 필요한 것이다.sudo apt-get update
sudo apt-get install build-essential git uuid-dev iasl nasm python3-distutils libx11-dev libxext-dev
2. EDK2의 체크아웃 및 기본 도구 구축
다음은 레이블
edk2-stable202011
에서 작성한 예입니다.git clone --depth 1 --branch edk2-stable202011 https://github.com/tianocore/edk2.git
cd edk2
. edksetup.sh
git submodule update --init
make -C BaseTools
3. 시뮬레이터의 구축
Ubutnu18.04+GCC5는 구축에 성공했지만 실행할 때Segmentation Fault의 issue를 보고했습니다.최적화 옵션을 일시적으로 끊어서 구축할 수 있습니다.
perl -pi.bak -e 's/-D DISABLE_NEW_DEPRECATED_INTERFACES/-D DISABLE_NEW_DEPRECATED_INTERFACES -O0/g' EmulatorPkg/EmulatorPkg.dsc
build -p EmulatorPkg/EmulatorPkg.dsc -t GCC5 -a X64
실행 시뮬레이터
※ 실행 후 터미널의 표준 출력에 이상이 발생할 수 있으니 주의하세요.
구문 디렉토리에서 를 실행하면 UEFI 셸이 상승합니다.
cd Build/EmulatorX64/DEBUG_GCC5/X64/
./Host
호스트 디렉토리 마운트
이 UEFI Shell에서 fs0으로 위의 실행 디렉토리
(edk2のルートディレクトリ以下の)Build/EmulatorX64/DEBUG_GCC5/X64/
를 볼 수 있습니다.다음 명령을 사용하여 UEFI 셸에서 호스트 디렉토리를 마운트할 수 있습니다.
fs0:
ls
위 실행 디렉토리 아래에 임의의 UEFI 응용 프로그램을 배치하면 에뮬레이터의 UEFI 셸에서 를 실행할 수 있습니다.참고 자료
Ubuntu 공식 EDK2 구축 방법 문서
각주
Windows도 구축할 수 있지만 시도해 보지 않았기 때문에 사랑하지 않습니다.https://github.com/tianocore/edk2/tree/master/EmulatorPkg#how-to-build--run ↩︎
Reference
이 문제에 관하여(UEFI 시뮬레이터 놀기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/nokute/articles/7b085ad55e174a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)