OnRISC ELBE based Debian BSP
Debian based E.mbedded L.inux B.uild E.nvironment (ELBE) uses an XML based configuration file to create a root file system. This configuration file covers various root file system related aspects like package and repository management, binary image creation (both SD card and MTD based devices are supported) and file system finetuning (create, delete or rename files, folders etc.).
For further information visit project's home page: https://elbe-rfs.org/
You'll need a Debian Jessie host in order to use ELBE. Perform following steps:
apt install python python-mako python-lxml python-apt python-gpgme python-pyme python-suds tmux qemu-utils qemu-kvm p7zip-full libvirt-bin make
git clone https://github.com/visionsystemsgmbh/vscom-elbe.git
git clone https://github.com/Linutronix/elbe.git
git checkout devel/elbe-2.0
Before you can use ELBE as a regular user you need to add this user to the kvm/libvrt groups:
adduser <youruser> kvm adduser <youruser> libvirt
Setup own Debian Package Repository
First of all you'll need to create a public key for repository signing. Invoke following command and use default settings.
In our example we assume that the e-mail is configured as "firstname.lastname@example.org".
Download and install
freight from https://github.com/freight-team/freight.
Create following folders:
Create a file
~/.freight.conf with following content:
GPG="email@example.com" VARLIB=/home/user/debian/freight/lib VARCACHE=/home/user/debian/freight/cache ARCHS=armhf
elbe and download at least
libonrisc packages from
Now you're ready to create a Debian repository structure using
freight add *.deb apt/stretch
freight will ask you the same password you gave during the public key
creation. To make this repository available over network perform:
python -m SimpleHTTPServer 8888
This will start a HTTP server listening on port 8888.
Building Minimal Debian Image
vscom-elbe holds various image configurations under
configs. You'll need to
configs/armhf-vscom-baltos-minimal.xml and provide the IP address of
the host running the package repository you've already created. Just replace
localhost with the proper IP address.
<url-list> <url> <binary>http://localhost:8888 stretch main</binary> <key>http://localhost:firstname.lastname@example.org</key> </url> </url-list>
To create minimal Debian image perform:
./elbe initvm --skip-build-bin --skip-build-sources create --directory=initvm
./elbe initvm --skip-build-bin --skip-build-sources submit --directory=initvm ../vscom-elbe/configs/armhf-vscom-baltos-minimal.xml
Your SD card image together with build logs can be found under
sdcard.img.gz and burn
it to your card.
Bootloader files for the FAT partition as also other file system overlay files
are stored in the
armhf-vscom-baltos-minimal.xml file as a
describes how to access and modify these files.
Please refer to https://elbe-rfs.org/docs/sphinx/article-elbeoverview-en.html for more details about XML configuration files and the whole building process.
freightman page: http://freight-team.github.io/freight/freight.5.html