아이부트

iBoot
아이부트
개발자애플
운영 체제Darwin, macOS,[1] iPadOSiOS[2]
플랫폼x86, ARM
유형부트로더
면허증독점 소프트웨어

iBoot는 모든 Apple 제품의 2단계 부트 로더다.[3] 그것은 오래된 부트로더인 BootX를 대체한다. iBoot는 이전 제품과 비교했을 때, 부트 체인에 의해 수행되는 인증을 향상시킨다.[2]

x86 macOS의 경우 보안 UEFI Boot ROM(1단계)에 저장된 코드를 실행하여 부팅 프로세스를 시작한다. Boot ROM은 시스템 하드웨어를 초기화하고 실행할 운영 체제(POST 및 UEFI 구성 요소)를 선택해야 하는 두 가지 주된 책임이 있다. ARM MacOS의 경우 Boot ROM은 UEFI 구성 요소가 아니다.[4]

iOS의 경우, 장치의 Boot ROM 코드를 실행하여 부팅 프로세스를 시작한다. S1 프로세서 또는 A9 또는 이전 A 시리즈 프로세서가 장착된 시스템에서는 Boot ROM이 iBoot를 로드하는 Low-Level Bootloader(LLB)를 로드한다. 새로운 프로세서가 장착된 시스템에서 Boot ROM은 iBoot 자체를 로드한다. 모든 것이 잘 되면, iBoot는 iOS 커널과 나머지 운영 체제 로드를 계속 진행할 것이다.[5] LLB 또는 iBoot가 iOS를 로드하지 못하거나 iOS를 확인하지 못하면 부트 로더가 DFU(Device Firmware Update)[6] 모드로 전환되고, 그렇지 않으면 나머지 커널 모듈을 로드한다.[2]

x86 macOS에서 iBoot는 /System/Library/CoreServices/boot.efi.[7] 일단 커널과 부팅에 필요한 모든 드라이버가 로드되면, 부트 로더는 커널의 초기화 절차를 시작한다. 이때 커널이 루트 장치를 찾기에 충분한 드라이버가 로드된다.[8]

참조

  1. ^ "Darwin 9.2 Source Code". Apple Inc. Retrieved January 19, 2020.
  2. ^ a b c Ryan, Peter Y. A.; Naccache, David; Quisquater, Jean-Jacques (2016-03-17). The New Codebreakers: Essays Dedicated to David Kahn on the Occasion of His 85th Birthday. Springer. ISBN 9783662493014.
  3. ^ Hayes, Darren R. (2014-12-17). A Practical Guide to Computer Forensics Investigations. Pearson IT Certification. ISBN 9780132756150.
  4. ^ https://khronokernel.github.io/images/posts/2021-02-07-BOOT/basic-boot.png
  5. ^ Apple Inc. (May 2016). "iOS Security Guide" (PDF). apple.com. Archived (PDF) from the original on February 27, 2016.
  6. ^ "iFixit Support: DFU Restore". iFixit. Retrieved 2019-09-29.
  7. ^ "rEFIt - The Intel Mac boot process". refit.sourceforge.net. Retrieved 2017-08-26.
  8. ^ "The Early Boot Process". developer.apple.com. Retrieved 2017-08-26.

외부 링크