# [Simulate OpenBMC and UEFI pre-silicon on Neoverse RD-V3](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openbmc-rdv3/)

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openbmc-rdv3/)
- [What are OpenBMC and UEFI?](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openbmc-rdv3/1_introduction_openbmc/)
- [Set up the development environment for OpenBMC and UEFI](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openbmc-rdv3/2_openbmc_setup/)
- [Run OpenBMC and host UEFI simulation on RD-V3 FVP](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openbmc-rdv3/3_openbmc_simulate/)
- [Monitor and control the host CPU using OpenBMC SOL and web UI](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openbmc-rdv3/4_openbmc_communicate/)
- [Customize IPMI commands in OpenBMC](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openbmc-rdv3/5_openbmc_ipmi/)
- [Next Steps](https://learn.arm.com/learning-paths/servers-and-cloud-computing/openbmc-rdv3/_next-steps/)

## About this Learning Path

| Skill level:         | Advanced        |
|----------------------|-----------------|
| Reading time:        | 2 hrs           |
| Last updated:        | 17 Jun 2026     |

| Authors:                           |
|------------------------------------|
| Odin Shen, Arm                    |
| [GitHub](https://github.com/odincodeshen) |
| [LinkedIn](https://linkedin.com/in/odin-shen-lmshen) |
| Ken Zhang, Insyde                 |
| [LinkedIn](https://linkedin.com/in/kai-di-zhang-b1642a266) |
| Arm IP:                           |
| [Neoverse](https://support.arm.com/?tab=compute-ip&amp;Product%20Type=Infrastructure%20Processors) |
| Tags:                             |
| [Containers and Virtualization](https://learn.arm.com/tag/containers-and-virtualization) |
| [Linux](https://learn.arm.com/tag/linux)               |
| [C](https://learn.arm.com/tag/c)                       |
| [Docker](https://learn.arm.com/tag/docker)             |
| [FVP](https://learn.arm.com/tag/fvp)                   |
| [OpenBMC](https://learn.arm.com/tag/openbmc)           |
| [Yocto/BitBake](https://learn.arm.com/tag/yocto/bitbake) |
| [ipmitool](https://learn.arm.com/tag/ipmitool)         |

### Who is this for?
This advanced topic is for firmware developers, platform software engineers, and system integrators working on Arm Neoverse-based platforms. It is especially useful for developers exploring pre-silicon development, testing, and integration of Baseboard Management Controllers (BMC) with UEFI firmware. If you are building or validating server-class reference platforms such as RD-V3, before hardware is available, this Learning Path shows you how to simulate and debug the full boot path using Fixed Virtual Platforms (FVPs).

### What will you learn?
Upon completion of this Learning Path, you will be able to:
- Understand the role of OpenBMC and UEFI in the Arm server boot flow
- Simulate the firmware using the RD-V3 FVP
- Build and launch OpenBMC and UEFI images on the RD-V3 FVP
- Validate host–BMC communication using UART and Serial over LAN (SoL)
- Implement and validate a custom IPMI command in OpenBMC

### Prerequisites
Before starting, you will need the following:
- An Arm Neoverse-based Linux machine (cloud or local) running Ubuntu 22.04 LTS
- At least 80 GB free disk space and 48 GB RAM
- Working knowledge of Docker, Git, and common Linux terminal tools
- Basic understanding of the server firmware stack (such as UEFI, BMC, and TF-A)
