Skip to content

BICs (Bridge IC) are standalone devices deployed within a Data Center that enable monitoring a multi-host system using a single BMC device.

License

Notifications You must be signed in to change notification settings

Nuvoton-Israel/OpenBIC

 
 

Repository files navigation

OpenBIC is an open software framework to build a complete firmware image for a BridgeIC.

Contents

Documentation: https://facebook.github.io/OpenBIC/

Currently supported RTOS

OpenBIC functionality is written using the CMSIS RTOS API as an RTOS wrapper. This allows for RTOS agnostic design and feature implementations.

The currently supported RTOSs are:

  • Zephyr

Currently supported Boards

The board configuration files can be found in the configs/ directory.

The currently supported boards are:

  • Nuvoton NPCM400F EVB

Build Instructions

Dependencies

The SDK develop environment is based on Ubuntu 18.04 LTS – 64bits and bash shell. The following tools must be installed on the host machine.

Dependencies minimum required:

Cmake: 3.20.0
Python: 3.6
Devicetree compiler: 1.4.6

Install dependencies:

sudo apt install --no-install-recommends git cmake ninja-build gperf \
ccache dfu-util device-tree-compiler wget \
python3-dev python3-pip python3-setuptools python3-tk python3-wheel xzutils file \
make gcc gcc-multilib g++-multilib libsdl2-dev

Download Zephyr package: Install west, and make sure ~/.local/bin is on your PATH environment variable:

pip3 install --user -U west
echo 'export PATH=~/.local/bin:"$PATH"' >> ~/.bashrc
source ~/.bashrc

Get the application and Zephyr code base from openbic GitHub.

Note: First step will only work after west.yml being merged **

west init -m https://github.com/facebook/OpenBIC zephyrproject
cd zephyrproject
west update

Install the toolchain:

cd ~
wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.12.4/zephyr-sdk-0.12.4-x86_64-linux-setup.run

Run the installer, installing the SDK in ~/zephyr-sdk-0.12.4:

chmod +x zephyr-sdk-0.12.4-x86_64-linux-setup.run
./zephyr-sdk-0.12.4-x86_64-linux-setup.run -- -d ~/zephyr-sdk-0.12.4

Build Steps

Clean build application and Zephyr code

cd $zephyrproject/zephyr
west build -p always -b npcm400f_evb ../openbic/meta-facebook/yv35-npcm-test/

Contributing

Git Hooks

This repository uses clang-format to format all c code. Getting code merged requires that it conforms to the clang-format style file.

The easiest way to do this is to copy the git pre-commit hook from the scripts directory so that the code is automatically formatted whenever code is added to a commit.

cp scripts/hooks/pre-commit .git/hooks/

License

OpenBIC is Apache 2.0 licensed

About

BICs (Bridge IC) are standalone devices deployed within a Data Center that enable monitoring a multi-host system using a single BMC device.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 98.8%
  • Other 1.2%