Yocto BSP layer for Garz & Fricke Platforms
This layer provides support for Garz & Fricke platforms for use with Yocto.
This layer depends on:
URI: git://git.openembedded.org/meta-openembedded, branch: zeus
URI: git://git.yoctoproject.org/poky, branch: zeus
URI: git://github.com/meta-qt5, branch: zeus
Description
This BSP layer is split into two parts.
-
meta-guf-machine
This part is intended to hold all recipes needed to build the BSP for Garz & Fricke Boards
-
meta-guf-distro
This part is intended to hold recipes that make up the Garz & Fricke distribution
Preparing the host system
Ubuntu 18.04.1
ISO-Installation-Image: ubuntu-18.04.1-desktop-amd64 Base package configuration: 'Normal' Platform: Virtual Box 6.0.14r133895 Guest Addition installation: https://linuxize.com/post/how-to-install-virtualbox-guest-additions-in-ubuntu/
Yocto related base software
From the documentation (https://www.yoctoproject.org/docs/1.8/yocto-project-qs/yocto-project-qs.html#ubuntu):
sudo apt install -y gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat libsdl1.2-dev xterm
Additionally needed:
sudo apt install -y quilt curl flex bison libssl-dev
Development tools
sudo apt install git minicom gdb-multiarch crossbuild-essential-armhf \
meld gedit nano cscope quilt qtcreator
recommended tools
sudo apt install -y terminator meld
Development setup
SSH key for GitLab:
ssh-keygen -o -t rsa -b 4096 -C "carsten.behling@gmail.com" # use your email instead
cat ~/.ssh/id_rsa.pub
(copy and add the key content to your GitLab Profile User Settings -> SSH keys)
Local Git setup:
git config --global user.name "Carsten Behling" # use your name instead
git config --global user.email carsten.behling@gmail.com # use your email instead
Usage
Garz & Fricke uses the repo
tool to setup all necessary layers to build
the BSP.
Get Sources
It can be used like this:
mkdir ~/bin # once
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo # once
chmod a+x ~/bin/repo # once
echo "export PATH=${PATH}:~/bin" >> ~/.bashrc # once
source ~/.bashrc
mkdir -p ~/projects/yocto-dunfell
cd ~/projects/yocto-dunfell
repo init -u ssh://git@gitlab.com/guf-yocto/manifest.git -b dunfell
repo sync
Build
To get the build environment ready run
MACHINE=santino DISTRO=guf-wayland source ./setup-environment build
Build the default Garz & Fricke image
bitbake guf-image
Installation
Copy the files
- ~/projects/yocto-dunfell/build/tmp/deploy/images/santino/imx6dl-santino.dtb
- ~/projects/yocto-dunfell/build/tmp/deploy/images/santino/uImage
- ~/projects/yocto-dunfell/build/tmp/deploy/images/santino/guf-image-santino.tar.bz2
to a FAT32 partition on a SD card.
Boot int FlashNGo System by holding the button next to SD card slot pressed during power cycle.
Execute the following commands:
mkdir /tmp/boot && mount /dev/mmcblk0p2 /tmp/boot && rm /tmp/boot/uImage_dtb && cat /mnt/mmc1/uImage /mnt/mmc1/imx6dl-santino.dtb > /tmp/boot/uImage_dtb
mkdir /tmp/root && mount /dev/mmcblk0p3 /tmp/root && rm -Rf /tmp/root/* && tar -xjf /mnt/mmc1/guf-image-santino.tar.bz2 -C /tmp/root
reboot