How to install SBXG¶
SBXG can be divided in two classes of components:
- the core of SBXG itself, which is a python package; and
- the run-time dependencies of SBXG, that are third-parties tools the generated build system will rely on.
Installing the dependencies¶
Only GNU/Linux distributions are supported. You may want to use the command-line that suits your distribution the best.
Debian-based distributions (including Ubuntu)¶
sudo apt install git python3-pip make curl build-essential autoconf \
autotools-dev tar swig python-dev libconfuse-dev mtools
Installing the SBXG python package¶
There are no pip package
Currently, there is no pip package on Pypi. You are obliged to build from sources!
Currently, the only way to install SBXG is by downloading the sources and
installing from these sources. So, you must have git
and pip3
installed.
Then, run the following commands:
git clone https://github.com/sbxg/sbxg.git
pip3 install --user -r sbxg/requirements.txt
pip3 install --user sbxg
Understand the use of each dependency¶
You may have noticed that SBXG requires quite some dependencies. We will explain here in which context they are important.
- Python 3.6
- SBXG is written in python. This is a no-brainer, without python 3.6 or higher, you will not be able to run SBXG at all.
- Make
- SBXG bootstraps its build system, by generating a Makefile. Therefore,
make
(only GNU make is tested) is a strong requirement for SBXG. Nomake
, no possibiltiy to use SBXG’s generated files. - mkfs (ext3, vfat)
- To generate the final image, mkfs (ext3 and vfat) will be required.
- curl and tar
- To download compressed tarballs from the internet, and extract them. This is typically used to retrieve the toolchain and components to be built.
- swig
- It seems that U-Boot requires swig to be built.
- autotools
- SBXG will build from sources a package that uses the autotools. As such, the autotools programs needs to be installed (e.g. autoconf, automake, …). This package is genimage.
- kernel build essentials
- SBXG will compile the Linux Kernel and U-Boot. Hence, such a development environment shall be installed.