djbender / BMC-Firmware

Turing-pi BMC firmware

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Official Turing Pi BMC firmware

GitHub Workflow Status

Welcome to the new home of the Turing Pi firmware. The Turing Pi is a compact AI & edge computing cluster purposed to run cloud stacks and AI inference at the edge. Find out more on our website.

Wenyi0421 Repository

The Wenyi0421 repository was formerly used for firmware development. We have decided to branch off and commit our fresh inputs to this repository, which implies that we will gradually phase out the Wenyi0421 repository. Currently, we are working towards a first release, which will land here soon.

Specs Turing Pi V2

  • CPU Allwinner T113-S3 (ARM Cortex-A7)
  • 128 MB DDR3 RAM
  • 1 GB SPI NAND flash (MX35LF1GE4AB)
  • EEPROM (24C02C)
  • 3 port Gigabit Ethernet Switch (RTL8370MB)
  • Ethernet PHYceiver (RTL8201F-VB-CG)
  • SD card slot
  • Buildroot SDK 2023.02.1
    • Linux 5.4
    • Linaro GCC 7.2
    • U-boot bootloader

Install firmware

There are two ways to upgrade the firmware on your current board.

  1. Using the PhoenixSuit. It allows you to write an entire new image to the board.
  2. Using an OTA package. This package can be uploaded to the board via the web UI. (This method does not update the kernel).

The required images can be found in one of our release packages. get the latest here.

On our website you can find an elaborate manual on performing an update using both methods.

Setup build environment

Using Docker

In the root of our repository there is a dockerfile which can be used to build a development container. It has all the dependencies needed to build the firmware. We recommend to go through the official docker documentation. But if you want to quickly build and run it, execute the following commands in the root of your repository:

# build the docker image
docker build . -t tp_container

# open the docker container
docker run -it -v $PWD:$PWD --workdir $PWD tp_container

Natively

Currently, only X86 Linux build hosts are supported. They are required to have the following packages installed:

sudo apt-get install build-essential subversion git-core
libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc
libxml-parser-perl mercurial bzr ecj cvs unzip lib32z1 lib32z1-dev lib32stdc++6
libstdc++6 libncurses-dev u-boot-tools mkbootimg -y

Build

To build the firmware image manually, execute the following command:

cd buildroot
make BR2_EXTERNAL=../tp2bmc tp2bmc_defconfig
make

To package up a swu (for OTA update via webui):

cd output/images/
cp -a ../../../tp2bmc/swupdate/* .
./genSWU.sh 1.0.0

About

Turing-pi BMC firmware


Languages

Language:Makefile 53.7%Language:Python 10.5%Language:C 10.0%Language:HTML 7.7%Language:CSS 5.1%Language:Shell 5.1%Language:JavaScript 4.8%Language:C++ 0.7%Language:Classic ASP 0.6%Language:Perl 0.6%Language:Yacc 0.2%Language:Batchfile 0.2%Language:Lua 0.2%Language:Tcl 0.1%Language:Lex 0.1%Language:CMake 0.1%Language:Arc 0.0%Language:M4 0.0%Language:Java 0.0%Language:Dockerfile 0.0%Language:Forth 0.0%Language:Gnuplot 0.0%Language:SMT 0.0%