-
Notifications
You must be signed in to change notification settings - Fork 0
EvoLogics/yodobuss
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
== Yocto/Docker Build System Setup == This project helps make build system for embedded platform by using docker (https://www.docker.com) and yocto (https://www.yoctoproject.org/) === Preparations === $ sudo apt install git make docker.io tzdata $ sudo adduser $USER docker If you will not build docker image by own, but pull it from registry, then: $ sudo apt-get install golang-docker-credential-helpers xauth dbus-x11 $ mkdir -p ~/.docker $ echo '{ "credsStore": "secretservice" }' > ~/.docker/config.json === Quick Start === This will ask what machine config to apply, setup docker image 'evologics/yocto', download yocto and meta layers, setup local config and run building image and sdk. $ make all Result binaries and images can be found in directory build/tmp/deploy/ Build binaries and images for another machine $ make MACHINE=qemux86 all Build binaries and images for RoadRunner on BertaD2 baseboard in separate build directory $ make MACHINE=sama5d2-roadrunner-bertad2-qspi BUILD_DIR=build-bertad2-qspi IMAGE_NAME=acme-minimal-image all Reconfigure current directory for another machine $ make clean-bbconfigs $ make MACHINE=imx6-tx6s-8035-evobb configure After that given MACHINE and MACHINE_CONFIG will be saved to .config.mk file, so no need to pass them again after a 'configure' target You can also use ./lazyconf.sh to choose machine config. === Separating machine configs === There are 'MACHINE' and 'MACHINE_CONFIG' parameters to change for different build configurations. For every run 'make' will load contents of machine/$(MACHINE)/$(MACHINE_CONFIG).mk file. 'MACHINE' then will be passed to bitbake into the container. 'MACHINE_CONFIG' is used only locally to separate different sets of options. 'make list-machine' displays the contents of 'machine' folder except *common* files. 'make list-config' shows the current machine and available .mk files for it. === Binding home directory === One can create a 'home' folder which will be passed to the container as a user home folder in order to: a. pass shell parameters with .bashrc and save history throughout the sessions, b. pass ssh configuration and keys to access private repositories, and so on. To activate this binding, create a file named '.use_home' in the 'home' folder and just delete if the binding is not needed anymore. Contents of the 'home' folder are intentionally excluded from git to prevent accidentally pushing sensitive information to git. === Useful commands === Show help with useful targets and tips $ make help Invoke shell with inside docker container. $ make devshell Build image 'core-image-minimal' inside developer shell devshell$ bitbake core-image-minimal Build package 'at91bootstrap' inside developer shell devshell$ bitbake at91bootstrap Rebuld kernel inside developer shell devshell$ bitbake virtual/kernel -fc clean devshell$ bitbake virtual/kernel Rebuld .dts (device tree) inside developer shell devshell$ bitbake virtual/kernel -fc deploy Rebuild only ubi image devshell$ bitbake evologics-base-image -fc image_ubi && bitbake evologics-base-image devshell$ bitbake acme-minimal-image -fc image_ubi && bitbake acme-minimal-image devshell$ bitbake acme-minimal-image -fc clean && bitbake acme-minimal-image Useful bitbake commands: https://github.com/gumstix/yocto-manifest/wiki#useful-bitbake-commands
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published