# OpenBMC Hello World in SDK **Document Purpose:** Walk through compiling and running an OpenBMC application in QEMU. **Prerequisites:** Completed Development Environment Setup [Document](https://github.com/openbmc/docs/blob/master/development/dev-environment.md) ## Clone and Build a Repo This lesson uses [openbmc/phosphor-state-manager](https://github.com/openbmc/phosphor-state-manager) repo. To keep your repos organized, it's a good idea to keep them all under some common directory like ~/Code/. 1. Clone the Repository ``` git clone https://github.com/openbmc/phosphor-state-manager.git ``` 2. Add code to print out a Hello World ``` cd phosphor-state-manager vi bmc_state_manager_main.cpp ``` Your diff should look something like this: ``` +#include int main(int argc, char**) { @@ -17,6 +18,8 @@ int main(int argc, char**) bus.request_name(BMC_BUSNAME); + std::cout<<"Hello World" < romulus phosphor-bmc-state-manager[1089]: Hello World ``` That's it! You customized an existing BMC application, built it using the SDK, and ran it within QEMU!