Setelah memahami bagaimana data terstruktur di dalam disk melalui GPT pada bab sebelumnya, sekarang kita akan masuk ke dalam jantung proses inisialisasi hardware. Jika pada BIOS Legacy proses booting terasa seperti sebuah kotak hitam yang tiba-tiba melompat ke kode kita, UEFI menawarkan sebuah alur kerja yang terstruktur, modular, dan sangat sistematis.
Artikel ini akan membedah empat fase utama dalam UEFI yang harus dilewati sebelum fungsi efi_main pada RezaOS dieksekusi.
1. Fase SEC (Security): Fondasi Kepercayaan
Segera setelah tombol power ditekan dan sinyal “Power Good” diterima oleh motherboard, CPU akan bangun dalam kondisi reset. Pada BIOS Legacy, CPU akan mencari alamat memori 0xFFFFFFF0 (Reset Vector) untuk menjalankan instruksi pertama. Di UEFI, tahap ini disebut fase SEC.
Tugas Utama Fase SEC:
- Handle Restart: Mengelola semua tipe reset (Power on, Warm boot).
- Temporary RAM: Karena memori RAM (DDR4/DDR5) belum diinisialisasi, fase SEC mengubah L3 Cache milik CPU menjadi RAM sementara. Teknik ini disebut Cache-as-RAM (CAR).
- Root of Trust: Melakukan verifikasi awal terhadap integritas firmware sebelum melanjutkan ke tahap berikutnya.
2. Fase PEI (Pre-EFI Initialization): Menyiapkan Panggung
Setelah CPU memiliki sedikit memori sementara dari Cache, ia masuk ke fase PEI. Pada tahap ini, firmware mulai menjalankan modul-modul kecil yang disebut PEIMs (PEI Modules).
Tugas Utama Fase PEI:
- Inisialisasi RAM Utama: Inilah saat di mana controller memori diaktifkan sehingga RAM fisik Anda bisa digunakan sepenuhnya.
- Recovery: Jika firmware utama rusak, fase PEI yang akan mencari file recovery di USB.
- Handover to DXE: Setelah RAM siap, PEI akan memindahkan seluruh data dari Cache ke RAM fisik dan menyiapkan lingkungan untuk fase yang jauh lebih besar: DXE.
3. Fase DXE (Driver Execution Environment): “Mini-OS” Beraksi
Fase DXE adalah tempat di mana keajaiban UEFI sebenarnya terjadi. Di sinilah sebagian besar fungsionalitas UEFI dimuat. DXE akan memuat puluhan hingga ratusan Driver hardware secara paralel.
Mengapa ini penting bagi RezaOS?
Di fase inilah driver-driver berikut diaktifkan:
- Driver Disk (SATA/NVMe): Agar firmware bisa membaca partisi FAT32.
- Driver Filesystem: Agar firmware bisa mencari folder dan file.
- GOP (Graphics Output Protocol): Agar firmware bisa menggambar piksel ke layar.
Pada tahap BIOS Legacy, tidak ada fase semacam ini. BIOS hanya memiliki kode primitif yang tertanam di ROM. Di UEFI, jika motherboard Anda mendukung kartu grafis baru, driver GOP-nya akan dimuat di fase DXE ini, sehingga RezaOS bisa langsung menggunakan resolusi maksimal monitor tanpa perlu menulis driver kartu grafis sendiri di tahap awal.
4. Fase BDS (Boot Device Selection): Memanggil RezaOS
Setelah semua driver hardware siap di fase DXE, firmware masuk ke fase BDS. Inilah fase terakhir sebelum kekuasaan berpindah ke tangan pengembang OS.
Proses di Fase BDS:
- Membaca NVRAM: Firmware mengecek variabel di memori non-volatile (seperti urutan boot yang kita atur di BIOS Setup).
- Mencari ESP: Firmware memindai partisi EFI System Partition yang telah kita bahas di Bab 2.
- Loading Image: Firmware mencari file di path
/EFI/BOOT/BOOTX64.EFI. - Relokasi Memori: Firmware menyalin biner RezaOS kita dari disk ke RAM utama dan melompat ke alamat entry point-nya.
5. Tabel Perbandingan: Rantai Booting BIOS vs UEFI
| Tahapan | BIOS Legacy | UEFI |
| Awal Power-On | POST (Sederhana) | SEC Phase (Security Check) |
| Inisialisasi RAM | Kode Hardcoded di BIOS | PEI Phase (Modular) |
| Driver Hardware | Sangat Terbatas (Interrupt) | DXE Phase (Full Driver Support) |
| Pencarian Boot | Sektor 0 (MBR) | BDS Phase (File System FAT32) |
| Mode CPU | Tetap 16-bit | Otomatis 64-bit (pada x64) |
Kesimpulan bagi Pengembang RezaOS
Memahami anatomi ini memberikan kita wawasan bahwa saat kode RezaOS kita berjalan, kita sebenarnya sedang berdiri di atas bahu raksasa. Firmware telah melakukan pekerjaan berat (inisialisasi RAM, Chipset, dan Grafik) untuk kita.
Tugas kita di dalam efi_main adalah memanfaatkan layanan (Services) yang telah disiapkan oleh fase DXE dan BDS tersebut sebelum kita akhirnya memutuskan untuk “mengusir” firmware dari RAM dan mengambil alih CPU sepenuhnya.
Next Step: Pada Bab 4, kita akan membahas perbedaan drastis antara Real Mode (BIOS) dan Long Mode (UEFI). Kita akan melihat bagaimana UEFI membebaskan pengembang OS dari belenggu memori 1 MB yang menyiksa.
