├── .prettierrc ├── conf ├── projects │ ├── qemuarm │ │ ├── layers.conf │ │ └── config.conf │ ├── qemuppc │ │ ├── layers.conf │ │ └── config.conf │ ├── qemux86 │ │ ├── layers.conf │ │ └── config.conf │ ├── qemuarm64 │ │ ├── layers.conf │ │ └── config.conf │ ├── qemumips │ │ ├── layers.conf │ │ └── config.conf │ ├── qemuppc64 │ │ ├── layers.conf │ │ └── config.conf │ ├── qemux86-64 │ │ ├── layers.conf │ │ └── config.conf │ ├── jetson-agx-orin-devkit │ │ └── layers.conf │ ├── jetson-orin-nano-devkit-nvme │ │ └── layers.conf │ ├── qemuriscv32 │ │ ├── config.conf │ │ └── layers.conf │ ├── qemuriscv64 │ │ ├── config.conf │ │ └── layers.conf │ ├── jetson-orin-nano-devkit │ │ └── layers.conf │ ├── qemucommon │ │ ├── layers.conf │ │ └── config.conf │ ├── nezha-d1 │ │ ├── layers.conf │ │ └── config.conf │ ├── rpi5 │ │ └── layers.conf │ ├── unleashed │ │ ├── layers.conf │ │ └── config.conf │ ├── visionfive │ │ ├── layers.conf │ │ └── config.conf │ ├── visionfive2 │ │ ├── layers.conf │ │ └── config.conf │ ├── rpi4-32 │ │ └── layers.conf │ ├── rpi4-64 │ │ └── layers.conf │ ├── imx8mm-ddr4-evk │ │ ├── layers.conf │ │ └── config.conf │ ├── unmatched │ │ ├── layers.conf │ │ └── config.conf │ ├── var-dart-imx6ul │ │ ├── layers.conf │ │ └── config.conf │ ├── var-som-mx8x │ │ ├── layers.conf │ │ └── config.conf │ ├── odroid-c4 │ │ ├── layers.conf │ │ └── config.conf │ ├── rockpi-4b │ │ ├── layers.conf │ │ └── config.conf │ ├── var-som-mx8 │ │ └── layers.conf │ ├── var-som-mx8m-nano │ │ └── layers.conf │ └── beaglebone │ │ └── layers.conf ├── sdk-extra.conf ├── bblayers.conf ├── site.conf └── site.conf.sample ├── sources └── meta-yoe │ ├── conf │ ├── distro │ │ ├── musl.inc │ │ ├── glibc.inc │ │ ├── newlib.inc │ │ ├── baremetal.inc │ │ ├── tiny.inc │ │ ├── yoe-baremetal.inc │ │ ├── systemd.inc │ │ ├── x11.inc │ │ ├── sysvinit.inc │ │ ├── yoe-newlib.inc │ │ ├── yoe-musl-systemd-x11.inc │ │ ├── yoe.conf │ │ ├── yoe-glibc-systemd-x11.inc │ │ ├── yoe-glibc-sysvinit-x11.inc │ │ ├── yoe-musl-systemd-eglfs.inc │ │ ├── yoe-musl-sysvinit-x11.inc │ │ ├── yoe-glibc-busyboxinit-x11.inc │ │ ├── yoe-glibc-systemd-eglfs.inc │ │ ├── yoe-glibc-systemd-wayland.inc │ │ ├── yoe-glibc-sysvinit-eglfs.inc │ │ ├── yoe-musl-busyboxinit-x11.inc │ │ ├── yoe-musl-systemd-wayland.inc │ │ ├── yoe-musl-sysvinit-eglfs.inc │ │ ├── yoe-musl-sysvinit-wayland.inc │ │ ├── yoe-glibc-busyboxinit-eglfs.inc │ │ ├── yoe-glibc-sysvinit-wayland.inc │ │ ├── yoe-musl-busyboxinit-eglfs.inc │ │ ├── yoe-glibc-busyboxinit-wayland.inc │ │ ├── yoe-musl-busyboxinit-wayland.inc │ │ ├── wayland.inc │ │ ├── eglfs.inc │ │ └── busyboxinit.inc │ ├── templates │ │ └── yoe │ │ │ └── conf-notes.txt │ └── layer.conf │ ├── dynamic-layers │ ├── swupdate │ │ ├── recipes-core │ │ │ └── images │ │ │ │ ├── files │ │ │ │ ├── emmcsetup.lua │ │ │ │ ├── sw-description │ │ │ │ ├── odroid-c4-hardkernel │ │ │ │ │ ├── sw-description │ │ │ │ │ └── emmcsetup.lua │ │ │ │ ├── raspberrypi3 │ │ │ │ │ ├── sw-description │ │ │ │ │ └── emmcsetup.lua │ │ │ │ └── beaglebone-yocto │ │ │ │ │ ├── sw-description │ │ │ │ │ └── emmcsetup.lua │ │ │ │ └── yoe-swupdate-image-tegra.bb │ │ └── recipes-support │ │ │ └── swupdate │ │ │ ├── swupdate │ │ │ ├── archive.cfg │ │ │ ├── hash.cfg │ │ │ ├── part-format.cfg │ │ │ ├── disable-uboot.cfg │ │ │ ├── systemd.cfg │ │ │ ├── beaglebone │ │ │ │ ├── 10-remove-force-ro │ │ │ │ ├── 09-swupdate-args │ │ │ │ └── swupdate.cfg │ │ │ └── raspberrypi3 │ │ │ │ └── defconfig │ │ │ └── swupdate_%.bbappend │ ├── meta-ti │ │ ├── recipes-kernel │ │ │ └── linux │ │ │ │ ├── files │ │ │ │ ├── extra.cfg │ │ │ │ ├── overlayfs.cfg │ │ │ │ ├── wireguard.cfg │ │ │ │ └── updater.cfg │ │ │ │ ├── linux-bb.org_%.bbappend │ │ │ │ └── linux-ti-staging_%.bbappend │ │ ├── recipes-bsp │ │ │ └── u-boot │ │ │ │ ├── u-boot-ti-staging_%.bbappend │ │ │ │ ├── u-boot-ti-mainline_%.bbappend │ │ │ │ └── files │ │ │ │ └── 0001-ti-mmc-Load-kernel-and-fdt-from-FAT-parition.patch │ │ ├── recipes-graphics │ │ │ ├── cairo │ │ │ │ └── cairo_%.bbappend │ │ │ ├── wayland │ │ │ │ └── weston-init.bbappend │ │ │ ├── kmscube │ │ │ │ ├── kmscube_%.bbappend │ │ │ │ └── kmscube │ │ │ │ │ └── 0001-meson-check-for-gles3-support.patch │ │ │ └── libgles │ │ │ │ ├── ti-sgx-ddk-um │ │ │ │ └── rc.pvr.service │ │ │ │ └── ti-sgx-ddk-um_1.17.4948957.bbappend │ │ └── recipes-qt │ │ │ └── qt5 │ │ │ ├── qtbase-conf │ │ │ ├── eglfs_kms_cfg.json │ │ │ ├── qt_env.sh │ │ │ └── ti33x │ │ │ │ └── qt_env.sh │ │ │ ├── qtbase-conf_1.0.bb │ │ │ ├── qtbase_%.bbappend │ │ │ └── qtbase │ │ │ └── 0001-eglfs-Force-888-format-only-on-env-flag.patch │ ├── variscite-bsp │ │ ├── recipes-kernel │ │ │ └── linux │ │ │ │ ├── linux-variscite │ │ │ │ ├── nologo.cfg │ │ │ │ ├── overlayfs.cfg │ │ │ │ └── wireguard.cfg │ │ │ │ └── linux-variscite_%.bbappend │ │ ├── recipes-bsp │ │ │ └── u-boot-variscite │ │ │ │ ├── u-boot-variscite │ │ │ │ ├── nologo.cfg │ │ │ │ ├── 0001-imx8qxp_var_som-Adjust-for-boot-root-data-paritioning.patch │ │ │ │ ├── 0001-imx8qm_var_som-Adjust-for-boot-root-data-paritioning.patch │ │ │ │ └── 0001-imx8mn_var_som-Adjust-for-boot-root-data-paritioning.patch │ │ │ │ └── u-boot-variscite.bbappend │ │ └── recipes-connectivity │ │ │ └── nxp-wlan-sdk │ │ │ ├── nxp-wlan-sdk_git.bb │ │ │ └── nxp-wlan-sdk_git.inc │ ├── tegra │ │ ├── recipes-kernel │ │ │ └── linux │ │ │ │ ├── linux-jammy-nvidia-tegra │ │ │ │ ├── kprobes.cfg │ │ │ │ ├── nologo.cfg │ │ │ │ ├── overlayfs.cfg │ │ │ │ ├── wireguard.cfg │ │ │ │ └── audit.cfg │ │ │ │ └── linux-jammy-nvidia-tegra_%.bbappend │ │ ├── recipes-support │ │ │ └── swupdate │ │ │ │ ├── swupdate-machine-config │ │ │ │ ├── swupdate-mods.conf │ │ │ │ ├── swupdate.cfg.in │ │ │ │ └── swupdate-genconfig.sh.in │ │ │ │ ├── tegra-swupdate-script_1.0.bb │ │ │ │ ├── tegra-swupdate-script │ │ │ │ └── tegra-swupdate-script.lua.in │ │ │ │ └── swupdate-machine-config_1.0.bb │ │ └── recipes-bsp │ │ │ ├── tegra-storage-layout │ │ │ └── tegra-storage-layout_%.bbappend │ │ │ └── data-partition-init │ │ │ ├── files │ │ │ ├── data.mount │ │ │ └── data-format.service │ │ │ └── data-partition-init.bb │ ├── raspberrypi │ │ ├── recipes-graphics │ │ │ └── mesa │ │ │ │ └── mesa.bbappend │ │ └── recipes-bsp │ │ │ └── u-boot │ │ │ ├── u-boot_%.bbappend │ │ │ └── u-boot │ │ │ └── 0001-enables-larger-kernel-images.patch │ ├── networking-layer │ │ ├── recipes-kernel │ │ │ └── wireguard │ │ │ │ └── wireguard-tools_%.bbappend │ │ ├── recipes-filter │ │ │ └── nftables │ │ │ │ └── nftables_%.bbappend │ │ └── recipes-connectivity │ │ │ └── networkmanager │ │ │ └── networkmanager_%.bbappend │ ├── qt6-layer │ │ └── recipes-qt │ │ │ ├── qt6 │ │ │ └── qttools_%.bbappend │ │ │ └── packagegroups │ │ │ └── packagegroup-qt6-addons.bbappend │ ├── webkit │ │ └── recipes-browser │ │ │ └── wpebackend-rdk │ │ │ └── wpebackend-rdk_%.bbappend │ ├── openembedded-layer │ │ └── recipes-graphics │ │ │ └── vk-gl-cts │ │ │ ├── vulkan-cts_%.bbappend │ │ │ └── opengl-es-cts_%.bbappend │ └── qt5-layer │ │ └── recipes-qt │ │ └── qt5 │ │ └── qtbase_%.bbappend │ ├── recipes-support │ ├── updater │ │ ├── files │ │ │ ├── beaglebone │ │ │ │ ├── init │ │ │ │ └── platform │ │ │ ├── visionfive2 │ │ │ │ ├── init │ │ │ │ └── platform │ │ │ ├── imx8mn-var-som │ │ │ │ └── init │ │ │ ├── imx8qm-var-som │ │ │ │ └── init │ │ │ ├── imx8qxp-var-som │ │ │ │ └── init │ │ │ ├── raspberrypi2 │ │ │ │ └── init │ │ │ ├── raspberrypi3 │ │ │ │ └── init │ │ │ ├── raspberrypi4-64 │ │ │ │ └── init │ │ │ ├── raspberrypi4 │ │ │ │ └── init │ │ │ ├── odroid-c4-hardkernel │ │ │ │ └── init │ │ │ ├── sama5d27-som1-ek-sd │ │ │ │ ├── init │ │ │ │ └── platform │ │ │ ├── platform │ │ │ ├── imx6ul-var-dart │ │ │ │ └── platform │ │ │ └── init │ │ └── updater_1.0.bb │ ├── icu │ │ ├── icu_%.bbappend │ │ └── icu │ │ │ └── filter.json │ └── curl │ │ └── curl_%.bbappend │ ├── recipes-connectivity │ ├── wpa-supplicant │ │ ├── wpa-supplicant │ │ │ └── wpa_supplicant.conf-sane │ │ └── wpa-supplicant_%.bbappend │ └── bluez5 │ │ └── bluez5_%.bbappend │ ├── README │ ├── recipes-core │ ├── busybox │ │ ├── busybox_%.bbappend │ │ └── busybox │ │ │ └── yoe_fragment.cfg │ ├── network-hotplug │ │ ├── files │ │ │ ├── network.rules │ │ │ └── network@.service │ │ └── network-hotplug.bb │ ├── psplash │ │ ├── files │ │ │ └── psplash-yoe.png │ │ └── psplash_%.bbappend │ ├── systemd │ │ ├── systemd │ │ │ ├── wired.network │ │ │ └── wireless.network │ │ └── systemd_%.bbappend │ ├── images │ │ ├── yoe-initramfs-splash-image.bb │ │ ├── yoe-release-image.bb │ │ ├── yoe-simpleiot-image.bb │ │ ├── yoe-qt5-image.bb │ │ ├── updater.inc │ │ ├── graphics.inc │ │ ├── yoe-kiosk-image.bb │ │ ├── qt5.inc │ │ ├── yoe-qt6-image.bb │ │ ├── yoe-ptest-image.bb │ │ ├── yoe-sdk-image.bb │ │ ├── yoe-initramfs-image.bb │ │ ├── yoe-debug-image.bb │ │ ├── machines │ │ │ ├── sama5d27-som1-ek-sd.inc │ │ │ ├── beaglebone.inc │ │ │ ├── visionfive2.inc │ │ │ ├── imx8mn-var-som.inc │ │ │ └── imx8qxp-var-som.inc │ │ ├── yoe-installer-image.bb │ │ └── yoe-simple-image.bb │ ├── base-files │ │ └── base-files_%.bbappend │ ├── glib-networking │ │ └── glib-networking_%.bbappend │ ├── os-release │ │ └── os-release.bbappend │ └── canboat │ │ ├── canboat_1.3.0.bb │ │ └── files │ │ ├── 0001-Do-not-use-root-user-group-during-install.patch │ │ ├── 0001-use-php-instead-of-php5.patch │ │ ├── 0001-Define-ANALYZEREXEC.patch │ │ └── 0001-Avoid-multiple-definitions-of-StringBuffer-sbNew.patch │ ├── wic │ ├── yoe-installer.wks │ ├── yoe-sdimage.wks │ ├── yoe-imx8-sd-installer.wks.in │ ├── yoe-imx8-sdimage.wks.in │ └── yoe-visionfive2-sdimage.wks │ ├── recipes-kernel │ ├── perf │ │ └── perf.bbappend │ └── linux-backports │ │ └── linux-backports.bb │ ├── recipes-test │ ├── fs-stress-test │ │ └── fs-stress-test_git.bb │ └── lcd-test │ │ └── lcd-test_git.bb │ └── classes-recipe │ └── tegra_swupdate.bbclass ├── docs ├── yoe-logo.png ├── beagleboneblack.jpg ├── ATSAMA5D27-SOM1-EK1.png ├── odroid-serial-console-top.jpg ├── raspberry-pi-serial-console.jpg ├── odroid-serial-console-bottom.jpg ├── odroid.md ├── oe-yocto-feedback.md ├── yoe-profile.md ├── kas.md ├── libc-init.md ├── gcc.md ├── conf-files.md ├── docker.md ├── beagleboneblack.md ├── git-submodules.md ├── layer-management.md ├── raspberrypi.md └── packages.md ├── RELEASE_HEAD.md ├── kas ├── jetson-agx-orin-32gb.yml ├── jetson-agx-orin-64gb.yml ├── jetson-agx-orin-devkit.yml ├── jetson-orin-nano-8gb-nvme.yml ├── jetson-orin-nano-devkit-nvme.yml ├── include │ ├── riscv.yml │ ├── yoe-updater.yml │ ├── jetson-agx-orin.yml │ └── base.yml ├── visionfive.yml ├── visionfive2.yml └── rpi4-64.yml ├── .gitignore ├── .github └── FUNDING.yml ├── COPYING.MIT └── local.sh.example /.prettierrc: -------------------------------------------------------------------------------- 1 | proseWrap: always 2 | -------------------------------------------------------------------------------- /conf/projects/qemuarm/layers.conf: -------------------------------------------------------------------------------- 1 | ../qemucommon/layers.conf -------------------------------------------------------------------------------- /conf/projects/qemuppc/layers.conf: -------------------------------------------------------------------------------- 1 | ../qemucommon/layers.conf -------------------------------------------------------------------------------- /conf/projects/qemux86/layers.conf: -------------------------------------------------------------------------------- 1 | ../qemucommon/layers.conf -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/musl.inc: -------------------------------------------------------------------------------- 1 | TCLIBC = "musl" 2 | -------------------------------------------------------------------------------- /conf/projects/qemuarm64/layers.conf: -------------------------------------------------------------------------------- 1 | ../qemucommon/layers.conf -------------------------------------------------------------------------------- /conf/projects/qemumips/layers.conf: -------------------------------------------------------------------------------- 1 | ../qemucommon/layers.conf -------------------------------------------------------------------------------- /conf/projects/qemuppc64/layers.conf: -------------------------------------------------------------------------------- 1 | ../qemucommon/layers.conf -------------------------------------------------------------------------------- /conf/projects/qemux86-64/layers.conf: -------------------------------------------------------------------------------- 1 | ../qemucommon/layers.conf -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/glibc.inc: -------------------------------------------------------------------------------- 1 | TCLIBC = "glibc" 2 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/newlib.inc: -------------------------------------------------------------------------------- 1 | TCLIBC = "newlib" 2 | 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/baremetal.inc: -------------------------------------------------------------------------------- 1 | TCLIBC = "baremetal" 2 | 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/tiny.inc: -------------------------------------------------------------------------------- 1 | DISTRO_FEATURES:remove = "pam" 2 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-core/images/files/emmcsetup.lua: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-core/images/files/sw-description: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/beaglebone/init: -------------------------------------------------------------------------------- 1 | ../updater.installer -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/visionfive2/init: -------------------------------------------------------------------------------- 1 | ../updater.installer -------------------------------------------------------------------------------- /conf/projects/jetson-agx-orin-devkit/layers.conf: -------------------------------------------------------------------------------- 1 | ../jetson-orin-nano-devkit/layers.conf -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/imx8mn-var-som/init: -------------------------------------------------------------------------------- 1 | ../updater.installer -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/imx8qm-var-som/init: -------------------------------------------------------------------------------- 1 | ../updater.installer -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/imx8qxp-var-som/init: -------------------------------------------------------------------------------- 1 | ../updater.installer -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/raspberrypi2/init: -------------------------------------------------------------------------------- 1 | ../updater.installer -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/raspberrypi3/init: -------------------------------------------------------------------------------- 1 | ../updater.installer -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/raspberrypi4-64/init: -------------------------------------------------------------------------------- 1 | ../updater.installer -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/raspberrypi4/init: -------------------------------------------------------------------------------- 1 | ../updater.installer -------------------------------------------------------------------------------- /conf/projects/jetson-orin-nano-devkit-nvme/layers.conf: -------------------------------------------------------------------------------- 1 | ../jetson-orin-nano-devkit/layers.conf -------------------------------------------------------------------------------- /docs/yoe-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YoeDistro/yoe-distro/HEAD/docs/yoe-logo.png -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-baremetal.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require baremetal.inc 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant.conf-sane: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/odroid-c4-hardkernel/init: -------------------------------------------------------------------------------- 1 | ../updater.installer -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/sama5d27-som1-ek-sd/init: -------------------------------------------------------------------------------- 1 | ../updater.installer -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-kernel/linux/files/extra.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_USB_HID=y 2 | -------------------------------------------------------------------------------- /sources/meta-yoe/README: -------------------------------------------------------------------------------- 1 | YOE Distribution Policy Layer based on OpenEmbedded Build Infrastructure 2 | -------------------------------------------------------------------------------- /docs/beagleboneblack.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YoeDistro/yoe-distro/HEAD/docs/beagleboneblack.jpg -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-kernel/linux/files/overlayfs.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_OVERLAY_FS=y 2 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/icu/icu_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" 2 | 3 | -------------------------------------------------------------------------------- /docs/ATSAMA5D27-SOM1-EK1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YoeDistro/yoe-distro/HEAD/docs/ATSAMA5D27-SOM1-EK1.png -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/systemd.inc: -------------------------------------------------------------------------------- 1 | # Use systemd for system initialization 2 | INIT_MANAGER = "systemd" 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/x11.inc: -------------------------------------------------------------------------------- 1 | DISTRO_FEATURES:append = " x11" 2 | DISTRO_FEATURES:remove = "wayland" 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/variscite-bsp/recipes-kernel/linux/linux-variscite/nologo.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_LOGO = n 2 | -------------------------------------------------------------------------------- /conf/projects/qemuarm/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "qemuarm" 2 | require ${TOPDIR}/conf/projects/qemucommon/config.conf 3 | -------------------------------------------------------------------------------- /conf/projects/qemumips/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "qemumips" 2 | require ${TOPDIR}/conf/projects/qemucommon/config.conf 3 | -------------------------------------------------------------------------------- /conf/projects/qemuppc/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "qemuppc" 2 | require ${TOPDIR}/conf/projects/qemucommon/config.conf 3 | -------------------------------------------------------------------------------- /conf/projects/qemux86/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "qemux86" 2 | require ${TOPDIR}/conf/projects/qemucommon/config.conf 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/sysvinit.inc: -------------------------------------------------------------------------------- 1 | # Use sysvinit for system initialization 2 | INIT_MANAGER = "sysvinit" 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-kernel/linux/linux-jammy-nvidia-tegra/kprobes.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_KPROBES=y 2 | -------------------------------------------------------------------------------- /conf/projects/qemuarm64/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "qemuarm64" 2 | require ${TOPDIR}/conf/projects/qemucommon/config.conf 3 | -------------------------------------------------------------------------------- /conf/projects/qemuppc64/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "qemuppc64" 2 | require ${TOPDIR}/conf/projects/qemucommon/config.conf 3 | -------------------------------------------------------------------------------- /conf/projects/qemux86-64/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "qemux86-64" 2 | require ${TOPDIR}/conf/projects/qemucommon/config.conf 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-kernel/linux/linux-jammy-nvidia-tegra/nologo.cfg: -------------------------------------------------------------------------------- 1 | #CONFIG_LOGO is not set 2 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-kernel/linux/linux-jammy-nvidia-tegra/overlayfs.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_OVERLAY_FS=y 2 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-kernel/linux/linux-jammy-nvidia-tegra/wireguard.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_WIREGUARD=m 2 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/variscite-bsp/recipes-kernel/linux/linux-variscite/overlayfs.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_OVERLAY_FS=y 2 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/variscite-bsp/recipes-kernel/linux/linux-variscite/wireguard.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_WIREGUARD=m 2 | -------------------------------------------------------------------------------- /conf/projects/qemuriscv32/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "qemuriscv32" 2 | require ${TOPDIR}/conf/projects/qemucommon/config.conf 3 | -------------------------------------------------------------------------------- /conf/projects/qemuriscv64/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "qemuriscv64" 2 | require ${TOPDIR}/conf/projects/qemucommon/config.conf 3 | -------------------------------------------------------------------------------- /docs/odroid-serial-console-top.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YoeDistro/yoe-distro/HEAD/docs/odroid-serial-console-top.jpg -------------------------------------------------------------------------------- /docs/raspberry-pi-serial-console.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YoeDistro/yoe-distro/HEAD/docs/raspberry-pi-serial-console.jpg -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-support/swupdate/swupdate/archive.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_ARCHIVE=y 2 | CONFIG_LOCALE=y 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/variscite-bsp/recipes-bsp/u-boot-variscite/u-boot-variscite/nologo.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_VIDEO_LOGO = n 2 | -------------------------------------------------------------------------------- /docs/odroid-serial-console-bottom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YoeDistro/yoe-distro/HEAD/docs/odroid-serial-console-bottom.jpg -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-newlib.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require newlib.inc 3 | 4 | DISTRO_FEATURE:remove = "usrmerge" 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-connectivity/wpa-supplicant/wpa-supplicant_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" 2 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-musl-systemd-x11.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require musl.inc 3 | require systemd.inc 4 | require x11.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe.conf: -------------------------------------------------------------------------------- 1 | YOE_PROFILE ??= "yoe-glibc-systemd-wayland" 2 | require ${YOE_PROFILE}.inc 3 | require qt6.inc 4 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-support/swupdate/swupdate/hash.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_HASH_VERIFY=y 2 | CONFIG_DISABLE_CPIO_CRC=y 3 | -------------------------------------------------------------------------------- /conf/sdk-extra.conf: -------------------------------------------------------------------------------- 1 | SSTATE_MIRRORS = "file://.* http://10.0.0.13:8000/sstate-cache/PATH" 2 | SDK_UPDATE_URL = "http://10.0.0.13:8000" 3 | 4 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-glibc-systemd-x11.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require glibc.inc 3 | require systemd.inc 4 | require x11.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-glibc-sysvinit-x11.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require glibc.inc 3 | require sysvinit.inc 4 | require x11.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-musl-systemd-eglfs.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require musl.inc 3 | require systemd.inc 4 | require eglfs.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-musl-sysvinit-x11.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require musl.inc 3 | require sysvinit.inc 4 | require x11.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-glibc-busyboxinit-x11.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require glibc.inc 3 | require busyboxinit.inc 4 | require x11.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-glibc-systemd-eglfs.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require glibc.inc 3 | require systemd.inc 4 | require eglfs.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-glibc-systemd-wayland.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require glibc.inc 3 | require systemd.inc 4 | require wayland.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-glibc-sysvinit-eglfs.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require glibc.inc 3 | require sysvinit.inc 4 | require eglfs.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-musl-busyboxinit-x11.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require musl.inc 3 | require busyboxinit.inc 4 | require x11.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-musl-systemd-wayland.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require musl.inc 3 | require systemd.inc 4 | require wayland.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-musl-sysvinit-eglfs.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require musl.inc 3 | require sysvinit.inc 4 | require eglfs.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-musl-sysvinit-wayland.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require musl.inc 3 | require sysvinit.inc 4 | require wayland.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/raspberrypi/recipes-graphics/mesa/mesa.bbappend: -------------------------------------------------------------------------------- 1 | # mesa 25.x removed it 2 | PACKAGECONFIG:remove:rpi = "kmsro" 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-glibc-busyboxinit-eglfs.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require glibc.inc 3 | require busyboxinit.inc 4 | require eglfs.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-glibc-sysvinit-wayland.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require glibc.inc 3 | require sysvinit.inc 4 | require wayland.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-musl-busyboxinit-eglfs.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require musl.inc 3 | require busyboxinit.inc 4 | require eglfs.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/busybox/busybox_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | 3 | SRC_URI += "file://yoe_fragment.cfg" 4 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-glibc-busyboxinit-wayland.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require glibc.inc 3 | require busyboxinit.inc 4 | require wayland.inc 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/yoe-musl-busyboxinit-wayland.inc: -------------------------------------------------------------------------------- 1 | require yoe.inc 2 | require musl.inc 3 | require busyboxinit.inc 4 | require wayland.inc 5 | -------------------------------------------------------------------------------- /RELEASE_HEAD.md: -------------------------------------------------------------------------------- 1 | # release-notes-from-changelog 2 | 3 | GitHub action that extracts release notes from an existing changelog. 4 | 5 | Changes in this version: 6 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-kernel/linux/linux-jammy-nvidia-tegra/audit.cfg: -------------------------------------------------------------------------------- 1 | # CONFIG_AUDIT is not set 2 | # CONFIG_AUDITSYSCALL is not set 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/wayland.inc: -------------------------------------------------------------------------------- 1 | DISTRO_FEATURES:append = " wayland" 2 | DISTRO_FEATURES_DEFAULT:remove = "x11" 3 | PACKAGECONFIG:append:pn-cog:rpi = " drm" 4 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/network-hotplug/files/network.rules: -------------------------------------------------------------------------------- 1 | SUBSYSTEM=="net", KERNEL!="lo", ENV{SYSTEMD_WANTS}="network@$name.service" ENV{SYSTEMD_ALIAS}="/$name" 2 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/networking-layer/recipes-kernel/wireguard/wireguard-tools_%.bbappend: -------------------------------------------------------------------------------- 1 | # Do not install wg-quick, avoids bash in image 2 | PACKAGECONFIG = "" 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-support/swupdate/swupdate-machine-config/swupdate-mods.conf: -------------------------------------------------------------------------------- 1 | [Service] 2 | ExecStartPre=/usr/libexec/swupdate/swupdate-genconfig 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/psplash/files/psplash-yoe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YoeDistro/yoe-distro/HEAD/sources/meta-yoe/recipes-core/psplash/files/psplash-yoe.png -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/psplash/psplash_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 2 | SPLASH_IMAGES:yoe = "file://psplash-yoe.png;outsuffix=default" 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/eglfs.inc: -------------------------------------------------------------------------------- 1 | DISTRO_FEATURES:remove = " x11 wayland" 2 | 3 | # Use rdk backend for eglfs 4 | PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-rdk" 5 | 6 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/networking-layer/recipes-filter/nftables/nftables_%.bbappend: -------------------------------------------------------------------------------- 1 | # Avoid readline and libgmp linking in 2 | PACKAGECONFIG = "editline json mini-gmp python" 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/qt6-layer/recipes-qt/qt6/qttools_%.bbappend: -------------------------------------------------------------------------------- 1 | # Disable the optional clang integration for native qttools 2 | PACKAGECONFIG:remove:class-native = "clang" 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-kernel/linux/files/wireguard.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m 2 | CONFIG_NET_UDP_TUNNEL=m 3 | CONFIG_NET_FOU=m 4 | CONFIG_IPV6_FOU=m 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/systemd/systemd/wired.network: -------------------------------------------------------------------------------- 1 | [Match] 2 | Name=eth* en* 3 | 4 | [Network] 5 | DHCP=v4 6 | 7 | [DHCP] 8 | RouteMetric=10 9 | ClientIdentifier=mac 10 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/systemd/systemd/wireless.network: -------------------------------------------------------------------------------- 1 | [Match] 2 | Name=wl* 3 | 4 | [Network] 5 | DHCP=ipv4 6 | 7 | [DHCP] 8 | RouteMetric=20 9 | ClientIdentifier=mac 10 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/networking-layer/recipes-connectivity/networkmanager/networkmanager_%.bbappend: -------------------------------------------------------------------------------- 1 | PACKAGECONFIG:remove = "ifupdown readline" 2 | PACKAGECONFIG:append = " libedit" 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/yoe-initramfs-splash-image.bb: -------------------------------------------------------------------------------- 1 | require yoe-initramfs-image.bb 2 | 3 | IMAGE_FEATURES = "splash" 4 | 5 | export IMAGE_BASENAME = "yoe-initramfs-splash-image" 6 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | 3 | SRC_URI:append:rpi = " file://0001-enables-larger-kernel-images.patch " 4 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 2 | 3 | SRC_URI += "file://0001-ti-mmc-Load-kernel-and-fdt-from-FAT-parition.patch" 4 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-support/swupdate/swupdate/part-format.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_DISKPART_HANDLER=y 2 | CONFIG_DISKFORMAT_HANDLER=y 3 | # CONFIG_FAT_FILESYSTEM is not set 4 | CONFIG_EXT_FILESYSTEM=y 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-bsp/u-boot/u-boot-ti-mainline_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 2 | 3 | SRC_URI += "file://0001-ti-mmc-Load-kernel-and-fdt-from-FAT-parition.patch" 4 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-support/swupdate/swupdate/disable-uboot.cfg: -------------------------------------------------------------------------------- 1 | # CONFIG_UBOOT is not set 2 | # CONFIG_UBOOT_FWENV is not set 3 | # CONFIG_UBOOT_DEFAULTENV is not set 4 | CONFIG_BOOTLOADER_NONE=y 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-support/swupdate/swupdate/systemd.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_SYSTEMD=y 2 | CONFIG_SOCKET_CTRL_PATH="/run/swupdate/control.sock" 3 | CONFIG_SOCKET_PROGRESS_PATH="/run/swupdate/progress.sock" 4 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-support/swupdate/swupdate/beaglebone/10-remove-force-ro: -------------------------------------------------------------------------------- 1 | # be sure that we can change U-Boot ENV (not needed with swupdate >2019.11) 2 | echo 0 > /sys/block/mmcblk1boot1/force_ro 3 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/yoe-release-image.bb: -------------------------------------------------------------------------------- 1 | # Yoe base image for using feeds 2 | 3 | require yoe-simple-image.bb 4 | 5 | IMAGE_INSTALL += "\ 6 | wget \ 7 | " 8 | export IMAGE_BASENAME = "yoe-release-image" 9 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-graphics/cairo/cairo_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | 3 | PACKAGECONFIG:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'gpu', 'egl glesv2', '', d)}" 4 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/platform: -------------------------------------------------------------------------------- 1 | TITLE="Yoe Pre-init" 2 | 3 | ROOTFS_MOUNT_POINT=/root 4 | BOOT_MOUNT_POINT=/boot 5 | DATA_MOUNT_POINT=/data 6 | SPLASH_DIR="/mnt/.splash" 7 | 8 | plat_init() { 9 | : 10 | } 11 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/variscite-bsp/recipes-kernel/linux/linux-variscite_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | SRC_URI += "file://overlayfs.cfg" 3 | SRC_URI += "file://nologo.cfg" 4 | SRC_URI += "file://wireguard.cfg" 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/busybox/busybox/yoe_fragment.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_SHA512SUM=y 2 | CONFIG_XZ=y 3 | CONFIG_FINDFS=y 4 | CONFIG_PARTPROBE=y 5 | CONFIG_FEATURE_DD_IBS_OBS=y 6 | CONFIG_FSYNC=y 7 | CONFIG_INSTALL=y 8 | CONFIG_MKFS_VFAT=y 9 | 10 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-graphics/wayland/weston-init.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | 3 | do_install:append:ti33x() { 4 | sed -i '/\[core\]/a gbm-format=rgb565' ${D}${sysconfdir}/xdg/weston/weston.ini 5 | } 6 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-connectivity/bluez5/bluez5_%.bbappend: -------------------------------------------------------------------------------- 1 | # readline is needed by bluetoothctl cmdline tool 2 | # unless we need it, we can avoid libreadline in images 3 | # which maybe good for GPL-3 free image types 4 | PACKAGECONFIG:remove = "readline" 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/base-files/base-files_%.bbappend: -------------------------------------------------------------------------------- 1 | # Create /data in rootfs which is needed 2 | # by yoe updater for mounting r/w persistent 3 | # partition in rootfs especially with r/o rootfs 4 | # where it can not be created on the fly 5 | dirs755 += "/data" 6 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/webkit/recipes-browser/wpebackend-rdk/wpebackend-rdk_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | 3 | # Enable rpi backend 4 | PACKAGECONFIG:append:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' rpi', d)}" 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/network-hotplug/files/network@.service: -------------------------------------------------------------------------------- 1 | # currently, the BindTo is not working 2 | 3 | [Service] 4 | Type=oneshot 5 | RemainAfterExit=yes 6 | ExecStart=/sbin/ifup -f %i 7 | StandardOutput=syslog+console 8 | 9 | [Unit] 10 | BindsTo=%i.device 11 | 12 | -------------------------------------------------------------------------------- /kas/jetson-agx-orin-32gb.yml: -------------------------------------------------------------------------------- 1 | header: 2 | version: 20 3 | includes: 4 | - kas/include/base.yml 5 | - kas/include/jetson-agx-orin.yml 6 | 7 | machine: "p3737-0000-p3701-0004" 8 | 9 | local_conf_header: 10 | 11 | MACHINE description: | 12 | # Nvidia Jetson AGX Orin 32GB 13 | -------------------------------------------------------------------------------- /kas/jetson-agx-orin-64gb.yml: -------------------------------------------------------------------------------- 1 | header: 2 | version: 20 3 | includes: 4 | - kas/include/base.yml 5 | - kas/include/jetson-agx-orin.yml 6 | 7 | machine: "p3737-0000-p3701-0005" 8 | 9 | local_conf_header: 10 | 11 | MACHINE description: | 12 | # Nvidia Jetson AGX Orin 64GB 13 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/glib-networking/glib-networking_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | 3 | PACKAGECONFIG:remove = "gnutls" 4 | PACKAGECONFIG:append = " openssl" 5 | 6 | SRC_URI += " file://0001-tls-tests-connection.c-Disable-unclean-close-by-serv.patch" 7 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-kernel/linux/linux-jammy-nvidia-tegra_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | 3 | SRC_URI += "file://overlayfs.cfg \ 4 | file://nologo.cfg \ 5 | file://wireguard.cfg \ 6 | file://audit.cfg \ 7 | file://kprobes.cfg" 8 | -------------------------------------------------------------------------------- /kas/jetson-agx-orin-devkit.yml: -------------------------------------------------------------------------------- 1 | header: 2 | version: 20 3 | includes: 4 | - kas/include/base.yml 5 | - kas/include/jetson-agx-orin.yml 6 | 7 | machine: "jetson-agx-orin-devkit" 8 | 9 | local_conf_header: 10 | 11 | MACHINE description: | 12 | # Nvidia Jetson AGX Orin dev kit 13 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/openembedded-layer/recipes-graphics/vk-gl-cts/vulkan-cts_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | 3 | # Yoe supports wayland by default therefore add it if its in DISTRO_FEATURES 4 | PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}" 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-graphics/kmscube/kmscube_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | 3 | SRCREV:ti-soc = "76bb57d539cb43d267e561024c34e031bf351e04" 4 | SRC_URI:append:ti-soc = " file://0001-meson-check-for-gles3-support.patch" 5 | 6 | CFLAGS += "-fcommon" 7 | 8 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/openembedded-layer/recipes-graphics/vk-gl-cts/opengl-es-cts_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | 3 | # Yoe supports wayland by default therefore add it if its in DISTRO_FEATURES 4 | PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)}" 5 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/qt6-layer/recipes-qt/packagegroups/packagegroup-qt6-addons.bbappend: -------------------------------------------------------------------------------- 1 | # qtdeviceutilities needs connman which yoe does not use 2 | # python3-pyside6 does not build with clang/lld which is default C/C++ compiler for yoe 3 | RDEPENDS:${PN}:remove = "qtdeviceutilities python3-pyside6" 4 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-kernel/linux/files/updater.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_USB=y 2 | CONFIG_USB_MUSB_HDRC=y 3 | CONFIG_USB_MUSB_DSPS=y 4 | CONFIG_USB_STORAGE=y 5 | CONFIG_USB_MUSB_AM35X=y 6 | CONFIG_AM335X_CONTROL_USB=y 7 | CONFIG_AM335X_PHY_USB=y 8 | CONFIG_USB_GADGET=y 9 | CONFIG_NOP_USB_XCEIV=y 10 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-bsp/tegra-storage-layout/tegra-storage-layout_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 2 | SRC_URI:append = " file://flash_nitro_emmc_rootfs_ab_data.xml" 3 | PARTITION_FILE = "${UNPACKDIR}/flash_nitro_emmc_rootfs_ab_data.xml" 4 | 5 | S = "${UNPACKDIR}" 6 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/imx6ul-var-dart/platform: -------------------------------------------------------------------------------- 1 | UPDATER_SPEECH=1 2 | UPDATER_CAN_PARTITION=1 3 | 4 | plat_init() { 5 | # turn on Audio amp 6 | echo 18 >/sys/class/gpio/export 7 | echo out >/sys/class/gpio/gpio18/direction 8 | echo 1 >/sys/class/gpio/gpio18/value 9 | } 10 | 11 | -------------------------------------------------------------------------------- /kas/jetson-orin-nano-8gb-nvme.yml: -------------------------------------------------------------------------------- 1 | header: 2 | version: 20 3 | includes: 4 | - kas/include/base.yml 5 | - kas/include/tegra.yml 6 | 7 | machine: "p3768-0000-p3767-0003" 8 | 9 | local_conf_header: 10 | 11 | MACHINE description: | 12 | # Nvidia Jetson Orin Nano 8G module using NVMe drive for rootfs 13 | -------------------------------------------------------------------------------- /sources/meta-yoe/wic/yoe-installer.wks: -------------------------------------------------------------------------------- 1 | # short-description: Create SD card image 2 | # long-description: Creates a partitioned SD card image. 3 | 4 | # Boot env partition 5 | part --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4096 --size 1024 6 | 7 | bootloader --ptable msdos 8 | -------------------------------------------------------------------------------- /kas/jetson-orin-nano-devkit-nvme.yml: -------------------------------------------------------------------------------- 1 | header: 2 | version: 20 3 | includes: 4 | - kas/include/base.yml 5 | - kas/include/tegra.yml 6 | 7 | machine: "jetson-orin-nano-devkit-nvme" 8 | 9 | local_conf_header: 10 | 11 | MACHINE description: | 12 | # Nvidia Jetson Orin Nano devkit using NVMe drive for rootfs 13 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-graphics/libgles/ti-sgx-ddk-um/rc.pvr.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=PowerVR consumer services 3 | 4 | [Service] 5 | ExecStart=/usr/bin/rc.pvr start 6 | ExecStop=/usr/bin/rc.pvr stop 7 | Type=oneshot 8 | RemainAfterExit=yes 9 | 10 | [Install] 11 | WantedBy=multi-user.target 12 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-qt/qt5/qtbase-conf/eglfs_kms_cfg.json: -------------------------------------------------------------------------------- 1 | { 2 | "device": "/dev/dri/card0", 3 | "hwcursor": false, 4 | "pbuffers": true, 5 | "outputs": [ 6 | { 7 | "name": "VGA1", 8 | "mode": "off" 9 | }, 10 | { 11 | "name": "HDMI1", 12 | "mode": "1024x768" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /kas/include/riscv.yml: -------------------------------------------------------------------------------- 1 | header: 2 | version: 20 3 | 4 | target: "yoe-simple-image" 5 | 6 | repos: 7 | 8 | meta-riscv: 9 | url: https://github.com/YoeDistro/meta-riscv.git 10 | path: layers/meta-riscv 11 | branch: master 12 | 13 | local_conf_header: 14 | 15 | yoe---: | 16 | YOE_PROFILE = "yoe-glibc-systemd-wayland" 17 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/distro/busyboxinit.inc: -------------------------------------------------------------------------------- 1 | # enable busybox for init and mdev for device manager 2 | INIT_MANAGER = "mdev-busybox" 3 | 4 | # We want to use sysvinit scripts to initialize a complete system 5 | # default is bare system where init system needs to be told what to run 6 | DISTRO_FEATURES:append = " sysvinit " 7 | DISTRO_FEATURES_BACKFILL_CONSIDERED:remove = "sysvinit" 8 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-qt/qt5/qtbase-conf/qt_env.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ### QT Environment Variables ### 4 | export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt 5 | export QT_QPA_EGLFS_KMS_CONFIG=/etc/qt5/eglfs_kms_cfg.json 6 | export QT_QPA_EGLFS_INTEGRATION=eglfs_kms 7 | export QT_QPA_EGLFS_ALWAYS_SET_MODE=1 8 | export QT_WAYLAND_SHELL_INTEGRATION=wl-shell 9 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-support/swupdate/swupdate-machine-config/swupdate.cfg.in: -------------------------------------------------------------------------------- 1 | globals: 2 | { 3 | verbose = false; 4 | loglevel = 3; 5 | select = "system,slot_@BOOTSLOT@"; 6 | }; 7 | 8 | identify : ( 9 | { name = "swversion"; value = "@SWVERSION@" }, 10 | { name = "serialnumber"; value = "@SERIALNUMBER@" }, 11 | { name = "model"; value = "@MODEL@" } 12 | ); 13 | 14 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-bsp/data-partition-init/files/data.mount: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Mount persistent /data from DATA partition (ext4, growfs) 3 | After=data-format.service 4 | Requires=data-format.service 5 | 6 | [Mount] 7 | What=/dev/disk/by-partlabel/DATA 8 | Where=/data 9 | Type=ext4 10 | Options=defaults,x-systemd.growfs 11 | 12 | [Install] 13 | WantedBy=local-fs.target 14 | 15 | -------------------------------------------------------------------------------- /conf/bblayers.conf: -------------------------------------------------------------------------------- 1 | # LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf 2 | # changes incompatibly 3 | LCONF_VERSION = "7" 4 | #TOPDIR := "${@os.path.dirname(os.path.dirname(d.getVar('FILE', True)))}" 5 | 6 | require ${TOPDIR}/conf/projects/${PROJECT}/layers.conf 7 | 8 | # Placeholder for devtool adding layers as it does not understand above 9 | # location for finding BBLAYERS 10 | BBLAYERS += "" 11 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/yoe-simpleiot-image.bb: -------------------------------------------------------------------------------- 1 | # Yoe sample IoT image 2 | 3 | require yoe-simple-image.bb 4 | DESCRIPTION = "SimpleIOT Image" 5 | 6 | SIMPLEIOT ?= "simpleiot" 7 | # RISCV32 does not have golang port yet so there is no use 8 | # of building this image for rv32 9 | SIMPLEIOT:riscv32 = "" 10 | 11 | IMAGE_INSTALL += "\ 12 | ${SIMPLEIOT} \ 13 | " 14 | 15 | export IMAGE_BASENAME = "yoe-simpleiot-image" 16 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-core/images/files/odroid-c4-hardkernel/sw-description: -------------------------------------------------------------------------------- 1 | software = 2 | { 3 | version = "0.0.1"; 4 | images: ( 5 | { 6 | filename = "yoe-simple-image-odroid-c4-hardkernel.ext4.gz"; 7 | type = "raw"; 8 | compressed = true; 9 | device = "/dev/mmcblk1p2"; 10 | } 11 | ); 12 | scripts: ( 13 | { 14 | filename = "emmcsetup.lua"; 15 | type = "lua"; 16 | } 17 | ); 18 | } 19 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/os-release/os-release.bbappend: -------------------------------------------------------------------------------- 1 | OS_RELEASE_FIELDS:append = " HOME_URL SUPPORT_URL BUG_REPORT_URL" 2 | HOME_URL = "https://github.com/YoeDistro" 3 | SUPPORT_URL = "https://github.com/YoeDistro/yoe-distro/issues" 4 | BUG_REPORT_URL = "https://github.com/YoeDistro/yoe-distro/issues" 5 | 6 | # IMG_VERSION is inserted from zonit environment setup script 7 | # 8 | VERSION_ID = "${@'${IMG_VERSION}' if '${IMG_VERSION}' else '0.0.0'}" 9 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-qt/qt5/qtbase-conf/ti33x/qt_env.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ### QT Environment Variables ### 4 | export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS="rotate=180" 5 | export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt 6 | export QT_QPA_EGLFS_KMS_CONFIG=/etc/qt5/eglfs_kms_cfg.json 7 | export QT_QPA_EGLFS_INTEGRATION=eglfs_kms 8 | export QT_QPA_EGLFS_ALWAYS_SET_MODE=1 9 | export QT_WAYLAND_SHELL_INTEGRATION=wl-shell 10 | -------------------------------------------------------------------------------- /kas/include/yoe-updater.yml: -------------------------------------------------------------------------------- 1 | header: 2 | version: 20 3 | 4 | local_conf_header: 5 | 6 | Yoe updater common configuration: | 7 | INITRAMFS_IMAGE_BUNDLE = "1" 8 | # Use yoe-initramfs-image for initramfs 9 | INITRAMFS_IMAGE = "yoe-initramfs-image" 10 | # Use kernel+initramfs image to boot 11 | IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE}" 12 | IMAGE_BOOT_FILES:append = " ${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${KERNEL_IMAGETYPE}" 13 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-kernel/perf/perf.bbappend: -------------------------------------------------------------------------------- 1 | do_compile:prepend() { 2 | if [ -e ${S}/tools/lib/traceevent/plugins/Makefile ]; then 3 | sed -i -e 's|\$(libdir)/traceevent/plugins|\$(libdir)/traceevent_${KERNEL_VERSION}/plugins|g' ${S}/tools/lib/traceevent/plugins/Makefile 4 | fi 5 | sed -i -e 's|\$(libdir)/traceevent/plugins|\$(libdir)/traceevent_${KERNEL_VERSION}/plugins|g' ${S}/tools/perf/Makefile.config 6 | } 7 | 8 | FILES:${PN} += "${libdir}/traceevent*" 9 | -------------------------------------------------------------------------------- /kas/include/jetson-agx-orin.yml: -------------------------------------------------------------------------------- 1 | header: 2 | version: 20 3 | includes: 4 | - kas/include/tegra.yml 5 | 6 | local_conf_header: 7 | 8 | Allocate 10GB for each rootfsA and rootfsB since it uses two partion scheme: | 9 | # 20GB/2 10 | ROOTFSPART_SIZE_DEFAULT ?= "21474836480" 11 | 12 | Data partition initialization: | 13 | IMAGE_INSTALL:append = " data-partition-init" 14 | 15 | set custom power mode to high performance: | 16 | NVPMODEL_CONFIG_DEFAULT = "0" 17 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/curl/curl_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | 3 | # We do not want GnuTLS,OpensSL,NSS SSL backends or libidn 4 | PACKAGECONFIG:remove:class-target = "gnutls libidn mbedtls nss" 5 | 6 | # Default SSL backend is openssl also can be set with 7 | # --with-default-ssl-backend=openssl if say mbedtls is enabled because 8 | # then emedtls becomes default ssl backend otherwise 9 | PACKAGECONFIG:append:class-target = " openssl brotli" 10 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-test/fs-stress-test/fs-stress-test_git.bb: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "File System stress test app" 2 | HOMEPAGE = "https://github.com/cbrake/fs-stress-test" 3 | SECTION = "utils" 4 | LICENSE = "MIT" 5 | LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=544799d0b492f119fa04641d1b8868ed" 6 | SRCREV = "6f50ca133b74197ae21c0e4e4619c90b14a5d1d3" 7 | 8 | PV = "git${SRCPV}" 9 | PR = "r1" 10 | 11 | SRC_URI = "git://github.com/cbrake/fs-stress-test.git;branch=master;protocol=https" 12 | 13 | inherit autotools 14 | 15 | -------------------------------------------------------------------------------- /kas/visionfive.yml: -------------------------------------------------------------------------------- 1 | header: 2 | version: 20 3 | includes: 4 | - kas/include/base.yml 5 | - kas/include/riscv.yml 6 | 7 | machine: visionfive 8 | 9 | local_conf_header: 10 | 11 | MACHINE description: | 12 | # StarFive JH7100 SOC VisionFive board 13 | 14 | image types: | 15 | IMAGE_FSTYPES:append = " wic.xz wic.bmap tar.xz" 16 | 17 | Needed for Running bitbake -ctestimage : | 18 | # TEST_TARGET_IP = "10.0.0.86" 19 | # TEST_SERVER_IP = "10.0.0.13" 20 | TEST_TARGET = "simpleremote" 21 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-support/swupdate/swupdate_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" 2 | 3 | SRC_URI += "\ 4 | file://systemd.cfg \ 5 | file://hash.cfg \ 6 | file://part-format.cfg \ 7 | file://archive.cfg \ 8 | file://disable-uboot.cfg \ 9 | " 10 | 11 | DEPENDS += "e2fsprogs" 12 | 13 | do_install:append() { 14 | rm -rf ${D}${sysconfdir}/swupdate.cfg 15 | } 16 | 17 | RDEPENDS:${PN} += "swupdate-machine-config" 18 | FILES_${PN}:remove = "${sysconfdir}/swupdate.cfg" 19 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-test/lcd-test/lcd-test_git.bb: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "LCD test app and images" 2 | HOMEPAGE = "https://github.com/cbrake/lcd-test" 3 | SECTION = "utils" 4 | LICENSE = "MIT" 5 | LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=544799d0b492f119fa04641d1b8868ed" 6 | SRCREV = "6cc08926e0c768fd66392569310701a114dcf910" 7 | 8 | DEPENDS = "gtk+" 9 | 10 | SRC_URI = "git://github.com/cbrake/lcd-test.git;branch=master;protocol=https" 11 | 12 | inherit cmake pkgconfig features_check 13 | 14 | ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}" 15 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-support/swupdate/swupdate/beaglebone/09-swupdate-args: -------------------------------------------------------------------------------- 1 | rootfs=`mount | grep "on / type" | cut -d':' -f 2 | cut -d' ' -f 1` 2 | 3 | if [ $rootfs == '/dev/mmcblk1p2' ];then 4 | selection="-e stable,copy2" 5 | else 6 | selection="-e stable,copy1" 7 | fi 8 | 9 | state=`fw_printenv ustate | cut -f 2 -d'='` 10 | if [ $state == 1 ];then 11 | SWUPDATE_SURICATTA_ARGS="-c 2" 12 | else 13 | SWUPDATE_SURICATTA_ARGS=" " 14 | fi 15 | 16 | SWUPDATE_ARGS="-H beaglebone:1.0 ${selection} -f /etc/swupdate.cfg" 17 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-kernel/linux/linux-bb.org_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 2 | 3 | SRC_URI += "file://wireguard.cfg \ 4 | file://updater.cfg \ 5 | file://extra.cfg \ 6 | file://overlayfs.cfg \ 7 | " 8 | 9 | KERNEL_CONFIG_FRAGMENTS += "${WORKDIR}/wireguard.cfg \ 10 | ${WORKDIR}/updater.cfg \ 11 | ${WORKDIR}/extra.cfg \ 12 | ${WORKDIR}/overlayfs.cfg \ 13 | " 14 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-kernel/linux/linux-ti-staging_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 2 | 3 | SRC_URI += "file://wireguard.cfg \ 4 | file://updater.cfg \ 5 | file://extra.cfg \ 6 | file://overlayfs.cfg \ 7 | " 8 | 9 | KERNEL_CONFIG_FRAGMENTS += "${WORKDIR}/wireguard.cfg \ 10 | ${WORKDIR}/updater.cfg \ 11 | ${WORKDIR}/extra.cfg \ 12 | ${WORKDIR}/overlayfs.cfg \ 13 | " 14 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/yoe-qt5-image.bb: -------------------------------------------------------------------------------- 1 | # Yoe QT5/Wayland/X11/eglfs sample image 2 | require yoe-simple-image.bb 3 | 4 | LICENSE = "MIT" 5 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" 6 | 7 | require qt5.inc 8 | require graphics.inc 9 | 10 | export IMAGE_BASENAME = "yoe-qt5-image" 11 | 12 | # ptest needs a lot of memory 13 | QB_MEM = "-m 1024" 14 | 15 | python() { 16 | if 'qt5-layer' not in d.getVar('BBFILE_COLLECTIONS').split(): 17 | raise bb.parse.SkipRecipe('Requires meta-qt5 in bblayers.conf') 18 | } 19 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/variscite-bsp/recipes-bsp/u-boot-variscite/u-boot-variscite.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | 3 | SRC_URI:append:yoe:imx8mn-var-som = "\ 4 | file://0001-imx8mn_var_som-Adjust-for-boot-root-data-paritioning.patch \ 5 | " 6 | 7 | SRC_URI:append:yoe:imx8qxp-var-som = "\ 8 | file://0001-imx8qxp_var_som-Adjust-for-boot-root-data-paritioning.patch \ 9 | " 10 | 11 | SRC_URI:append:yoe:imx8qm-var-som = "\ 12 | file://0001-imx8qm_var_som-Adjust-for-boot-root-data-paritioning.patch \ 13 | " 14 | 15 | SRC_URI += "file://nologo.cfg" 16 | -------------------------------------------------------------------------------- /conf/site.conf: -------------------------------------------------------------------------------- 1 | # site.conf is used for configuration settings that are checked into git, 2 | # and are used by the entire team. For settings that are unique to a machine 3 | # or user, and are not stored in git, please use local.conf. 4 | 5 | # SCONF_VERSION is increased each time build/conf/ changes incompatibly 6 | SCONF_VERSION = "1" 7 | 8 | require ${TOPDIR}/conf/projects/${PROJECT}/config.conf 9 | 10 | # Override default distro profile if needed 11 | #YOE_PROFILE = "yoe-glibc-systemd-wayland" 12 | #require conf/world.conf 13 | 14 | IMG_VERSION = "25.11.3" 15 | 16 | #INHERIT += "cve-check" 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | downloads 3 | conf/auto.conf 4 | conf/local.conf 5 | conf/sanity_info 6 | conf/local.conf 7 | pseudodone 8 | git_config 9 | subversion_config/ 10 | package-depends.dot 11 | pn-depends.dot 12 | task-depends.dot 13 | environment-oecore 14 | localconfig.sh 15 | deploy 16 | nor/rootfs/ 17 | alphaupdatelist.txt 18 | conf/toolchain.cmake 19 | bitbake.lock 20 | bitbake-cookerdaemon.log 21 | local.sh 22 | cache 23 | buildhistory 24 | tools/python 25 | tools/python-config 26 | workspace/* 27 | logs/ 28 | files.txt 29 | kas/local.yml 30 | kas/build 31 | kas/layers 32 | .kas_shell_history 33 | .vscode 34 | -------------------------------------------------------------------------------- /sources/meta-yoe/wic/yoe-sdimage.wks: -------------------------------------------------------------------------------- 1 | # short-description: Create SD card image 2 | # long-description: Creates a partitioned SD card image. 3 | 4 | # Boot env partition (200M) 5 | part --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --align 1024 --fixed-size 200 6 | 7 | # Main Rootfs partition (4G) 8 | part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --fixed-size 4096 --align 1024 9 | 10 | # User data partition (1M) 11 | part /data --ondisk mmcblk0 --fstype=ext4 --label data --fixed-size 1 --align 4096 --fsoptions "x-systemd.growfs" 12 | 13 | bootloader --ptable msdos 14 | -------------------------------------------------------------------------------- /docs/odroid.md: -------------------------------------------------------------------------------- 1 | # ODROID 2 | 3 | Yoe supports various Odroid boards. 4 | 5 | ## Serial console connection 6 | 7 | Although ODROID provides a 8 | [serial console adapter](https://wiki.odroid.com/accessory/development/usb_uart_kit), 9 | many of us have rPI style flying lead cables on hand. These can be attached 10 | directly to the connector on the ODROID. If you have a HAT on the the board, 11 | then an option is to solder a small header on the bottom as shown below. 12 | 13 | ![odroid serial console top](odroid-serial-console-top.jpg) 14 | 15 | ![odroid serial console bottom](odroid-serial-console-bottom.jpg) 16 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/templates/yoe/conf-notes.txt: -------------------------------------------------------------------------------- 1 | You can now run 'bitbake ' 2 | 3 | Common targets are: 4 | yoe-simple-image 5 | yoe-simpleiot-image 6 | yoe-kiosk-image 7 | yoe-qt6-image 8 | yoe-installer-image 9 | yoe-debug-image 10 | yoe-ptest-image 11 | yoe-sdk-image 12 | meta-toolchain 13 | 14 | You can also run generated qemu images with a command like 'runqemu nographic'. 15 | 16 | Other commonly useful commands are: 17 | - 'devtool' and 'recipetool' handle common recipe tasks 18 | - 'bitbake-layers' handles common layer tasks 19 | - 'oe-pkgdata-util' handles common target package tasks 20 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/variscite-bsp/recipes-connectivity/nxp-wlan-sdk/nxp-wlan-sdk_git.bb: -------------------------------------------------------------------------------- 1 | require nxp-wlan-sdk_git.inc 2 | 3 | SUMMARY = "NXP Wi-Fi SDK" 4 | 5 | inherit module-base 6 | 7 | TARGET_CC_ARCH += "${LDFLAGS}" 8 | 9 | do_compile () { 10 | oe_runmake build 11 | } 12 | 13 | do_install () { 14 | install -d ${D}${datadir}/nxp_wireless 15 | 16 | install -m 0755 script/load ${D}${datadir}/nxp_wireless 17 | install -m 0755 script/unload ${D}${datadir}/nxp_wireless 18 | install -m 0644 README ${D}${datadir}/nxp_wireless 19 | } 20 | 21 | FILES:${PN} = "${datadir}/nxp_wireless" 22 | 23 | COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 24 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/variscite-bsp/recipes-connectivity/nxp-wlan-sdk/nxp-wlan-sdk_git.inc: -------------------------------------------------------------------------------- 1 | SUMMARY = "NXP Wi-Fi SDK for module 88w8801/8987/8997/9098 and IW416/612" 2 | LICENSE = "GPL-2.0-only" 3 | LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=ab04ac0f249af12befccb94447c08b77" 4 | 5 | # For Kernel 5.4 and later 6 | SRCBRANCH = "lf-6.1.36_2.1.0" 7 | MRVL_SRC ?= "git://github.com/nxp-imx/mwifiex.git;protocol=https" 8 | SRC_URI = "${MRVL_SRC};branch=${SRCBRANCH}" 9 | SRCREV = "26246bf60afa613272156fa268e4ff99f5d810ae" 10 | 11 | S = "${WORKDIR}/git/mxm_wifiex/wlan_src" 12 | 13 | EXTRA_OEMAKE = "KERNELDIR=${STAGING_KERNEL_BUILDDIR}" 14 | 15 | RDEPENDS:${PN} = "wireless-tools" 16 | -------------------------------------------------------------------------------- /kas/visionfive2.yml: -------------------------------------------------------------------------------- 1 | header: 2 | version: 20 3 | includes: 4 | - kas/include/base.yml 5 | - kas/include/riscv.yml 6 | - kas/include/yoe-updater.yml 7 | 8 | machine: visionfive2 9 | 10 | local_conf_header: 11 | 12 | MACHINE description: | 13 | # StarFive JH7110 SOC VisionFive 2 board 14 | 15 | image types: | 16 | IMAGE_FSTYPES:append = " wic.xz wic.bmap ext4.xz" 17 | 18 | Yoe updater configuration (in addition to kas/include/yoe-updater.yml): | 19 | WKS_FILE:yoe = "yoe-visionfive2-sdimage.wks" 20 | 21 | Needed for Running bitbake -ctestimage : | 22 | TEST_TARGET_IP = "10.0.0.86" 23 | TEST_SERVER_IP = "10.0.0.13" 24 | TEST_TARGET = "simpleremote" 25 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/updater.inc: -------------------------------------------------------------------------------- 1 | DEPENDS += "coreutils-native" 2 | 3 | UPDATE_IMAGES_ ??= "" 4 | 5 | UPDATE_IMAGES_ ?= "${UPDATE_IMAGES} update.sha256" 6 | KERNEL_IMAGE ?= "zImage-initramfs-${MACHINE}.bin" 7 | 8 | IMG_VERSION ?= "0.0.0" 9 | 10 | UPDATE_IMAGE_NAME ?= "${MACHINE}" 11 | 12 | do_updater () { 13 | : 14 | } 15 | 16 | addtask updater after do_image_complete before do_build 17 | do_updater[depends] += "${PN}:do_image_complete" 18 | do_updater[depends] += "virtual/kernel:do_deploy" 19 | # We want to build updater everytime we build image 20 | do_updater[nostamp] = "1" 21 | 22 | # Define this file for each machine in machine/ subdir 23 | include recipes-core/images/machines/${MACHINE}.inc 24 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/updater_1.0.bb: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "System Updater" 2 | LICENSE = "MIT" 3 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" 4 | 5 | S = "${UNPACKDIR}" 6 | 7 | SRC_URI = "file://init \ 8 | file://platform \ 9 | " 10 | do_configure() { 11 | : 12 | } 13 | do_compile() { 14 | : 15 | } 16 | do_install() { 17 | install -Dm 0775 ${UNPACKDIR}/init ${D}/init 18 | install -Dm 0664 ${UNPACKDIR}/platform ${D}/platform 19 | install -d ${D}/dev 20 | mknod -m 622 ${D}/dev/console c 5 1 21 | } 22 | 23 | FILES:${PN} += "/init /platform /dev ${datadir}" 24 | 25 | RDEPENDS:${PN} += "e2fsprogs-resize2fs util-linux-sfdisk" 26 | 27 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/network-hotplug/network-hotplug.bb: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "Network Hotplug" 2 | LICENSE = "MIT" 3 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" 4 | PR = "r2" 5 | 6 | SRC_URI = " \ 7 | file://network@.service \ 8 | file://network.rules \ 9 | " 10 | 11 | S = "${UNPACKDIR}" 12 | 13 | do_install() { 14 | install -d ${D}${base_libdir}/systemd/system/basic.target.wants 15 | install -m 0644 ${S}/*.service ${D}${base_libdir}/systemd/system 16 | 17 | install -Dm 0644 ${S}/network.rules ${D}${sysconfdir}/udev/rules.d/network.rules 18 | } 19 | 20 | FILES:${PN} = "${sysconfdir}/udev/rules.d/* ${base_libdir}/systemd/system/*" 21 | RDEPENDS:${PN} = "udev" 22 | -------------------------------------------------------------------------------- /conf/projects/jetson-orin-nano-devkit/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-tegra \ 8 | ${TOPDIR}/sources/meta-tegra-community \ 9 | \ 10 | ${TOPDIR}/sources/meta-swupdate \ 11 | ${TOPDIR}/sources/meta-qt6 \ 12 | \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 19 | \ 20 | ${TOPDIR}/sources/openembedded-core/meta \ 21 | " 22 | -------------------------------------------------------------------------------- /docs/oe-yocto-feedback.md: -------------------------------------------------------------------------------- 1 | It is no secret that OpenEmbedded/Yocto has a steep learning curve. Many people 2 | who try to use it get discouraged and write it off as porely done and impossible 3 | to understand. This is one of the problems the motivated us to create Yoe. 4 | 5 | Below is some of the feedback we've collected and links to various discussions. 6 | 7 | - If a build breaks, it is not always obvious what went wrong. If there weren't 8 | Google, I'd be dead in the water! 9 | - If I modify some code in a package, how do I know that a bitbake will properly 10 | pull in my changes and rebuild what I want it to? I'd expect that a simple 11 | bitbake would do what I'd think it should do, but in some cases, it does not. 12 | - https://news.ycombinator.com/item?id=21677639 13 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-qt/qt5/qtbase-conf_1.0.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "qtbase configuration files" 2 | HOMEPAGE = "http://www.qt.io/" 3 | LICENSE = "MIT" 4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 5 | 6 | PACKAGE_ARCH = "${MACHINE_ARCH}" 7 | 8 | SRC_URI = "file://qt_env.sh \ 9 | file://eglfs_kms_cfg.json \ 10 | " 11 | # Add custom Arago qtbase Environment script and eglfs_kms configuration file 12 | do_install () { 13 | install -d ${D}${sysconfdir}/profile.d 14 | install -m 0644 ${WORKDIR}/qt_env.sh ${D}${sysconfdir}/profile.d/ 15 | install -d ${D}${sysconfdir}/qt5 16 | install -m 0644 ${WORKDIR}/eglfs_kms_cfg.json ${D}${sysconfdir}/qt5/ 17 | } 18 | 19 | FILES:${PN} += "${sysconfdir}/profile.d/* ${ysconfdir}/qt5/*" 20 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend: -------------------------------------------------------------------------------- 1 | # This does not work when wayland and x11 both are enabled in DISTRO_FEATURES and x11 image 2 | # is built but works ok for eglfs and wayland images 3 | QT_CONFIG_FLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '-qpa wayland', \ 4 | bb.utils.contains('DISTRO_FEATURES', 'x11', '', \ 5 | '-qpa eglfs', d), d)}" 6 | 7 | PACKAGECONFIG:append = " libinput eglfs examples linuxfb tslib" 8 | 9 | PACKAGECONFIG_GL = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'gl', \ 10 | bb.utils.contains('DISTRO_FEATURES', 'opengl', 'eglfs gles2', \ 11 | '', d), d)}" 12 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: kraj 4 | #patreon: # Replace with a single Patreon username 5 | #open_collective: # Replace with a single Open Collective username 6 | #ko_fi: # Replace with a single Ko-fi username 7 | #tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | #community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | #liberapay: # Replace with a single Liberapay username 10 | #issuehunt: # Replace with a single IssueHunt username 11 | #otechie: # Replace with a single Otechie username 12 | #lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 13 | #custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 14 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-bsp/data-partition-init/files/data-format.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Initialize DATA partition with ext4 (first-boot) 3 | DefaultDependencies=no 4 | After=dev-disk-by\x2dpartlabel-DATA.device 5 | Before=local-fs.target 6 | Requires=dev-disk-by\x2dpartlabel-DATA.device 7 | 8 | [Service] 9 | Type=oneshot 10 | # Only mkfs if it's not already an ext4 filesystem; otherwise do nothing. 11 | ExecStart=/bin/sh -c '\ 12 | DEV=/dev/disk/by-partlabel/DATA; \ 13 | if ! blkid "$DEV" | grep -q "TYPE=\\"ext4\\""; then \ 14 | echo "Creating ext4 on $DEV (label=DATA)"; \ 15 | /sbin/mkfs.ext4 -L DATA "$DEV"; \ 16 | else \ 17 | echo "DATA partition already formatted; skipping mkfs"; \ 18 | fi' 19 | 20 | RemainAfterExit=yes 21 | 22 | [Install] 23 | WantedBy=local-fs.target 24 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/graphics.inc: -------------------------------------------------------------------------------- 1 | X11PKGS = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'packagegroup-core-x11 packagegroup-xfce-base', d)}" 2 | X11ONLYPKGS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11PKGS}', '', d)}" 3 | X11FEATURE = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'x11', d)}" 4 | X11FEATUREONLY = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11FEATURE}', '', d)}" 5 | 6 | IMAGE_FEATURES += "splash \ 7 | ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston', '', d)} \ 8 | ${X11FEATUREONLY} \ 9 | " 10 | CORE_IMAGE_EXTRA_INSTALL += " \ 11 | ${@bb.utils.contains('DISTRO_FEATURES', 'wayland x11', 'weston-xwayland', '', d)} \ 12 | ${X11ONLYPKGS} \ 13 | " 14 | SYSTEMD_DEFAULT_TARGET = "graphical.target" 15 | -------------------------------------------------------------------------------- /conf/projects/qemucommon/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-clang \ 8 | ${TOPDIR}/sources/meta-qt6 \ 9 | \ 10 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 11 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 12 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 20 | \ 21 | ${TOPDIR}/sources/openembedded-core/meta \ 22 | " 23 | -------------------------------------------------------------------------------- /sources/meta-yoe/classes-recipe/tegra_swupdate.bbclass: -------------------------------------------------------------------------------- 1 | inherit l4t_version 2 | 3 | # Set to "true" to use logic which only installs the bootloader 4 | # when a change in L4T_VERSION is found between current and target rootfs 5 | TEGRA_SWUPDATE_BOOTLOADER_INSTALL_ONLY_IF_DIFFERENT ?= "false" 6 | 7 | 8 | # The version written into the sw-versions file for the 9 | # bootloader update capsule, used to control bootloader 10 | # updates when TEGRA_SWUPDATE_BOOTLOADER_INSTALL_ONLY_IF_DIFFERENT is "true" 11 | # Can be set to anything, but ideally would match the value 12 | # used for get_hex_bsp_version in tegra-uefi-capsule-signing.bbclass 13 | # to support comparisons with runtime checks of version in 14 | # /sys/firmware/efi/esrt/entries/entry0/fw_version 15 | TEGRA_SWUPDATE_BOOTLOADER_VERSION ?= "${L4T_VERSION}" 16 | 17 | 18 | TEGRA_SWUPDATE_CAPSULE_INSTALL_PATH ?= "/boot/efi/EFI/UpdateCapsule/TEGRA_BL.Cap" 19 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-support/swupdate/tegra-swupdate-script_1.0.bb: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "Script run as a part of swupdate install for tegra" 2 | LICENSE = "MIT" 3 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" 4 | 5 | SRC_URI = "\ 6 | file://tegra-swupdate-script.lua.in \ 7 | " 8 | 9 | S = "${UNPACKDIR}" 10 | B = "${WORKDIR}/build" 11 | 12 | inherit tegra_swupdate deploy 13 | 14 | do_compile() { 15 | sed -e's,@TEGRA_SWUPDATE_BOOTLOADER_INSTALL_ONLY_IF_DIFFERENT@,${TEGRA_SWUPDATE_BOOTLOADER_INSTALL_ONLY_IF_DIFFERENT},g' \ 16 | -e's,@TEGRA_SWUPDATE_CAPSULE_INSTALL_PATH@,${TEGRA_SWUPDATE_CAPSULE_INSTALL_PATH},g'\ 17 | ${S}/tegra-swupdate-script.lua.in > ${B}/tegra-swupdate-script.lua 18 | } 19 | 20 | do_deploy() { 21 | cp ${B}/tegra-swupdate-script.lua ${DEPLOYDIR}/ 22 | } 23 | 24 | addtask deploy after do_install 25 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-support/swupdate/swupdate/beaglebone/swupdate.cfg: -------------------------------------------------------------------------------- 1 | globals : 2 | { 3 | 4 | verbose = true; 5 | loglevel = 5; 6 | syslog = true; 7 | /* public-key-file = "test.pem";*/ 8 | }; 9 | 10 | download : 11 | { 12 | retries = 3; 13 | timeout = 1800; 14 | }; 15 | 16 | identify : ( 17 | { name = "board"; value = "BeagleboneBlack"; } 18 | ); 19 | 20 | suricatta : 21 | { 22 | 23 | tenant = "default"; 24 | id = "bbb"; 25 | confirm = 0; 26 | url = "http://papero:8080"; 27 | polldelay = 360; 28 | nocheckcert = true; 29 | retry = 4; 30 | retrywait = 200; 31 | loglevel = 10; 32 | userid = 0; 33 | groupid = 0; 34 | max_artifacts = 1; 35 | /* 36 | cafile = "/etc/ssl/cafile"; 37 | sslkey = "/etc/ssl/sslkey"; 38 | sslcert = "/etc/ssl/sslcert"; 39 | */ 40 | }; 41 | 42 | webserver : 43 | { 44 | document_root = "/www"; 45 | userid = 0; 46 | groupid = 0; 47 | }; 48 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-qt/qt5/qtbase_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | 3 | SRC_URI:append:ti-soc = " file://0001-eglfs-Force-888-format-only-on-env-flag.patch" 4 | 5 | QT_CONFIG_FLAGS:append:ti-soc = " -qpa eglfs" 6 | 7 | PACKAGECONFIG_GL:ti-soc = "eglfs gles2 gbm" 8 | PACKAGECONFIG_FONTS:ti-soc = "fontconfig" 9 | 10 | PACKAGECONFIG:append:ti-soc = " libinput examples tslib xkbcommon kms" 11 | 12 | PACKAGECONFIG:remove:ti-soc = "tests" 13 | 14 | 15 | OE_QTBASE_EGLFS_DEVICE_INTEGRATION:ti-soc = "eglfs_kms" 16 | 17 | do_configure:prepend:ti-soc() { 18 | # Add the appropriate EGLFS_DEVICE_INTEGRATION 19 | if [ "${@d.getVar('OE_QTBASE_EGLFS_DEVICE_INTEGRATION')}" != "" ]; then 20 | echo "EGLFS_DEVICE_INTEGRATION = ${OE_QTBASE_EGLFS_DEVICE_INTEGRATION}" >> ${S}/mkspecs/oe-device-extra.pri 21 | fi 22 | } 23 | 24 | RDEPENDS:${PN}:append:ti-soc = "${PN}-conf" 25 | -------------------------------------------------------------------------------- /conf/projects/nezha-d1/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-riscv \ 8 | \ 9 | ${TOPDIR}/sources/meta-clang \ 10 | ${TOPDIR}/sources/meta-qt6 \ 11 | \ 12 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 22 | \ 23 | ${TOPDIR}/sources/openembedded-core/meta \ 24 | " 25 | -------------------------------------------------------------------------------- /conf/projects/qemuriscv32/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-riscv \ 8 | \ 9 | ${TOPDIR}/sources/meta-clang \ 10 | ${TOPDIR}/sources/meta-qt6 \ 11 | \ 12 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 22 | \ 23 | ${TOPDIR}/sources/openembedded-core/meta \ 24 | " 25 | -------------------------------------------------------------------------------- /conf/projects/qemuriscv64/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-riscv \ 8 | \ 9 | ${TOPDIR}/sources/meta-clang \ 10 | ${TOPDIR}/sources/meta-qt6 \ 11 | \ 12 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 22 | \ 23 | ${TOPDIR}/sources/openembedded-core/meta \ 24 | " 25 | -------------------------------------------------------------------------------- /conf/projects/rpi5/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-raspberrypi \ 8 | \ 9 | ${TOPDIR}/sources/meta-clang \ 10 | ${TOPDIR}/sources/meta-qt6 \ 11 | \ 12 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 22 | \ 23 | ${TOPDIR}/sources/openembedded-core/meta \ 24 | " 25 | -------------------------------------------------------------------------------- /conf/projects/unleashed/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-riscv \ 8 | \ 9 | ${TOPDIR}/sources/meta-clang \ 10 | ${TOPDIR}/sources/meta-qt6 \ 11 | \ 12 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 22 | \ 23 | ${TOPDIR}/sources/openembedded-core/meta \ 24 | " 25 | -------------------------------------------------------------------------------- /conf/projects/visionfive/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-riscv \ 8 | \ 9 | ${TOPDIR}/sources/meta-clang \ 10 | ${TOPDIR}/sources/meta-qt6 \ 11 | \ 12 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 22 | \ 23 | ${TOPDIR}/sources/openembedded-core/meta \ 24 | " 25 | -------------------------------------------------------------------------------- /conf/projects/visionfive2/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-riscv \ 8 | \ 9 | ${TOPDIR}/sources/meta-clang \ 10 | ${TOPDIR}/sources/meta-qt6 \ 11 | \ 12 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 22 | \ 23 | ${TOPDIR}/sources/openembedded-core/meta \ 24 | " 25 | -------------------------------------------------------------------------------- /conf/projects/rpi4-32/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-raspberrypi \ 8 | \ 9 | ${TOPDIR}/sources/meta-clang \ 10 | ${TOPDIR}/sources/meta-qt6 \ 11 | \ 12 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 22 | \ 23 | ${TOPDIR}/sources/openembedded-core/meta \ 24 | " 25 | -------------------------------------------------------------------------------- /conf/projects/rpi4-64/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-raspberrypi \ 8 | \ 9 | ${TOPDIR}/sources/meta-clang \ 10 | ${TOPDIR}/sources/meta-qt6 \ 11 | \ 12 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 22 | \ 23 | ${TOPDIR}/sources/openembedded-core/meta \ 24 | " 25 | -------------------------------------------------------------------------------- /conf/projects/imx8mm-ddr4-evk/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-freescale \ 8 | \ 9 | ${TOPDIR}/sources/meta-clang \ 10 | ${TOPDIR}/sources/meta-qt6 \ 11 | \ 12 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 22 | \ 23 | ${TOPDIR}/sources/openembedded-core/meta \ 24 | " 25 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/icu/icu/filter.json: -------------------------------------------------------------------------------- 1 | { 2 | "strategy": "additive", 3 | "collationUCAData": "implicithan", 4 | "featureFilters": { 5 | "brkitr_rules": "include", 6 | "brkitr_dictionaries": "include", 7 | "brkitr_tree": "include", 8 | "coll_ucadata": "include", 9 | "coll_tree": "include", 10 | "misc": "include", 11 | "curr_tree": "include", 12 | "lang_tree": "include", 13 | "region_tree": "include", 14 | "rbnf_tree": "include", 15 | "zone_tree": "include", 16 | "unit_tree": "include", 17 | "cnvalias": "include", 18 | "locales_tree": "include", 19 | "unames": "include", 20 | "ulayout": "include" 21 | }, 22 | "localeFilter": { 23 | "filterType": "locale", 24 | "includeChildren": false, 25 | "whitelist": [ 26 | "en_US" 27 | ] 28 | } 29 | } 30 | 31 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot/0001-enables-larger-kernel-images.patch: -------------------------------------------------------------------------------- 1 | From 49456d2fd11c4b556de3ebdfde4273d358c7d0b0 Mon Sep 17 00:00:00 2001 2 | From: Khem Raj 3 | Date: Thu, 19 Nov 2020 18:57:52 -0800 4 | Subject: [PATCH] enables larger kernel images 5 | 6 | The default is 8MiB which is increased to 16 MiB for 32bit case 7 | 8 | Upstream-Status: Inappropriate [Yoe Specific] 9 | 10 | Signed-off-by: Khem Raj 11 | --- 12 | include/configs/rpi.h | 2 ++ 13 | 1 file changed, 2 insertions(+) 14 | 15 | diff --git a/include/configs/rpi.h b/include/configs/rpi.h 16 | index 834f1cd236..80fbc50b21 100644 17 | --- a/include/configs/rpi.h 18 | +++ b/include/configs/rpi.h 19 | @@ -59,6 +59,8 @@ 20 | 21 | #ifdef CONFIG_ARM64 22 | #define CONFIG_SYS_BOOTM_LEN SZ_64M 23 | +#else 24 | +#define CONFIG_SYS_BOOTM_LEN SZ_16M 25 | #endif 26 | 27 | /* Devices */ 28 | -- 29 | 2.29.2 30 | 31 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/yoe-kiosk-image.bb: -------------------------------------------------------------------------------- 1 | # 2 | # Yoe Kiosk image running QtWebengine based browser 3 | # 4 | require yoe-simpleiot-image.bb 5 | require graphics.inc 6 | 7 | CORE_IMAGE_EXTRA_INSTALL += " \ 8 | liberation-fonts \ 9 | yoe-kiosk-browser \ 10 | qtvirtualkeyboard \ 11 | " 12 | # chromium works on aarch64/arm32/x86 only 13 | # qtwebview and qtwebengine needs it, yoe-kiosk-browser 14 | # needs qtwebengine 15 | CORE_IMAGE_EXTRA_INSTALL:remove:riscv64 = "qtwebengine-examples yoe-kiosk-browser" 16 | CORE_IMAGE_EXTRA_INSTALL:remove:riscv32 = "qtwebengine-examples yoe-kiosk-browser" 17 | 18 | TOOLCHAIN_HOST_TASK:append = " nativesdk-packagegroup-qt6-toolchain-host" 19 | 20 | export IMAGE_BASENAME = "yoe-kiosk-image" 21 | # ptest needs a lot of memory 22 | QB_MEM = "-m 1024" 23 | 24 | python() { 25 | if 'qt6-layer' not in d.getVar('BBFILE_COLLECTIONS').split(): 26 | raise bb.parse.SkipRecipe('Requires meta-qt6 in bblayers.conf') 27 | } 28 | -------------------------------------------------------------------------------- /conf/projects/unmatched/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-sifive \ 8 | ${TOPDIR}/sources/meta-riscv \ 9 | \ 10 | ${TOPDIR}/sources/meta-clang \ 11 | ${TOPDIR}/sources/meta-qt6 \ 12 | \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 22 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 23 | \ 24 | ${TOPDIR}/sources/openembedded-core/meta \ 25 | " 26 | -------------------------------------------------------------------------------- /conf/projects/var-dart-imx6ul/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-variscite-bsp \ 8 | ${TOPDIR}/sources/meta-freescale \ 9 | \ 10 | ${TOPDIR}/sources/meta-clang \ 11 | ${TOPDIR}/sources/meta-qt6 \ 12 | \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 22 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 23 | \ 24 | ${TOPDIR}/sources/openembedded-core/meta \ 25 | " 26 | -------------------------------------------------------------------------------- /conf/projects/var-som-mx8x/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-variscite-bsp \ 8 | ${TOPDIR}/sources/meta-freescale \ 9 | \ 10 | ${TOPDIR}/sources/meta-clang \ 11 | ${TOPDIR}/sources/meta-qt6 \ 12 | \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 22 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 23 | \ 24 | ${TOPDIR}/sources/openembedded-core/meta \ 25 | " 26 | -------------------------------------------------------------------------------- /conf/projects/odroid-c4/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-odroid \ 8 | ${TOPDIR}/sources/meta-odroid/meta-odroid-extras \ 9 | \ 10 | ${TOPDIR}/sources/meta-clang \ 11 | ${TOPDIR}/sources/meta-qt6 \ 12 | \ 13 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 22 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 23 | \ 24 | ${TOPDIR}/sources/openembedded-core/meta \ 25 | " 26 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 2 | 3 | SRC_URI += "file://rc.pvr.service \ 4 | file://0001-Add-GL-and-GLES3-headers.patch \ 5 | " 6 | 7 | inherit systemd 8 | 9 | do_install:append() { 10 | rm -rf ${D}${libdir}/libGLESv2.so.1 11 | ln -sf libGLESv2.so.2 ${D}${libdir}/libGLESv2.so.1 12 | if [ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} ]; then 13 | if [-e ${D}${sysconfdir}/init.d/rc.pvr]; then 14 | mv ${D}${sysconfdir}/init.d/rc.pvr ${D}${bindir} 15 | rmdir ${D}${sysconfdir}/init.d ${D}${sysconfdir} 16 | else 17 | install -Dm0755 ${S}/targetfs/common/etc/init.d/rc.pvr ${D}${bindir}/rc.pvr 18 | fi 19 | install -Dm 644 ${WORKDIR}/rc.pvr.service ${D}/${systemd_unitdir}/system/rc.pvr.service 20 | fi 21 | } 22 | 23 | SYSTEMD_SERVICE:${PN} = "rc.pvr.service" 24 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/qt5.inc: -------------------------------------------------------------------------------- 1 | QT5APPS += " \ 2 | cinematicexperience \ 3 | qt5-demo-extrafiles \ 4 | qt5everywheredemo \ 5 | qt5nmapcarousedemo \ 6 | qt5ledscreen \ 7 | qt5nmapper \ 8 | qtsmarthome \ 9 | quitbattery \ 10 | quitindicators \ 11 | " 12 | QT5BASE = "\ 13 | qtbase \ 14 | qtbase-plugins \ 15 | qtbase-tools \ 16 | qtmultimedia \ 17 | qtmultimedia-plugins \ 18 | qtmultimedia-qmlplugins \ 19 | qtsvg \ 20 | qtsvg-plugins \ 21 | qtsensors \ 22 | qtsystems \ 23 | qtsystems-tools \ 24 | qtsystems-qmlplugins \ 25 | qtscript \ 26 | qtgraphicaleffects-qmlplugins \ 27 | qtconnectivity-qmlplugins \ 28 | qtlocation-plugins \ 29 | qtlocation-qmlplugins \ 30 | qtdeclarative \ 31 | qtdeclarative-qmlplugins \ 32 | qtdeclarative-plugins \ 33 | ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'qtwayland-plugins', '', d)} \ 34 | " 35 | QTWEBKIT ??= "\ 36 | qtwebkit \ 37 | qtwebkit-qmlplugins \ 38 | " 39 | 40 | CORE_IMAGE_EXTRA_INSTALL += " \ 41 | ${QT5APPS} \ 42 | ${QT5BASE} \ 43 | " 44 | -------------------------------------------------------------------------------- /conf/projects/rockpi-4b/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-rockchip \ 8 | ${TOPDIR}/sources/meta-arm/meta-arm \ 9 | ${TOPDIR}/sources/meta-arm/meta-arm-toolchain \ 10 | \ 11 | ${TOPDIR}/sources/meta-clang \ 12 | ${TOPDIR}/sources/meta-qt6 \ 13 | \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 22 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 23 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 24 | \ 25 | ${TOPDIR}/sources/openembedded-core/meta \ 26 | " 27 | -------------------------------------------------------------------------------- /conf/projects/var-som-mx8/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-variscite-bsp-common \ 8 | ${TOPDIR}/sources/meta-variscite-bsp \ 9 | ${TOPDIR}/sources/meta-freescale \ 10 | \ 11 | ${TOPDIR}/sources/meta-clang \ 12 | ${TOPDIR}/sources/meta-qt6 \ 13 | \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 22 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 23 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 24 | \ 25 | ${TOPDIR}/sources/openembedded-core/meta \ 26 | " 27 | -------------------------------------------------------------------------------- /conf/projects/var-som-mx8m-nano/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-variscite-bsp-common \ 8 | ${TOPDIR}/sources/meta-variscite-bsp \ 9 | ${TOPDIR}/sources/meta-freescale \ 10 | \ 11 | ${TOPDIR}/sources/meta-clang \ 12 | ${TOPDIR}/sources/meta-qt6 \ 13 | \ 14 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 22 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 23 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 24 | \ 25 | ${TOPDIR}/sources/openembedded-core/meta \ 26 | " 27 | -------------------------------------------------------------------------------- /sources/meta-yoe/wic/yoe-imx8-sd-installer.wks.in: -------------------------------------------------------------------------------- 1 | # short-description: Create SD card image with a boot partition 2 | # long-description: 3 | # Create an image that can be written onto a SD card using dd for use 4 | # with i.MX SoC family 5 | # It uses u-boot + other binaries gathered together on imx-boot file 6 | # 7 | # The disk layout used is: 8 | # - ---------- -------------- ------------------- 9 | # | | imx-boot | installer | empty | 10 | # - ---------- ------------------ -------------- 11 | # ^ ^ ^ ^ ^ 12 | # | | | | | 13 | # 0 | 8MiB 1024MiB 1024MiB + IMAGE_EXTRA_SPACE (default 10MiB) 14 | # ${IMX_BOOT_SEEK} 32 or 33kiB, see reference manual 15 | # 16 | part u-boot --source rawcopy --sourceparams="file=imx-boot" --ondisk mmcblk --no-table --align ${IMX_BOOT_SEEK} 17 | # 1G 18 | part /boot --source bootimg-partition --ondisk mmcblk --fstype=ext4 --label boot --active --align 4096 --size 1024 19 | 20 | bootloader --ptable gpt 21 | -------------------------------------------------------------------------------- /docs/yoe-profile.md: -------------------------------------------------------------------------------- 1 | # Yoe Profile 2 | 3 | [up](README.md) 4 | 5 | The Yoe Distribution makes it easy to select the libc, init, and graphics 6 | subsystem for your project. To select a profile, set `YOE_PROFILE` in 7 | `conf/site.conf` equal to one of the following: 8 | 9 | - yoe-glibc-busyboxinit-eglfs 10 | - yoe-glibc-busyboxinit-wayland 11 | - yoe-glibc-busyboxinit-x11 12 | - yoe-glibc-systemd-eglfs 13 | - yoe-glibc-systemd-wayland 14 | - yoe-glibc-systemd-x11 15 | - yoe-glibc-sysvinit-eglfs 16 | - yoe-glibc-sysvinit-wayland 17 | - yoe-glibc-sysvinit-x11 18 | - yoe-musl-busyboxinit-eglfs 19 | - yoe-musl-busyboxinit-wayland 20 | - yoe-musl-busyboxinit-x11 21 | - yoe-musl-systemd-eglfs 22 | - yoe-musl-systemd-wayland 23 | - yoe-musl-systemd-x11 24 | - yoe-musl-sysvinit-eglfs 25 | - yoe-musl-sysvinit-wayland 26 | - yoe-musl-sysvinit-x11 27 | 28 | These profiles are provided for convenience. You can manually configure these 29 | options as well -- use the files in the yoe 30 | [conf directory](https://github.com/YoeDistro/meta-yoe/tree/master/conf/distro) 31 | for reference. 32 | -------------------------------------------------------------------------------- /docs/kas.md: -------------------------------------------------------------------------------- 1 | # KAS 2 | 3 | KAS is a tool to manage metadata and build environments for Yocto/OE builds: https://github.com/siemens/kas 4 | 5 | To run KAS in Yoe Distro, use the kas/ subfolder as the working directory. This directory contains KAS configurations for each 6 | supported target machine at the top level. Once the `kas-container` script is run in the kas/ folder, it will also contain the 7 | build/ and layers/ folders. 8 | 9 | To set up a docker container ready to run bitbake commands: 10 | ```bash 11 | cd kas/ 12 | ./kas-container \ 13 | --runtime-args "--volume ./../sources/meta-yoe:/work/layers/meta-yoe" \ 14 | --ssh-dir ~/.ssh \ 15 | shell jetson-agx-orin-devkit.yml 16 | ``` 17 | 18 | The `--volume` flag is passed to docker through the kas-container `--runtime-args` flag and mounts the local meta-yoe layer in the container's layer/ directory for use in the build. 19 | 20 | To have local configuration, create kas/local.yml (git ignored) and append it to the project configuration when invoking KAS: 21 | ```bash 22 | ./kas-container <...> .yml:local.yml 23 | ``` -------------------------------------------------------------------------------- /COPYING.MIT: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any person obtaining a copy 2 | of this software and associated documentation files (the "Software"), to deal 3 | in the Software without restriction, including without limitation the rights 4 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 5 | copies of the Software, and to permit persons to whom the Software is 6 | furnished to do so, subject to the following conditions: 7 | 8 | The above copyright notice and this permission notice shall be included in 9 | all copies or substantial portions of the Software. 10 | 11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 14 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 15 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 16 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 17 | THE SOFTWARE. 18 | -------------------------------------------------------------------------------- /conf/projects/beaglebone/layers.conf: -------------------------------------------------------------------------------- 1 | BBPATH = "${TOPDIR}" 2 | BBFILES ?= "" 3 | 4 | BBLAYERS = "\ 5 | ${TOPDIR}/sources/meta-yoe \ 6 | \ 7 | ${TOPDIR}/sources/meta-ti/meta-ti-bsp \ 8 | ${TOPDIR}/sources/meta-ti/meta-ti-extras \ 9 | ${TOPDIR}/sources/meta-arm/meta-arm \ 10 | ${TOPDIR}/sources/meta-arm/meta-arm-toolchain \ 11 | \ 12 | ${TOPDIR}/sources/meta-clang \ 13 | ${TOPDIR}/sources/meta-qt6 \ 14 | \ 15 | ${TOPDIR}/sources/meta-openembedded/meta-filesystems \ 16 | ${TOPDIR}/sources/meta-openembedded/meta-gnome \ 17 | ${TOPDIR}/sources/meta-openembedded/meta-initramfs \ 18 | ${TOPDIR}/sources/meta-openembedded/meta-multimedia \ 19 | ${TOPDIR}/sources/meta-openembedded/meta-networking \ 20 | ${TOPDIR}/sources/meta-openembedded/meta-oe \ 21 | ${TOPDIR}/sources/meta-openembedded/meta-perl \ 22 | ${TOPDIR}/sources/meta-openembedded/meta-python \ 23 | ${TOPDIR}/sources/meta-openembedded/meta-webserver \ 24 | ${TOPDIR}/sources/meta-openembedded/meta-xfce \ 25 | \ 26 | ${TOPDIR}/sources/openembedded-core/meta \ 27 | " 28 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/yoe-qt6-image.bb: -------------------------------------------------------------------------------- 1 | # Yoe QT6/Wayland/X11/eglfs sample image 2 | require yoe-simple-image.bb 3 | 4 | LICENSE = "MIT" 5 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" 6 | 7 | require graphics.inc 8 | 9 | CORE_IMAGE_EXTRA_INSTALL += " \ 10 | packagegroup-qt6-modules \ 11 | liberation-fonts \ 12 | yoe-kiosk-browser \ 13 | qtvirtualkeyboard \ 14 | \ 15 | qtvirtualkeyboard-examples \ 16 | qtbase-examples \ 17 | qtmultimedia-examples \ 18 | " 19 | # chromium works on aarch64/arm32/x86 only 20 | # qtwebview and qtwebengine needs it, yoe-kiosk-browser 21 | # needs qtwebview 22 | CORE_IMAGE_EXTRA_INSTALL:remove:riscv64 = "qtwebengine-examples yoe-kiosk-browser" 23 | CORE_IMAGE_EXTRA_INSTALL:remove:riscv32 = "qtwebengine-examples yoe-kiosk-browser" 24 | 25 | export IMAGE_BASENAME = "yoe-qt6-image" 26 | 27 | # ptest needs a lot of memory 28 | QB_MEM = "-m 1024" 29 | 30 | python() { 31 | if 'qt6-layer' not in d.getVar('BBFILE_COLLECTIONS').split(): 32 | raise bb.parse.SkipRecipe('Requires meta-qt6 in bblayers.conf') 33 | } 34 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/canboat/canboat_1.3.0.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "CANBOAT" 2 | SECTION = "base" 3 | LICENSE = "GPL-3.0-only" 4 | 5 | DEPENDS += "libxslt-native canboat-native" 6 | 7 | LIC_FILES_CHKSUM = "file://GPL;md5=05507c6da2404b0e88fe5a152fd12540" 8 | 9 | SRC_URI = "git://github.com/canboat/canboat.git;protocol=https;branch=${SRCBRANCH} \ 10 | file://0001-Do-not-use-root-user-group-during-install.patch \ 11 | file://0001-Define-ANALYZEREXEC.patch \ 12 | file://0001-use-php-instead-of-php5.patch \ 13 | file://0001-Avoid-multiple-definitions-of-StringBuffer-sbNew.patch \ 14 | " 15 | SRCBRANCH = "master" 16 | 17 | SRCREV = "b8923b45570c21feff89de4eff6007ed5408e1b7" 18 | 19 | PREFIX ?= "${root_prefix}" 20 | #PREFIX_class-native = "${prefix}" 21 | 22 | EXTRA_OEMAKE:append:class-target = " ANALYZEREXEC=analyzer " 23 | 24 | do_compile() { 25 | oe_runmake 26 | } 27 | do_install() { 28 | oe_runmake DESTDIR=${D} PREFIX=${root_prefix} EXEC_PREFIX=${exec_prefix} install 29 | 30 | } 31 | 32 | RDEPENDS:${PN}:append:class-target = " php-cli perl" 33 | 34 | BBCLASSEXTEND = "native nativesdk" 35 | 36 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/yoe-ptest-image.bb: -------------------------------------------------------------------------------- 1 | # this image includes ptest packages om top of sdk image 2 | 3 | require yoe-sdk-image.bb 4 | 5 | inherit features_check 6 | 7 | REQUIRED_DISTRO_FEATURES += "ptest" 8 | 9 | IMAGE_FEATURES += "ptest-pkgs" 10 | 11 | IMAGE_INSTALL += "\ 12 | ptest-runner \ 13 | " 14 | 15 | export IMAGE_BASENAME = "yoe-ptest-image" 16 | 17 | # This image is sufficiently large (~1.8GB) that we need to be careful that it fits in a live 18 | # image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the 19 | # box) and explicitly add just 1100MB. 20 | # strace-ptest in particular needs more than 500MB 21 | IMAGE_OVERHEAD_FACTOR = "1.0" 22 | IMAGE_ROOTFS_EXTRA_SPACE = "1124288" 23 | 24 | # ptests need more memory than standard to avoid the OOM killer 25 | # also lttng-tools needs /tmp that has at least 2G 26 | QB_MEM = "-m 4096" 27 | # Max memory supported by qemu on rv32/mips is 2G 28 | QB_MEM:qemuriscv32 = "-m 2048" 29 | QB_MEM:qemumips = "-m 2048" 30 | 31 | # Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places 32 | PTEST_EXPECT_FAILURE = "1" 33 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/canboat/files/0001-Do-not-use-root-user-group-during-install.patch: -------------------------------------------------------------------------------- 1 | From e1d5b746787647c9b566f9ad96417d579308e108 Mon Sep 17 00:00:00 2001 2 | From: Khem Raj 3 | Date: Sun, 20 May 2018 18:59:39 -0700 4 | Subject: [PATCH] Do not use root user/group during install 5 | 6 | OE has its own way of using fake root using pseudo 7 | 8 | Upstream-Status: Pending 9 | Signed-off-by: Khem Raj 10 | --- 11 | Makefile | 2 +- 12 | 1 file changed, 1 insertion(+), 1 deletion(-) 13 | 14 | --- a/Makefile 15 | +++ b/Makefile 16 | @@ -39,7 +39,7 @@ clean: 17 | 18 | install: rel/$(PLATFORM)/analyzer $(DESTDIR)$(BINDIR) $(DESTDIR)$(CONFDIR) 19 | for i in rel/$(PLATFORM)/* util/* */*_monitor; do f=`basename $$i`; echo $$f; rm -f $(DESTDIR)$(BINDIR)/$$f; cp $$i $(DESTDIR)$(BINDIR); done 20 | - for i in config/*; do install -g $(ROOT_GID) -o $(ROOT_UID) -m $(ROOT_MOD) $$i $(DESTDIR)$(CONFDIR); done 21 | + for i in config/*; do install -m $(ROOT_MOD) $$i $(DESTDIR)$(CONFDIR); done 22 | -killall -9 actisense-serial ikonvert-serial n2kd socketcan-writer || echo 'No running processes killed' 23 | 24 | zip: 25 | -------------------------------------------------------------------------------- /kas/include/base.yml: -------------------------------------------------------------------------------- 1 | header: 2 | version: 20 3 | 4 | distro: "yoe" 5 | 6 | repos: 7 | meta-yoe: 8 | path: layers/meta-yoe 9 | 10 | openembedded-core: 11 | url: https://github.com/YoeDistro/openembedded-core 12 | branch: master 13 | path: layers/openembedded-core 14 | layers: 15 | meta: 16 | 17 | bitbake: 18 | url: https://github.com/YoeDistro/bitbake 19 | branch: master 20 | path: layers/bitbake 21 | layers: 22 | bitbake: disabled 23 | 24 | meta-openembedded: 25 | url: https://github.com/YoeDistro/meta-openembedded 26 | branch: master 27 | path: layers/meta-openembedded 28 | layers: 29 | meta-oe: 30 | meta-python: 31 | meta-networking: 32 | meta-multimedia: 33 | meta-filesystems: 34 | meta-perl: 35 | meta-gnome: 36 | meta-initramfs: 37 | meta-webserver: 38 | meta-xfce: 39 | 40 | meta-qt6: 41 | url: https://github.com/YoeDistro/meta-qt6 42 | branch: yoe/6.10 43 | path: layers/meta-qt6 44 | 45 | meta-clang: 46 | url: https://github.com/YoeDistro/meta-clang 47 | branch: master 48 | path: layers/meta-clang 49 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-core/images/files/odroid-c4-hardkernel/emmcsetup.lua: -------------------------------------------------------------------------------- 1 | function os.capture(cmd, raw) 2 | local f = assert(io.popen(cmd, 'r')) 3 | local s = assert(f:read('*a')) 4 | f:close() 5 | if (raw) then return s end 6 | s = string.gsub(s, '^%s+', '') 7 | s = string.gsub(s, '%s+$', '') 8 | s = string.gsub(s, '[\n\r]+', ' ') 9 | return s 10 | end 11 | 12 | 13 | function preinst() 14 | partitions = "# partition table of /dev/mmcblk0\n".. 15 | "unit: sectors\n\n".. 16 | "/dev/mmcblk0p1 : start= 16, size= 7812528, Id=83\n" .. 17 | "/dev/mmcblk0p2 : start= 7812544, size= 7293504, Id=83\n" .. 18 | "/dev/mmcblk0p3 : start= 0, size= 0, Id= 0\n" .. 19 | "/dev/mmcblk0p4 : start= 0, size= 0, Id= 0\n" 20 | 21 | f = io.output("/tmp/partitions") 22 | f:write(partitions) 23 | f:close() 24 | 25 | local out = os.capture("/usr/sbin/sfdisk /dev/mmcblk0 < /tmp/partitions", 1) 26 | local mkfs1 = os.capture("/sbin/mkfs.ext3 /dev/mmcblk0p2", 1) 27 | out = out .. mkfs1 28 | 29 | return true, out 30 | end 31 | 32 | function postinst() 33 | local out = "Post installed script called" 34 | 35 | return true, out 36 | end 37 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-bsp/data-partition-init/data-partition-init.bb: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2025 Khem Raj 2 | # Released under the MIT license (see COPYING.MIT for the terms) 3 | SUMMARY = "First-boot formatter and mount units for persistent /data" 4 | LICENSE = "Apache-2.0" 5 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" 6 | 7 | inherit systemd 8 | 9 | SRC_URI = " \ 10 | file://data-format.service \ 11 | file://data.mount \ 12 | " 13 | 14 | S = "${UNPACKDIR}" 15 | 16 | # Install the units and create the mountpoint 17 | do_install() { 18 | install -Dm 0644 ${UNPACKDIR}/data-format.service ${D}${systemd_system_unitdir}/data-format.service 19 | install -Dm 0644 ${UNPACKDIR}/data.mount ${D}${systemd_system_unitdir}/data.mount 20 | } 21 | 22 | FILES:${PN} += "${systemd_system_unitdir}/data-format.service \ 23 | ${systemd_system_unitdir}/data.mount \ 24 | " 25 | 26 | SYSTEMD_PACKAGES = "${PN}" 27 | SYSTEMD_SERVICE:${PN} = "data-format.service data.mount" 28 | 29 | # Ensure we have the tools to format and probe filesystems 30 | RDEPENDS:${PN} += "e2fsprogs-mke2fs util-linux-blkid" 31 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/yoe-sdk-image.bb: -------------------------------------------------------------------------------- 1 | # this image includes On-Device toolchain and debug tools 2 | 3 | require yoe-debug-image.bb 4 | require graphics.inc 5 | 6 | IMAGE_FEATURES += "tools-sdk dev-pkgs" 7 | 8 | IMAGE_INSTALL += "\ 9 | packagegroup-go-sdk-target \ 10 | packagegroup-core-buildessential \ 11 | u-boot-tools-mkimage \ 12 | u-boot-tools-mkenvimage \ 13 | bc \ 14 | flex \ 15 | bison \ 16 | git \ 17 | jansson \ 18 | texinfo \ 19 | perl-module-encode perl-module-encode-encoding perl-module-locale perl-module-integer \ 20 | perl-module-if perl-module-unicode-normalize perl-module-base perl-module-feature \ 21 | perl-module-perlio \ 22 | perl-module-utf8 \ 23 | " 24 | 25 | IMAGE_INSTALL:remove:riscv32 = "packagegroup-go-sdk-target" 26 | IMAGE_INSTALL:remove:powerpc = "packagegroup-go-sdk-target" 27 | 28 | export IMAGE_BASENAME = "yoe-sdk-image" 29 | # some ptests need a lot of memory 30 | # We can see random failures e.g. scp test failure 31 | # NOTE: test_scp_file (scp.ScpTest) 32 | # ... 33 | # scp: /tmp/test_scp_file: No space left on device 34 | 35 | QB_MEM = "-m ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '2048', '1024', d)}" 36 | -------------------------------------------------------------------------------- /docs/libc-init.md: -------------------------------------------------------------------------------- 1 | # libc and init system selection 2 | 3 | [up](README.md) 4 | 5 | ## Selection 6 | 7 | Selection of the libc and init system can be done be selecting a 8 | [Yoe Profile](yoe-profile.md). 9 | 10 | ## Comparison of disk spaced used 11 | 12 | - Musl + Busybox init/dev/login 13 | - space used in ext4 filesystem on running system using df: 1.9MB 14 | - adding sizes of files in image from buildhistory: 1.5MB 15 | - number of files in image: 595 16 | - Busybox init/dev/login 17 | - space used in ext4 filesystem on running system using df: 3.5MB 18 | - adding sizes of files in image from buildhistory: 3.1MB 19 | - number of files in image: 621 20 | - SysVinit 21 | - space used in ext4 filesystem on running system using df: 4.7MB 22 | - adding sizes of files in image from buildhistory: 4.3MB 23 | - number of files in image: 696 24 | - Systemd 25 | - space used in ext4 filesystem on running system using df: 33.2MB 26 | - adding sizes of files in image from buildhistory: 22MB 27 | - number of files in image: 1,806 28 | 29 | The space on disc used by a systemd image is much larger than adding the size of 30 | the files in the image. We're not sure why this is -- perhaps there is 31 | filesystem overhead for small files. 32 | -------------------------------------------------------------------------------- /docs/gcc.md: -------------------------------------------------------------------------------- 1 | # GCC 2 | 3 | [up](README.md) 4 | 5 | The primary use for OE is to cross-compile software on a fast workstation, but 6 | there are times during development or evaluating technology where it may be 7 | useful to compile software on the target device. There is also some software 8 | that is simply too nasty for most of us to figure out how to cross-compile so 9 | one workaround is to build a binary on the target system, and then package that 10 | binary in subsequent image builds. This _hack_ should only be used as a _last 11 | resort_ in production builds. 12 | 13 | The following packages can be added to the image, or installed at runtime using 14 | a package manager such as opkg. 15 | 16 | - `packagegroup-core-buildessential` - this is most often what you need and is 17 | very similiar to the build-essential package on Debian/Ubuntu. 18 | [recipe](https://github.com/YoeDistro/openembedded-core/blob/master/meta/recipes-core/packagegroups/packagegroup-core-buildessential.bb) 19 | - `packagegroup-self-hosted` - a much more extensive list of packages that 20 | includes what is in buildessential, plus a lot more. 21 | [recipe](https://github.com/YoeDistro/openembedded-core/blob/master/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb) 22 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/canboat/files/0001-use-php-instead-of-php5.patch: -------------------------------------------------------------------------------- 1 | From 85987c659762939241e4bdd4223e63eb5997b181 Mon Sep 17 00:00:00 2001 2 | From: Khem Raj 3 | Date: Sun, 20 May 2018 16:22:29 -0700 4 | Subject: [PATCH] use php instead of php5 5 | 6 | OE ships php5 as php 7 | 8 | Upstream-Status: Pending 9 | Signed-off-by: Khem Raj 10 | --- 11 | airmar/airmar.php | 2 +- 12 | n2kd/n2kd_monitor | 2 +- 13 | send-message/format-message | 2 +- 14 | util/list-product-information | 2 +- 15 | 4 files changed, 4 insertions(+), 4 deletions(-) 16 | 17 | --- a/airmar/airmar.php 18 | +++ b/airmar/airmar.php 19 | @@ -1,4 +1,4 @@ 20 | -#!/usr/bin/php5 21 | +#!/usr/bin/env php 22 | >', $MONITOR_LOGFILE or die "Can't write to $MONITOR_LOGFILE $!"; 30 | open STDERR, '>&STDOUT' or die "Can't dup stdout: $!"; 31 | - exec 'php5', '/usr/local/bin/n2k.php', '-monitor'; 32 | + exec 'php', '/usr/bin/n2k.php', '-monitor'; 33 | } 34 | if (!$monitor) 35 | { 36 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-kernel/linux-backports/linux-backports.bb: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2017 Khem Raj 2 | # Released under the MIT license (see COPYING.MIT for the terms) 3 | 4 | DESCRIPTION = "Linux Backports" 5 | HOMEPAGE = "https://backports.wiki.kernel.org" 6 | SECTION = "kernel/modules" 7 | LICENSE = "GPL-2.0-only" 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" 9 | 10 | SRCREV = "694b78f1533eb72c638c83754e0567630a93f456" 11 | 12 | PV = "4.14-rc2-1" 13 | 14 | SRC_URI = "http://www.kernel.org/pub/linux/kernel/projects/backports/stable/v4.14-rc2/backports-4.14-rc2-1.tar.gz \ 15 | file://backports_config \ 16 | " 17 | SRC_URI[md5sum] = "4f00003de9a55b7277e096dafe9a6c20" 18 | SRC_URI[sha256sum] = "7e3afa1f9f77e10af9c0f21da9c14e2bf2b0034f111b7a8b38d7be9ea6751c01" 19 | 20 | S = "${UNPACKDIR}/backports-${PV}" 21 | 22 | EXTRA_OEMAKE = "V=1 KLIB_BUILD=${STAGING_KERNEL_BUILDDIR} \ 23 | KLIB=${base_libdir}/modules/${KERNEL_VERSION} \ 24 | " 25 | 26 | DEPENDS += "coreutils-native" 27 | 28 | inherit module 29 | 30 | MAKE_TARGETS = "modules" 31 | 32 | FILES:${PN} += "${nonarch_base_libdir}/udev \ 33 | ${sysconfdir}/udev \ 34 | ${nonarch_base_libdir} \ 35 | " 36 | 37 | EXCLUDE_FROM_WORLD = "1" 38 | 39 | -------------------------------------------------------------------------------- /sources/meta-yoe/wic/yoe-imx8-sdimage.wks.in: -------------------------------------------------------------------------------- 1 | # short-description: Create SD card image with a boot partition 2 | # long-description: 3 | # Create an image that can be written onto a SD card using dd for use 4 | # with i.MX SoC family 5 | # It uses u-boot + other binaries gathered together on imx-boot file 6 | # 7 | # The disk layout used is: 8 | # - ---------- -------------- -------------- 9 | # | | imx-boot | boot | rootfs | 10 | # - ---------- -------------- -------------- 11 | # ^ ^ ^ ^ ^ 12 | # | | | | | 13 | # 0 | 8MiB 72MiB 72MiB + rootfs + IMAGE_EXTRA_SPACE (default 10MiB) 14 | # ${IMX_BOOT_SEEK} 32 or 33kiB, see reference manual 15 | # 16 | part u-boot --source rawcopy --sourceparams="file=imx-boot" --ondisk mmcblk --no-table --align ${IMX_BOOT_SEEK} 17 | part /boot --source bootimg-partition --ondisk mmcblk --fstype=ext4 --label boot --active --align 4096 --size 64 18 | # Main Rootfs partition (1G) 19 | part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --fixed-size 1024 --align 4096 --uuid=70672ec3-5eee-49ff-b3b1-eb1fbd406bf5 20 | 21 | # User data partition (1M) 22 | part /data --ondisk mmcblk --fstype=ext4 --label data --fixed-size 1 --align 4096 --fsoptions "x-systemd.growfs" 23 | 24 | bootloader --ptable msdos 25 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/yoe-initramfs-image.bb: -------------------------------------------------------------------------------- 1 | # will be used for the update image 2 | DESCRIPTION = "initramfs updater image" 3 | LICENSE = "MIT" 4 | 5 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" 6 | 7 | # Do not pollute the initrd image with rootfs features 8 | IMAGE_FEATURES = "" 9 | 10 | # Clear image depends on some machines e.g. riscv opensbi is in EXTRA_IMAGEDEPENDS 11 | # which can cause dependency loops 12 | EXTRA_IMAGEDEPENDS = "" 13 | 14 | IMAGE_NAME_SUFFIX = "" 15 | 16 | export IMAGE_BASENAME = "yoe-initramfs-image" 17 | IMAGE_LINGUAS = "" 18 | 19 | PACKAGE_INSTALL = "\ 20 | base-files \ 21 | base-passwd \ 22 | busybox \ 23 | updater \ 24 | mtd-utils \ 25 | mtd-utils-ubifs \ 26 | e2fsprogs \ 27 | e2fsprogs-mke2fs \ 28 | e2fsprogs-e2fsck \ 29 | e2fsprogs-tune2fs \ 30 | util-linux-fsck \ 31 | util-linux-fdisk \ 32 | " 33 | IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}" 34 | # Check conf/site.conf where there is IMAGE_FSTYPES:append 35 | # if that value changes make the change here as well 36 | IMAGE_FSTYPES:remove = "wic.* wic.xz wic.bmap tar.xz" 37 | inherit core-image 38 | 39 | IMAGE_DEVICE_TABLES = "files/device_table-minimal.txt" 40 | IMAGE_ROOTFS_SIZE = "8192" 41 | IMAGE_ROOTFS_EXTRA_SPACE = "0" 42 | BAD_RECOMMENDATIONS += "busybox-syslog busybox-udhcpc" 43 | -------------------------------------------------------------------------------- /docs/conf-files.md: -------------------------------------------------------------------------------- 1 | # Configuration Files 2 | 3 | [up](README.md) 4 | 5 | OpenEmbedded is configured through "conf" files. These exist at various 6 | [places](https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#user-configuration) 7 | in the sources. At the top level of the project are several files that contain 8 | high level, or build specific configuration options. For the Yoe project, these 9 | files include: 10 | 11 | - **conf/auto.conf**: This file is automatically generated by the the build 12 | system and should not be modified. 13 | - [**conf/site.conf**](../conf/site.conf): This file includes Yoe defaults and 14 | project specific changes that you want to store in git. This 15 | [file](../conf/site.conf.sample) includes samples of things you might want to 16 | add. 17 | - **conf/local.conf**: This file includes changes that are specific to a user or 18 | build machine, and are not checked into git. This 19 | [file](../conf/local.conf.sample) includes samples of things you might want to 20 | add. 21 | 22 | The above configuration files are included into the build by the 23 | [bitbake.conf](https://github.com/YoeDistro/openembedded-core/blob/master/meta/conf/bitbake.conf#L744) 24 | file in the OE Core layer. 25 | 26 | For a full list of variables available in the OpenEmbedded build system, see the 27 | [Variables Glossary](https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#ref-variables-glos). 28 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/systemd/systemd_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:" 2 | 3 | PACKAGECONFIG:append = " networkd resolved coredump" 4 | 5 | # Add wireless.network here if the system has wifi and 6 | # it is managed via wpa-supplicant + systemd-networkd 7 | # if using networkmanager wireless.network file is not needed 8 | NETWORKING_SCRIPTS ?= "file://wired.network \ 9 | " 10 | SRC_URI += "${NETWORKING_SCRIPTS}" 11 | 12 | # Hack in meta-variscite-bsp layer for boot2qt which yoe does not need so remove this patch 13 | # here 14 | SRC_URI:remove = "file://0001-units-add-dependencies-to-avoid-conflict-between-con.patch" 15 | # remove another meta-variscite-bsp patch which is trying to get networkmanager going with systemd 16 | # however it was never used in yoe 17 | SRC_URI:remove = "file://0002-units-disable-systemd-networkd-wait-online-if-Networ.patch" 18 | 19 | do_install:append() { 20 | install -d ${D}${sysconfdir}/systemd/network/ 21 | install -m 0644 ${UNPACKDIR}/*.network ${D}${sysconfdir}/systemd/network/ 22 | if ${@bb.utils.contains('PACKAGECONFIG', 'timesyncd', 'true', 'false', d)}; then 23 | install -d ${D}${sysconfdir}/systemd/system/sysinit.target.wants/ 24 | ln -sf ${systemd_system_unitdir}/systemd-time-wait-sync.service ${D}${sysconfdir}/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service 25 | fi 26 | } 27 | 28 | FILES:${PN} += "{sysconfdir}/systemd/network/*" 29 | -------------------------------------------------------------------------------- /docs/docker.md: -------------------------------------------------------------------------------- 1 | # Yoe Docker Integration 2 | 3 | [up](README.md) 4 | 5 | The Yoe project provides a 6 | [docker container](https://hub.docker.com/r/yoedistro/yoe-build/) that has all 7 | the dependencies needed to build Yoe. This container is mostly transparent as it 8 | simply wraps the bitbake command. Every time you run bitbake, the container is 9 | started and all bitbake operations happen in the container. The build files 10 | still exist in the host file system so they can be accessed using any of your 11 | host tools. 12 | 13 | Using this container has the following benefits: 14 | 15 | - you don't have to worry about installing host dependencies 16 | - you can build on any Linux host distro, even those that are not compatible 17 | with Yoe 18 | - as host distributions are updated, then eventually become incompatible with 19 | older versions of OpenEmbedded. Using a container allows you to build old 20 | version of Yoe over long product life cycles. 21 | 22 | Yoe uses docker by default, but this can be disabled by setting 23 | `DOCKER_REPO=none` in your _local.sh_ file. You can also set 24 | `DOCKER_REPO` to a custom container if you need something different. 25 | 26 | Any tool (such as `devtool`) that uses bitbake must also be run in the 27 | container. As these tools are not yet wrapped, you must enter the docker 28 | container first, and then run the tool. This can be done by running `dkr` first, 29 | which drops you into a container shell. 30 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/yoe-debug-image.bb: -------------------------------------------------------------------------------- 1 | # this image includes the base utilities needed to exercise most 2 | # embedded linux hardware 3 | 4 | # note, the following must be set to build netperf/sox: 5 | # LICENSE_FLAGS_WHITELIST = "non-commercial" 6 | # see conf/locallocal.conf.sample in Yoe build template 7 | 8 | # e2fsprogs \ 9 | # e2fsprogs-mke2fs \ 10 | # e2fsprogs-fsck \ 11 | # e2fsprogs-e2fsck \ 12 | # e2fsprogs-tune2fs \ 13 | # 14 | require yoe-simple-image.bb 15 | 16 | IMAGE_FEATURES += "tools-debug tools-profile" 17 | 18 | IMAGE_INSTALL += "\ 19 | rsync \ 20 | devmem2 \ 21 | evtest \ 22 | netperf \ 23 | mtd-utils \ 24 | tslib \ 25 | tslib-calibrate \ 26 | tslib-tests \ 27 | alsa-utils \ 28 | alsa-utils-alsamixer \ 29 | alsa-utils-aconnect \ 30 | alsa-utils-alsactl \ 31 | alsa-utils-alsamixer \ 32 | alsa-utils-amixer \ 33 | alsa-utils-aplay \ 34 | alsa-utils-aseqdump \ 35 | alsa-utils-aseqnet \ 36 | alsa-utils-iecset \ 37 | alsa-utils-scripts \ 38 | alsa-utils-speakertest \ 39 | dosfstools \ 40 | usbutils \ 41 | i2c-tools \ 42 | iw \ 43 | minicom \ 44 | screen \ 45 | cpufrequtils \ 46 | nano \ 47 | sox \ 48 | ethtool \ 49 | python3 \ 50 | python3-pyserial \ 51 | " 52 | 53 | IMAGE_INSTALL:append:armv7a = " cpuburn-arm " 54 | IMAGE_INSTALL:append:armv7ve = " cpuburn-arm " 55 | IMAGE_INSTALL:append:aarch64 = " cpuburn-arm " 56 | 57 | export IMAGE_BASENAME = "yoe-debug-image" 58 | 59 | QB_MEM = "-m 2048" 60 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-bsp/u-boot/files/0001-ti-mmc-Load-kernel-and-fdt-from-FAT-parition.patch: -------------------------------------------------------------------------------- 1 | From 08abd9d1fc3e2d7d92f819009c609dd9c369a545 Mon Sep 17 00:00:00 2001 2 | From: Khem Raj 3 | Date: Fri, 13 Nov 2020 11:50:39 -0800 4 | Subject: [PATCH] ti/mmc: Load kernel and fdt from FAT parition 5 | 6 | Default is to use /boot directory on rootfs partition, but in some 7 | scenarios, it makes sense to keep kernel on primary partition. Atleast 8 | it helps with yoe updater mechanism 9 | 10 | Upstream-Status: Inappropriate [Distro-Specific] 11 | 12 | Signed-off-by: Khem Raj 13 | --- 14 | include/environment/ti/mmc.h | 4 ++-- 15 | 1 file changed, 2 insertions(+), 2 deletions(-) 16 | 17 | --- a/include/environment/ti/mmc.h 18 | +++ b/include/environment/ti/mmc.h 19 | @@ -23,8 +23,8 @@ 20 | "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \ 21 | "env import -t ${loadaddr} ${filesize}\0" \ 22 | "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}\0" \ 23 | - "loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ 24 | - "loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ 25 | + "loadimage=fatload mmc ${mmcdev} ${loadaddr} ${bootfile}\0" \ 26 | + "loadfdt=fatload mmc ${mmcdev} ${fdtaddr} ${fdtfile}\0" \ 27 | "envboot=mmc dev ${mmcdev}; " \ 28 | "if mmc rescan; then " \ 29 | "echo SD/MMC found on device ${mmcdev};" \ 30 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-core/images/files/raspberrypi3/sw-description: -------------------------------------------------------------------------------- 1 | software = 2 | { 3 | version = "0.1.0"; 4 | 5 | raspberrypi3 = { 6 | hardware-compatibility: [ "1.0"]; 7 | stable : { 8 | copy1 : { 9 | images: ( 10 | { 11 | filename = "core-image-full-cmdline-raspberrypi3.ext4.gz"; 12 | type = "raw"; 13 | compressed = true; 14 | device = "/dev/mmcblk0p2"; 15 | } 16 | ); 17 | scripts: ( 18 | { 19 | filename = "emmcsetup.lua"; 20 | type = "lua"; 21 | } 22 | ); 23 | uboot: ( 24 | { 25 | name = "rpipart"; 26 | value = "2"; 27 | } 28 | ); 29 | 30 | }; 31 | copy2 : { 32 | images: ( 33 | { 34 | filename = "core-image-full-cmdline-raspberrypi3.ext4.gz"; 35 | type = "raw"; 36 | compressed = true; 37 | device = "/dev/mmcblk0p3"; 38 | } 39 | ); 40 | scripts: ( 41 | { 42 | filename = "emmcsetup.lua"; 43 | type = "lua"; 44 | } 45 | ); 46 | uboot: ( 47 | { 48 | name = "rpipart"; 49 | value = "3"; 50 | } 51 | ); 52 | }; 53 | }; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-core/images/files/beaglebone-yocto/sw-description: -------------------------------------------------------------------------------- 1 | software = 2 | { 3 | version = "0.1.0"; 4 | 5 | beaglebone = { 6 | hardware-compatibility: [ "1.0"]; 7 | stable : { 8 | copy1 : { 9 | images: ( 10 | { 11 | filename = "core-image-full-cmdline-beaglebone.ext4.gz"; 12 | device = "/dev/mmcblk1p2"; 13 | type = "raw"; 14 | compressed = true; 15 | } 16 | ); 17 | scripts: ( 18 | { 19 | filename = "emmcsetup.lua"; 20 | type = "lua"; 21 | } 22 | ); 23 | uboot: ( 24 | { 25 | name = "boot_targets"; 26 | value = "legacy_mmc1 mmc1 nand0 pxe dhcp"; 27 | }, 28 | { 29 | name = "bootcmd_legacy_mmc1"; 30 | value = "setenv mmcdev 1;setenv bootpart 1:2; run mmcboot"; 31 | } 32 | ); 33 | 34 | }; 35 | copy2 : { 36 | images: ( 37 | { 38 | filename = "core-image-full-cmdline-beaglebone.ext4.gz"; 39 | device = "/dev/mmcblk1p3"; 40 | type = "raw"; 41 | compressed = true; 42 | } 43 | ); 44 | scripts: ( 45 | { 46 | filename = "emmcsetup.lua"; 47 | type = "lua"; 48 | } 49 | ); 50 | uboot: ( 51 | { 52 | name = "boot_targets"; 53 | value = "legacy_mmc1 mmc1 nand0 pxe dhcp"; 54 | }, 55 | { 56 | name = "bootcmd_legacy_mmc1"; 57 | value = "setenv mmcdev 1;setenv bootpart 1:3; run mmcboot"; 58 | } 59 | ); 60 | }; 61 | }; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/machines/sama5d27-som1-ek-sd.inc: -------------------------------------------------------------------------------- 1 | # We use updater to handle disk/SD management, therefore remove 96boards-tools 2 | IMAGE_INSTALL:remove = "96boards-tools" 3 | 4 | UPDATE_IMAGES ?= "\ 5 | version.txt \ 6 | u-boot.bin \ 7 | uboot.env \ 8 | BOOT.BIN \ 9 | sama5d27_som1_ek.itb \ 10 | rootfs.ext4.xz \ 11 | " 12 | 13 | do_updater () { 14 | echo "IMG_VERSION = ${IMG_VERSION}" 15 | rm -rf ${TOPDIR}/deploy/${MACHINE} 16 | install -d ${TOPDIR}/deploy/${MACHINE} 17 | cd ${TOPDIR}/deploy/${MACHINE} 18 | echo "${IMG_VERSION}" > version.txt 19 | install ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.ext4.xz rootfs.ext4.xz 20 | #install ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE} zImage 21 | install ${DEPLOY_DIR_IMAGE}/sama5d27_som1_ek.itb sama5d27_som1_ek.itb 22 | install ${DEPLOY_DIR_IMAGE}/BOOT.BIN BOOT.BIN 23 | install ${DEPLOY_DIR_IMAGE}/u-boot.bin u-boot.bin 24 | install ${DEPLOY_DIR_IMAGE}/uboot.env uboot.env 25 | sha256sum ${UPDATE_IMAGES} > update.sha256 26 | rm -rf ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 27 | ls ${UPDATE_IMAGES_} | cpio -ov -H newc > ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 28 | install ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd ${DEPLOY_DIR_IMAGE}/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 29 | cd ${OLDPWD} 30 | rm -rf ${TOPDIR}/deploy/${MACHINE} 31 | } 32 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/canboat/files/0001-Define-ANALYZEREXEC.patch: -------------------------------------------------------------------------------- 1 | From e8cd233a2194fdf94e0b18a32264ed1f8cf952f8 Mon Sep 17 00:00:00 2001 2 | From: Khem Raj 3 | Date: Sun, 20 May 2018 20:50:50 -0700 4 | Subject: [PATCH] Define ANALYZEREXEC 5 | 6 | This is an alias to ANALYZER which can be 7 | overridden from env if needed ( e.g. during 8 | cross compile) 9 | 10 | Upstream-Status: Pending 11 | Signed-off-by: Khem Raj 12 | --- 13 | analyzer/Makefile | 3 ++- 14 | 1 file changed, 2 insertions(+), 1 deletion(-) 15 | 16 | diff --git a/analyzer/Makefile b/analyzer/Makefile 17 | index d5a9fb5..fd55463 100644 18 | --- a/analyzer/Makefile 19 | +++ b/analyzer/Makefile 20 | @@ -20,6 +20,7 @@ 21 | PLATFORM=$(shell uname | tr '[A-Z]' '[a-z]')-$(shell uname -m) 22 | TARGETDIR=../rel/$(PLATFORM) 23 | ANALYZER=$(TARGETDIR)/analyzer 24 | +ANALYZEREXEC?=$(ANALYZER) 25 | TARGETS=$(ANALYZER) 26 | XMLFILE=pgns.xml 27 | JSONFILE=pgns.json 28 | @@ -30,7 +31,7 @@ $(ANALYZER): analyzer.c pgn.c analyzer.h pgn.h ../common/common.c ../common/comm 29 | $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $(ANALYZER) -I../common pgn.c analyzer.c ../common/common.c $(LDLIBS$(LDLIBS-$(@))) 30 | 31 | json: $(ANALYZER) pgns2json.xslt 32 | - $(ANALYZER) -explain-xml >$(XMLFILE) && xsltproc pgns2json.xslt $(XMLFILE) >$(JSONFILE) 33 | + $(ANALYZEREXEC) -explain-xml >$(XMLFILE) && xsltproc pgns2json.xslt $(XMLFILE) >$(JSONFILE) 34 | 35 | clean: 36 | -rm -f $(TARGETS) *.elf *.gdb 37 | -- 38 | 2.17.0 39 | 40 | -------------------------------------------------------------------------------- /docs/beagleboneblack.md: -------------------------------------------------------------------------------- 1 | # Notes on using Yoe on the BeagleBone Black 2 | 3 | [up](README.md) 4 | 5 | [BSP Layer README](https://github.com/YoeDistro/meta-ti/blob/master/README) 6 | 7 | [BeagleBone Black system reference manual](https://github.com/beagleboard/beaglebone-black/wiki/System-Reference-Manual) 8 | 9 | ## Building/installing an image 10 | 11 | 1. `git clone https://github.com/YoeDistro/yoe-distro.git` 12 | 1. `cd yoe-distro` 13 | 1. `. ./envsetup.sh beaglebone` 14 | 1. `yoe_setup` 15 | 1. `bitbake yoe-simple-image` 16 | 1. insert SD card 17 | 1. `lsblk` (note sd card device, and substitute for /dev/sdX below) 18 | 1. `yoe_install_image /dev/sdX yoe-simple-image` (Note, 19 | [Etcher](https://www.balena.io/etcher/) can also be used to write images to 20 | SD cards). 21 | 1. `cp deploy/beaglebone_0.0.1.upd /run/media/ 3 | Date: Sat, 29 Apr 2023 17:12:25 -0400 4 | Subject: [PATCH] imx8qxp_var_som: Adjust for boot/root/data paritioning scheme 5 | 6 | --- 7 | include/configs/imx8qxp_var_som.h | 4 ++-- 8 | 1 file changed, 2 insertions(+), 2 deletions(-) 9 | 10 | diff --git a/include/configs/imx8qxp_var_som.h b/include/configs/imx8qxp_var_som.h 11 | index f4edae3e03..e291b7a832 100644 12 | --- a/include/configs/imx8qxp_var_som.h 13 | +++ b/include/configs/imx8qxp_var_som.h 14 | @@ -64,7 +64,7 @@ 15 | CONFIG_MFG_ENV_SETTINGS \ 16 | M4_BOOT_ENV \ 17 | AHAB_ENV \ 18 | - "bootdir=/boot\0" \ 19 | + "bootdir=\0" \ 20 | "script=boot.scr\0" \ 21 | "image=Image.gz\0" \ 22 | "console=ttyLP3\0" \ 23 | @@ -88,7 +88,7 @@ 24 | "bootaux ${m4_addr};\0" \ 25 | "optargs=setenv bootargs ${bootargs} ${kernelargs};\0" \ 26 | "mmcargs=setenv bootargs console=${console},${baudrate} earlycon " \ 27 | - "root=/dev/mmcblk${mmcblk}p${mmcpart} rootfstype=ext4 rootwait rw ${cma_size} cma_name=linux,cma\0 " \ 28 | + "root=/dev/mmcblk${mmcblk}p2 rootfstype=ext4 rootwait rw ${cma_size} cma_name=linux,cma\0 " \ 29 | "loadbootscript=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootdir}/${script};\0" \ 30 | "bootscript=echo Running bootscript from mmc ...; " \ 31 | "source\0" \ 32 | -- 33 | 2.40.1 34 | 35 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/variscite-bsp/recipes-bsp/u-boot-variscite/u-boot-variscite/0001-imx8qm_var_som-Adjust-for-boot-root-data-paritioning.patch: -------------------------------------------------------------------------------- 1 | From ae4bb4e192786f1f25ffa5cdb1cc67dd40987175 Mon Sep 17 00:00:00 2001 2 | From: Khem Raj 3 | Date: Tue, 14 Mar 2023 21:22:03 -0700 4 | Subject: [PATCH] imx8qm_var_som: Adjust for boot/root/data paritioning scheme 5 | 6 | Yoe Distro uses separate parition for boot and rootfs, therefore adjust 7 | it here in bootloader environment. 8 | 9 | Upstream-Status: Inappropriate [Yoe Specific] 10 | Signed-off-by: Khem Raj 11 | --- 12 | include/configs/imx8qm_var_som.h | 4 ++-- 13 | 1 file changed, 2 insertions(+), 2 deletions(-) 14 | 15 | --- a/include/configs/imx8qm_var_som.h 16 | +++ b/include/configs/imx8qm_var_som.h 17 | @@ -76,7 +76,7 @@ 18 | CFG_MFG_ENV_SETTINGS \ 19 | M4_BOOT_ENV \ 20 | AHAB_ENV \ 21 | - "bootdir=/boot\0" \ 22 | + "bootdir=\0" \ 23 | "script=boot.scr\0" \ 24 | "image=Image.gz\0" \ 25 | "panel=VAR-WVGA-LCD\0" \ 26 | @@ -109,7 +109,7 @@ 27 | "bootaux ${m41_addr} 1;\0" \ 28 | "optargs=setenv bootargs ${bootargs} ${kernelargs};\0" \ 29 | "mmcargs=setenv bootargs console=${console},${baudrate} earlycon som_wifi=${som_wifi} " \ 30 | - "root=/dev/mmcblk${mmcblk}p${mmcpart} rootfstype=ext4 rootwait rw\0 " \ 31 | + "root=/dev/mmcblk${mmcblk}p2 rootfstype=ext4 rootwait rw\0 " \ 32 | "bootenv=uEnv.txt\0" \ 33 | "loadbootscript=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootdir}/${script};\0" \ 34 | "bootscript=echo Running bootscript from mmc ...; " \ 35 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-graphics/kmscube/kmscube/0001-meson-check-for-gles3-support.patch: -------------------------------------------------------------------------------- 1 | From 8625d5eda3d7d3e9f7e4d40de8a5105ac14319ce Mon Sep 17 00:00:00 2001 2 | From: Gowtham Tammana 3 | Date: Mon, 28 Sep 2020 21:15:52 -0500 4 | Subject: [PATCH] meson: check for gles3 support 5 | 6 | Some cores don't support gles3, so compile gles3 targets 7 | conditionally. 8 | 9 | Upstream-Status: Pending 10 | 11 | Signed-off-by: Gowtham Tammana 12 | --- 13 | meson.build | 22 +++++++++++++++------- 14 | 1 file changed, 15 insertions(+), 7 deletions(-) 15 | 16 | diff --git a/meson.build b/meson.build 17 | index df9c315..2a48710 100644 18 | --- a/meson.build 19 | +++ b/meson.build 20 | @@ -91,12 +91,20 @@ else 21 | message('Building without gstreamer support') 22 | endif 23 | 24 | -executable('kmscube', sources, dependencies : dep_common, install : true) 25 | +# GLES3 check 26 | +gles3_h = false 27 | +if dep_gles2.found() 28 | + gles3_h = cc.has_header('GLES3/gl3.h', dependencies: dep_gles2) 29 | +endif 30 | 31 | +executable('kmscube', sources, dependencies : dep_common, install : true) 32 | 33 | -executable('texturator', files( 34 | - 'common.c', 35 | - 'drm-legacy.c', 36 | - 'drm-common.c', 37 | - 'texturator.c', 38 | -), dependencies : dep_common, install : true) 39 | +if gles3_h 40 | + message('Building with GLES3 support') 41 | + executable('texturator', files( 42 | + 'common.c', 43 | + 'drm-legacy.c', 44 | + 'drm-common.c', 45 | + 'texturator.c', 46 | + ), dependencies : dep_common, install : true) 47 | +endif 48 | -- 49 | 2.35.1 50 | 51 | -------------------------------------------------------------------------------- /docs/git-submodules.md: -------------------------------------------------------------------------------- 1 | # Working with Git Submodules 2 | 3 | [up](README.md) 4 | 5 | Git submodules are used in this project to manage the various OE layers for 6 | reasons described in [this document](superproject-management.md). See this 7 | [article](https://www.atlassian.com/git/tutorials/git-submodule) for an 8 | introduction to Git submodules. 9 | 10 | There are a few issues that are commonly encountered decsribed below. 11 | 12 | ## Modifying Submodules 13 | 14 | Git submodules are not checked out as branch, but simply a git version. The 15 | first thing you should do when working on a submodule is check out the 16 | appropriate branch, documented in the [.gitmodules](../.gitmodules) file. If you 17 | forget to do this, you may get an error when pushing and then if you run 18 | `git branch`, you'll discover you are on the _(no branch)_ branch. To recover 19 | from this situation, check out the branch you want to work on and then run 20 | `git reflog`. This command will list recent commits which you can then 21 | cherry-pick to your working branch. See this 22 | [article](http://bec-systems.com/site/696/git-submodules-what-to-do-when-you-commit-to-no-branch) 23 | for more information. 24 | 25 | ## Submodule merge conflicts 26 | 27 | If you get a submodule merge conflict, run `git reset \` 28 | 29 | ## Submodule remote changes 30 | 31 | If the remote repository for a submodule changes, run `git submodule sync` to 32 | synchronize the new remote information into your working directory. This problem 33 | is most often noticed when the `git submodule update` command cannot find a 34 | version. 35 | -------------------------------------------------------------------------------- /sources/meta-yoe/wic/yoe-visionfive2-sdimage.wks: -------------------------------------------------------------------------------- 1 | # short-description: Create a bootable SD card image for Starfive Visionfive2 board 2 | # long-description: 3 | # Create a bootable image that can be written onto a SD card using dd for use 4 | # with Starfive Visionfive2 board 5 | # It uses SPL and u-boot 6 | # 7 | # The disk layout used is: 8 | # - ----- --------- -------------- -------------- 9 | # | | SPL | u-boot | boot | rootfs | 10 | # - ----- --------- -------------- -------------- 11 | # ^ ^ ^ ^ ^ 12 | # | | | | | 13 | # 0 2MiB 4MiB 8MiB 300MiB + rootfs + IMAGE_EXTRA_SPACE 14 | # 15 | part spl --source rawcopy --sourceparams="file=u-boot-spl.bin.normal.out" --part-name spl --offset 4096S --size 2M --part-type 2E54B353-1271-4842-806F-E436D6AF6985 16 | 17 | part uboot --source rawcopy --sourceparams="file=u-boot.itb" --part-name uboot --offset 8192S --size 4M --part-type 5B193300-FC78-40CD-8002-E86C45580B47 18 | 19 | part /boot --source bootimg-efi --sourceparams="loader=grub-efi,dtb=jh7110-starfive-visionfive-2-v1.3b.dtb" --ondisk mmcblk --fstype=vfat --label boot --use-uuid --part-name boot --align 4096 --size 292M 20 | # rootfs (3G) 21 | part / --source rootfs --ondisk mmcblk --fstype=ext4 --part-name root --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --active --label root --align 4096 --size 3072M 22 | # User data partition (1M) 23 | part /data --ondisk mmcblk --fstype=ext4 --label data --fixed-size 1 --align 4096 --fsoptions "x-systemd.growfs" 24 | 25 | bootloader --ptable gpt --timeout 3 --append "console=ttyS0,115200 earlycon=sbi" 26 | -------------------------------------------------------------------------------- /conf/site.conf.sample: -------------------------------------------------------------------------------- 1 | # local.conf should only be used for settings that are unique to a 2 | # user or build machine. Settings that are common for the entire team 3 | # should be added to site.conf, which is stored in git. 4 | 5 | # Use the following to enable systemd 6 | # Distro profile template is as follows 7 | # 8 | # "yoe---" 9 | # 10 | # Possible options are 11 | #YOE_PROFILE = "yoe-glibc-busyboxinit-eglfs" 12 | #YOE_PROFILE = "yoe-glibc-busyboxinit-wayland" 13 | #YOE_PROFILE = "yoe-glibc-busyboxinit-x11" 14 | #YOE_PROFILE = "yoe-glibc-systemd-eglfs" 15 | YOE_PROFILE = "yoe-glibc-systemd-wayland" 16 | #YOE_PROFILE = "yoe-glibc-systemd-x11" 17 | #YOE_PROFILE = "yoe-glibc-sysvinit-eglfs" 18 | #YOE_PROFILE = "yoe-glibc-sysvinit-wayland" 19 | #YOE_PROFILE = "yoe-glibc-sysvinit-x11" 20 | #YOE_PROFILE = "yoe-musl-busyboxinit-eglfs" 21 | #YOE_PROFILE = "yoe-musl-busyboxinit-wayland" 22 | #YOE_PROFILE = "yoe-musl-busyboxinit-x11" 23 | #YOE_PROFILE = "yoe-musl-systemd-eglfs" 24 | #YOE_PROFILE = "yoe-musl-systemd-wayland" 25 | #YOE_PROFILE = "yoe-musl-systemd-x11" 26 | #YOE_PROFILE = "yoe-musl-sysvinit-eglfs" 27 | #YOE_PROFILE = "yoe-musl-sysvinit-wayland" 28 | #YOE_PROFILE = "yoe-musl-sysvinit-x11" 29 | # configure docker container to run bitbake in 30 | # for mac hosts `uname -m` may return arm64 which needs 31 | # to be mapped to `aarch64` 32 | export DOCKER_REPO=yoedistro/yoe-build:trixie-`uname -m` 33 | # Keep the load in control and do not issue more parallel jobs 34 | # when load hits 1.5 * number of cpus 35 | PARALLEL_MAKE:append = " -l ${@int(os.sysconf(os.sysconf_names['SC_NPROCESSORS_ONLN'])) * 150/100}" 36 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/sama5d27-som1-ek-sd/platform: -------------------------------------------------------------------------------- 1 | TITLE="SAM SOM" 2 | PLAT="sama5d27-som1-ek-sd" 3 | UPDATE_FILE_NAME="${PLAT}" 4 | 5 | USB_DETECTION_DELAY=4 6 | 7 | KERNEL="sama5d27_som1_ek.itb" 8 | BOOT="BOOT.BIN u-boot.bin uboot.env" 9 | ROOTFS="rootfs.ext4.xz" 10 | 11 | EMMC_DEVICE=/dev/mmcblk0 12 | SD_DEVICE=/dev/mmcblk1 13 | 14 | # Can have "emmc" or "sd", this is the install target media 15 | STORAGE="emmc" 16 | # Install location is EMMC_DEVICE if STORAGE is 'emmc' and 17 | # SD_DEVICE if STORAGE is 'sd' 18 | if [ "$STORAGE" = "emmc" ]; then 19 | INSTALL_DEVICE=${EMMC_DEVICE} 20 | else 21 | INSTALL_DEVICE=${SD_DEVICE} 22 | fi 23 | 24 | INSTALL_BOOT_DEV=${INSTALL_DEVICE}p1 25 | INSTALL_ROOTFS_DEV=${INSTALL_DEVICE}p2 26 | INSTALL_DATA_DEV=${INSTALL_DEVICE}p3 27 | 28 | EMMC_BOOT_DEV=${EMMC_DEVICE}p1 29 | EMMC_ROOTFS_DEV=${EMMC_DEVICE}p2 30 | EMMC_DATA_DEV=${EMMC_DEVICE}p3 31 | 32 | SD_BOOT_DEV=${SD_DEVICE}p1 33 | SD_ROOTFS_DEV=${SD_DEVICE}p2 34 | SD_DATA_DEV=${SD_DEVICE}p3 35 | 36 | BOOT_MOUNT_POINT=/boot 37 | ROOTFS_MOUNT_POINT=/root 38 | DATA_MOUNT_POINT=/data 39 | USB_MOUNT_POINT=/media/usb 40 | SD_MOUNT_POINT=/media/sd 41 | 42 | # Size in 'M' for MB, 'G' for GB 43 | RESERVED_SIZE=2M 44 | BOOT_SIZE=100M 45 | ROOTFS_SIZE=700M 46 | 47 | FSTYPE=ext4 48 | BOOT_FSTYPE=vfat 49 | 50 | UPDATER_SPEECH=0 51 | UPDATER_CAN_PARTITION=1 52 | # OVERLAY_TYPE is one of 'tmpfs' or 'persistent' 53 | OVERLAY_TYPE=persistent 54 | # Space separated list of dirs to create in /data 55 | # which is used by volatile-binds during main rootfs boot 56 | PERSISTENT_BINDS="" 57 | 58 | plat_init() { 59 | : 60 | } 61 | plat_bootloader_quirks() { 62 | : 63 | } 64 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/yoe-installer-image.bb: -------------------------------------------------------------------------------- 1 | # Yoe factory image 2 | 3 | require recipes-core/images/core-image-minimal.bb 4 | include recipes-core/images/updater.inc 5 | 6 | LICENSE = "MIT" 7 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" 8 | 9 | export IMAGE_BASENAME = "yoe-installer-image" 10 | 11 | IMAGE_FSTYPES = "wic.bmap wic.xz" 12 | 13 | # Do not pollute the installer image with full image features 14 | IMAGE_FEATURES = "ssh-server-openssh hwcodecs allow-empty-password empty-root-password allow-root-login post-install-logging" 15 | 16 | PACKAGE_INSTALL = "\ 17 | packagegroup-core-boot \ 18 | packagegroup-core-ssh-openssh \ 19 | ${MACHINE_HWCODECS} \ 20 | " 21 | 22 | FACTORY_INSTALL_IMAGE ?= "yoe-simple-image" 23 | do_image_wic[depends] += "${@bb.utils.contains('IMAGE_CLASSES', 'qemuboot', '', '${FACTORY_INSTALL_IMAGE}:do_updater' ,d)}" 24 | 25 | do_create_updater_env() { 26 | cat >${DEPLOY_DIR_IMAGE}/yoe-updater.env <<_EOF 27 | YOE_UPDATER_MODE=factory 28 | _EOF 29 | } 30 | 31 | addtask create_updater_env before do_image_wic 32 | 33 | do_create_updater_env[sstate-inputdirs] = "${DEPLOY_DIR_IMAGE}" 34 | do_create_updater_env[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}" 35 | do_create_updater_env[dirs] = "${DEPLOY_DIR_IMAGE}" 36 | 37 | do_updater() { 38 | install ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.wic.xz ${TOPDIR}/deploy/${MACHINE}_${IMG_VERSION}.wic.xz 39 | install ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.wic.bmap ${TOPDIR}/deploy/${MACHINE}_${IMG_VERSION}.wic.bmap 40 | } 41 | 42 | IMAGE_INSTALL:remove = " kernel-devicetree kernel-image-${KERNEL_IMAGETYPE}" 43 | 44 | IMAGE_BOOT_FILES += "${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd yoe-updater.env" 45 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-support/swupdate/swupdate-machine-config/swupdate-genconfig.sh.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | datadir=@DATADIR@ 3 | get_current_slot() { 4 | curslot=$(nvbootctrl get-current-slot) 5 | if [ $curslot -eq 1 ]; then 6 | echo "b" 7 | else 8 | echo "a" 9 | fi 10 | } 11 | 12 | . /etc/os-release 13 | 14 | if [ -e /run/mfgdata/serial-number ]; then 15 | SERIALNUMBER=$(cat /run/mfgdata/serial-number) 16 | elif [ -e /sys/module/fuse_burn/parameters/tegra_chip_uid ]; then 17 | SERIALNUMBER=$(cat /sys/module/fuse_burn/parameters/tegra_chip_uid) 18 | else 19 | SERIALNUMBER="unknown" 20 | fi 21 | 22 | BOOTSLOT=$(get_current_slot) 23 | ALTROOTSLOT="APP" 24 | if [ "$BOOTSLOT" = "a" ]; then 25 | ALTROOTSLOT="${ALTROOTSLOT}_b" 26 | fi 27 | 28 | 29 | rm -f /run/swupdate/swupdate.cfg 30 | 31 | extrased= 32 | if [ ! -e /usr/share/swupdate/swupdate.pem ]; then 33 | extrased="-e /public-key-file/d" 34 | fi 35 | sed -e"s,@SWVERSION@,$VERSION_ID," \ 36 | -e"s,@SERIALNUMBER@,$SERIALNUMBER," \ 37 | -e"s,@BOOTSLOT@,$BOOTSLOT," \ 38 | $extrased \ 39 | /${datadir}/swupdate/swupdate.cfg.in > /run/swupdate/swupdate.cfg 40 | 41 | rm -f /run/swupdate/sw-versions 42 | alt_rootfs_dev="/dev/disk/by-partlabel/$ALTROOTSLOT" 43 | tmp_mount=`mktemp -d` 44 | mount -o ro $alt_rootfs_dev $tmp_mount 45 | if [ -e $tmp_mount/usr/share/swupdate/sw-versions-thisslot ]; then 46 | echo "Setup sw-versions based on $ALTROOTSLOT" 47 | cp $tmp_mount/${datadir}/swupdate/sw-versions-thisslot /run/swupdate/sw-versions 48 | else 49 | echo "Alternate slot $ALTROOTSLOT does not contain sw-versions, using empty file" 50 | touch /run/swupdate/sw-versions 51 | fi 52 | umount $tmp_mount 53 | rm -rf $tmp_mount 54 | -------------------------------------------------------------------------------- /local.sh.example: -------------------------------------------------------------------------------- 1 | # file to store local env variables 2 | # copy to local.sh and modify 3 | 4 | #export MACHINE=overo 5 | #export MEDIA=/run/media/$USER 6 | 7 | # use the following to set the IP or hostname 8 | # for the oe_setup_feed_server function 9 | # if you have a decent DHCP server, then this is often 10 | # the same as MACHINE 11 | #export MACHINE_IP=$MACHINE 12 | 13 | # When setting up feeds it will try to use this 14 | # hosts IP address to configure the server on target 15 | # machine, however if a different IP address is to be 16 | # used then set it up here 17 | # export HOST_IP=10.10.10.10 18 | 19 | # configure docker container to run bitbake in 20 | #export DOCKER_REPO=yoedistro/yoe-build:trixie-`uname -m` 21 | 22 | # Flag to control docker launch with pseudo-tty 23 | # when output is piped or redirected to files then 24 | # then docker should be launched without tty 25 | # otherwise it will emit all control characters into 26 | # redirected log files, default is 'yes' 27 | #export DOCKER_PSEUDO_TTY=no 28 | 29 | # By default docker is used if DOCKER_REPO is set to a value different than 30 | # none. If you prefer to use podman instead of docker, un-comment this line 31 | #export DOCKER="podman" 32 | 33 | # Ports that should be exposed from docker container to host 34 | # format is host-port:container-port e.g. 35 | # 5900 is for VNC 36 | # 8181 is for clang static analyzer bitbake -cscanview 37 | # 8000 is for opkg feedserver 38 | #export DOCKER_PORTS="5900:5900 8181:8181" 39 | # Pass additional options to launch docker 40 | # --net=host is used to expose host network to 41 | # container, e.g. TAP devices created on host are accessible inside 42 | # docker needed for running ptests e.g. core-image-ptest-all 43 | #export DOCKER_EXTRA_ARGS="--net=host" 44 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/yoe-simple-image.bb: -------------------------------------------------------------------------------- 1 | # Yoe starter image 2 | 3 | DESCRIPTION = "Yoe Starter Image" 4 | LICENSE = "MIT" 5 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" 6 | 7 | inherit core-image 8 | require updater.inc 9 | 10 | IMAGE_FEATURES += "ssh-server-openssh package-management hwcodecs" 11 | 12 | IMAGE_FEATURES += "allow-empty-password empty-root-password allow-root-login post-install-logging" 13 | 14 | IMAGE_INSTALL = "\ 15 | packagegroup-core-boot \ 16 | packagegroup-base \ 17 | os-release \ 18 | htop \ 19 | ca-certificates \ 20 | networkmanager \ 21 | wireguard-tools \ 22 | ${CORE_IMAGE_EXTRA_INSTALL} \ 23 | " 24 | 25 | IMAGE_INSTALL:append:libc-musl = " gcompat" 26 | # Add pregenerated ssh keys for improving first time bootup speed 27 | IMAGE_INSTALL:append:qemuall = " ssh-pregen-hostkeys" 28 | 29 | export IMAGE_BASENAME = "yoe-simple-image" 30 | 31 | BAD_RECOMMENDATIONS += "eudev-hwdb udev-hwdb libmodule-build-perl kbd-keymaps-pine" 32 | 33 | # Just include en-us locale for now. This was needed to avoid opkg native crash seen here 34 | # https://lists.openembedded.org/g/openembedded-core/message/227243 35 | IMAGE_LINGUAS = "en-us" 36 | 37 | # How to add password/user to image 38 | #inherit extrausers 39 | 40 | #IMAGE_FEATURES:remove = "allow-empty-password empty-root-password allow-root-login post-install-logging" 41 | 42 | #EXTRA_USERS_PARAMS += "\ 43 | # useradd scribbledeedoo; \ 44 | # usermod -p '$(openssl passwd -6 MajorPie5)' scribbledeedoo; \ 45 | # usermod -a -G adm scribbledeedoo; \ 46 | # usermod -a -G video scribbledeedoo; \ 47 | # usermod -a -G audio scribbledeedoo; \ 48 | # usermod -a -G systemd-journal scribbledeedoo; \ 49 | #" 50 | # 51 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/visionfive2/platform: -------------------------------------------------------------------------------- 1 | TITLE="Starfive VISIONFIVE2" 2 | PLAT="visionfive2" 3 | UPDATE_FILE_NAME="${PLAT}" 4 | 5 | USB_DETECTION_DELAY=4 6 | 7 | KERNEL="\ 8 | Image \ 9 | jh7110-starfive-visionfive-2-v1.3b.dtb \ 10 | " 11 | 12 | BOOT="\ 13 | EFI/BOOT/bootriscv64.efi \ 14 | " 15 | 16 | ROOTFS="rootfs.ext4.xz" 17 | 18 | EMMC_DEVICE=/dev/mmcblk0 19 | SD_DEVICE=/dev/mmcblk1 20 | 21 | # Can have "emmc" or "sd", this is the install target media 22 | STORAGE="sd" 23 | # Install location is EMMC_DEVICE if STORAGE is 'emmc' and 24 | # SD_DEVICE if STORAGE is 'sd' 25 | if [ "$STORAGE" = "emmc" ]; then 26 | INSTALL_DEVICE=${EMMC_DEVICE} 27 | else 28 | INSTALL_DEVICE=${SD_DEVICE} 29 | fi 30 | 31 | INSTALL_BOOT_DEV=${INSTALL_DEVICE}p3 32 | INSTALL_ROOTFS_DEV=${INSTALL_DEVICE}p4 33 | INSTALL_DATA_DEV=${INSTALL_DEVICE}p5 34 | 35 | EMMC_BOOT_DEV=${EMMC_DEVICE}p3 36 | EMMC_ROOTFS_DEV=${EMMC_DEVICE}p4 37 | EMMC_DATA_DEV=${EMMC_DEVICE}p5 38 | 39 | SD_BOOT_DEV=${SD_DEVICE}p3 40 | SD_ROOTFS_DEV=${SD_DEVICE}p4 41 | SD_DATA_DEV=${SD_DEVICE}p5 42 | 43 | BOOT_MOUNT_POINT=/boot 44 | ROOTFS_MOUNT_POINT=/root 45 | DATA_MOUNT_POINT=/data 46 | USB_MOUNT_POINT=/media/usb 47 | SD_MOUNT_POINT=/media/sd 48 | 49 | # Size in 'M' for MB, 'G' for GB 50 | RESERVED_SIZE=2M 51 | BOOT_SIZE=300M 52 | ROOTFS_SIZE=3G 53 | 54 | FSTYPE=ext4 55 | BOOT_FSTYPE=ext4 56 | 57 | UPDATER_SPEECH=0 58 | UPDATER_CAN_PARTITION=0 59 | 60 | # Space separated list of dirs to create in /data 61 | # which is used by volatile-binds during main rootfs boot 62 | PERSISTENT_BINDS="" 63 | 64 | MOUNT_BOOT=1 65 | 66 | plat_init() { 67 | msg "Running $PLAT initializations ..." 68 | cat /proc/cpuinfo | grep uarch | cut -d' ' -f 2 | head -n1 > /etc/hwrevision 69 | } 70 | 71 | plat_bootloader_quirks() { 72 | : 73 | } 74 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/canboat/files/0001-Avoid-multiple-definitions-of-StringBuffer-sbNew.patch: -------------------------------------------------------------------------------- 1 | From 25799167153e8359c4814beb5a130ddb86ca9644 Mon Sep 17 00:00:00 2001 2 | From: Khem Raj 3 | Date: Sat, 16 May 2020 08:39:21 -0700 4 | Subject: [PATCH] Avoid multiple definitions of StringBuffer sbNew 5 | 6 | This helps build with gcc10+ 7 | 8 | multiple definition of `sbNew'; /tmp/cc7KbBAf.o:(.bss+0x0): first defined here 9 | collect2: error: ld returned 1 exit status 10 | make[1]: *** [Makefile:28: ../rel/linux-x86_64/actisense-serial] Error 1 11 | 12 | Upstream-Status: Submitted [https://github.com/canboat/canboat/pull/193] 13 | Signed-off-by: Khem Raj 14 | --- 15 | common/common.h | 2 +- 16 | n2kd/main.c | 1 + 17 | 2 files changed, 2 insertions(+), 1 deletion(-) 18 | 19 | diff --git a/common/common.h b/common/common.h 20 | index 0d72f86..ad4ee7c 100644 21 | --- a/common/common.h 22 | +++ b/common/common.h 23 | @@ -107,7 +107,7 @@ enum Base64Encoding 24 | BASE64_AIS 25 | }; 26 | 27 | -StringBuffer sbNew; 28 | +extern StringBuffer sbNew; 29 | 30 | void sbAppendEncodeHex(StringBuffer *sb, const void *data, size_t len, char separator); // binary to hex 31 | void sbAppendEncodeBase64(StringBuffer *sb, const uint8_t *data, size_t len, enum Base64Encoding encoding); // binary to Base64 32 | diff --git a/n2kd/main.c b/n2kd/main.c 33 | index 4fa618f..cd48028 100644 34 | --- a/n2kd/main.c 35 | +++ b/n2kd/main.c 36 | @@ -49,6 +49,7 @@ bool rateLimit; 37 | 38 | uint32_t protocol = 1; 39 | int debug = 0; 40 | +StringBuffer sbNew; 41 | 42 | #define SENSOR_TIMEOUT (120) /* Timeout when PGN messages expire (no longer retransmitted) */ 43 | #define AIS_TIMEOUT (3600) /* AIS messages expiration is much longer */ 44 | -- 45 | 2.26.2 46 | 47 | -------------------------------------------------------------------------------- /conf/projects/unmatched/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "unmatched" 2 | DISTRO = "yoe" 3 | # "yoe---" 4 | YOE_PROFILE = "yoe-glibc-systemd-wayland" 5 | 6 | # Acknowledge that Synaptics can revoke their license at any time on the 7 | # Rapsberry pi firmware 8 | LICENSE_FLAGS_ACCEPTED += "\ 9 | " 10 | IMAGE_FSTYPES:append = " wic.xz wic.bmap tar.xz" 11 | # Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now ) 12 | INITRAMFS_IMAGE_BUNDLE = "1" 13 | WKS_FILE = "yoe-sdimage.wks" 14 | # Use yoe-initramfs-image for initramfs 15 | INITRAMFS_IMAGE = "yoe-initramfs-image" 16 | # Use kernel+initramfs image to boot 17 | IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE}" 18 | IMAGE_BOOT_FILES:append = " ${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${KERNEL_IMAGETYPE}" 19 | 20 | # Needed for Running bitbake -ctestimage 21 | #TEST_TARGET_IP = "10.0.0.34" 22 | #TEST_SERVER_IP = "10.0.0.13" 23 | TEST_TARGET = "simpleremote" 24 | 25 | ##################################################################### 26 | # add project specific configuration below this line 27 | ##################################################################### 28 | #require conf/distro/include/lto.inc 29 | #DISTRO_FEATURES:append = " lto" 30 | 31 | # Setting a user/password in system 32 | #INHERIT += "extrausers" 33 | #EXTRA_USERS_PARAMS += "\ 34 | # useradd admin; \ 35 | # usermod -p '$(openssl passwd -6 myrootpassword)' admin; \ 36 | # usermod -a -G adm admin; \ 37 | # usermod -a -G video admin; \ 38 | # usermod -a -G audio admin; \ 39 | # usermod -a -G systemd-journal admin; \ 40 | #" 41 | #EXTRA_IMAGE_FEATURES:remove = "allow-empty-password empty-root-password allow-root-login post-install-logging" 42 | 43 | # For running oe-selftest uncomment below lines 44 | #USER_CLASSES:remove = "buildhistory" 45 | #PRSERV_HOST = "" 46 | -------------------------------------------------------------------------------- /conf/projects/rockpi-4b/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "rock-pi-4b" 2 | DISTRO = "yoe" 3 | # "yoe---" 4 | YOE_PROFILE = "yoe-glibc-systemd-wayland" 5 | 6 | # Acknowledge that Synaptics can revoke their license at any time on the 7 | # Rapsberry pi firmware 8 | LICENSE_FLAGS_ACCEPTED += "\ 9 | " 10 | IMAGE_FSTYPES:append = " wic.xz wic.bmap tar.xz" 11 | # Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now ) 12 | #INITRAMFS_IMAGE_BUNDLE = "1" 13 | #WKS_FILE = "yoe-sdimage.wks" 14 | # Use yoe-initramfs-image for initramfs 15 | #INITRAMFS_IMAGE = "yoe-initramfs-image" 16 | # Use kernel+initramfs image to boot 17 | #IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE}" 18 | #IMAGE_BOOT_FILES:append = " ${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${KERNEL_IMAGETYPE}" 19 | 20 | # Needed for Running bitbake -ctestimage 21 | #TEST_TARGET_IP = "10.0.0.34" 22 | #TEST_SERVER_IP = "10.0.0.13" 23 | TEST_TARGET = "simpleremote" 24 | 25 | ##################################################################### 26 | # add project specific configuration below this line 27 | ##################################################################### 28 | #require conf/distro/include/lto.inc 29 | #DISTRO_FEATURES:append = " lto" 30 | 31 | # Setting a user/password in system 32 | #INHERIT += "extrausers" 33 | #EXTRA_USERS_PARAMS += "\ 34 | # useradd admin; \ 35 | # usermod -p '$(openssl passwd -6 myrootpassword)' admin; \ 36 | # usermod -a -G adm admin; \ 37 | # usermod -a -G video admin; \ 38 | # usermod -a -G audio admin; \ 39 | # usermod -a -G systemd-journal admin; \ 40 | #" 41 | #EXTRA_IMAGE_FEATURES:remove = "allow-empty-password empty-root-password allow-root-login post-install-logging" 42 | 43 | # For running oe-selftest uncomment below lines 44 | #USER_CLASSES:remove = "buildhistory" 45 | #PRSERV_HOST = "" 46 | -------------------------------------------------------------------------------- /docs/layer-management.md: -------------------------------------------------------------------------------- 1 | # Yoe Layer Management 2 | 3 | [up](README.md) 4 | 5 | All OE layers that are being used in Yoe project are mirrored in the YoeDistro 6 | space on github. These layers are synced every two hours with upstream since the 7 | global namespace is kept intact, there are no conflicts. We reserve namespaces 8 | for local branches 9 | 10 | - `yoe/` - Distro Specific branch, created for yoe release we support this 11 | has speicific fixes which are not 12 | 13 | - upstreamable, this is rare situation 14 | - Required for yoe and are in flight for upstream inclusion - Submissions 15 | from yoe community 16 | 17 | we also create additional integration branches e.g. `yoe/-next` which 18 | are used for regular CI builds. 19 | 20 | - `/` - This namespace is reserved for developers, these are also 21 | short lived branches primarily used for development which are deleted after 22 | pull request is accepted in a public branch 23 | 24 | ## Why do we mirror the layers ? 25 | 26 | - This provides needed redundancy and development space for Yoe Distro 27 | developers. Since we create pure mirrors for public branches and offer 28 | namespaces for development, this makes it a good combination for hosting 29 | changes when they are in flight. It also provides a mechanism for running a CI 30 | loop on the changes to be submitted upstream for specific layers. 31 | 32 | - If a product is to be released one can easily mirror the yoe mirrors 33 | internally and keep a local copy, or one can use same mirroring policy and 34 | local branching policy to create internal branches. Just keep / namespace 35 | safe. 36 | 37 | - For some reason if upstream layers disappear and we still need to maintain the 38 | layers, which can happen over a long life of products, then we offer a 39 | redundancy 40 | -------------------------------------------------------------------------------- /conf/projects/unleashed/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "freedom-u540" 2 | DISTRO = "yoe" 3 | # "yoe---" 4 | YOE_PROFILE = "yoe-glibc-systemd-wayland" 5 | 6 | # Acknowledge that Synaptics can revoke their license at any time on the 7 | # Rapsberry pi firmware 8 | LICENSE_FLAGS_ACCEPTED += "\ 9 | " 10 | IMAGE_FSTYPES:append = " wic.xz wic.bmap tar.xz" 11 | # Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now ) 12 | #INITRAMFS_IMAGE_BUNDLE = "1" 13 | #WKS_FILE = "yoe-sdimage.wks" 14 | # Use yoe-initramfs-image for initramfs 15 | #INITRAMFS_IMAGE = "yoe-initramfs-image" 16 | # Use kernel+initramfs image to boot 17 | #IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE}" 18 | #IMAGE_BOOT_FILES:append = " ${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${KERNEL_IMAGETYPE}" 19 | 20 | # Needed for Running bitbake -ctestimage 21 | #TEST_TARGET_IP = "10.0.0.34" 22 | #TEST_SERVER_IP = "10.0.0.13" 23 | TEST_TARGET = "simpleremote" 24 | 25 | ##################################################################### 26 | # add project specific configuration below this line 27 | ##################################################################### 28 | #require conf/distro/include/lto.inc 29 | #DISTRO_FEATURES:append = " lto" 30 | 31 | # Setting a user/password in system 32 | #INHERIT += "extrausers" 33 | #EXTRA_USERS_PARAMS += "\ 34 | # useradd admin; \ 35 | # usermod -p '$(openssl passwd -6 myrootpassword)' admin; \ 36 | # usermod -a -G adm admin; \ 37 | # usermod -a -G video admin; \ 38 | # usermod -a -G audio admin; \ 39 | # usermod -a -G systemd-journal admin; \ 40 | #" 41 | #EXTRA_IMAGE_FEATURES:remove = "allow-empty-password empty-root-password allow-root-login post-install-logging" 42 | 43 | # For running oe-selftest uncomment below lines 44 | #USER_CLASSES:remove = "buildhistory" 45 | #PRSERV_HOST = "" 46 | -------------------------------------------------------------------------------- /conf/projects/visionfive/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "visionfive" 2 | DISTRO = "yoe" 3 | # "yoe---" 4 | YOE_PROFILE = "yoe-glibc-systemd-wayland" 5 | 6 | # Acknowledge that Synaptics can revoke their license at any time on the 7 | # Rapsberry pi firmware 8 | LICENSE_FLAGS_ACCEPTED += "\ 9 | " 10 | IMAGE_FSTYPES:append = " wic.xz wic.bmap tar.xz" 11 | # Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now ) 12 | #INITRAMFS_IMAGE_BUNDLE = "1" 13 | #WKS_FILE = "yoe-sdimage.wks" 14 | # Use yoe-initramfs-image for initramfs 15 | #INITRAMFS_IMAGE = "yoe-initramfs-image" 16 | # Use kernel+initramfs image to boot 17 | #IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE}" 18 | #IMAGE_BOOT_FILES:append = " ${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${KERNEL_IMAGETYPE}" 19 | 20 | # Needed for Running bitbake -ctestimage 21 | #TEST_TARGET_IP = "10.0.0.34" 22 | #TEST_SERVER_IP = "10.0.0.13" 23 | TEST_TARGET = "simpleremote" 24 | 25 | ##################################################################### 26 | # add project specific configuration below this line 27 | ##################################################################### 28 | #require conf/distro/include/lto.inc 29 | #DISTRO_FEATURES:append = " lto" 30 | 31 | # Setting a user/password in system 32 | #INHERIT += "extrausers" 33 | #EXTRA_USERS_PARAMS += "\ 34 | # useradd admin; \ 35 | # usermod -p '$(openssl passwd -6 myrootpassword)' admin; \ 36 | # usermod -a -G adm admin; \ 37 | # usermod -a -G video admin; \ 38 | # usermod -a -G audio admin; \ 39 | # usermod -a -G systemd-journal admin; \ 40 | #" 41 | #EXTRA_IMAGE_FEATURES:remove = "allow-empty-password empty-root-password allow-root-login post-install-logging" 42 | 43 | # For running oe-selftest uncomment below lines 44 | #USER_CLASSES:remove = "buildhistory" 45 | #PRSERV_HOST = "" 46 | -------------------------------------------------------------------------------- /conf/projects/nezha-d1/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "nezha-allwinner-d1" 2 | DISTRO = "yoe" 3 | # "yoe---" 4 | YOE_PROFILE = "yoe-glibc-systemd-wayland" 5 | 6 | # Acknowledge that Synaptics can revoke their license at any time on the 7 | # Rapsberry pi firmware 8 | LICENSE_FLAGS_ACCEPTED += "\ 9 | " 10 | IMAGE_FSTYPES:append = " wic.xz wic.bmap tar.xz" 11 | # Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now ) 12 | #INITRAMFS_IMAGE_BUNDLE = "1" 13 | #WKS_FILE = "yoe-sdimage.wks" 14 | # Use yoe-initramfs-image for initramfs 15 | #INITRAMFS_IMAGE = "yoe-initramfs-image" 16 | # Use kernel+initramfs image to boot 17 | #IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE}" 18 | #IMAGE_BOOT_FILES:append = " ${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${KERNEL_IMAGETYPE}" 19 | 20 | # Needed for Running bitbake -ctestimage 21 | #TEST_TARGET_IP = "10.0.0.34" 22 | #TEST_SERVER_IP = "10.0.0.13" 23 | TEST_TARGET = "simpleremote" 24 | 25 | ##################################################################### 26 | # add project specific configuration below this line 27 | ##################################################################### 28 | #require conf/distro/include/lto.inc 29 | #DISTRO_FEATURES:append = " lto" 30 | 31 | # Setting a user/password in system 32 | #INHERIT += "extrausers" 33 | #EXTRA_USERS_PARAMS += "\ 34 | # useradd admin; \ 35 | # usermod -p '$(openssl passwd -6 myrootpassword)' admin; \ 36 | # usermod -a -G adm admin; \ 37 | # usermod -a -G video admin; \ 38 | # usermod -a -G audio admin; \ 39 | # usermod -a -G systemd-journal admin; \ 40 | #" 41 | #EXTRA_IMAGE_FEATURES:remove = "allow-empty-password empty-root-password allow-root-login post-install-logging" 42 | 43 | # For running oe-selftest uncomment below lines 44 | #USER_CLASSES:remove = "buildhistory" 45 | #PRSERV_HOST = "" 46 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/variscite-bsp/recipes-bsp/u-boot-variscite/u-boot-variscite/0001-imx8mn_var_som-Adjust-for-boot-root-data-paritioning.patch: -------------------------------------------------------------------------------- 1 | From 9daf99369c9ddc1bb63f74edf76bb4f5a6a37477 Mon Sep 17 00:00:00 2001 2 | From: Cliff Brake 3 | Date: Thu, 18 Apr 2024 16:51:05 -0400 4 | Subject: [PATCH] imx8mn_var_som - adjust for boot root data partitioning 5 | 6 | --- 7 | include/configs/imx8mn_var_som.h | 6 +++--- 8 | 1 file changed, 3 insertions(+), 3 deletions(-) 9 | 10 | diff --git a/include/configs/imx8mn_var_som.h b/include/configs/imx8mn_var_som.h 11 | index 2854032248..8b4cf330aa 100644 12 | --- a/include/configs/imx8mn_var_som.h 13 | +++ b/include/configs/imx8mn_var_som.h 14 | @@ -62,7 +62,7 @@ 15 | /* Initial environment variables */ 16 | #define CFG_EXTRA_ENV_SETTINGS \ 17 | CFG_MFG_ENV_SETTINGS \ 18 | - "bootdir=/boot\0" \ 19 | + "bootdir=\0" \ 20 | BOOTENV \ 21 | "prepare_mcore=setenv mcore_clk clk-imx8mn.mcore_booted;\0" \ 22 | "scriptaddr=0x43500000\0" \ 23 | @@ -71,7 +71,7 @@ 24 | "image=Image.gz\0" \ 25 | "img_addr=0x42000000\0" \ 26 | "console=ttymxc3,115200 earlycon=ec_imx6q,0x30a60000,115200\0" \ 27 | - "fdt_addr_r=0x43000000\0" \ 28 | + "fdt_addr_r=0x44000000\0" \ 29 | "fdt_addr=0x43000000\0" \ 30 | "fdt_high=0xffffffffffffffff\0" \ 31 | "boot_fdt=try\0" \ 32 | @@ -102,7 +102,7 @@ 33 | "bootaux ${m7_addr};\0" \ 34 | "optargs=setenv bootargs ${bootargs} ${kernelargs};\0" \ 35 | "mmcargs=setenv bootargs ${mcore_clk} console=${console} " \ 36 | - "root=/dev/mmcblk${mmcblk}p${mmcpart} rootwait rw ${cma_size} cma_name=linux,cma\0 " \ 37 | + "root=/dev/mmcblk${mmcblk}p2 rootwait rw ${cma_size} cma_name=linux,cma\0 " \ 38 | "bootenv=uEnv.txt\0" \ 39 | "loadbootscript=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootdir}/${bsp_script};\0" \ 40 | "bootscript=echo Running bootscript from mmc ...; " \ 41 | -- 42 | 2.44.0 43 | 44 | -------------------------------------------------------------------------------- /conf/projects/qemucommon/config.conf: -------------------------------------------------------------------------------- 1 | DISTRO = "yoe" 2 | # "yoe---" 3 | YOE_PROFILE = "yoe-glibc-systemd-wayland" 4 | # For world builds 5 | DISTRO_FEATURES:append = " x11" 6 | # usually not changed often 7 | # Add 4G space to QEMU image 8 | #IMAGE_ROOTFS_EXTRA_SPACE:append = " + 4000000" 9 | #TEST_QEMUBOOT_TIMEOUT = "100" 10 | 11 | # Enable clang static analyzer 12 | #INHERIT += "scan-build" 13 | #SCAN_BUILD ?= "" 14 | #SCAN_BUILD:pn-openssl = "1" 15 | 16 | IMAGE_FSTYPES:append = " wic.xz wic.bmap tar.xz" 17 | IMAGE_FSTYPES:remove = "tar.bz2 tar.xz tar tar.gz wic.xz wic.bmap" 18 | # normal networking requires sudo access slirp does not 19 | #TEST_RUNQEMUPARAMS:append = " slirp" 20 | 21 | # Launch vnc backend during testing 22 | #TEST_RUNQEMUPARAMS:append = " publicvnc" 23 | # needed for running ptests automatically 24 | PACKAGE_FEED_URIS ?= "" 25 | # Needed for ptest runs 26 | EXTRA_IMAGE_FEATURES:append = " allow-empty-password empty-root-password allow-root-login post-install-logging" 27 | 28 | ##################################################################### 29 | # add project specific configuration below this line 30 | ##################################################################### 31 | #require conf/distro/include/lto.inc 32 | #DISTRO_FEATURES:append = " lto" 33 | 34 | # Setting a user/password in system 35 | #INHERIT += "extrausers" 36 | #EXTRA_USERS_PARAMS += "\ 37 | # useradd admin; \ 38 | # usermod -p '$(openssl passwd -6 myrootpassword)' admin; \ 39 | # usermod -a -G adm admin; \ 40 | # usermod -a -G video admin; \ 41 | # usermod -a -G audio admin; \ 42 | # usermod -a -G systemd-journal admin; \ 43 | #" 44 | #EXTRA_IMAGE_FEATURES:remove = "allow-empty-password empty-root-password allow-root-login post-install-logging" 45 | 46 | # For running oe-selftest uncomment below lines 47 | #USER_CLASSES:remove = "buildhistory" 48 | #PRSERV_HOST = "" 49 | -------------------------------------------------------------------------------- /conf/projects/visionfive2/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "visionfive2" 2 | DISTRO = "yoe" 3 | # "yoe---" 4 | YOE_PROFILE = "yoe-glibc-systemd-wayland" 5 | 6 | # Acknowledge that Synaptics can revoke their license at any time on the 7 | # Rapsberry pi firmware 8 | LICENSE_FLAGS_ACCEPTED += "\ 9 | " 10 | IMAGE_FSTYPES:append = " wic.xz wic.bmap ext4.xz" 11 | # Yoe Updater Supported Machine 12 | INITRAMFS_IMAGE_BUNDLE = "1" 13 | WKS_FILE:yoe = "yoe-visionfive2-sdimage.wks" 14 | # Use yoe-initramfs-image for initramfs 15 | INITRAMFS_IMAGE = "yoe-initramfs-image" 16 | # Use kernel+initramfs image to boot 17 | IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE}" 18 | IMAGE_BOOT_FILES:append = " ${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${KERNEL_IMAGETYPE}" 19 | 20 | # Needed for Running bitbake -ctestimage 21 | TEST_TARGET_IP = "10.0.0.86" 22 | TEST_SERVER_IP = "10.0.0.13" 23 | TEST_TARGET = "simpleremote" 24 | 25 | ##################################################################### 26 | # add project specific configuration below this line 27 | ##################################################################### 28 | #require conf/distro/include/lto.inc 29 | #DISTRO_FEATURES:append = " lto" 30 | 31 | # lld from upcoming 17.0 release is crashing for RISCV atm 32 | #DISTRO_FEATURES:remove = "ld-is-lld" 33 | 34 | # Setting a user/password in system 35 | #INHERIT += "extrausers" 36 | #EXTRA_USERS_PARAMS += "\ 37 | # useradd admin; \ 38 | # usermod -p '$(openssl passwd -6 myrootpassword)' admin; \ 39 | # usermod -a -G adm admin; \ 40 | # usermod -a -G video admin; \ 41 | # usermod -a -G audio admin; \ 42 | # usermod -a -G systemd-journal admin; \ 43 | #" 44 | #EXTRA_IMAGE_FEATURES:remove = "allow-empty-password empty-root-password allow-root-login post-install-logging" 45 | 46 | # For running oe-selftest uncomment below lines 47 | #USER_CLASSES:remove = "buildhistory" 48 | #PRSERV_HOST = "" 49 | -------------------------------------------------------------------------------- /sources/meta-yoe/conf/layer.conf: -------------------------------------------------------------------------------- 1 | # We have a conf and classes directory, append to BBPATH 2 | BBPATH .= ":${LAYERDIR}" 3 | 4 | # We have a recipes directory, add to BBFILES 5 | BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend" 6 | 7 | BBFILE_COLLECTIONS += "meta-yoe" 8 | BBFILE_PATTERN_meta-yoe := "^${LAYERDIR}/" 9 | BBFILE_PRIORITY_meta-yoe = "99" 10 | LAYERSERIES_COMPAT_meta-yoe = "whinlatter" 11 | LAYERDEPENDS_meta-yoe = "core openembedded-layer networking-layer" 12 | 13 | BBFILES_DYNAMIC += " \ 14 | openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \ 15 | openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \ 16 | networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bb \ 17 | networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bbappend \ 18 | qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bb \ 19 | qt5-layer:${LAYERDIR}/dynamic-layers/qt5-layer/*/*/*.bbappend \ 20 | qt6-layer:${LAYERDIR}/dynamic-layers/qt6-layer/*/*/*.bb \ 21 | qt6-layer:${LAYERDIR}/dynamic-layers/qt6-layer/*/*/*.bbappend \ 22 | meta-ti-bsp:${LAYERDIR}/dynamic-layers/meta-ti/*/*/*.bb \ 23 | meta-ti-bsp:${LAYERDIR}/dynamic-layers/meta-ti/*/*/*.bbappend \ 24 | raspberrypi:${LAYERDIR}/dynamic-layers/raspberrypi/*/*/*.bb \ 25 | raspberrypi:${LAYERDIR}/dynamic-layers/raspberrypi/*/*/*.bbappend \ 26 | swupdate:${LAYERDIR}/dynamic-layers/swupdate/*/*/*.bb \ 27 | swupdate:${LAYERDIR}/dynamic-layers/swupdate/*/*/*.bbappend \ 28 | tegra:${LAYERDIR}/dynamic-layers/tegra/*/*/*.bb \ 29 | tegra:${LAYERDIR}/dynamic-layers/tegra/*/*/*.bbappend \ 30 | variscite-bsp:${LAYERDIR}/dynamic-layers/variscite-bsp/*/*/*.bb \ 31 | variscite-bsp:${LAYERDIR}/dynamic-layers/variscite-bsp/*/*/*.bbappend \ 32 | webkit:${LAYERDIR}/dynamic-layers/webkit/*/*/*.bb \ 33 | webkit:${LAYERDIR}/dynamic-layers/webkit/*/*/*.bbappend \ 34 | " 35 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/beaglebone/platform: -------------------------------------------------------------------------------- 1 | TITLE="BeagleBone Black" 2 | PLAT="beaglebone" 3 | UPDATE_FILE_NAME="${PLAT}" 4 | 5 | USB_DETECTION_DELAY=4 6 | 7 | KERNEL="\ 8 | zImage \ 9 | am335x-bone.dtb \ 10 | am335x-boneblack-wireless.dtb \ 11 | am335x-boneblack.dtb \ 12 | am335x-boneblue.dtb \ 13 | am335x-bonegreen-wireless.dtb \ 14 | am335x-bonegreen.dtb \ 15 | " 16 | 17 | BOOT="\ 18 | MLO \ 19 | u-boot.img \ 20 | " 21 | 22 | ROOTFS="rootfs.ext4.xz" 23 | 24 | EMMC_DEVICE=/dev/mmcblk1 25 | SD_DEVICE=/dev/mmcblk0 26 | 27 | # Can have "emmc" or "sd", this is the install target media 28 | STORAGE="emmc" 29 | 30 | # Install location is EMMC_DEVICE if STORAGE is 'emmc' and 31 | # SD_DEVICE if STORAGE is 'sd' 32 | if [ "$STORAGE" = "emmc" ]; then 33 | INSTALL_DEVICE=${EMMC_DEVICE} 34 | else 35 | INSTALL_DEVICE=${SD_DEVICE} 36 | fi 37 | 38 | INSTALL_BOOT_DEV=${INSTALL_DEVICE}p1 39 | INSTALL_ROOTFS_DEV=${INSTALL_DEVICE}p2 40 | INSTALL_DATA_DEV=${INSTALL_DEVICE}p3 41 | 42 | EMMC_BOOT_DEV=${EMMC_DEVICE}p1 43 | EMMC_ROOTFS_DEV=${EMMC_DEVICE}p2 44 | EMMC_DATA_DEV=${EMMC_DEVICE}p3 45 | 46 | SD_BOOT_DEV=${SD_DEVICE}p1 47 | SD_ROOTFS_DEV=${SD_DEVICE}p2 48 | SD_DATA_DEV=${SD_DEVICE}p3 49 | 50 | BOOT_MOUNT_POINT=/boot 51 | ROOTFS_MOUNT_POINT=/root 52 | DATA_MOUNT_POINT=/data 53 | USB_MOUNT_POINT=/media/usb 54 | SD_MOUNT_POINT=/media/sd 55 | 56 | # Size in 'M' for MB, 'G' for GB 57 | RESERVED_SIZE=2M 58 | BOOT_SIZE=100M 59 | ROOTFS_SIZE=1G 60 | 61 | FSTYPE=ext4 62 | BOOT_FSTYPE=vfat 63 | 64 | UPDATER_SPEECH=0 65 | UPDATER_CAN_PARTITION=1 66 | # OVERLAY_TYPE is one of 'tmpfs' or 'persistent' 67 | OVERLAY_TYPE=persistent 68 | # Space separated list of dirs to create in /data 69 | # which is used by volatile-binds during main rootfs boot 70 | PERSISTENT_BINDS="" 71 | 72 | MOUNT_BOOT=1 73 | 74 | plat_init() { 75 | msg "Running $PLAT initializations ..." 76 | cat /proc/cpuinfo | grep Revision | cut -d' ' -f 2 > /etc/hwrevision 77 | } 78 | 79 | plat_bootloader_quirks() { 80 | : 81 | } 82 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/meta-ti/recipes-qt/qt5/qtbase/0001-eglfs-Force-888-format-only-on-env-flag.patch: -------------------------------------------------------------------------------- 1 | From 7288496d08108b8b6514f9fb20c575fd42f8027e Mon Sep 17 00:00:00 2001 2 | From: Gowtham Tammana 3 | Date: Mon, 6 Jul 2020 12:47:23 -0500 4 | Subject: [PATCH] eglfs: Force 888 format only on env flag 5 | 6 | [ChangeLog][Platform Specific Changes][eglfs] In the case of elgfs 7 | platform the surface format is being forced to RGB888 format which 8 | conflicts if a different default format is specified in the json config 9 | file. Force the surface format to be of RGB888 only when the environment 10 | flag QT_QPA_EGLFS_FORCE888 is set. 11 | set. 12 | 13 | Upstream-Status: Pending 14 | 15 | Change-Id: Id63f11eed2f41b322a95e103860888694ccd44db 16 | --- 17 | .../eglfs_kms_support/qeglfskmsintegration.cpp | 11 ++++++++--- 18 | 1 file changed, 8 insertions(+), 3 deletions(-) 19 | 20 | diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp 21 | index 06bc272050..41f2265208 100644 22 | --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp 23 | +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp 24 | @@ -102,9 +102,14 @@ QSurfaceFormat QEglFSKmsIntegration::surfaceFormatFor(const QSurfaceFormat &inpu 25 | QSurfaceFormat format(inputFormat); 26 | format.setRenderableType(QSurfaceFormat::OpenGLES); 27 | format.setSwapBehavior(QSurfaceFormat::DoubleBuffer); 28 | - format.setRedBufferSize(8); 29 | - format.setGreenBufferSize(8); 30 | - format.setBlueBufferSize(8); 31 | + 32 | + static const bool force888 = qEnvironmentVariableIntValue("QT_QPA_EGLFS_FORCE888"); 33 | + if (force888) { 34 | + format.setRedBufferSize(8); 35 | + format.setGreenBufferSize(8); 36 | + format.setBlueBufferSize(8); 37 | + } 38 | + 39 | return format; 40 | } 41 | 42 | -- 43 | 2.17.1 44 | 45 | -------------------------------------------------------------------------------- /conf/projects/var-dart-imx6ul/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "imx6ul-var-dart" 2 | DISTRO = "yoe" 3 | # "yoe---" 4 | YOE_PROFILE = "yoe-musl-busyboxinit-eglfs" 5 | 6 | # Freeescale stuff EULA yeah :( 7 | ACCEPT_FSL_EULA = "1" 8 | 9 | # Acknowledge that Synaptics can revoke their license at any time on the 10 | # Rapsberry pi firmware 11 | LICENSE_FLAGS_ACCEPTED += "\ 12 | " 13 | IMAGE_FSTYPES:append = " wic.xz wic.bmap ext4.xz" 14 | IMAGE_FSTYPES:remove = "ext4 tar.gz wic.bz2" 15 | # Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now ) 16 | INITRAMFS_IMAGE_BUNDLE = "1" 17 | #WKS_FILE = "yoe-sdimage.wks" 18 | # Use yoe-initramfs-image for initramfs 19 | INITRAMFS_IMAGE = "yoe-initramfs-image" 20 | # Use kernel+initramfs image to boot 21 | IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE}" 22 | IMAGE_BOOT_FILES:append = " ${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${KERNEL_IMAGETYPE}" 23 | 24 | # Needed for Running bitbake -ctestimage 25 | #TEST_TARGET_IP = "10.0.0.34" 26 | #TEST_SERVER_IP = "10.0.0.13" 27 | TEST_TARGET = "simpleremote" 28 | 29 | # Needed for logic in Varscite wifi bringup script 30 | PREFERRED_VERSION_libgpiod = "1.%" 31 | 32 | ##################################################################### 33 | # add project specific configuration below this line 34 | ##################################################################### 35 | #require conf/distro/include/lto.inc 36 | #DISTRO_FEATURES:append = " lto" 37 | 38 | # Setting a user/password in system 39 | #INHERIT += "extrausers" 40 | #EXTRA_USERS_PARAMS += "\ 41 | # useradd admin; \ 42 | # usermod -p '$(openssl passwd -6 myrootpassword)' admin; \ 43 | # usermod -a -G adm admin; \ 44 | # usermod -a -G video admin; \ 45 | # usermod -a -G audio admin; \ 46 | # usermod -a -G systemd-journal admin; \ 47 | #" 48 | #EXTRA_IMAGE_FEATURES:remove = "allow-empty-password empty-root-password allow-root-login post-install-logging" 49 | 50 | # For running oe-selftest uncomment below lines 51 | #USER_CLASSES:remove = "buildhistory" 52 | #PRSERV_HOST = "" 53 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-core/images/files/raspberrypi3/emmcsetup.lua: -------------------------------------------------------------------------------- 1 | function os.capture(cmd) 2 | local f = assert(io.popen(cmd, 'r')) 3 | local s = assert(f:read('*a')) 4 | f:close() 5 | return s 6 | end 7 | 8 | function file_exists(name) 9 | local f=io.open(name,"r") 10 | if f~=nil then io.close(f) return true else return false end 11 | end 12 | 13 | function cmdexec(cmd) 14 | local ret, s, status = os.execute(cmd) 15 | if (status ~= 0) then 16 | return false, cmd .. " return with error" 17 | end 18 | 19 | return true,"" 20 | end 21 | 22 | function preinst() 23 | local out 24 | local s1 25 | local ret 26 | 27 | local log = os.tmpname() 28 | 29 | local eMMC = "/dev/mmcblk0" 30 | ret = file_exists("/dev/mmcblk0") 31 | 32 | if (ret == false) then 33 | return false, "Cannot fine eMMC" 34 | end 35 | 36 | cmdexec("/usr/sbin/sfdisk -d " .. eMMC .. "> /tmp/dumppartitions") 37 | 38 | -- check if there are two identical partitions 39 | -- and create the second one if no available 40 | f = io.input("/tmp/dumppartitions") 41 | fo = io.output("/tmp/partitions") 42 | t = f:read() 43 | found = false 44 | while (t ~= nil) do 45 | j=0 46 | j=string.find(t, "/dev/mmcblk0p3") 47 | fo:write(t .. "\n") 48 | if (j == 1) then 49 | found=true 50 | break 51 | end 52 | j=string.find(t, "/dev/mmcblk0p2") 53 | if (j == 1) then 54 | start, size = string.match(t, "%a+%s*=%s*(%d+), size=%s*(%d+)") 55 | end 56 | t = f:read() 57 | end 58 | 59 | if (found) then 60 | f:close() 61 | fo:close() 62 | return true, out 63 | end 64 | 65 | start=start+size 66 | partitions = eMMC .. "p3 : start= " .. string.format("%d", start) .. ", size= " .. size .. ", type=83\n" 67 | 68 | fo:write(partitions) 69 | fo:close() 70 | f:close() 71 | 72 | out = os.capture("/usr/sbin/sfdisk --force " .. eMMC .. " < /tmp/partitions") 73 | 74 | -- use partprobe to inform the kernel of the new partitions 75 | 76 | cmdexec("/usr/sbin/partprobe " .. eMMC) 77 | 78 | return true, out 79 | end 80 | 81 | function postinst() 82 | local out = "Post installed script called" 83 | 84 | return true, out 85 | end 86 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-support/swupdate/tegra-swupdate-script/tegra-swupdate-script.lua.in: -------------------------------------------------------------------------------- 1 | local function get_current_slot() 2 | local handle = io.popen("nvbootctrl get-current-slot") 3 | if not handle then 4 | print("Failed to get-current-slot") 5 | return nil 6 | end 7 | local result = handle:read("*a") 8 | handle:close() 9 | return result:match("%d") -- Extracts the first digit found 10 | end 11 | 12 | local function set_active_slot(slot) 13 | local command = "nvbootctrl set-active-boot-slot " .. slot 14 | return os.execute(command) 15 | end 16 | 17 | local function switch_slots() 18 | local current_slot = get_current_slot() 19 | local success = -1 20 | if current_slot then 21 | local new_slot = current_slot == "1" and "0" or "1" 22 | print("Switching active slot to: " .. new_slot) 23 | success = set_active_slot(new_slot) 24 | else 25 | print("Failed to determine the current slot.") 26 | end 27 | return success 28 | end 29 | 30 | local function file_exists(path) 31 | local file = io.open(path, "r") 32 | if file then 33 | file:close() 34 | return true 35 | else 36 | return false 37 | end 38 | end 39 | 40 | function postinst() 41 | local success = -1 42 | local result = "" 43 | if file_exists("@TEGRA_SWUPDATE_CAPSULE_INSTALL_PATH@") then 44 | print("Running bootloader update script") 45 | success = os.execute("/usr/bin/oe4t-set-uefi-OSIndications") 46 | result = "oe4t-set-uefi-OSIndications completed with status: " .. tostring(success) 47 | else 48 | if @TEGRA_SWUPDATE_BOOTLOADER_INSTALL_ONLY_IF_DIFFERENT@ then 49 | print("Running os switch instead of bootloader update since @TEGRA_SWUPDATE_CAPSULE_INSTALL_PATH@ is missing") 50 | success = switch_slots() 51 | result = "switch_slots completed with status: " .. tostring(success) 52 | else 53 | result = "Missing @TEGRA_SWUPDATE_CAPSULE_INSTALL_PATH@, cannot complete update" 54 | end 55 | end 56 | return success, result 57 | end 58 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-core/images/files/beaglebone-yocto/emmcsetup.lua: -------------------------------------------------------------------------------- 1 | function os.capture(cmd) 2 | local f = assert(io.popen(cmd, 'r')) 3 | local s = assert(f:read('*a')) 4 | f:close() 5 | return s 6 | end 7 | 8 | function file_exists(name) 9 | local f=io.open(name,"r") 10 | if f~=nil then io.close(f) return true else return false end 11 | end 12 | 13 | function cmdexec(cmd) 14 | local ret, s, status = os.execute(cmd) 15 | if (status ~= 0) then 16 | return false, cmd .. " return with error" 17 | end 18 | 19 | return true,"" 20 | end 21 | 22 | function preinst() 23 | local out 24 | local s1 25 | local ret 26 | 27 | local log = os.tmpname() 28 | 29 | local eMMC = "/dev/mmcblk1" 30 | ret = file_exists("/dev/mmcblk1") 31 | 32 | if (ret == false) then 33 | return false, "Cannot fine eMMC" 34 | end 35 | 36 | cmdexec("/usr/sbin/sfdisk -d " .. eMMC .. "> /tmp/dumppartitions") 37 | 38 | -- check if there are two identical partitions 39 | -- and create the second one if no available 40 | f = io.input("/tmp/dumppartitions") 41 | fo = io.output("/tmp/partitions") 42 | t = f:read() 43 | found = false 44 | while (t ~= nil) do 45 | j=0 46 | j=string.find(t, "/dev/mmcblk1p3") 47 | fo:write(t .. "\n") 48 | if (j == 1) then 49 | found=true 50 | break 51 | end 52 | j=string.find(t, "/dev/mmcblk1p2") 53 | if (j == 1) then 54 | start, size = string.match(t, "%a+%s*=%s*(%d+), size=%s*(%d+)") 55 | end 56 | t = f:read() 57 | end 58 | 59 | if (found) then 60 | f:close() 61 | fo:close() 62 | return true, out 63 | end 64 | 65 | start=start+size 66 | partitions = eMMC .. "p3 : start= " .. string.format("%d", start) .. ", size= " .. size .. ", type=83\n" 67 | 68 | fo:write(partitions) 69 | fo:close() 70 | f:close() 71 | 72 | out = os.capture("/usr/sbin/sfdisk --force " .. eMMC .. " < /tmp/partitions") 73 | 74 | -- use partprobe to inform the kernel of the new partitions 75 | 76 | cmdexec("/usr/sbin/partprobe " .. eMMC) 77 | 78 | return true, out 79 | end 80 | 81 | function postinst() 82 | local out = "Post installed script called" 83 | 84 | return true, out 85 | end 86 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/machines/beaglebone.inc: -------------------------------------------------------------------------------- 1 | # We use updater to handle disk/SD management, therefore remove 96boards-tools 2 | IMAGE_INSTALL:remove = "96boards-tools" 3 | 4 | KERNEL_IMAGE = "${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin" 5 | 6 | IMAGE_INSTALL:remove = "kernel-image-${KERNEL_IMAGETYPE} \ 7 | kernel-image-image kernel-image \ 8 | kernel-devicetree \ 9 | " 10 | IMAGE_BOOT_FILES = "${BOOTLOADER_ARTEFACTS} ${KERNEL_ARTEFACTS}" 11 | 12 | KERNEL_ARTEFACTS = "\ 13 | ${KERNEL_IMAGETYPE} \ 14 | am335x-bone.dtb \ 15 | am335x-boneblack-wireless.dtb \ 16 | am335x-boneblack.dtb \ 17 | am335x-boneblue.dtb \ 18 | am335x-bonegreen-wireless.dtb \ 19 | am335x-bonegreen.dtb \ 20 | " 21 | 22 | ROOTFS_ARTEFACTS = "rootfs.ext4.xz" 23 | 24 | BOOTLOADER_ARTEFACTS = "\ 25 | ${SPL_BINARY} \ 26 | u-boot.${UBOOT_SUFFIX} \ 27 | " 28 | UPDATE_IMAGES = "version.txt ${BOOTLOADER_ARTEFACTS} ${KERNEL_ARTEFACTS} ${ROOTFS_ARTEFACTS}" 29 | 30 | do_updater() { 31 | echo "IMG_VERSION = ${IMG_VERSION}" 32 | rm -rf ${TOPDIR}/deploy/${MACHINE} 33 | install -d ${TOPDIR}/deploy/${MACHINE} 34 | OLDPWD="$PWD" 35 | cd ${TOPDIR}/deploy/${MACHINE} 36 | echo "${IMG_VERSION}" > version.txt 37 | install ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.ext4.xz ${ROOTFS_ARTEFACTS} 38 | for f in ${KERNEL_ARTEFACTS} ${BOOTLOADER_ARTEFACTS} 39 | do 40 | install ${DEPLOY_DIR_IMAGE}/$f $f 41 | done 42 | # Match kernel image with wic 43 | rm ${KERNEL_IMAGETYPE} 44 | install ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE} ${KERNEL_IMAGETYPE} 45 | sha256sum ${UPDATE_IMAGES} > update.sha256 46 | rm -rf ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 47 | ls ${UPDATE_IMAGES_} | cpio -ov -H newc > ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 48 | install ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd ${DEPLOY_DIR_IMAGE}/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 49 | cd ${OLDPWD} 50 | rm -rf ${TOPDIR}/deploy/${MACHINE} 51 | } 52 | 53 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/tegra/recipes-support/swupdate/swupdate-machine-config_1.0.bb: -------------------------------------------------------------------------------- 1 | DESCRIPTION = "Machine-specific configuration for swupdate" 2 | LICENSE = "MIT" 3 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" 4 | 5 | inherit tegra_swupdate 6 | 7 | SRC_URI = "\ 8 | file://swupdate.cfg.in \ 9 | file://swupdate-genconfig.sh.in \ 10 | file://swupdate-mods.conf \ 11 | " 12 | 13 | SRC_URI:append:secureboot = " \ 14 | file://swupdate.pem \ 15 | " 16 | 17 | SWUPDATE_BOARDNAME ??= "${MACHINE}" 18 | SWUPDATE_HWREVISION ??= "1.0" 19 | 20 | S = "${UNPACKDIR}" 21 | B = "${WORKDIR}/build" 22 | 23 | do_compile() { 24 | rm -f ${B}/hwrevision 25 | echo "${SWUPDATE_BOARDNAME} ${SWUPDATE_HWREVISION}" > ${B}/hwrevision 26 | sed -e's,@MODEL@,${SWUPDATE_BOARDNAME},g' \ 27 | ${S}/swupdate.cfg.in > ${B}/swupdate.cfg.in 28 | sed -e's,@DATADIR@,${datadir},g' \ 29 | ${S}/swupdate-genconfig.sh.in > ${B}/swupdate-genconfig.sh 30 | echo "tegra-bootloader-capsule ${TEGRA_SWUPDATE_BOOTLOADER_VERSION}" > ${B}/sw-versions-thisslot 31 | } 32 | 33 | do_install() { 34 | install -d ${D}${sysconfdir} 35 | install -m 0644 ${B}/hwrevision ${D}${sysconfdir}/ 36 | ln -s /run/swupdate/swupdate.cfg ${D}${sysconfdir}/swupdate.cfg 37 | install -d ${D}${datadir}/swupdate 38 | install -m 0644 ${B}/swupdate.cfg.in ${D}${datadir}/swupdate/ 39 | install -d ${D}${libexecdir}/swupdate 40 | install -m 0755 ${B}/swupdate-genconfig.sh ${D}${libexecdir}/swupdate/swupdate-genconfig 41 | install -d ${D}${sysconfdir}/systemd/system/swupdate.service.d 42 | install -m 0644 ${S}/swupdate-mods.conf ${D}${sysconfdir}/systemd/system/swupdate.service.d/ 43 | install -m 0644 ${B}/sw-versions-thisslot ${D}${datadir}/swupdate/ 44 | ln -s /run/swupdate/sw-versions ${D}${sysconfdir}/sw-versions 45 | } 46 | 47 | do_install:append:secureboot() { 48 | install -m 0644 ${S}/swupdate.pem ${D}${datadir}/swupdate/ 49 | } 50 | 51 | FILES:${PN} += "${datadir}/swupdate" 52 | FILES:${PN} += "${sysconfdir}/sw-versions" 53 | PACKAGE_ARCH = "${MACHINE_ARCH}" 54 | EXTRADEPS = "tegra-redundant-boot" 55 | RDEPENDS:${PN} += "${EXTRADEPS}" 56 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-core/images/yoe-swupdate-image-tegra.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "Tegra swupdate update image" 2 | DESCRIPTION = "A swupdate image for demonstrating tegra updates" 3 | 4 | LICENSE = "MIT" 5 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" 6 | 7 | SRC_URI = "\ 8 | file://sw-description \ 9 | " 10 | 11 | inherit swupdate image_types_tegra tegra_swupdate 12 | 13 | DEPLOY_KERNEL_IMAGE ?= "${@os.path.basename(tegra_kernel_image(d))}" 14 | 15 | ROOTFS_DEVICE_PATH ?= "/dev/disk/by-partlabel" 16 | 17 | # By default, use yoe-simple-image as the base image. 18 | # Redefine in local.conf if you'd like to use a different base image. 19 | SWUPDATE_CORE_IMAGE_NAME ?= "yoe-simple-image" 20 | 21 | ROOTFS_FILENAME ?= "${SWUPDATE_CORE_IMAGE_NAME}-${MACHINE}.rootfs.tar.gz" 22 | 23 | KERNEL_A_PARTNAME = "A_kernel" 24 | KERNEL_A_DTB_PARTNAME = "A_kernel-dtb" 25 | KERNEL_B_PARTNAME = "B_kernel" 26 | KERNEL_B_DTB_PARTNAME = "B_kernel-dtb" 27 | 28 | # images to build before building swupdate image. For any non image depends, add to the do_swuimage[depends] instead. 29 | IMAGE_DEPENDS = "${SWUPDATE_CORE_IMAGE_NAME} tegra-espimage" 30 | 31 | ESP_ARCHIVE ?= "${TEGRA_ESP_IMAGE}-${MACHINE}.tar.gz" 32 | 33 | # Prepend "devicetree" to the ${DTBFILE} in the images list, since this is the target for do_deploy 34 | # On the nvidia-kernel-oot-dtb recipe. 35 | DTBFILE_PATH = "devicetree/${DTBFILE}" 36 | 37 | # images and files that will be included in the .swu image 38 | SWUPDATE_IMAGES = "${ROOTFS_FILENAME} tegra-bl.cap ${DEPLOY_KERNEL_IMAGE} ${DTBFILE_PATH} tegra-swupdate-script.lua ${ESP_ARCHIVE}" 39 | 40 | # All non-image related depends go here 41 | do_swuimage[depends] += "${@'virtual/dtb:do_deploy' if d.getVar('PREFERRED_PROVIDER_virtual/dtb') else ''}" 42 | do_swuimage[depends] += "virtual/kernel:do_deploy" 43 | do_swuimage[depends] += "tegra-uefi-capsules:do_deploy" 44 | do_swuimage[depends] += "tegra-swupdate-script:do_deploy" 45 | 46 | # Add a link using the core image name.swu to the resulting swu image 47 | do_swuimage:append() { 48 | os.symlink(d.getVar("IMAGE_NAME") + ".swu", d.getVar("SWUPDATE_CORE_IMAGE_NAME") + "-" + d.getVar("MACHINE") + ".swu") 49 | } 50 | -------------------------------------------------------------------------------- /conf/projects/imx8mm-ddr4-evk/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "imx8mm-ddr4-evk" 2 | DISTRO = "yoe" 3 | # "yoe---" 4 | YOE_PROFILE = "yoe-glibc-systemd-wayland" 5 | 6 | # Freeescale stuff EULA yeah :( 7 | ACCEPT_FSL_EULA = "1" 8 | 9 | # Acknowledge that Synaptics can revoke their license at any time on the 10 | # Rapsberry pi firmware 11 | LICENSE_FLAGS_ACCEPTED += "\ 12 | " 13 | IMAGE_FSTYPES:append = " wic.xz wic.bmap ext4.xz" 14 | IMAGE_FSTYPES:remove = "tar.gz wic.bz2 ext4" 15 | # Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now ) 16 | INITRAMFS_IMAGE_BUNDLE = "1" 17 | # Use yoe-initramfs-image for initramfs 18 | INITRAMFS_IMAGE = "yoe-initramfs-image" 19 | # Use kernel+initramfs image to boot 20 | IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE}" 21 | IMAGE_BOOT_FILES:append = " ${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${KERNEL_IMAGETYPE}" 22 | # Use default Device Tree ( LVDS ) 23 | IMAGE_BOOT_FILES:append = " imx8mm-ddr4-evk.dtb imx8mm-ddr4-${MACHINE}.dtb" 24 | # HDMI firmware 25 | IMAGE_BOOT_FILES:append = " extlinux.conf imx-boot" 26 | WKS_FILE:yoe = "yoe-imx8-sdimage.wks.in" 27 | WKS_FILE:yoe:pn-yoe-installer-image = "yoe-imx8-sd-installer.wks.in" 28 | 29 | # Needed for Running bitbake -ctestimage 30 | #TEST_TARGET_IP = "10.0.0.34" 31 | #TEST_SERVER_IP = "10.0.0.13" 32 | TEST_TARGET = "simpleremote" 33 | 34 | ##################################################################### 35 | # add project specific configuration below this line 36 | ##################################################################### 37 | #require conf/distro/include/lto.inc 38 | #DISTRO_FEATURES:append = " lto" 39 | 40 | # Setting a user/password in system 41 | #INHERIT += "extrausers" 42 | #EXTRA_USERS_PARAMS += "\ 43 | # useradd admin; \ 44 | # usermod -p '$(openssl passwd -6 myrootpassword)' admin; \ 45 | # usermod -a -G adm admin; \ 46 | # usermod -a -G video admin; \ 47 | # usermod -a -G audio admin; \ 48 | # usermod -a -G systemd-journal admin; \ 49 | #" 50 | #EXTRA_IMAGE_FEATURES:remove = "allow-empty-password empty-root-password allow-root-login post-install-logging" 51 | 52 | # For running oe-selftest uncomment below lines 53 | #USER_CLASSES:remove = "buildhistory" 54 | #PRSERV_HOST = "" 55 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/machines/visionfive2.inc: -------------------------------------------------------------------------------- 1 | # We use updater to handle disk/SD management, therefore remove 96boards-tools 2 | IMAGE_INSTALL:remove = "96boards-tools" 3 | 4 | KERNEL_IMAGE = "${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin" 5 | 6 | KERNEL_ARTEFACTS = "\ 7 | ${KERNEL_IMAGETYPE} \ 8 | jh7110-starfive-visionfive-2-v1.3b.dtb \ 9 | " 10 | DTBO_ARTEFACTS = "\ 11 | " 12 | 13 | ROOTFS_ARTEFACTS = "rootfs.ext4.xz" 14 | 15 | BOOTLOADER_ARTEFACTS = "\ 16 | EFI/BOOT/bootriscv64.efi \ 17 | " 18 | 19 | # Anything that is not mentioned above but it is created during updater artifacts creation e.g. 20 | # default DTB symlinks etc. 21 | EXTRA_ARTEFACTS = "" 22 | 23 | UPDATE_IMAGES = "version.txt ${BOOTLOADER_ARTEFACTS} ${KERNEL_ARTEFACTS} ${DTBO_ARTEFACTS} ${ROOTFS_ARTEFACTS} ${EXTRA_ARTEFACTS}" 24 | 25 | do_updater() { 26 | echo "IMG_VERSION = ${IMG_VERSION}" 27 | rm -rf ${TOPDIR}/deploy/${MACHINE} 28 | install -d ${TOPDIR}/deploy/${MACHINE} 29 | OLDPWD="$PWD" 30 | cd ${TOPDIR}/deploy/${MACHINE} 31 | echo "${IMG_VERSION}" > version.txt 32 | install ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.ext4.xz ${ROOTFS_ARTEFACTS} 33 | for f in ${KERNEL_ARTEFACTS} 34 | do 35 | install ${DEPLOY_DIR_IMAGE}/$f $f 36 | done 37 | 38 | for f in ${DTBO_ARTEFACTS} 39 | do 40 | install -D ${DEPLOY_DIR_IMAGE}/`basename $f` $f 41 | done 42 | # Match kernel image with wic 43 | rm ${KERNEL_IMAGETYPE} 44 | install ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE} ${KERNEL_IMAGETYPE} 45 | # install EFI bootloader in final location as in target 46 | mkdir -p EFI/BOOT 47 | install ${DEPLOY_DIR_IMAGE}/grub-efi-bootriscv64.efi EFI/BOOT/bootriscv64.efi 48 | sha256sum ${UPDATE_IMAGES} > update.sha256 49 | rm -rf ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 50 | ls ${UPDATE_IMAGES_} | cpio -ov -H newc > ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 51 | install ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd ${DEPLOY_DIR_IMAGE}/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 52 | cd ${OLDPWD} 53 | rm -rf ${TOPDIR}/deploy/${MACHINE} 54 | } 55 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/machines/imx8mn-var-som.inc: -------------------------------------------------------------------------------- 1 | # We use updater to handle disk/SD management, therefore remove 96boards-tools 2 | IMAGE_INSTALL:remove = "96boards-tools" 3 | 4 | KERNEL_IMAGE = "${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin" 5 | 6 | KERNEL_ARTEFACTS = "\ 7 | ${KERNEL_IMAGETYPE} \ 8 | imx8mn-var-som-symphony.dtb \ 9 | imx8mn-var-som-symphony-root.dtb \ 10 | " 11 | DTBO_ARTEFACTS = "\ 12 | " 13 | 14 | ROOTFS_ARTEFACTS = "rootfs.ext4.xz" 15 | 16 | BOOTLOADER_ARTEFACTS = "\ 17 | imx-boot \ 18 | tee.bin \ 19 | " 20 | 21 | # Anything that is not mentioned above but it is created during updater artifacts creation e.g. 22 | # default DTB symlinks etc. 23 | EXTRA_ARTEFACTS = "imx8mn-var-som-symphony.dtb" 24 | 25 | UPDATE_IMAGES = "version.txt ${BOOTLOADER_ARTEFACTS} ${KERNEL_ARTEFACTS} ${DTBO_ARTEFACTS} ${ROOTFS_ARTEFACTS} ${EXTRA_ARTEFACTS}" 26 | 27 | do_updater() { 28 | echo "IMG_VERSION = ${IMG_VERSION}" 29 | rm -rf ${TOPDIR}/deploy/${MACHINE} 30 | install -d ${TOPDIR}/deploy/${MACHINE} 31 | OLDPWD="$PWD" 32 | cd ${TOPDIR}/deploy/${MACHINE} 33 | echo "${IMG_VERSION}" > version.txt 34 | install ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.ext4.xz ${ROOTFS_ARTEFACTS} 35 | for f in ${KERNEL_ARTEFACTS} ${BOOTLOADER_ARTEFACTS} 36 | do 37 | install ${DEPLOY_DIR_IMAGE}/$f $f 38 | done 39 | #default device tree file One of the dtbs from BOOTLOADER_ARTEFACTS here we choose 'sd' one 40 | # install imx8mn-var-som-symphony.dtb imx8qxp-var-som-symphony.dtb 41 | 42 | for f in ${DTBO_ARTEFACTS} 43 | do 44 | install -D ${DEPLOY_DIR_IMAGE}/`basename $f` $f 45 | done 46 | # Match kernel image with wic 47 | rm ${KERNEL_IMAGETYPE} 48 | install ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE} ${KERNEL_IMAGETYPE} 49 | sha256sum ${UPDATE_IMAGES} > update.sha256 50 | rm -rf ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 51 | ls ${UPDATE_IMAGES_} | cpio -ov -H newc > ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 52 | install ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd ${DEPLOY_DIR_IMAGE}/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 53 | cd ${OLDPWD} 54 | rm -rf ${TOPDIR}/deploy/${MACHINE} 55 | } 56 | -------------------------------------------------------------------------------- /conf/projects/var-som-mx8x/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "imx8qxp-var-som" 2 | DISTRO = "yoe" 3 | # "yoe---" 4 | YOE_PROFILE = "yoe-glibc-systemd-wayland" 5 | 6 | # Freeescale stuff EULA yeah :( 7 | ACCEPT_FSL_EULA = "1" 8 | 9 | # Acknowledge that Synaptics can revoke their license at any time on the 10 | # Rapsberry pi firmware 11 | LICENSE_FLAGS_ACCEPTED += "\ 12 | " 13 | IMAGE_FSTYPES:append = " wic.xz wic.bmap ext4.xz" 14 | IMAGE_FSTYPES:remove = "ext4 tar.gz wic.bz2" 15 | # Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now ) 16 | INITRAMFS_IMAGE_BUNDLE = "1" 17 | # Use yoe-initramfs-image for initramfs 18 | INITRAMFS_IMAGE = "yoe-initramfs-image" 19 | # Use kernel+initramfs image to boot 20 | IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE}" 21 | IMAGE_BOOT_FILES:append = " ${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${KERNEL_IMAGETYPE}" 22 | # Use default Device Tree ( LVDS ) 23 | IMAGE_BOOT_FILES:append = " imx8qxp-var-som-symphony-sd.dtb;imx8qxp-var-som-symphony.dtb" 24 | # HDMI firmware 25 | IMAGE_BOOT_FILES:append = " tee.bin imx-boot" 26 | WKS_FILE:yoe = "yoe-imx8-sdimage.wks.in" 27 | WKS_FILE:yoe:pn-yoe-installer-image = "yoe-imx8-sd-installer.wks.in" 28 | 29 | # Needed for Running bitbake -ctestimage 30 | TEST_TARGET_IP = "10.0.0.36" 31 | TEST_SERVER_IP = "10.0.0.13" 32 | TEST_TARGET = "simpleremote" 33 | 34 | # Needed for logic in Varscite wifi bringup script 35 | PREFERRED_VERSION_libgpiod = "1.%" 36 | 37 | ##################################################################### 38 | # add project specific configuration below this line 39 | ##################################################################### 40 | #require conf/distro/include/lto.inc 41 | #DISTRO_FEATURES:append = " lto" 42 | 43 | # Setting a user/password in system 44 | #INHERIT += "extrausers" 45 | #EXTRA_USERS_PARAMS += "\ 46 | # useradd admin; \ 47 | # usermod -p '$(openssl passwd -6 myrootpassword)' admin; \ 48 | # usermod -a -G adm admin; \ 49 | # usermod -a -G video admin; \ 50 | # usermod -a -G audio admin; \ 51 | # usermod -a -G systemd-journal admin; \ 52 | #" 53 | #EXTRA_IMAGE_FEATURES:remove = "allow-empty-password empty-root-password allow-root-login post-install-logging" 54 | 55 | # For running oe-selftest uncomment below lines 56 | #USER_CLASSES:remove = "buildhistory" 57 | #PRSERV_HOST = "" 58 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-core/images/machines/imx8qxp-var-som.inc: -------------------------------------------------------------------------------- 1 | # We use updater to handle disk/SD management, therefore remove 96boards-tools 2 | IMAGE_INSTALL:remove = "96boards-tools" 3 | 4 | KERNEL_IMAGE = "${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin" 5 | 6 | KERNEL_ARTEFACTS = "\ 7 | ${KERNEL_IMAGETYPE} \ 8 | imx8qxp-var-som-symphony-sd.dtb \ 9 | imx8qxp-var-som-symphony-wifi.dtb \ 10 | " 11 | DTBO_ARTEFACTS = "\ 12 | " 13 | 14 | ROOTFS_ARTEFACTS = "rootfs.ext4.xz" 15 | 16 | BOOTLOADER_ARTEFACTS = "\ 17 | imx-boot \ 18 | tee.bin \ 19 | " 20 | 21 | # Anything that is not mentioned above but it is created during updater artifacts creation e.g. 22 | # default DTB symlinks etc. 23 | EXTRA_ARTEFACTS = "imx8qxp-var-som-symphony.dtb" 24 | 25 | UPDATE_IMAGES = "version.txt ${BOOTLOADER_ARTEFACTS} ${KERNEL_ARTEFACTS} ${DTBO_ARTEFACTS} ${ROOTFS_ARTEFACTS} ${EXTRA_ARTEFACTS}" 26 | 27 | do_updater() { 28 | echo "IMG_VERSION = ${IMG_VERSION}" 29 | rm -rf ${TOPDIR}/deploy/${MACHINE} 30 | install -d ${TOPDIR}/deploy/${MACHINE} 31 | OLDPWD="$PWD" 32 | cd ${TOPDIR}/deploy/${MACHINE} 33 | echo "${IMG_VERSION}" > version.txt 34 | install ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.ext4.xz ${ROOTFS_ARTEFACTS} 35 | for f in ${KERNEL_ARTEFACTS} ${BOOTLOADER_ARTEFACTS} 36 | do 37 | install ${DEPLOY_DIR_IMAGE}/$f $f 38 | done 39 | #default device tree file One of the dtbs from BOOTLOADER_ARTEFACTS here we choose 'sd' one 40 | install imx8qxp-var-som-symphony-wifi.dtb imx8qxp-var-som-symphony.dtb 41 | 42 | for f in ${DTBO_ARTEFACTS} 43 | do 44 | install -D ${DEPLOY_DIR_IMAGE}/`basename $f` $f 45 | done 46 | # Match kernel image with wic 47 | rm ${KERNEL_IMAGETYPE} 48 | install ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE} ${KERNEL_IMAGETYPE} 49 | sha256sum ${UPDATE_IMAGES} > update.sha256 50 | rm -rf ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 51 | ls ${UPDATE_IMAGES_} | cpio -ov -H newc > ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 52 | install ${TOPDIR}/deploy/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd ${DEPLOY_DIR_IMAGE}/${UPDATE_IMAGE_NAME}_${IMG_VERSION}.upd 53 | cd ${OLDPWD} 54 | rm -rf ${TOPDIR}/deploy/${MACHINE} 55 | } 56 | -------------------------------------------------------------------------------- /docs/raspberrypi.md: -------------------------------------------------------------------------------- 1 | # Notes on using Yoe on the Raspberry PI 2 | 3 | [up](README.md) 4 | 5 | [BSP Layer documentation](https://github.com/YoeDistro/meta-raspberrypi/blob/master/docs) 6 | 7 | ## Building/installing an image 8 | 9 | 1. `git clone https://github.com/YoeDistro/yoe-distro.git` 10 | 1. `cd yoe-distro` 11 | 1. `. ./envsetup.sh rpi4-64` 12 | 1. `yoe_setup` 13 | 1. `bitbake yoe-simple-image` 14 | 1. insert SD card 15 | 1. `lsblk` (note sd card device, and substitute for /dev/sdX below) 16 | 1. `yoe_install_image /dev/sdX yoe-simple-image` (Note, 17 | [Etcher](https://www.balena.io/etcher/) can also be used to write images to 18 | SD cards). 19 | 1. optional: configure console for serial port (see below) 20 | 1. `sudo eject /dev/sdX` 21 | 1. Install SD card in a Raspberry PI and enjoy your new image 22 | 23 | Other Raspberry Pi variants can be built by sourcing the appropriate envsetup 24 | file. 25 | 26 | ## Enable serial console 27 | 28 | The serial console for the rPI3 can be enabled by adding `ENABLE_UART = "1"` to 29 | local.conf. This is currently done in local.conf, but has tradeoffs as described 30 | in the BSP layer 31 | [documentation](https://github.com/YoeDistro/meta-raspberrypi/blob/master/docs/extra-build-config.md). 32 | 33 | ## Connecting to rPI serial console 34 | 35 | The Raspberry PI serial console is avaiable on the expansion header. A 36 | USB->serial cable with flying leads is a convenient way to connect to this. 37 | [FTDI](https://www.ftdichip.com/Products/Cables/RPi.htm) (as well as many other 38 | companies supply these cables). The below image shows how the FTDI cable is 39 | connected: 40 | 41 | ![rPI serial console](raspberry-pi-serial-console.jpg) 42 | 43 | The relevant signals are: 44 | 45 | - FTDI Black (GND) <-> rPI Pin 6 (GND) 46 | - FTDI Yellow (RXD) <- rPI Pin8 (TXD) 47 | - FTDI Orange (TXD) -> rPI Pin10 (RXD) 48 | 49 | See the 50 | [schematics](https://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/README.md) 51 | for more information. 52 | 53 | ## rPI Power Supply 54 | 55 | Some of the Raspberry PI products seem to be sensitive to power quality. It is 56 | recommended to use a supply that outputs 5.1V such as the 57 | [official supply](https://www.raspberrypi.org/products/raspberry-pi-universal-power-supply/). 58 | An inadequate supply may result in lockups or SD card file system corruption. 59 | -------------------------------------------------------------------------------- /sources/meta-yoe/recipes-support/updater/files/init: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | . ./platform 4 | 5 | VERSION=20 6 | 7 | cmdline() { 8 | value=" $(cat /proc/cmdline) " 9 | value="${value##* ${1}=}" 10 | value="${value%% *}" 11 | [ "${value}" != "" ] && echo "${value}" 12 | } 13 | 14 | mount_rootfs() { 15 | rootfspart=$(findfs $(cmdline root)) 16 | while [ ! -e $rootfspart ]; do 17 | continue 18 | done 19 | mount -o rw $rootfspart $ROOTFS_MOUNT_POINT 20 | } 21 | 22 | speak() { 23 | if [ "$UPDATER_SPEECH" = "1" ]; then 24 | msg "speak $1" 25 | espeak "$1" 26 | else 27 | msg "$1" 28 | fi 29 | } 30 | 31 | msg() { 32 | echo "$@" >/dev/console 33 | } 34 | 35 | # Prints information 36 | msg_splash() { 37 | msg $1 38 | 39 | if [ "$splash_enabled" = 1 ]; then 40 | progress=$2 41 | 42 | if [ "$progress" = "" ]; then 43 | progress="0" 44 | fi 45 | 46 | TMPDIR=$SPLASH_DIR psplash-write "MSG $1" 47 | TMPDIR=$SPLASH_DIR psplash-write "PROGRESS $progress" 48 | usleep 500000 49 | fi 50 | } 51 | 52 | start_splash() { 53 | if [ -e /usr/bin/psplash ]; then 54 | splash_enabled=1 55 | # set up psplash 56 | mkdir -p "$SPLASH_DIR" 57 | mount tmpfs -t tmpfs $SPLASH_DIR -o,size=40k 2>&1 >/dev/console 58 | TMPDIR=$SPLASH_DIR psplash & 59 | 2>&1 >/dev/console 60 | sleep 1 61 | fi 62 | } 63 | 64 | initialize() { 65 | msg "============================================================" 66 | msg "Launching $TITLE v$VERSION" 67 | mkdir -p /dev 68 | mkdir -p /sys 69 | mkdir -p /proc 70 | 71 | mount -t devtmpfs none /dev 72 | mount -t sysfs sysfs /sys 73 | mount -t proc proc /proc 74 | 75 | start_splash 76 | 77 | msg_splash "$TITLE v${VERSION}" 78 | 79 | plat_init 80 | 81 | speak "launching $TITLE version $VERSION" 82 | 83 | mkdir -p $BOOT_MOUNT_POINT 84 | mkdir -p $DATA_MOUNT_POINT 85 | mkdir -p $ROOTFS_MOUNT_POINT 86 | mount_rootfs 87 | } 88 | 89 | boot() { 90 | msg_splash "Moving system mounts into rootfs..." 91 | mount -n --move /dev $ROOTFS_MOUNT_POINT/dev 92 | mount -n --move /proc $ROOTFS_MOUNT_POINT/proc 93 | mount -n --move /sys $ROOTFS_MOUNT_POINT/sys 94 | cd $ROOTFS_MOUNT_POINT 95 | exec switch_root -c /dev/console $ROOTFS_MOUNT_POINT /sbin/init 5 96 | } 97 | 98 | initialize 99 | boot 100 | -------------------------------------------------------------------------------- /conf/projects/odroid-c4/config.conf: -------------------------------------------------------------------------------- 1 | MACHINE = "odroid-c4-hardkernel" 2 | DISTRO = "yoe" 3 | # "yoe---" 4 | YOE_PROFILE = "yoe-glibc-systemd-eglfs" 5 | 6 | # Acknowledge that Synaptics can revoke their license at any time on the 7 | # Rapsberry pi firmware 8 | LICENSE_FLAGS_ACCEPTED += "\ 9 | " 10 | IMAGE_FSTYPES:append = " wic.xz wic.bmap ext4.xz" 11 | # Yoe Updater Supported Machines ( RPI, beaglebone, C4, SAMA5D27 for now ) 12 | INITRAMFS_IMAGE_BUNDLE = "1" 13 | WKS_FILE = "yoe-sdimage.wks" 14 | # Use yoe-initramfs-image for initramfs 15 | INITRAMFS_IMAGE = "yoe-initramfs-image" 16 | # Use kernel+initramfs image to boot 17 | IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE}" 18 | IMAGE_BOOT_FILES:append = " ${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${KERNEL_IMAGETYPE}" 19 | 20 | # OE has moved to demand 5.15 minimum kernel but hardkernel bsp is still at 4.9 21 | OLDEST_KERNEL = "4.9" 22 | # Needed for Running bitbake -ctestimage 23 | #TEST_TARGET_IP = "10.0.0.34" 24 | #TEST_SERVER_IP = "10.0.0.13" 25 | TEST_TARGET = "simpleremote" 26 | 27 | # Install the linuxfb systemd launch unit 28 | YOE_KIOSK_BROWSER_SYSTEMD_UNIT = "yoe-kiosk-browser-linuxfb.service" 29 | 30 | # 4.9 kernel as such can not do drm backends 31 | PACKAGECONFIG_GRAPHICS:append:pn-qtbase = " linuxfb" 32 | PACKAGECONFIG_GRAPHICS:remove:pn-qtbase = "kms gbm" 33 | PACKAGECONFIG:append:pn-qtbase = " tslib" 34 | 35 | # We know we do not use X11 but its still needed for some bbappends e.g. 36 | # mesa-gl_%.bbappend 37 | SKIP_META_ODROID_EXTRA_SANITY_CHECK = "1" 38 | ##################################################################### 39 | # add project specific configuration below this line 40 | ##################################################################### 41 | #require conf/distro/include/lto.inc 42 | #DISTRO_FEATURES:append = " lto" 43 | 44 | # Setting a user/password in system 45 | #INHERIT += "extrausers" 46 | #EXTRA_USERS_PARAMS += "\ 47 | # useradd admin; \ 48 | # usermod -p '$(openssl passwd -6 myrootpassword)' admin; \ 49 | # usermod -a -G adm admin; \ 50 | # usermod -a -G video admin; \ 51 | # usermod -a -G audio admin; \ 52 | # usermod -a -G systemd-journal admin; \ 53 | #" 54 | #EXTRA_IMAGE_FEATURES:remove = "allow-empty-password empty-root-password allow-root-login post-install-logging" 55 | 56 | # For running oe-selftest uncomment below lines 57 | #USER_CLASSES:remove = "buildhistory" 58 | #PRSERV_HOST = "" 59 | -------------------------------------------------------------------------------- /docs/packages.md: -------------------------------------------------------------------------------- 1 | # Packages 2 | 3 | [up](README.md) 4 | 5 | During an image build, OpenEmbedded builds all software into packages, which are 6 | then combined into a rootfs. One benefit of this is you can install packages 7 | later into a running system, much like you would a desktop distribution like 8 | Debian, Ubuntu, Arch, etc. OE supports the RPM, DEB, and IPK package formats, 9 | and the format can be set using the 10 | [PACKAGE_CLASSES](https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#var-PACKAGE_CLASSES) 11 | variable. 12 | 13 | ## Installing packages from a local build 14 | 15 | You can install packages directly from your local OE build onto a target system 16 | with the following procedure: 17 | 18 | - packaging information must be included in the target image: 19 | - `IMAGE_FEATURES += "packages-management"` 20 | - a ssh server must be enabled in the target image: 21 | - `IMAGE_FEATURES += "ssh-server-dropbear"` 22 | - see 23 | [yoe-simple-image](https://github.com/YoeDistro/meta-yoe/blob/master/recipes-core/images/yoe-simple-image.bb) 24 | for an example. 25 | - target system must be on the same network as your build computer. 26 | - run `yoe_setup_feed_server `. This configures the target to 27 | fetch packages from your build computer. Alternatively you can set the 28 | MACHINE_IP environment variable. 29 | - run `yoe_feed_server`. This starts a web server that serves packages. 30 | - on target system, run: 31 | - `opkg update` 32 | - `opkg list` (list packages available) 33 | - `opkg install python3` (install python3) 34 | 35 | If the package is not built yet, simply: 36 | 37 | - `bitbake ` 38 | - `bitbake package-index` (required to rebuild the package index) 39 | - on target: 40 | - `opkg update` 41 | - `opkg install ` 42 | 43 | This technique is very useful for testing new packages, or for installing 44 | packages that are only needed for development that you don't want to include in 45 | production images (strace, gdb, testing tools, etc). Dependencies are 46 | automatically handled by the package manager. 47 | 48 | For larger development teams or field deployments, you might want to set up a 49 | feed server to serve packages to any connected device. 50 | 51 | See also: 52 | 53 | - https://docs.yoctoproject.org/overview-manual/concepts.html#package-feeds 54 | - https://docs.yoctoproject.org/ref-manual/variables.html#term-FEED_DEPLOYDIR_BASE_URI 55 | -------------------------------------------------------------------------------- /sources/meta-yoe/dynamic-layers/swupdate/recipes-support/swupdate/swupdate/raspberrypi3/defconfig: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated file; DO NOT EDIT. 3 | # Swupdate Configuration 4 | # 5 | CONFIG_HAVE_DOT_CONFIG=y 6 | 7 | # 8 | # Swupdate Settings 9 | # 10 | 11 | # 12 | # General Configuration 13 | # 14 | CONFIG_SCRIPTS=y 15 | CONFIG_HW_COMPATIBILITY=y 16 | CONFIG_HW_COMPATIBILITY_FILE="/etc/hwrevision" 17 | CONFIG_SW_VERSIONS_FILE="/etc/sw-versions" 18 | # CONFIG_MTD is not set 19 | CONFIG_LUA=y 20 | CONFIG_LUAPKG="lua" 21 | # CONFIG_FEATURE_SYSLOG is not set 22 | 23 | # 24 | # Build Options 25 | # 26 | CONFIG_CROSS_COMPILE="" 27 | CONFIG_SYSROOT="" 28 | CONFIG_EXTRA_CFLAGS="" 29 | CONFIG_EXTRA_LDFLAGS="" 30 | CONFIG_EXTRA_LDLIBS="" 31 | 32 | # 33 | # Debugging Options 34 | # 35 | # CONFIG_DEBUG is not set 36 | # CONFIG_WERROR is not set 37 | # CONFIG_NOCLEANUP is not set 38 | # CONFIG_BOOTLOADER is not set 39 | CONFIG_UBOOT=y 40 | # CONFIG_BOOTLOADER_NONE is not set 41 | # CONFIG_BOOTLOADER_GRUB is not set 42 | CONFIG_UBOOT_FWENV="/etc/fw_env.config" 43 | CONFIG_UBOOT_NEWAPI=y 44 | CONFIG_UBOOT_DEFAULTENV="/etc/u-boot-initial-env" 45 | CONFIG_DOWNLOAD=y 46 | CONFIG_HASH_VERIFY=y 47 | # CONFIG_SIGNED_IMAGES is not set 48 | CONFIG_ENCRYPTED_IMAGES=y 49 | CONFIG_SURICATTA=y 50 | 51 | # 52 | # Suricatta 53 | # 54 | 55 | # 56 | # Features 57 | # 58 | CONFIG_SURICATTA_SSL=y 59 | # CONFIG_SURICATTA_STATE_CHOICE_NONE is not set 60 | CONFIG_SURICATTA_STATE_CHOICE_BOOTLOADER=y 61 | CONFIG_SURICATTA_STATE_BOOTLOADER="ustate" 62 | 63 | # 64 | # Server 65 | # 66 | CONFIG_SURICATTA_HAWKBIT=y 67 | # CONFIG_SURICATTA_SERVER_NONE is not set 68 | CONFIG_WEBSERVER=y 69 | 70 | # 71 | # Webserver Features 72 | # 73 | CONFIG_MONGOOSE=y 74 | 75 | # 76 | # Mongoose Feature 77 | # 78 | CONFIG_MONGOOSELUA=y 79 | # CONFIG_MONGOOSEIPV6 is not set 80 | CONFIG_MONGOOSESSL=y 81 | 82 | # 83 | # Archival Features 84 | # 85 | CONFIG_GUNZIP=y 86 | CONFIG_ZSTD=y 87 | 88 | # 89 | # Parser Features 90 | # 91 | CONFIG_LIBCONFIG=y 92 | CONFIG_PARSERROOT="" 93 | CONFIG_JSON=y 94 | # CONFIG_LUAEXTERNAL is not set 95 | # CONFIG_SETSWDESCRIPTION is not set 96 | 97 | # 98 | # Image Handlers 99 | # 100 | CONFIG_RAW=y 101 | CONFIG_LUASCRIPTHANDLER=y 102 | CONFIG_SHELLSCRIPTHANDLER=y 103 | # CONFIG_HANDLER_IN_LUA is not set 104 | CONFIG_ARCHIVE=y 105 | CONFIG_REMOTE_HANDLER=y 106 | CONFIG_BOOTLOADERHANDLER=y 107 | -------------------------------------------------------------------------------- /kas/rpi4-64.yml: -------------------------------------------------------------------------------- 1 | header: 2 | version: 20 3 | includes: 4 | - kas/include/base.yml 5 | - kas/include/yoe-updater.yml 6 | 7 | machine: raspberrypi4-64 8 | target: yoe-installer-image yoe-kiosk-image 9 | 10 | repos: 11 | 12 | meta-raspberrypi: 13 | url: https://github.com/YoeDistro/meta-raspberrypi.git 14 | path: layers/meta-raspberrypi 15 | branch: master 16 | 17 | local_conf_header: 18 | 19 | MACHINE description: | 20 | # Raspberry Pi 4 64-bit 21 | 22 | yoe---: | 23 | YOE_PROFILE = "yoe-glibc-systemd-wayland" 24 | 25 | Acknowledge that Synaptics can revoke their license at any time on the: | 26 | # Rapsberry pi firmware 27 | LICENSE_FLAGS_ACCEPTED += "\ 28 | synaptics-killswitch \ 29 | nonfree_chexquest3 \ 30 | nonfree_chexquest-galactic-conflict \ 31 | " 32 | 33 | Enable serial console on Raspberry PI systems: | 34 | ENABLE_UART = "1" 35 | 36 | ENABLE_I2C = "1" 37 | 38 | Disable rpi boot logo: | 39 | DISABLE_RPI_BOOT_LOGO = "1" 40 | 41 | Disable rpi raimbow screen: | 42 | DISABLE_SPLASH = "1" 43 | 44 | image types: | 45 | IMAGE_FSTYPES = "wic.xz wic.bmap ext4.xz tar.xz" 46 | 47 | Yoe updater configuration (in addition to kas/include/yoe-updater.yml): | 48 | WKS_FILE = "yoe-sdimage.wks" 49 | # rpi (when not using u-boot ) 50 | IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}" 51 | IMAGE_BOOT_FILES:remove = "${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${KERNEL_IMAGETYPE}" 52 | IMAGE_BOOT_FILES:append = " ${KERNEL_IMAGETYPE}-initramfs-${MACHINE}.bin;${SDIMG_KERNELIMAGE}" 53 | 54 | arm-yoe-linux-llvm-objcopy fix: | 55 | # Subprocess output:arm-yoe-linux-llvm-objcopy: error: Link field value 22 in section .rel.dyn is not a symbol table 56 | OBJCOPY:pn-linux-raspberrypi:toolchain-clang = "${HOST_PREFIX}objcopy" 57 | 58 | Needed for Running bitbake -ctestimage : | 59 | TEST_TARGET_IP = "10.0.0.47" 60 | TEST_SERVER_IP = "10.0.0.13" 61 | TEST_TARGET = "simpleremote" 62 | 63 | Rpi wpebackend - FIXME these were both in the original project config.conf: | 64 | PACKAGECONFIG:pn-wpebackend-rdk = "rpi" 65 | PACKAGECONFIG:pn-wpebackend-rdk:rpi = "rpi" 66 | 67 | Use fkms for eglfs on RPI4 this enables both console display & graphics (for EGLFS): | 68 | # Otherwise use full kms 69 | VC4DTBO = "${@bb.utils.contains_any('DISTRO_FEATURES', 'x11 wayland', 'vc4-kms-v3d', 'vc4-fkms-v3d', d)}" 70 | --------------------------------------------------------------------------------