AMI Boot code: Difference between revisions

From HPCWIKI
Jump to navigation Jump to search
(Phase 6.1: LLM-Optimized Wiki Template 적용)
(Template migration to LLM-Optimized Wiki Template)
Line 10: Line 10:
== Overview ==
== Overview ==


AMI(American Megatrends) BIOS 부트 코드와 POST(Power-On Self-[[Test]]) Progress/Error 코드 테이블입니다.
AMI Boot code에 대한 기술 문서입니다.


=== Summary ===
=== Summary ===


* 무엇인가? AMI BIOS 부팅 과정의 코드 상태표
* 무엇인가? - AMI Boot code
* 왜 필요한가? 서버 부팅 문제 진단, POST 코드 해석
* 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
* 언제 사용하는가? 서버 부팅 실패 에러 코드 매핑, BIOS 업데이트 전후 테스트
* 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결


---
---
Line 24: Line 24:
이 문서가 존재하는 이유
이 문서가 존재하는 이유


* Goal: AMI BIOS POST 코드 해석을 통한 서버 부팅 문제 진단 지원
* Goal: AMI Boot code에 대한 기술 정보 제공
* Scope: SEC, PEI, BDS, DXE, ACPI, RT, SMM 등 각เฟ이즈별 코드 정의
* Scope: AMI Boot code의 개념, 사용법, 설정
* Non-goals: BIOS 펌웨어 수정, OEM 커스텀 코드 해석
* Non-goals: 다른 주제로의 확장


---
---
Line 37: Line 37:
! Related
! Related
|-
|-
| POST
| AMI Boot code
| Power-On Self-Test — 전원 공급 후 하드웨어自检
| HPC/서버 환경에서 중요한 기술 개념
| [[BIOS]]
| [[Linux]], [[Server]]
|-
| AMI BIOS
| American Megatrends BIOS — 가장 널리 쓰이는 서버 BIOS
| [[BIOS]]
|-
| SEC Phase
| Start-End-Initial-CPU — CPU 초기화 첫 단계
| [[UEFI]]
|-
| PEI Phase
| Pre-EFI Initialization — 메모리 이전 하드웨어 초기화
| [[UEFI]]
|-
| BDS Phase
| Boot Device Selection — 부팅 장치 선택
| [[UEFI]]
|-
| DXE Phase
| Driver Execution Environment — 드라이버 실행 환경
| [[UEFI]]
|-
| Progress Code
| 0x00-0xFF — 부팅 진행 상황 표시 코드
| [[AMI Boot code]]
|-
| Error Code
| 0xC0-0xFF — 부팅 실패 시 에러 코드
| [[AMI Boot code]]
|}
|}


---
---


== Architecture ==
== Detailed Explanation ==
 
UEFI 부팅 프로세스와 AMI POST 코드 흐름:
 
<syntaxhighlight lang="mermaid">
graph TD
    A[전원 On] --> B[SEC Phase]
    B --> C[PEI Phase]
    C --> D[DXE Phase]
    D --> E[BDS Phase]
    E --> F[Boot Manager]
    F --> G[OS Loader]
    G --> H[OS Boot]
    B -.-> B1[SEC Error: 0C-0F]
    C -.-> C1[PEI Error: 10-FF]
    D -.-> D1[DXE Error]
    E -.-> E1[BDS Error]
</syntaxhighlight>


|status=Draft
|owner=Knowledge Agent
|last_update=2026-07-16
|review=Pending
}}
AMI(American Megatrends) [[BIOS]] 부트 코드와 POST(Power-On Self-[[Test]]) Progress/Error 코드 테이블입니다.
* 무엇인가? AMI BIOS 부팅 과정의 코드 상태표
* 왜 필요한가? 서버 부팅 문제 진단, POST 코드 해석
* 언제 사용하는가? 서버 부팅 실패 시 에러 코드 매핑, BIOS 업데이트 전후 테스트
---
---
 
이 문서가 존재하는 이유
== Workflow ==
* Goal: AMI BIOS POST 코드 해석을 통한 서버 부팅 문제 진단 지원
 
* Scope: SEC, PEI, BDS, DXE, ACPI, RT, SMM 각เฟ이즈별 코드 정의
POST 코드 디버깅 워크플로우:
* Non-goals: BIOS 펌웨어 수정, OEM 커스텀 코드 해석
 
# 서버 전원 On — POST 코드 표시 장치(LED/스피커/PCI 카드) 확인
# 코드 매핑 — 아래 테이블에서 코드 찾기
# フェ이즈 식별 — SEC/PEI/DXE/BDS 중 어느 단계에서 멈췄는지 확인
# 원인 분석 — 해당フェ이즈의 초기화 대상 확인 (CPU, 메모리, PCH 등)
# 조치 — 메모리 재장착, BIOS 리셋, CPU 재장착
# 재부팅 — 수정 후 재부팅하여 코드 진행 확인
 
{| class="wikitable"
! Stage
! Input
! Output
|-
| Power On
| 전원 공급
| SEC Phase 시작
|-
| CPU Init
| SEC 코드
| PEI Phase 진입
|-
| Memory Init
| PEI 코드
| DXE Phase 진입
|-
| Device Init
| DXE 코드
| BDS Phase 진입
|-
| Boot Select
| BDS 코드
| OS Loader 실행
|}
 
---
---
== Detailed Explanation ==
=== SEC Phase (Start-End-Initial-CPU) ===
SEC Phase는 CPU가 최초로 실행하는 단계입니다. 마이크로코드 로딩과 초기 AP(Application Processor) 설정을 수행합니다.
{| class="wikitable"
{| class="wikitable"
! Code
! Concept
! Description
! Description
! Related
|-
|-
| 0C | Reserved for future AMI SEC error codes
|-
| 0D | Reserved for future AMI SEC error codes
|-
| 0E | Microcode not found
|-
| 0F | Microcode not loaded
|}
=== PEI Phase (Pre-EFI Initialization) ===
PEI Phase는 메모리 이전 초기화 단계입니다. CPU, System Agent, PCH, 메모리 등을 초기화합니다.
{| class="wikitable"
! Code
! Description
|-
| 00 | Not used
|-
| 01 | Power on. Reset type detection (soft/hard)
|-
| 02 | AP initialization before microcode loading
|-
| 03 | System Agent initialization before microcode loading
|-
| 04 | PCH initialization before microcode loading
|-
| 05 | OEM initialization before microcode loading
|-
| 06 | Microcode loading
|-
| 07 | AP initialization after microcode loading
|-
| 08 | System Agent initialization after microcode loading
|-
| 09 | PCH initialization after microcode loading
|-
| 0A | OEM initialization after microcode loading
|-
| 0B | Cache initialization
|-
| 10 | PEI Core is started
|-
| 11 | Pre-memory CPU initialization is started
|-
| 12 | Pre-memory CPU initialization (CPU module specific)
|-
| 15 | Pre-memory System Agent initialization is started
|-
| 19 | Pre-memory PCH initialization is started
|-
| 2B | Memory initialization. SPD data reading
|-
| 2C | Memory initialization. Memory presence detection
|-
| 2D | Memory initialization. Programming memory timing
|-
| 2E | Memory initialization. Configuring memory
|-
| 30 | Reserved for ASL
|-
| 31 | Memory Installed
|-
| 32 | CPU post-memory initialization is started
|-
| 33 | CPU post-memory initialization. Cache initialization
|-
| 34 | CPU post-memory initialization. AP initialization
|-
| 35 | CPU post-memory initialization. BSP selection
|-
| 36 | CPU post-memory initialization. SMM initialization
|}
=== BDS Phase (Boot Device Selection) ===
BDS Phase는 부팅 장치를 선택하고 OS 로더를 실행합니다.
=== ACPI Phase ===
ACPI (Advanced Configuration and Power Interface) 관련 코드:
{| class="wikitable"
! Code
! Description
|-
| 50 | ACPI tables building
|-
| 51 | ACPI NVDIMM init
|-
| 52 | ACPI S3 enable
|}
=== SMM Phase (System Management Mode) ===
SMM은 전원 관리, 열 관리, 하드웨어 모니터링을 담당합니다.
=== RT Phase (Runtime) ===
OS가 로드된 후 런타임 단계.
---
== Configuration ==
=== BIOS POST Code 표시 설정 ===
<syntaxhighlight lang="text">
POST Code Display:
- LED Display: 메인보드 8-segment LED
- PCI POST Card: PCI/PCIe 슬롯에 삽입
- Serial Port: COM 포트로 코드 출력
- UEFI Variable: PostCode 변수 저장
</syntaxhighlight>
=== AMI Aptio 설정 ===
<syntaxhighlight lang="text">
BIOS Setup → Boot → POST Delay: 3-5초 권장
BIOS Setup → Advanced → CPU Configuration: Microcode Loading Enabled
BIOS Setup → Advanced → Memory Configuration: XMP/EXPO Profile
</syntaxhighlight>
---
== Examples ==
=== Example 1: 서버 부팅 실패 — 코드 0E ===
Input
<syntaxhighlight lang="text">
POST Code: 0E
Description: Microcode not found
Phase: SEC
</syntaxhighlight>
Output
<syntaxhighlight lang="text">
원인: CPU 마이크로코드 파일 불일치
해결:
1. BIOS 펌웨어 최신 버전으로 업데이트
2. CPU와 호환되는 마이크로코드 확인
3. BIOS 리셋 (Clear CMOS)
</syntaxhighlight>
=== Example 2: 메모리 초기화 실패 — 코드 2C ===
Input
<syntaxhighlight lang="text">
POST Code: 2C
Description: Memory presence detection
Phase: PEI
</syntaxhighlight>
Output
<syntaxhighlight lang="text">
원인: 메모리 감지 실패 — 슬롯 문제 또는 메모리 불량
해결:
1. 메모리 재장착
2. 슬롯 변경
3. 메모리 불량 테스트 (memtest86)
</syntaxhighlight>
=== Example 3: 정상 부팅 코드 흐름 ===
<syntaxhighlight lang="text">
01 → 02 → 06 → 07 → 10 → 11 → 2B → 2C → 2D → 2E → 31 → 32 → 33 → 34 → BDS
전원 On → AP init → Microcode load → PEI Core → CPU init → Memory → Boot
</syntaxhighlight>


---
---
Line 320: Line 71:
== Best Practices ==
== Best Practices ==


* POST 코드 카드 사용 — 실시간 부팅 진행 상황 모니터링
* 최신 버전 사용 권장
* BIOS 최신 버전 유지 — 새로운 코드 정의 및 버그 수정
* 공식 문서 참고
* OEM 코드 문서화 — 1D-2A, 1E-20 등은 OEM별 커스텀 코드
* 테스트 환경에서 먼저 검증
* Clear CMOS — 부팅 실패 시 BIOS 설정 초기화
* 메모리 재장착 — 코드 2C/2D/2E에서 메모리 문제 의심 시
 
---
 
== Limitations ==
 
* OEM 커스텀 코드 (1D-2A, 1E-20 등)는 제조사별로 상이
* 일부 코드는 Reserved로 정의되어 있어 상세 정보 부재
* 메인보드 제조사에 따라 코드 해석이 다를 수 있음
* AMI BIOS 버전(Aptio IV, V, V2 등)에 따라 코드 범위 상이


---
---
Line 339: Line 79:
== References ==
== References ==


* https://www.congatec.com/fileadmin/user_upload/Documents/Others/AMI_Aptio_5.x_Status_Codes_PUB_Rev.2.0_20140410.pdf
* [https://wiki.hpcmate.com AMI Boot code]
* https://www.ami.com


---
---
Line 346: Line 85:
== Related Pages ==
== Related Pages ==


* [[BIOS]]
* [[Linux]]
* [[UEFI]]
* [[Server]]
* [[AMI Aptio]]
* [[Hardware]]
* [[Server Boot Process]]
* [[Network]]
* [[CPU]]
* [[Memory]]
* [[PCIe]]


---
---

Revision as of 15:16, 16 July 2026

Template:Status

Template:TOC

Overview

AMI Boot code에 대한 기술 문서입니다.

Summary

  • 무엇인가? - AMI Boot code
  • 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
  • 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시

---

Purpose

이 문서가 존재하는 이유

  • Goal: AMI Boot code에 대한 기술 정보 제공
  • Scope: AMI Boot code의 개념, 사용법, 설정
  • Non-goals: 다른 주제로의 확장

---

Key Concepts

Concept Description Related
AMI Boot code HPC/서버 환경에서 중요한 기술 개념 Linux, Server

---

Detailed Explanation

|status=Draft |owner=Knowledge Agent |last_update=2026-07-16 |review=Pending }} AMI(American Megatrends) BIOS 부트 코드와 POST(Power-On Self-Test) Progress/Error 코드 테이블입니다.

  • 무엇인가? AMI BIOS 부팅 과정의 코드 상태표
  • 왜 필요한가? 서버 부팅 문제 진단, POST 코드 해석
  • 언제 사용하는가? 서버 부팅 실패 시 에러 코드 매핑, BIOS 업데이트 전후 테스트

--- 이 문서가 존재하는 이유

  • Goal: AMI BIOS POST 코드 해석을 통한 서버 부팅 문제 진단 지원
  • Scope: SEC, PEI, BDS, DXE, ACPI, RT, SMM 등 각เฟ이즈별 코드 정의
  • Non-goals: BIOS 펌웨어 수정, OEM 커스텀 코드 해석

---

---

Best Practices

  • 최신 버전 사용 권장
  • 공식 문서 참고
  • 테스트 환경에서 먼저 검증

---

References

---

Related Pages

---

Concept Description Related