From 7d3ba59670c2d966df7a1e9cdefd49f7aa8cc067 Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Sun, 05 Jun 2022 22:16:28 +0800 Subject: [PATCH] Add IGKBoard meta for Yocto 3.4 Honister --- yocto/hardknott/meta-igkboard/conf/bblayers.conf | 0 yocto/hardknott/meta-igkboard/recipes-images/igkboard/linuxsys-image.bb | 0 yocto/hardknott/meta-igkboard/recipes-drivers/drivers/drivers-mods_1.0.bb | 0 yocto/honister/meta-igkboard/recipes-hello/hello/src/Makefile | 0 yocto/hardknott/meta-igkboard/recipes-misc/wpa-conf/wpa-conf_1.0.bb | 0 yocto/honister/meta-igkboard/recipes-drivers/drivers/drivers-mods_1.0.bb | 19 ++ yocto/honister/meta-igkboard/recipes-hello/hello/src/hello.c | 0 yocto/hardknott/meta-igkboard/recipes-misc/wpa-conf/files/wpa-conf.service | 0 yocto/honister/meta-igkboard/recipes-misc/wpa-conf/wpa-conf_1.0.bb | 17 + yocto/honister/meta-igkboard/recipes-misc/wpa-conf/files/wpa-conf.service | 0 yocto/hardknott/meta-igkboard/recipes-core/base-files/base-files_3.0.14.bbappend | 0 yocto/honister/meta-igkboard/conf/local.conf | 23 ++ yocto/hardknott/meta-igkboard/recipes-misc/expand-rootfs/expand-rootfs_1.0.bb | 0 yocto/honister/meta-igkboard/recipes-hello/hello/hello-apps_1.0.bb | 44 ++++ yocto/hardknott/meta-igkboard/recipes-hello/hello/src/hello.c | 0 yocto/honister/meta-igkboard/recipes-misc/sshswitch/files/sshswitch.service | 0 yocto/hardknott/meta-igkboard/README.md | 2 yocto/honister/meta-igkboard/recipes-kernel/linux/linux-imx-headers_5.10.bbappend | 0 yocto/honister/meta-igkboard/recipes-images/igkboard/linuxsys-image.bb | 54 ++++++ yocto/honister/meta-igkboard/conf/bblayers.conf | 32 +++ yocto/honister/meta-igkboard/recipes-core/base-files/base-files_3.0.14.bbappend | 17 + yocto/honister/meta-igkboard/recipes-drivers/drivers/src/Makefile | 0 yocto/hardknott/meta-igkboard/recipes-misc/expand-rootfs/files/expand_rootfs | 0 yocto/hardknott/meta-igkboard/recipes-drivers/drivers/src/Makefile | 0 yocto/hardknott/meta-igkboard/recipes-kernel/linux/linux-imx-headers_5.10.bbappend | 0 yocto/hardknott/meta-igkboard/recipes-hello/hello/src/Makefile | 0 yocto/honister/meta-igkboard/recipes-drivers/drivers/src/hello.c | 0 yocto/hardknott/meta-igkboard/conf/local.conf | 0 yocto/hardknott/meta-igkboard/recipes-misc/sshswitch/files/sshswitch.service | 0 yocto/honister/meta-igkboard/recipes-bsp/u-boot/u-boot-imx_2021.04.bbappend | 10 + yocto/honister/meta-igkboard/recipes-misc/expand-rootfs/expand-rootfs_1.0.bb | 15 + yocto/hardknott/meta-igkboard/recipes-kernel/linux/files/linux-imx-igkboard.patch | 0 yocto/honister/meta-igkboard/recipes-bsp/u-boot/files/uboot-imx-igkboard.patch | 0 yocto/honister/meta-igkboard/recipes-misc/expand-rootfs/files/expand_rootfs | 0 yocto/hardknott/meta-igkboard/conf/layer.conf | 0 yocto/honister/meta-igkboard/recipes-kernel/linux/files/linux-imx-igkboard.patch | 0 yocto/hardknott/meta-igkboard/COPYING.MIT | 0 yocto/hardknott/meta-igkboard/recipes-misc/packagegroups/packagegroup-misc-utils.bb | 0 yocto/hardknott/meta-igkboard/recipes-misc/sshswitch/sshswitch_1.0.bb | 0 yocto/hardknott/meta-igkboard/conf/machine/igkboard.conf | 0 yocto/honister/meta-igkboard/tools/igkboard-setup.sh | 173 +++++++++++++++++++ yocto/hardknott/meta-igkboard/recipes-bsp/u-boot/files/uboot-imx-igkboard.patch | 0 yocto/honister/meta-igkboard/README.md | 20 - yocto/hardknott/meta-igkboard/recipes-kernel/linux/linux-imx_5.10.bbappend | 0 yocto/honister/meta-igkboard/recipes-misc/sshswitch/sshswitch_1.0.bb | 17 + yocto/hardknott/meta-igkboard/recipes-hello/hello/hello-apps_1.0.bb | 0 yocto/hardknott/meta-igkboard/recipes-drivers/drivers/src/hello.c | 0 yocto/hardknott/meta-igkboard/recipes-bsp/u-boot/u-boot-imx_2021.04.bbappend | 0 yocto/hardknott/meta-igkboard/tools/igkboard-setup.sh | 0 yocto/honister/meta-igkboard/recipes-misc/packagegroups/packagegroup-misc-utils.bb | 6 yocto/honister/meta-igkboard/conf/layer.conf | 13 + yocto/honister/meta-igkboard/recipes-kernel/linux/linux-imx_5.10.bbappend | 15 + yocto/honister/meta-igkboard/conf/machine/igkboard.conf | 29 +++ yocto/honister/meta-igkboard/COPYING.MIT | 0 54 files changed, 492 insertions(+), 14 deletions(-) diff --git a/yocto/meta-igkboard/COPYING.MIT b/yocto/hardknott/meta-igkboard/COPYING.MIT similarity index 100% rename from yocto/meta-igkboard/COPYING.MIT rename to yocto/hardknott/meta-igkboard/COPYING.MIT diff --git a/yocto/meta-igkboard/README.md b/yocto/hardknott/meta-igkboard/README.md similarity index 98% rename from yocto/meta-igkboard/README.md rename to yocto/hardknott/meta-igkboard/README.md index 033ebbe..d8ed738 100644 --- a/yocto/meta-igkboard/README.md +++ b/yocto/hardknott/meta-igkboard/README.md @@ -71,7 +71,7 @@ 首先将该本文件夹Yocto针对IGKBoard的移植源码拷贝到 Yocto 系统中。 ``` -guowenxue@ubuntu20:~/workspace/imx-yocto-bsp$ cp -rf ~/workspace/imx6ull/yocto/meta-igkboard/ sources/ +guowenxue@ubuntu20:~/workspace/imx-yocto-bsp$ cp -rf ~/workspace/imx6ull/yocto/hardknott/meta-igkboard/ sources/ ``` diff --git a/yocto/meta-igkboard/conf/bblayers.conf b/yocto/hardknott/meta-igkboard/conf/bblayers.conf similarity index 100% rename from yocto/meta-igkboard/conf/bblayers.conf rename to yocto/hardknott/meta-igkboard/conf/bblayers.conf diff --git a/yocto/meta-igkboard/conf/layer.conf b/yocto/hardknott/meta-igkboard/conf/layer.conf similarity index 100% rename from yocto/meta-igkboard/conf/layer.conf rename to yocto/hardknott/meta-igkboard/conf/layer.conf diff --git a/yocto/meta-igkboard/conf/local.conf b/yocto/hardknott/meta-igkboard/conf/local.conf similarity index 100% rename from yocto/meta-igkboard/conf/local.conf rename to yocto/hardknott/meta-igkboard/conf/local.conf diff --git a/yocto/meta-igkboard/conf/machine/igkboard.conf b/yocto/hardknott/meta-igkboard/conf/machine/igkboard.conf similarity index 100% rename from yocto/meta-igkboard/conf/machine/igkboard.conf rename to yocto/hardknott/meta-igkboard/conf/machine/igkboard.conf diff --git a/yocto/meta-igkboard/recipes-bsp/u-boot/files/uboot-imx-igkboard.patch b/yocto/hardknott/meta-igkboard/recipes-bsp/u-boot/files/uboot-imx-igkboard.patch similarity index 100% copy from yocto/meta-igkboard/recipes-bsp/u-boot/files/uboot-imx-igkboard.patch copy to yocto/hardknott/meta-igkboard/recipes-bsp/u-boot/files/uboot-imx-igkboard.patch diff --git a/yocto/meta-igkboard/recipes-bsp/u-boot/u-boot-imx_2021.04.bbappend b/yocto/hardknott/meta-igkboard/recipes-bsp/u-boot/u-boot-imx_2021.04.bbappend similarity index 100% rename from yocto/meta-igkboard/recipes-bsp/u-boot/u-boot-imx_2021.04.bbappend rename to yocto/hardknott/meta-igkboard/recipes-bsp/u-boot/u-boot-imx_2021.04.bbappend diff --git a/yocto/meta-igkboard/recipes-core/base-files/base-files_3.0.14.bbappend b/yocto/hardknott/meta-igkboard/recipes-core/base-files/base-files_3.0.14.bbappend similarity index 100% rename from yocto/meta-igkboard/recipes-core/base-files/base-files_3.0.14.bbappend rename to yocto/hardknott/meta-igkboard/recipes-core/base-files/base-files_3.0.14.bbappend diff --git a/yocto/meta-igkboard/recipes-drivers/drivers/drivers-mods_1.0.bb b/yocto/hardknott/meta-igkboard/recipes-drivers/drivers/drivers-mods_1.0.bb similarity index 100% rename from yocto/meta-igkboard/recipes-drivers/drivers/drivers-mods_1.0.bb rename to yocto/hardknott/meta-igkboard/recipes-drivers/drivers/drivers-mods_1.0.bb diff --git a/yocto/meta-igkboard/recipes-drivers/drivers/src/Makefile b/yocto/hardknott/meta-igkboard/recipes-drivers/drivers/src/Makefile similarity index 100% rename from yocto/meta-igkboard/recipes-drivers/drivers/src/Makefile rename to yocto/hardknott/meta-igkboard/recipes-drivers/drivers/src/Makefile diff --git a/yocto/meta-igkboard/recipes-drivers/drivers/src/hello.c b/yocto/hardknott/meta-igkboard/recipes-drivers/drivers/src/hello.c similarity index 100% rename from yocto/meta-igkboard/recipes-drivers/drivers/src/hello.c rename to yocto/hardknott/meta-igkboard/recipes-drivers/drivers/src/hello.c diff --git a/yocto/meta-igkboard/recipes-hello/hello/hello-apps_1.0.bb b/yocto/hardknott/meta-igkboard/recipes-hello/hello/hello-apps_1.0.bb similarity index 100% rename from yocto/meta-igkboard/recipes-hello/hello/hello-apps_1.0.bb rename to yocto/hardknott/meta-igkboard/recipes-hello/hello/hello-apps_1.0.bb diff --git a/yocto/meta-igkboard/recipes-hello/hello/src/Makefile b/yocto/hardknott/meta-igkboard/recipes-hello/hello/src/Makefile similarity index 100% copy from yocto/meta-igkboard/recipes-hello/hello/src/Makefile copy to yocto/hardknott/meta-igkboard/recipes-hello/hello/src/Makefile diff --git a/yocto/meta-igkboard/recipes-hello/hello/src/hello.c b/yocto/hardknott/meta-igkboard/recipes-hello/hello/src/hello.c similarity index 100% copy from yocto/meta-igkboard/recipes-hello/hello/src/hello.c copy to yocto/hardknott/meta-igkboard/recipes-hello/hello/src/hello.c diff --git a/yocto/meta-igkboard/recipes-images/igkboard/linuxsys-image.bb b/yocto/hardknott/meta-igkboard/recipes-images/igkboard/linuxsys-image.bb similarity index 100% rename from yocto/meta-igkboard/recipes-images/igkboard/linuxsys-image.bb rename to yocto/hardknott/meta-igkboard/recipes-images/igkboard/linuxsys-image.bb diff --git a/yocto/meta-igkboard/recipes-kernel/linux/files/linux-imx-igkboard.patch b/yocto/hardknott/meta-igkboard/recipes-kernel/linux/files/linux-imx-igkboard.patch similarity index 100% copy from yocto/meta-igkboard/recipes-kernel/linux/files/linux-imx-igkboard.patch copy to yocto/hardknott/meta-igkboard/recipes-kernel/linux/files/linux-imx-igkboard.patch diff --git a/yocto/meta-igkboard/recipes-kernel/linux/linux-imx-headers_5.10.bbappend b/yocto/hardknott/meta-igkboard/recipes-kernel/linux/linux-imx-headers_5.10.bbappend similarity index 100% copy from yocto/meta-igkboard/recipes-kernel/linux/linux-imx-headers_5.10.bbappend copy to yocto/hardknott/meta-igkboard/recipes-kernel/linux/linux-imx-headers_5.10.bbappend diff --git a/yocto/meta-igkboard/recipes-kernel/linux/linux-imx_5.10.bbappend b/yocto/hardknott/meta-igkboard/recipes-kernel/linux/linux-imx_5.10.bbappend similarity index 100% rename from yocto/meta-igkboard/recipes-kernel/linux/linux-imx_5.10.bbappend rename to yocto/hardknott/meta-igkboard/recipes-kernel/linux/linux-imx_5.10.bbappend diff --git a/yocto/meta-igkboard/recipes-misc/expand-rootfs/expand-rootfs_1.0.bb b/yocto/hardknott/meta-igkboard/recipes-misc/expand-rootfs/expand-rootfs_1.0.bb similarity index 100% rename from yocto/meta-igkboard/recipes-misc/expand-rootfs/expand-rootfs_1.0.bb rename to yocto/hardknott/meta-igkboard/recipes-misc/expand-rootfs/expand-rootfs_1.0.bb diff --git a/yocto/meta-igkboard/recipes-misc/expand-rootfs/files/expand_rootfs b/yocto/hardknott/meta-igkboard/recipes-misc/expand-rootfs/files/expand_rootfs similarity index 100% rename from yocto/meta-igkboard/recipes-misc/expand-rootfs/files/expand_rootfs rename to yocto/hardknott/meta-igkboard/recipes-misc/expand-rootfs/files/expand_rootfs diff --git a/yocto/meta-igkboard/recipes-misc/packagegroups/packagegroup-misc-utils.bb b/yocto/hardknott/meta-igkboard/recipes-misc/packagegroups/packagegroup-misc-utils.bb similarity index 100% rename from yocto/meta-igkboard/recipes-misc/packagegroups/packagegroup-misc-utils.bb rename to yocto/hardknott/meta-igkboard/recipes-misc/packagegroups/packagegroup-misc-utils.bb diff --git a/yocto/meta-igkboard/recipes-misc/sshswitch/files/sshswitch.service b/yocto/hardknott/meta-igkboard/recipes-misc/sshswitch/files/sshswitch.service similarity index 100% rename from yocto/meta-igkboard/recipes-misc/sshswitch/files/sshswitch.service rename to yocto/hardknott/meta-igkboard/recipes-misc/sshswitch/files/sshswitch.service diff --git a/yocto/meta-igkboard/recipes-misc/sshswitch/sshswitch_1.0.bb b/yocto/hardknott/meta-igkboard/recipes-misc/sshswitch/sshswitch_1.0.bb similarity index 100% rename from yocto/meta-igkboard/recipes-misc/sshswitch/sshswitch_1.0.bb rename to yocto/hardknott/meta-igkboard/recipes-misc/sshswitch/sshswitch_1.0.bb diff --git a/yocto/meta-igkboard/recipes-misc/wpa-conf/files/wpa-conf.service b/yocto/hardknott/meta-igkboard/recipes-misc/wpa-conf/files/wpa-conf.service similarity index 100% rename from yocto/meta-igkboard/recipes-misc/wpa-conf/files/wpa-conf.service rename to yocto/hardknott/meta-igkboard/recipes-misc/wpa-conf/files/wpa-conf.service diff --git a/yocto/meta-igkboard/recipes-misc/wpa-conf/wpa-conf_1.0.bb b/yocto/hardknott/meta-igkboard/recipes-misc/wpa-conf/wpa-conf_1.0.bb similarity index 100% rename from yocto/meta-igkboard/recipes-misc/wpa-conf/wpa-conf_1.0.bb rename to yocto/hardknott/meta-igkboard/recipes-misc/wpa-conf/wpa-conf_1.0.bb diff --git a/yocto/meta-igkboard/tools/igkboard-setup.sh b/yocto/hardknott/meta-igkboard/tools/igkboard-setup.sh old mode 100644 new mode 100755 similarity index 100% rename from yocto/meta-igkboard/tools/igkboard-setup.sh rename to yocto/hardknott/meta-igkboard/tools/igkboard-setup.sh diff --git a/yocto/meta-igkboard/COPYING.MIT b/yocto/honister/meta-igkboard/COPYING.MIT similarity index 100% copy from yocto/meta-igkboard/COPYING.MIT copy to yocto/honister/meta-igkboard/COPYING.MIT diff --git a/yocto/meta-igkboard/README.md b/yocto/honister/meta-igkboard/README.md similarity index 81% copy from yocto/meta-igkboard/README.md copy to yocto/honister/meta-igkboard/README.md index 033ebbe..aa374b4 100644 --- a/yocto/meta-igkboard/README.md +++ b/yocto/honister/meta-igkboard/README.md @@ -1,4 +1,4 @@ -本目录为凌云实验室针对IGKBoard开发板移植的Yocto Hardknott (Yocto 3.3) 项目源码,关于Yocto系统的详细使用,大家可以参考NXP官方的用户手册文档,[点此链接下载](https://www.nxp.com/docs/en/user-guide/IMX_YOCTO_PROJECT_USERS_GUIDE.pdf) 。 +本目录为凌云实验室针对IGKBoard开发板移植的Yocto Honister (Yocto 3.4) 项目源码,关于Yocto系统的详细使用,大家可以参考NXP官方的用户手册文档,[点此链接下载](https://www.nxp.com/docs/en/user-guide/IMX_YOCTO_PROJECT_USERS_GUIDE.pdf) 。 @@ -56,7 +56,7 @@ ``` guowenxue@ubuntu20:~$ mkdir -p ~/workspace/imx-yocto-bsp/ guowenxue@ubuntu20:~$ cd ~/workspace/imx-yocto-bsp/ -guowenxue@ubuntu20:~/workspace/imx-yocto-bsp$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-hardknott -m imx-5.10.52-2.1.0.xml +guowenxue@ubuntu20:~/workspace/imx-yocto-bsp$ repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-honister -m imx-5.15.5-1.0.0.xml guowenxue@ubuntu20:~/workspace/imx-yocto-bsp$ repo sync guowenxue@ubuntu20:~/workspace/imx-yocto-bsp$ ls imx-setup-release.sh README README-IMXBSP setup-environment sources @@ -71,7 +71,7 @@ 首先将该本文件夹Yocto针对IGKBoard的移植源码拷贝到 Yocto 系统中。 ``` -guowenxue@ubuntu20:~/workspace/imx-yocto-bsp$ cp -rf ~/workspace/imx6ull/yocto/meta-igkboard/ sources/ +guowenxue@ubuntu20:~/workspace/imx-yocto-bsp$ cp -rf ~/workspace/imx6ull/yocto/honister/meta-igkboard/ sources/ ``` @@ -83,15 +83,11 @@ Build directory is igkboard /home/guowenxue/workspace/imx-yocto-bsp - Welcome LingYun IoT Gateway Kit Board Yocto BSP - The Yocto Project has extensive documentation about OE including a - reference manual which can be found at: - http://yoctoproject.org/documentation - You can now run 'bitbake <target>' + Welcome LingYun IoT Gateway Kit Board Yocto BSP, You can run 'bitbake <target>' now. - Common targets are: + The targets should be: linuxsys-image core-image-minimal imx-image-full @@ -111,10 +107,10 @@ -编译过程中下载的软件包存放在 ***~/workspace/hardknott_packets/*** 路径下: +编译过程中下载的软件包存放在 ***~/workspace/honister_packets/*** 路径下: ``` -guowenxue@ubuntu20:/workspace/imx-yocto-bsp/igkboard$ ls ~/workspace/hardknott_packets/ +guowenxue@ubuntu20:/workspace/imx-yocto-bsp/igkboard$ ls ~/workspace/honister_packets/ ``` @@ -126,6 +122,4 @@ linuxsys-image-igkboard-*.rootfs.tar.bz2 --Yocto根文件系统压缩包 linuxsys-image-igkboard-*.rootfs.wic.bz2 --Yocto烧录系统镜像文件 ``` - - diff --git a/yocto/honister/meta-igkboard/conf/bblayers.conf b/yocto/honister/meta-igkboard/conf/bblayers.conf new file mode 100644 index 0000000..224b1e1 --- /dev/null +++ b/yocto/honister/meta-igkboard/conf/bblayers.conf @@ -0,0 +1,32 @@ +LCONF_VERSION = "7" + +BBPATH = "${TOPDIR}" +BSPDIR := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)) + '/../..')}" + +BBFILES ?= "" +BBLAYERS = " \ + ${BSPDIR}/sources/poky/meta \ + ${BSPDIR}/sources/poky/meta-poky \ + \ + ${BSPDIR}/sources/meta-openembedded/meta-oe \ + ${BSPDIR}/sources/meta-openembedded/meta-multimedia \ + ${BSPDIR}/sources/meta-openembedded/meta-python \ + \ + ${BSPDIR}/sources/meta-freescale \ + ${BSPDIR}/sources/meta-freescale-3rdparty \ + ${BSPDIR}/sources/meta-freescale-distro \ +" + +# i.MX Yocto Project Release layers +BBLAYERS += "${BSPDIR}/sources/meta-imx/meta-bsp" +BBLAYERS += "${BSPDIR}/sources/meta-imx/meta-sdk" +BBLAYERS += "${BSPDIR}/sources/meta-nxp-demo-experience" + +BBLAYERS += "${BSPDIR}/sources/meta-clang" +BBLAYERS += "${BSPDIR}/sources/meta-openembedded/meta-networking" +BBLAYERS += "${BSPDIR}/sources/meta-openembedded/meta-filesystems" +BBLAYERS += "${BSPDIR}/sources/meta-qt6" +BBLAYERS += "${BSPDIR}/sources/meta-python2" + +# Add IoT Gateway Kit Board Yocto Project Release layers +BBLAYERS += "${BSPDIR}/sources/meta-igkboard" diff --git a/yocto/honister/meta-igkboard/conf/layer.conf b/yocto/honister/meta-igkboard/conf/layer.conf new file mode 100644 index 0000000..637f3cc --- /dev/null +++ b/yocto/honister/meta-igkboard/conf/layer.conf @@ -0,0 +1,13 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "meta-igkboard" +BBFILE_PATTERN_meta-igkboard = "^${LAYERDIR}/" +BBFILE_PRIORITY_meta-igkboard = "9" + +LAYERDEPENDS_meta-igkboard = "core" +LAYERSERIES_COMPAT_meta-igkboard = "honister" diff --git a/yocto/honister/meta-igkboard/conf/local.conf b/yocto/honister/meta-igkboard/conf/local.conf new file mode 100644 index 0000000..dee2982 --- /dev/null +++ b/yocto/honister/meta-igkboard/conf/local.conf @@ -0,0 +1,23 @@ +MACHINE ??= 'igkboard' +DISTRO ?= 'fsl-imx-wayland' +EXTRA_IMAGE_FEATURES ?= "debug-tweaks" +USER_CLASSES ?= "buildstats" +PATCHRESOLVE = "noop" +BB_DISKMON_DIRS ??= "\ + STOPTASKS,${TMPDIR},1G,100K \ + STOPTASKS,${DL_DIR},1G,100K \ + STOPTASKS,${SSTATE_DIR},1G,100K \ + STOPTASKS,/tmp,100M,100K \ + ABORT,${TMPDIR},100M,1K \ + ABORT,${DL_DIR},100M,1K \ + ABORT,${SSTATE_DIR},100M,1K \ + ABORT,/tmp,10M,1K" +PACKAGECONFIG:append:pn-qemu-system-native = " sdl" +CONF_VERSION = "2" + +DL_DIR ?= "${BSPDIR}/../honister_packets/" +ACCEPT_FSL_EULA = "1" + +# Switch to Debian packaging and include package-management in the image +PACKAGE_CLASSES = "package_deb" +EXTRA_IMAGE_FEATURES += "package-management" diff --git a/yocto/honister/meta-igkboard/conf/machine/igkboard.conf b/yocto/honister/meta-igkboard/conf/machine/igkboard.conf new file mode 100644 index 0000000..6bc9a65 --- /dev/null +++ b/yocto/honister/meta-igkboard/conf/machine/igkboard.conf @@ -0,0 +1,29 @@ +#@TYPE: Machine +#@NAME: LingYun IoT Gateway Kit Board +#@SOC: i.MX6ULL +##@DESCRIPTION: Machine configuration for LingYun IoT Gateway Kit Board +##@MAINTAINER: Guo Wenxue <guowenxue@gmail.com> + +MACHINEOVERRIDES =. "mx6:mx6ul:mx6ull:" + +include conf/machine/include/imx-base.inc +include conf/machine/include/arm/armv7a/tune-cortexa7.inc + +KERNEL_DEVICETREE = "imx6ull-14x14-evk-emmc.dtb" + +UBOOT_CONFIG ??= "sd" +UBOOT_CONFIG[sd] = "mx6ull_14x14_evk_emmc_config,sdcard" + +IMAGE_BOOT_FILES = " \ + ${KERNEL_IMAGETYPE} \ + ${KERNEL_DEVICETREE} \ +" + +# Remove unused optee bcm4339 bcm43455 +MACHINE_FEATURES += "wifi bluetooth" + +# /etc/hostname +hostname_pn-base-files = "igkboard" + +# Refer to linux-imx/drivers/tty/serial/imx.c +SERIAL_CONSOLES = "115200;ttymxc0" diff --git a/yocto/meta-igkboard/recipes-bsp/u-boot/files/uboot-imx-igkboard.patch b/yocto/honister/meta-igkboard/recipes-bsp/u-boot/files/uboot-imx-igkboard.patch similarity index 100% rename from yocto/meta-igkboard/recipes-bsp/u-boot/files/uboot-imx-igkboard.patch rename to yocto/honister/meta-igkboard/recipes-bsp/u-boot/files/uboot-imx-igkboard.patch diff --git a/yocto/honister/meta-igkboard/recipes-bsp/u-boot/u-boot-imx_2021.04.bbappend b/yocto/honister/meta-igkboard/recipes-bsp/u-boot/u-boot-imx_2021.04.bbappend new file mode 100644 index 0000000..e74032c --- /dev/null +++ b/yocto/honister/meta-igkboard/recipes-bsp/u-boot/u-boot-imx_2021.04.bbappend @@ -0,0 +1,10 @@ +COMPATIBLE_MACHINE = "(mx6)" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" + +LOCALVERSION = "_5.10.52_2.1.0" +SRCREV = "1c0116f3da250c5a52858c53efb8b38c0963f477" + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" +SRC_URI:append = " file://uboot-imx-igkboard.patch " diff --git a/yocto/honister/meta-igkboard/recipes-core/base-files/base-files_3.0.14.bbappend b/yocto/honister/meta-igkboard/recipes-core/base-files/base-files_3.0.14.bbappend new file mode 100644 index 0000000..066c7f8 --- /dev/null +++ b/yocto/honister/meta-igkboard/recipes-core/base-files/base-files_3.0.14.bbappend @@ -0,0 +1,17 @@ +SUMMARY = "Update system configure files" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://licenses/GPL-2;md5=94d55d512a9ba36caa9b7df079bae19f" + +do_install_basefilesissue:append() { + # Overwrite /etc/issue with a custom string + printf "Welcome to LingYun IoT Gateway Kit Board GNU/Linux Yocto System, Default Password '12345'.\n" > ${D}${sysconfdir}/issue + + # Overwrite /etc/issue.net with a custom string + printf "Welcome to LingYun IoT Gateway Kit Board GNU/Linux Yocto System, Default Password '12345'.\n" > ${D}${sysconfdir}/issue.net +} + +do_install:append() { + # add alias for ls with color display + printf "alias ls='ls --color=auto'\n" >> ${D}${sysconfdir}/profile +} diff --git a/yocto/honister/meta-igkboard/recipes-drivers/drivers/drivers-mods_1.0.bb b/yocto/honister/meta-igkboard/recipes-drivers/drivers/drivers-mods_1.0.bb new file mode 100644 index 0000000..427b5ef --- /dev/null +++ b/yocto/honister/meta-igkboard/recipes-drivers/drivers/drivers-mods_1.0.bb @@ -0,0 +1,19 @@ +SUMMARY = "Linux kernel hello module" +DESCRIPTION = "${SUMMARY}" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" + +inherit module + +FILESEXTRAPATHS:prepend := "${THISDIR}/src:" +SRC_URI = "file://Makefile \ + file://hello.c \ + " + +S = "${WORKDIR}" + +# The inherit of module.bbclass will automatically name module packages with +# "kernel-module-" prefix as required by the oe-core build environment. + +EXTRA_OEMAKE += "-C ${STAGING_KERNEL_BUILDDIR} M=${S}" +EXTRA_OEMAKE:append:task-install = "-C ${STAGING_KERNEL_DIR} M=${S}" diff --git a/yocto/meta-igkboard/recipes-drivers/drivers/src/Makefile b/yocto/honister/meta-igkboard/recipes-drivers/drivers/src/Makefile similarity index 100% copy from yocto/meta-igkboard/recipes-drivers/drivers/src/Makefile copy to yocto/honister/meta-igkboard/recipes-drivers/drivers/src/Makefile diff --git a/yocto/meta-igkboard/recipes-drivers/drivers/src/hello.c b/yocto/honister/meta-igkboard/recipes-drivers/drivers/src/hello.c similarity index 100% copy from yocto/meta-igkboard/recipes-drivers/drivers/src/hello.c copy to yocto/honister/meta-igkboard/recipes-drivers/drivers/src/hello.c diff --git a/yocto/honister/meta-igkboard/recipes-hello/hello/hello-apps_1.0.bb b/yocto/honister/meta-igkboard/recipes-hello/hello/hello-apps_1.0.bb new file mode 100644 index 0000000..84fabb7 --- /dev/null +++ b/yocto/honister/meta-igkboard/recipes-hello/hello/hello-apps_1.0.bb @@ -0,0 +1,44 @@ +SUMMARY = "A simple Hello application" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +python do_display_banner() { + bb.plain("***********************************************"); + bb.plain("* *"); + bb.plain("* Example recipe for hello application *"); + bb.plain("* *"); + bb.plain("***********************************************"); +} + +# An example to add a new task +addtask display_banner before do_build + +# Source file list, will auto search in the subdir + +FILESEXTRAPATHS:prepend := "${THISDIR}/src:" +SRC_URI = "file://hello.c \ + file://Makefile \ + " + +# Application version and reversion +PV = "1" +PR = "r0" + +# Must add this line, or throw error: No GNU_HASH +TARGET_CC_ARCH += "${LDFLAGS}" + +S = "${WORKDIR}" + +do_compile() { + make +} + +# There is /usr/bin/hello in lmbench: dpkg-query -S hello +do_install() { + install -d ${D}${sbindir} + install -m 0755 ${S}/hello ${D}${sbindir} +} + +# Install application to image file +FILES:${PN} = "${sbindir}/hello" diff --git a/yocto/meta-igkboard/recipes-hello/hello/src/Makefile b/yocto/honister/meta-igkboard/recipes-hello/hello/src/Makefile similarity index 100% rename from yocto/meta-igkboard/recipes-hello/hello/src/Makefile rename to yocto/honister/meta-igkboard/recipes-hello/hello/src/Makefile diff --git a/yocto/meta-igkboard/recipes-hello/hello/src/hello.c b/yocto/honister/meta-igkboard/recipes-hello/hello/src/hello.c similarity index 100% rename from yocto/meta-igkboard/recipes-hello/hello/src/hello.c rename to yocto/honister/meta-igkboard/recipes-hello/hello/src/hello.c diff --git a/yocto/honister/meta-igkboard/recipes-images/igkboard/linuxsys-image.bb b/yocto/honister/meta-igkboard/recipes-images/igkboard/linuxsys-image.bb new file mode 100644 index 0000000..8a2321f --- /dev/null +++ b/yocto/honister/meta-igkboard/recipes-images/igkboard/linuxsys-image.bb @@ -0,0 +1,54 @@ +SUMMARY = "Yocto Linux System Image for LingYun IoT Kit Gateway Board" +LICENSE = "MIT" + +inherit core-image + +# additional free disk space created in Kbytes +IMAGE_OVERHEAD_FACTOR = "1.0" +IMAGE_ROOTFS_EXTRA_SPACE = "512000" + +## Select Image Features +IMAGE_FEATURES += " \ + ssh-server-openssh \ + package-management \ +" + +CORE_IMAGE_EXTRA_INSTALL += " \ + packagegroup-core-full-cmdline \ + packagegroup-tools-bluetooth \ + packagegroup-fsl-tools-audio \ + packagegroup-fsl-gstreamer1.0 \ + packagegroup-fsl-gstreamer1.0-full \ + packagegroup-qt6-imx \ + packagegroup-misc-utils \ + firmwared \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'weston-init', '', d)} \ +" + +CORE_IMAGE_EXTRA_INSTALL:append = " \ + bash \ + drivers-mods \ + hello-apps \ + gnupg \ + e2fsprogs \ + e2fsprogs-resize2fs \ + parted \ + v4l-utils \ + sudo \ + nano \ + hostapd \ + evtest \ + mtd-utils \ + i2c-tools \ + spitools \ + xz \ + udev-extraconf \ +" + +inherit extrausers + +# generate by printf "%q\n" $(mkpasswd -m sha256crypt 12345) +PASSWD= "\$5\$CZyCdtQE9Dp\$kuAmtCHtAv3X5gL1/imI.g1lf.JChVAEkdA3.8Yw8j8" +EXTRA_USERS_PARAMS = "\ + usermod -p '${PASSWD}' root; \ +" diff --git a/yocto/meta-igkboard/recipes-kernel/linux/files/linux-imx-igkboard.patch b/yocto/honister/meta-igkboard/recipes-kernel/linux/files/linux-imx-igkboard.patch similarity index 100% rename from yocto/meta-igkboard/recipes-kernel/linux/files/linux-imx-igkboard.patch rename to yocto/honister/meta-igkboard/recipes-kernel/linux/files/linux-imx-igkboard.patch diff --git a/yocto/meta-igkboard/recipes-kernel/linux/linux-imx-headers_5.10.bbappend b/yocto/honister/meta-igkboard/recipes-kernel/linux/linux-imx-headers_5.10.bbappend similarity index 100% rename from yocto/meta-igkboard/recipes-kernel/linux/linux-imx-headers_5.10.bbappend rename to yocto/honister/meta-igkboard/recipes-kernel/linux/linux-imx-headers_5.10.bbappend diff --git a/yocto/honister/meta-igkboard/recipes-kernel/linux/linux-imx_5.10.bbappend b/yocto/honister/meta-igkboard/recipes-kernel/linux/linux-imx_5.10.bbappend new file mode 100644 index 0000000..0986766 --- /dev/null +++ b/yocto/honister/meta-igkboard/recipes-kernel/linux/linux-imx_5.10.bbappend @@ -0,0 +1,15 @@ +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" + +require recipes-kernel/linux/linux-yocto.inc + +SRCREV = "a11753a89ec610768301d4070e10b8bd60fde8cd" + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" +SRC_URI += " file://linux-imx-igkboard.patch " +PATCHTOOL = "patch" + +do_copy_defconfig:append() { + cp ${S}/arch/arm/configs/igkboard_defconfig ${WORKDIR}/defconfig + cp ${S}/arch/arm/configs/igkboard_defconfig ${B}/.config +} diff --git a/yocto/honister/meta-igkboard/recipes-misc/expand-rootfs/expand-rootfs_1.0.bb b/yocto/honister/meta-igkboard/recipes-misc/expand-rootfs/expand-rootfs_1.0.bb new file mode 100644 index 0000000..2b72a74 --- /dev/null +++ b/yocto/honister/meta-igkboard/recipes-misc/expand-rootfs/expand-rootfs_1.0.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "Expand rootfs space on MMC" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" +SRC_URI += " file://expand_rootfs " +FILES:${PN} += "${sbindir}/expand_rootfs" + +do_install() { + install -d ${D}/${sbindir}/ + install -m 0755 ${WORKDIR}/expand_rootfs ${D}/${sbindir}/ +} + +RDEPENDS:expand-rootfs += "bash e2fsprogs util-linux" diff --git a/yocto/meta-igkboard/recipes-misc/expand-rootfs/files/expand_rootfs b/yocto/honister/meta-igkboard/recipes-misc/expand-rootfs/files/expand_rootfs similarity index 100% copy from yocto/meta-igkboard/recipes-misc/expand-rootfs/files/expand_rootfs copy to yocto/honister/meta-igkboard/recipes-misc/expand-rootfs/files/expand_rootfs diff --git a/yocto/honister/meta-igkboard/recipes-misc/packagegroups/packagegroup-misc-utils.bb b/yocto/honister/meta-igkboard/recipes-misc/packagegroups/packagegroup-misc-utils.bb new file mode 100644 index 0000000..992ff2d --- /dev/null +++ b/yocto/honister/meta-igkboard/recipes-misc/packagegroups/packagegroup-misc-utils.bb @@ -0,0 +1,6 @@ +SUMMARY = "Useradd system service and system shell scripts tools package" +PR = "r1" + +inherit packagegroup + +RDEPENDS:${PN} = "expand-rootfs sshswitch wpa-conf" diff --git a/yocto/meta-igkboard/recipes-misc/sshswitch/files/sshswitch.service b/yocto/honister/meta-igkboard/recipes-misc/sshswitch/files/sshswitch.service similarity index 100% copy from yocto/meta-igkboard/recipes-misc/sshswitch/files/sshswitch.service copy to yocto/honister/meta-igkboard/recipes-misc/sshswitch/files/sshswitch.service diff --git a/yocto/honister/meta-igkboard/recipes-misc/sshswitch/sshswitch_1.0.bb b/yocto/honister/meta-igkboard/recipes-misc/sshswitch/sshswitch_1.0.bb new file mode 100644 index 0000000..91d3c23 --- /dev/null +++ b/yocto/honister/meta-igkboard/recipes-misc/sshswitch/sshswitch_1.0.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Turn on SSH if /boot/ssh is present" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" + +inherit systemd + +SYSTEMD_AUTO_ENABLE = "enable" +SYSTEMD_SERVICE:${PN} = "sshswitch.service" + +SRC_URI += " file://sshswitch.service " +FILES:${PN} += "${systemd_unitdir}/system/sshswitch.service" + +do_install() { + install -d ${D}/${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/sshswitch.service ${D}/${systemd_unitdir}/system +} diff --git a/yocto/meta-igkboard/recipes-misc/wpa-conf/files/wpa-conf.service b/yocto/honister/meta-igkboard/recipes-misc/wpa-conf/files/wpa-conf.service similarity index 100% copy from yocto/meta-igkboard/recipes-misc/wpa-conf/files/wpa-conf.service copy to yocto/honister/meta-igkboard/recipes-misc/wpa-conf/files/wpa-conf.service diff --git a/yocto/honister/meta-igkboard/recipes-misc/wpa-conf/wpa-conf_1.0.bb b/yocto/honister/meta-igkboard/recipes-misc/wpa-conf/wpa-conf_1.0.bb new file mode 100644 index 0000000..7e50cd2 --- /dev/null +++ b/yocto/honister/meta-igkboard/recipes-misc/wpa-conf/wpa-conf_1.0.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Copy user wpa_supplicant.conf" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" + +inherit systemd + +SYSTEMD_AUTO_ENABLE = "enable" +SYSTEMD_SERVICE_${PN} = "wpa-conf.service" + +SRC_URI += " file://wpa-conf.service " +FILES:${PN} += "${systemd_unitdir}/system/wpa-conf.service" + +do_install() { + install -d ${D}/${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/wpa-conf.service ${D}/${systemd_unitdir}/system +} diff --git a/yocto/honister/meta-igkboard/tools/igkboard-setup.sh b/yocto/honister/meta-igkboard/tools/igkboard-setup.sh new file mode 100755 index 0000000..c23bb12 --- /dev/null +++ b/yocto/honister/meta-igkboard/tools/igkboard-setup.sh @@ -0,0 +1,173 @@ +#!/bin/bash + +CWD=$(pwd) + +function log_error(){ + echo -ne "\e[31m $1 \e[0m\n" +} + +function usage(){ + echo "Usage:" + echo " MACHINE=<machine> source igkboard-setup.sh <build-dir>" + echo "Options:" + echo " <machine> machine name" + echo " - igkboard" + echo " * [-b build-dir]: Build directory, if unspecified script uses 'build' as output directory" + echo " * [-h]: help" + echo "Examples: " + echo "$ MACHINE=igkboard source sources/meta-igkboard/tools/igkboard-setup.sh -b igkboard" + echo +} + +function cleanup_EULA(){ + cd $CWD/sources/meta-freescale + if [ -h EULA ]; then + echo Cleanup meta-freescale/EULA... + git checkout -- EULA + fi + if [ ! -f classes/fsl-eula-unpack.bbclass ]; then + echo Cleanup meta-freescale/classes/fsl-eula-unpack.bbclass... + git checkout -- classes/fsl-eula-unpack.bbclass + fi + cd - +} + +function file_override() { + source_path=$1 + override_root=$2 + if [ -f $source_path ]; then + override_path=$override_root/`basename $source_path` + if [ -f $override_path ]; then + echo "\ + +WARNING: The file '$CWD/$source_path' is replacing the upstream file '$CWD/$override_path'. \ +Overrides by file replacement are error-prone and discouraged. Please find an \ +alternative override mechanism that uses meta-data only. +" + rm $override_path + fi + fi +} + +function machine_overrides() { + layer=$1 + upstream_layer=$2 + machines="../sources/$layer/conf/machine/*" + machine_includes="../sources/$layer/conf/machine/include/*" + for machine in $machines; do + file_override $machine ../sources/$upstream_layer/conf/machine + done + for machine_include in $machine_includes; do + file_override $machine_include ../sources/$upstream_layer/conf/machine/include + done +} + +function bbclass_overrides() { + layer=$1 + upstream_layer=$2 + bbclasses="../sources/$layer/classes/*" + for bbclass in $bbclasses; do + file_override $bbclass ../sources/$upstream_layer/classes + done +} + +function hook_in_layer() { + layer=$1 + shift + if [ "$1" = "" ]; then + upstream_layers="meta-freescale" + else + upstream_layers="$@" + fi + + # echo "BBLAYERS += \"\${BSPDIR}/sources/$layer\"" >> conf/bblayers.conf + for upstream_layer in $upstream_layers; do + machine_overrides $layer $upstream_layer + bbclass_overrides $layer $upstream_layer + done +} + +function igkboard_conf_set(){ + local build_dir=$1 + if [ $MACHINE == "igkboard" ];then + cp $CWD/sources/meta-igkboard/conf/local.conf $CWD/${build_dir}/conf/local.conf + cp $CWD/sources/meta-igkboard/conf/bblayers.conf $CWD/${build_dir}/conf/bblayers.conf + fi +} + +function run(){ + local build_dir=$1 + local oeroot=$CWD/sources/poky + if [ -e $CWD/sources/oe-core ]; then + oeroot=$CWD/sources/oe-core + fi + . $oeroot/oe-init-build-env $CWD/$build_dir > /dev/null + if [ ! -e conf/local.conf ]; then + log_error "oe-init-build-env does not generated." + exit -1 + fi + igkboard_conf_set $build_dir + + # Clean up PATH, because if it includes tokens to current directories somehow, + # wrong binaries can be used instead of the expected ones during task execution + export PATH="`echo $PATH | sed 's/\(:.\|:\)*:/:/g;s/^.\?://;s/:.\?$//'`" + + cat <<EOF + + Welcome LingYun IoT Gateway Kit Board Yocto BSP, You can run 'bitbake <target>' now. + + The targets should be: + linuxsys-image + core-image-minimal + imx-image-full + +EOF + + hook_in_layer meta-imx/meta-bsp + hook_in_layer meta-imx/meta-sdk + hook_in_layer meta-nxp-demo-experience +} + +function start(){ + if [ "$(whoami)" = "root" ]; then + echo "ERROR: do not use the BSP as root. Exiting..." + exit -1 + fi + local BUILD_DIR; + local OLD_OPTIND=$OPTIND + + while getopts "b:h" fsl_setup_flag + do + case $fsl_setup_flag in + b) + BUILD_DIR="$OPTARG"; + echo -e "\n Build directory is " $BUILD_DIR + ;; + h) + usage + exit -1 + ;; + \?) + usage + exit -1;; + esac + done + shift $((OPTIND-1)) + + OPTIND=$OLD_OPTIND + + if [ -z "$BUILD_DIR" ]; then + BUILD_DIR='build' + fi + if [ -z "$MACHINE" ]; then + echo setting to default machine + MACHINE='igkboard' + fi + cleanup_EULA; + + mkdir -p $BUILD_DIR + run $BUILD_DIR +} + +start $@ + -- Gitblit v1.9.1