Updated: March 11, 2025 |
sudo apt -y install gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev python3-subunit mesa-common-dev zstd liblz4-tool file locales
mkdir Yocto cd Yocto git clone git://git.yoctoproject.org/poky.git -b mickledore git clone https://github.com/openembedded/meta-openembedded -b mickledore poky/meta-openembedded git clone https://github.com/kraj/meta-clang -b mickledore poky/meta-clang git clone https://github.com/OSSystems/meta-browser.git poky/meta-browser cd poky/meta-browser git checkout 9db8c774c348de70f1946a8b28da33f6f97bd26f cd ../../ git clone https://github.com/meta-qt5/meta-qt5 -b mickledore poky/meta-qt5
cd Yocto git clone https://gitlab.com/qnx/hypervisor/yocto/build-config.git -b mickledore build/conf git clone https://gitlab.com/qnx/hypervisor/yocto/meta-qnx.git -b mickledore poky/meta-qnx
#!/bin/bash export WORKSPACE=$PWD export IMAGE="core-image-weston" export MACHINE="qvmaarch64" cd $WORKSPACE export BBPATH=$WORKSPACE/build source $WORKSPACE/poky/oe-init-build-env export WESTON_INI_DIR=$WORKSPACE/poky/meta-qnx/meta-qvm/recipes -graphics/wayland/files/ echo "Using Weston Desktop" cp $WESTON_INI_DIR/weston_desktop.ini $WESTON_INI_DIR/weston.ini echo "Building $IMAGE for $MACHINE" MACHINE=$MACHINE bitbake $IMAGE if [ $? != 0 ]; then echo "Error building $IMAGE!" exit 1 fi
cd Yocto ./scripts/yocto-build.sh
After building your Yocto guest, you install the built guest to your cloud target and run it.
scp ./build/tmp/deploy/images/qvmaarch64/Image root@<target-ip>:/guests/linux/Yocto4.2/ scp ./build/tmp/deploy/images/qvmaarch64/core-image-weston-qvmaarch64.ext4 root@<target-ip>:/guests/linux/Yocto4.2/
qvm @/guests/linux/Yocto4.2/yocto-linux-weston.conf &
ssh -p 24 root@<target-ip>
To stop all QVMs, run slay qvm on the target.
pidin -f aA | grep yocto 8019999 qvm @/guests/linux/Yocto4.2/yocto-linux-weston.conf 8061024 grep yocto
kill -9 8019999