Version 2 (modified by 19 months ago) ( diff ) | ,
---|
Yocto on Venice SBCs
Yocto is a Linux distribution that was widely used on Ventana SBCs. Gateworks Yocto wiki page is located here
Gateworks does not formally include Yocto in the Venice BSP, but it is possible to use the NXP Yocto root filesystem with the Gateworks kernel to boot Yocto on a Venice SBC as a sample.
Demo / Sample Pre-Built Binary
To install a pre-built binary of Yocto on the Venice SBC as a demo, please use the following binary and instructions.
The Gateworks demo binary includes the NXP Linux 5.15.71_2.2.0 Yocto 4.0 Kirkstone EVK / RootFS for the i.MX8M Mini and the Gateworks 5.15 kernel.
NOTE, please first install a full Ubuntu image as a base on the Venice SBC to get the bootloader and everything setup. Link Here
Download the full Yocto demo binary by emailing Gateworks support and placing it on TFTP server.
Once Ubuntu is booting, then work on loading the Yocto demo binary through TFTP. Note that the binary is quite large at 1.2GB, and thus a Venice SBC with 4GB of DRAM is required to load over the network. If using a 1GB DRAM SBC, it will be required to load from removable storage.
setenv ipaddr 192.168.1.1 setenv serverip 192.168.1.2 setenv image venice-yocto-kirkstone-sample-full-image.ext4.gz run update_rootfs
After the transfer is complete, reboot the board into Yocto.
Example output once booted:
root@localhost:~# uname -a Linux localhost 5.15.15-gc3a6ad5a1338 #1 SMP Thu Dec 29 20:29:26 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux root@localhost:~# cat /etc/os-release ID=fsl-imx-xwayland NAME="NXP i.MX Release Distro" VERSION="5.15-kirkstone (kirkstone)" VERSION_ID=5.15-kirkstone PRETTY_NAME="NXP i.MX Release Distro 5.15-kirkstone (kirkstone)" DISTRO_CODENAME="kirkstone"
Assembling Binary
If trying to use a different rootfs or different kernel, use the following instructions as a guideline to create a custom rootfs image file:
# Get a root filesystem from NXP's Linux BSP download page: (REQUIRES NXP LOGIN) # For standard Venice SBCs, use the i.MX 8M Mini EVK download link # Extract the download to reveal all the pieces https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX # get mkfs tool and make it executable wget https://raw.githubusercontent.com/Gateworks/bsp-venice/master/mkfs chmod +x mkfs # get Gateworks Linux kernel wget http://dev.gateworks.com/venice/kernel/linux-venice.tar.xz # build ext4 fs using the imx-image-full-imx8mmevk.tar.zst file and Gateworks kernel sudo ./mkfs ext4 imx-image-full.ext4 4096M LF_v5.15.71-2.2.0_images_IMX8MMEVK/imx-image-full-imx8mmevk.tar.zst linux-venice.tar.xz # get bootscript wget https://raw.githubusercontent.com/Gateworks/bsp-venice/master/boot.scr -O boot.scr.txt # create uImage version of boots cript mkimage -A arm64 -T script -C none -d boot.scr.txt boot.scr # inject it into the ext4fs sudo e2cp -G 0 -O 0 boot.scr imx-image-full.ext4:/boot/ # delete the default /etc/hostname which contains 'imx8mmevk' sudo e2rm imx-image-full.ext4:/etc/hostname # you can either mount the ext4 locally and continue to manipulate it, or use e2cp/e2mkdir/e2rm as I've done above; ie /etc/issue and /etc/issuenet contain 'NXP i.MX Release Distro 5.15-krikstone' # compress it to be used on Gateworks SBC gzip imx-image-full.ext4 #Transfer imx-image-full.ext4 to a TFTP server and use the update_rootfs script to flash it toe the Venice SBC as shown in the instructions above
Next Steps
Gateworks simply provided a sample demo for testing purposes. Using Yocto for a full production environment with the ability to customize and update is at the sole discretion of the user.