This repository is used to create a Docker image with all the necessary dependencies to run Yocto Project's bitbake
command. Indeed, to be able to build a Yocto image you need a Linux operating system. So, if you are using Mac or Windows without using a dedicated virtual machine, you can use this Docker container to build a Yocto image.
- Docker;
- About 50 GB of free disk space is required to run the build properly.
Before you can run the container you need to create a Docker volume where you can store the build result (more info here).
The commands to create a volume on MacOS are the following:
docker volume create --name yocto-volume
docker run -it --rm -v yocto-volume:/workdir busybox chown -R 1000:1000 /workdir
First let's create the Samba container, which will allow you to access the files in the volume:
docker create -t -p 445:445 --name samba -v yocto-volume:/workdir crops/samba
Then start it:
docker start samba
MacOS will not let you connect to a locally running Samba share. Therefore, create an alias for 127.0.0.1 of 127.0.0.2:
sudo ifconfig lo0 127.0.0.2 alias up
Since you will always need to have the alias to connect to the Samba container, you could also combine the start of Samba and alias like so:
docker start samba && sudo ifconfig lo0 127.0.0.2 alias up
docker build -t [CONTAINER-NAME] .
docker run -it -v yocto-volume:/home/dev [CONTAINER-NAME]
Inside the container you can build a Yocto Project image (more info here).
For example you can run the following commands:
git clone git://git.yoctoproject.org/poky
cd poky
git fetch --tags
git checkout tags/yocto-3.4 -b my-yocto-3.4
source oe-init-build-env
# Build a minimal image.
bitbake core-image-minimal