blob: 048ca3d7c418a88bcaa9008bfaf587065222e074 [file] [log] [blame]
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. SPDX-License-Identifier: CC-BY-4.0
.. Copyright (C) 2019 Wind River Systems, Inc.
Developer-Guide
===============
.. contents::
:depth: 3
:local:
This project implements a real time platform to deploy the O-CU and O-DU and it's based on Yocto/OpenEmbedded.
This includes a Yocto/OpenEmbedded compatible layer meta-stx-oran and wrapper scripts
to pull all required Yocto/OE layers to build out the reference platform.
To contribute on this project, basic knowledge of Yocto/OpenEmbedded is needed, please refer to the following docs if you want to learn about how to develop with Yocto/OpenEmbedded:
- `Yocto dev manual`_
- `OpenEmbedded wiki`_
.. _`Yocto dev manual`: https://www.yoctoproject.org/docs/2.6.3/dev-manual/dev-manual.html
.. _`OpenEmbedded wiki`: http://www.openembedded.org/wiki/Main_Page
1. Prerequisite for build environment
-------------------------------------
* Your host need to meet the requirements for Yocto, please refer to:
* `Compatible Linux Distribution`_
* `Supported Linux Distributions`_
* `Required Packages for the Build Host`_
The recommended and tested host is Ubuntu 16.04/18.04 and CentOS 7.
* To install the required packages for Ubuntu 16.04/18.04:
.. _`Compatible Linux Distribution`: https://www.yoctoproject.org/docs/2.6.3/brief-yoctoprojectqs/brief-yoctoprojectqs.html#brief-compatible-distro
.. _`Supported Linux Distributions`: https://www.yoctoproject.org/docs/2.6.3/ref-manual/ref-manual.html#detailed-supported-distros
.. _`Required Packages for the Build Host`: https://www.yoctoproject.org/docs/2.6.3/ref-manual/ref-manual.html#required-packages-for-the-build-host
::
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping make xsltproc docbook-utils fop dblatex xmlto \
python-git
* To install the required packages for CentOS 7:
::
$ sudo yum install -y epel-release
$ sudo yum makecache
$ sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat \
perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-Digest-SHA \
python34-pip xz which SDL-devel xterm
2. Use wrapper script build_inf.sh to setup build env and build the INF AIO x86 image
-------------------------------------------------------------------------------------
::
# Get the wrapper script with either curl or wget
$ curl -o build_inf.sh 'https://gerrit.o-ran-sc.org/r/gitweb?p=pti/rtp.git;a=blob_plain;f=scripts/build_inf.sh;hb=HEAD'
$ wget -O build_inf.sh 'https://gerrit.o-ran-sc.org/r/gitweb?p=pti/rtp.git;a=blob_plain;f=scripts/build_inf.sh;hb=HEAD'
$ chmod +x build_inf.sh
$ WORKSPACE=/path/to/workspace
$ ./build_inf.sh -w ${WORKSPACE}
If all go well, you will get the ISO image in:
${WORKSPACE}/prj_oran_inf_anaconda/tmp-glibc/deploy/images/intel-corei7-64/inf-image-aio-installer-intel-corei7-64.iso