diff --git a/.oebuild/dockerfile/openeuler-container/Dockerfile_CI b/.oebuild/dockerfile/openeuler-container/Dockerfile_CI index 707c4ab607472bbe9c4cd45393b56416506ec741..0277013c34b86c08474550b26d684ef2e19409a4 100644 --- a/.oebuild/dockerfile/openeuler-container/Dockerfile_CI +++ b/.oebuild/dockerfile/openeuler-container/Dockerfile_CI @@ -41,7 +41,7 @@ pip install PyYaml python-git requests python-jenkins paramiko json2table \ gitlint sphinx_tabs sphinx_multiversion sphinx-rtd-theme Sphinx==5.1.1 \ pyyaml pygit gitpython -i https://pypi.tuna.tsinghua.edu.cn/simple -RUN pip install oebuild==0.1 +RUN pip install oebuild==0.1.0.2 VOLUME /home/${user}/.jenkins VOLUME ${AGENT_WORKDIR} diff --git a/.oebuild/manifest.yaml b/.oebuild/manifest.yaml index e3fd78bb2b7dad64b65469522eb62cf81fb22c02..cba2c22963ec00920ce71ff47ed6dd30977f34e6 100644 --- a/.oebuild/manifest.yaml +++ b/.oebuild/manifest.yaml @@ -735,6 +735,12 @@ manifest_list: libglu: remote_url: https://gitee.com/src-openeuler/mesa-libGLU.git version: 3cd50132c28c1b19dd4d6a76e03d31c0827bc9cf + libopus: + remote_url: https://gitee.com/src-openeuler/opus.git + version: dd9289a265d51de9f34b8fd5736feaeb467aaa84 + third_party_openh264: + remote_url: https://gitee.com/openharmony/third_party_openh264.git + version: c6aa372c16fddab4203dce3c67a81fb8f7b6eb94 libgpg-error: remote_url: https://gitee.com/src-openeuler/libgpg-error.git version: 7ca7f66089027ef1d932be6e224dfdac83cfef3a @@ -1037,7 +1043,7 @@ manifest_list: version: 42e783e24b0a018f81bb6c838ca7532862528a07 oee_archive: remote_url: https://gitee.com/openeuler/oee_archive.git - version: 6ddce35662576b12266aedc9c9f92fffaa7c7622 + version: 590fc58dde5ea174ec687850d46732b032aaa6c3 ompl: remote_url: https://gitee.com/src-openeuler/ompl.git version: 42759f06c9a8d712a5ba86f1f3b22a569ec81232 @@ -2124,3 +2130,25 @@ manifest_list: libvpx: remote_url: https://gitee.com/src-openeuler/libvpx.git version: 0ac414f4f38419207a874f79ce6075335eb19b6d + jsoncpp: + remote_url: https://gitee.com/src-openeuler/jsoncpp.git + version: 6c4e6d6ec49e75f9345b11d37cfd607ea1bb7ae2 + libvarlink: + remote_url: https://gitee.com/src-openeuler/libvarlink.git + version: 4e8682d0644a4d9c08dd4b35bc7028d6c3a71a9a + gsettings-desktop-schemas: + remote_url: https://gitee.com/src-openeuler/gsettings-desktop-schemas.git + version: 1619512b526bf265de3cf9ade80d1201ac6ed4d4 + flatbuffers: + remote_url: https://gitee.com/src-openeuler/flatbuffers.git + version: 482e2ea3dc95339111ce48e1f4ae1ac646ad07b3 + tensorflow: + remote_url: https://gitee.com/src-openeuler/tensorflow.git + version: 887c706f000886f4e44f5855474ef2b24ccd1596 + ComputeLibrary: + remote_url: https://gitee.com/src-openeuler/ComputeLibrary.git + version: 88d32a1e37776d64bdeafe64173b50b73524c135 + armnn: + remote_url: https://gitee.com/src-openeuler/armnn.git + version: 64676572e789604efd056143200b6e4677fb64fc + diff --git a/.oebuild/samples/aarch64/hieulerpi1-ros-native.yaml b/.oebuild/samples/aarch64/hieulerpi1-ros-native.yaml new file mode 100644 index 0000000000000000000000000000000000000000..24cb53a95769cbe25cca1c92c5b490976e114923 --- /dev/null +++ b/.oebuild/samples/aarch64/hieulerpi1-ros-native.yaml @@ -0,0 +1,31 @@ +build_in: docker +machine: hieulerpi1 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-ros +local_conf: |+ + DISTRO_FEATURES:append = " isulad " + + DISTRO_FEATURES:append = " ros " + + OPENEULER_PREBUILT_TOOLS_ENABLE = "no" + +layers: +- yocto-meta-openeuler/bsp/meta-hisilicon +- yocto-meta-openembedded/meta-multimedia +- yocto-meta-ros/meta-ros-common +- yocto-meta-ros/meta-ros2 +- yocto-meta-ros/meta-ros2-humble +- yocto-meta-openembedded/meta-multimedia +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/hieulerpi1-ros.yaml b/.oebuild/samples/aarch64/hieulerpi1-ros.yaml new file mode 100644 index 0000000000000000000000000000000000000000..490080e7fb2e75fa64ab7142d0487939d081afdc --- /dev/null +++ b/.oebuild/samples/aarch64/hieulerpi1-ros.yaml @@ -0,0 +1,29 @@ +build_in: docker +machine: hieulerpi1 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-ros +local_conf: |+ + DISTRO_FEATURES:append = " isulad " + + DISTRO_FEATURES:append = " ros " + +layers: +- yocto-meta-openeuler/bsp/meta-hisilicon +- yocto-meta-openembedded/meta-multimedia +- yocto-meta-ros/meta-ros-common +- yocto-meta-ros/meta-ros2 +- yocto-meta-ros/meta-ros2-humble +- yocto-meta-openembedded/meta-multimedia +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/hieulerpi1-rt-hmi-native.yaml b/.oebuild/samples/aarch64/hieulerpi1-rt-hmi-native.yaml new file mode 100644 index 0000000000000000000000000000000000000000..99f9e92da5c73bdf2d03bdb6b09da58d85245ec7 --- /dev/null +++ b/.oebuild/samples/aarch64/hieulerpi1-rt-hmi-native.yaml @@ -0,0 +1,35 @@ +build_in: docker +machine: hieulerpi1 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-qt5 +local_conf: |+ + PREFERRED_PROVIDER_virtual/kernel = "linux-openeuler-rt" + DISTRO_FEATURES:append = " preempt-rt " + + DISTRO_FEATURES:append = " hmi " + DISTRO_FEATURES:append = " opengl" + OPENEULER_DEFAULT_DISTRO_FEATURES:append = " x11" + DISTRO_FEATURES:append = " wayland" + IMAGE_FEATURES:append = " weston" + GLIBC_GENERATE_LOCALES:append = "en_US.UTF-8 zh_CN.UTF-8 " + + OPENEULER_PREBUILT_TOOLS_ENABLE = "no" + +layers: +- yocto-meta-openeuler/bsp/meta-hisilicon +- yocto-meta-openembedded/meta-multimedia +- yocto-meta-openembedded/meta-oe +- yocto-meta-qt5 +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/hieulerpi1-tiny.yaml b/.oebuild/samples/aarch64/hieulerpi1-tiny.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d569ffcae6b781acc8514b3bf656581eb240f3e7 --- /dev/null +++ b/.oebuild/samples/aarch64/hieulerpi1-tiny.yaml @@ -0,0 +1,21 @@ +build_in: docker +machine: hieulerpi1 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +local_conf: |+ + DISTRO_FEATURES:append = " isulad " + +layers: +- yocto-meta-openeuler/bsp/meta-hisilicon +- yocto-meta-openembedded/meta-multimedia +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image-tiny diff --git a/.oebuild/samples/aarch64/hieulerpi1.yaml b/.oebuild/samples/aarch64/hieulerpi1.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3ccc883178dfc6b1225f5963ba965ec643f5f875 --- /dev/null +++ b/.oebuild/samples/aarch64/hieulerpi1.yaml @@ -0,0 +1,22 @@ +build_in: docker +machine: hieulerpi1 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +local_conf: |+ + DISTRO_FEATURES:append = " isulad " + +layers: +- yocto-meta-openeuler/bsp/meta-hisilicon +- yocto-meta-openembedded/meta-multimedia +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/ok3568.yaml b/.oebuild/samples/aarch64/ok3568.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a5f5804cb126f57074de640c4eb6d498761e8d73 --- /dev/null +++ b/.oebuild/samples/aarch64/ok3568.yaml @@ -0,0 +1,22 @@ +build_in: docker +machine: ok3568 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-rockchip +local_conf: | + PREFERRED_PROVIDER_virtual/kernel ?= "linux-openeuler" + +layers: +- yocto-meta-rockchip +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/ok3588.yaml b/.oebuild/samples/aarch64/ok3588.yaml new file mode 100644 index 0000000000000000000000000000000000000000..09151ffe30df9569c0958f474eedb8a0e7684620 --- /dev/null +++ b/.oebuild/samples/aarch64/ok3588.yaml @@ -0,0 +1,22 @@ +build_in: docker +machine: ok3588 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-rockchip +local_conf: |- + PREFERRED_PROVIDER_virtual/kernel ?= "linux-openeuler" + +layers: +- yocto-meta-rockchip +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk \ No newline at end of file diff --git a/.oebuild/samples/aarch64/qemu-aarch64-kernel6-llvm.yaml b/.oebuild/samples/aarch64/qemu-aarch64-kernel6-llvm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..04ca9ba60771e343a22b3aae0baffa8d37463875 --- /dev/null +++ b/.oebuild/samples/aarch64/qemu-aarch64-kernel6-llvm.yaml @@ -0,0 +1,29 @@ +build_in: docker +machine: qemu-aarch64 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +local_conf: |+ + DISTRO_FEATURES:append = " isulad " + + DISTRO_FEATURES:append = " kernel6 " + PREFERRED_VERSION_linux-openeuler ?= "6.6%" + PREFERRED_VERSION_linux-openeuler-rt ?= "6.6%" + + DISTRO_FEATURES:append = " clang ld-is-lld" + DISTRO_FEATURES_NATIVE:append = " clang " + EXTERNAL_TOOLCHAIN_CLANG_BIN = "${EXTERNAL_TOOLCHAIN_LLVM}/bin" + +layers: +- yocto-meta-openeuler/meta-clang +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host --cap-add NET_ADMIN + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/qemu-aarch64-kernel6.yaml b/.oebuild/samples/aarch64/qemu-aarch64-kernel6.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f9e8c59f05a98e3cecc0cda29c2dbb2bc083dbf4 --- /dev/null +++ b/.oebuild/samples/aarch64/qemu-aarch64-kernel6.yaml @@ -0,0 +1,24 @@ +build_in: docker +machine: qemu-aarch64 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +local_conf: |+ + DISTRO_FEATURES:append = " isulad " + + DISTRO_FEATURES:append = " kernel6 " + PREFERRED_VERSION_linux-openeuler ?= "6.6%" + PREFERRED_VERSION_linux-openeuler-rt ?= "6.6%" + +layers: [] +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host --cap-add NET_ADMIN + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/qemu-aarch64-llvm.yaml b/.oebuild/samples/aarch64/qemu-aarch64-llvm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..52d46d91c3a12bc30c7c257a1558cba98d8ef907 --- /dev/null +++ b/.oebuild/samples/aarch64/qemu-aarch64-llvm.yaml @@ -0,0 +1,23 @@ +build_in: docker +machine: qemu-aarch64 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +local_conf: |+ + DISTRO_FEATURES:append = " clang ld-is-lld" + DISTRO_FEATURES_NATIVE:append = " clang " + EXTERNAL_TOOLCHAIN_CLANG_BIN = "${EXTERNAL_TOOLCHAIN_LLVM}/bin" + +layers: +- yocto-meta-openeuler/meta-clang +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host --cap-add NET_ADMIN + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk \ No newline at end of file diff --git a/.oebuild/samples/aarch64/qemu-aarch64-native.yaml b/.oebuild/samples/aarch64/qemu-aarch64-native.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d5982a5b11fb5f5b3f2be6af84371cf50ee001f9 --- /dev/null +++ b/.oebuild/samples/aarch64/qemu-aarch64-native.yaml @@ -0,0 +1,20 @@ +build_in: docker +machine: qemu-aarch64 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +local_conf: | + OPENEULER_PREBUILT_TOOLS_ENABLE = "no" + +layers: [] +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host --cap-add NET_ADMIN + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/qemu-aarch64-ros-mcs.yaml b/.oebuild/samples/aarch64/qemu-aarch64-ros-mcs.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5c855c63127a70c8eb6a55ae0368d6e6506f24c8 --- /dev/null +++ b/.oebuild/samples/aarch64/qemu-aarch64-ros-mcs.yaml @@ -0,0 +1,32 @@ +build_in: docker +machine: qemu-aarch64 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-ros +- Jailhouse +local_conf: |+ + DISTRO_FEATURES:append = " isulad " + + MCS_FEATURES ?= "openamp" + DISTRO_FEATURES:append = " mcs" + + DISTRO_FEATURES:append = " ros " + +layers: +- yocto-meta-ros/meta-ros-common +- yocto-meta-ros/meta-ros2 +- yocto-meta-ros/meta-ros2-humble +- yocto-meta-openembedded/meta-multimedia +- yocto-meta-openeuler/rtos/meta-openeuler-rtos +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host --cap-add NET_ADMIN + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk \ No newline at end of file diff --git a/.oebuild/samples/aarch64/qemu-aarch64.yaml b/.oebuild/samples/aarch64/qemu-aarch64.yaml new file mode 100644 index 0000000000000000000000000000000000000000..15845985a998f27d129a80a33d2f465978e7e4f4 --- /dev/null +++ b/.oebuild/samples/aarch64/qemu-aarch64.yaml @@ -0,0 +1,20 @@ +build_in: docker +machine: qemu-aarch64 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +local_conf: |+ + DISTRO_FEATURES:append = " isulad " + +layers: [] +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host --cap-add NET_ADMIN + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/raspberrypi4-64-kernel6-llvm.yaml b/.oebuild/samples/aarch64/raspberrypi4-64-kernel6-llvm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6471b91844446aa11e9acff486c01543bebe447e --- /dev/null +++ b/.oebuild/samples/aarch64/raspberrypi4-64-kernel6-llvm.yaml @@ -0,0 +1,31 @@ +build_in: docker +machine: raspberrypi4-64 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-raspberrypi +local_conf: |+ + DISTRO_FEATURES:append = " isulad " + + DISTRO_FEATURES:append = " kernel6 " + PREFERRED_VERSION_linux-openeuler ?= "6.6%" + PREFERRED_VERSION_linux-openeuler-rt ?= "6.6%" + + DISTRO_FEATURES:append = " clang ld-is-lld" + DISTRO_FEATURES_NATIVE:append = " clang " + EXTERNAL_TOOLCHAIN_CLANG_BIN = "${EXTERNAL_TOOLCHAIN_LLVM}/bin" + +layers: +- yocto-meta-raspberrypi +- yocto-meta-openeuler/meta-clang +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/raspberrypi4-64-kernel6-rt-hmi.yaml b/.oebuild/samples/aarch64/raspberrypi4-64-kernel6-rt-hmi.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bee60a6d867ddc2e592e771f7e8667236e722660 --- /dev/null +++ b/.oebuild/samples/aarch64/raspberrypi4-64-kernel6-rt-hmi.yaml @@ -0,0 +1,39 @@ +build_in: docker +machine: raspberrypi4-64 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-raspberrypi +- yocto-meta-qt5 +local_conf: |+ + PREFERRED_PROVIDER_virtual/kernel = "linux-openeuler-rt" + DISTRO_FEATURES:append = " preempt-rt " + + DISTRO_FEATURES:append = " isulad " + + DISTRO_FEATURES:append = " hmi " + DISTRO_FEATURES:append = " opengl" + OPENEULER_DEFAULT_DISTRO_FEATURES:append = " x11" + DISTRO_FEATURES:append = " wayland" + IMAGE_FEATURES:append = " weston" + GLIBC_GENERATE_LOCALES:append = "en_US.UTF-8 zh_CN.UTF-8 " + + DISTRO_FEATURES:append = " kernel6 " + PREFERRED_VERSION_linux-openeuler ?= "6.6%" + PREFERRED_VERSION_linux-openeuler-rt ?= "6.6%" + +layers: +- yocto-meta-raspberrypi +- yocto-meta-openembedded/meta-oe +- yocto-meta-qt5 +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/raspberrypi4-64-kernel6.yaml b/.oebuild/samples/aarch64/raspberrypi4-64-kernel6.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2235a0afca5ba5a1f208820c9e2fe92d56532463 --- /dev/null +++ b/.oebuild/samples/aarch64/raspberrypi4-64-kernel6.yaml @@ -0,0 +1,26 @@ +build_in: docker +machine: raspberrypi4-64 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-raspberrypi +local_conf: |+ + DISTRO_FEATURES:append = " isulad " + + DISTRO_FEATURES:append = " kernel6 " + PREFERRED_VERSION_linux-openeuler ?= "6.6%" + PREFERRED_VERSION_linux-openeuler-rt ?= "6.6%" + +layers: +- yocto-meta-raspberrypi +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/raspberrypi4-64-llvm.yaml b/.oebuild/samples/aarch64/raspberrypi4-64-llvm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b965817c4f77703c5cd15189b2aa150ddea5ed97 --- /dev/null +++ b/.oebuild/samples/aarch64/raspberrypi4-64-llvm.yaml @@ -0,0 +1,27 @@ +build_in: docker +machine: raspberrypi4-64 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-raspberrypi +local_conf: |+ + DISTRO_FEATURES:append = " isulad " + + DISTRO_FEATURES:append = " clang ld-is-lld" + DISTRO_FEATURES_NATIVE:append = " clang " + EXTERNAL_TOOLCHAIN_CLANG_BIN = "${EXTERNAL_TOOLCHAIN_LLVM}/bin" + +layers: +- yocto-meta-raspberrypi +- yocto-meta-openeuler/meta-clang +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/raspberrypi4-64-rt-hmi-native.yaml b/.oebuild/samples/aarch64/raspberrypi4-64-rt-hmi-native.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b48b5471aa4a212f8cd01ee26aa5e6c6d6918cd7 --- /dev/null +++ b/.oebuild/samples/aarch64/raspberrypi4-64-rt-hmi-native.yaml @@ -0,0 +1,35 @@ +build_in: docker +machine: raspberrypi4-64 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-raspberrypi +- yocto-meta-qt5 +local_conf: |+ + PREFERRED_PROVIDER_virtual/kernel = "linux-openeuler-rt" + DISTRO_FEATURES:append = " preempt-rt " + + DISTRO_FEATURES:append = " hmi " + DISTRO_FEATURES:append = " opengl" + OPENEULER_DEFAULT_DISTRO_FEATURES:append = " x11" + DISTRO_FEATURES:append = " wayland" + IMAGE_FEATURES:append = " weston" + GLIBC_GENERATE_LOCALES:append = "en_US.UTF-8 zh_CN.UTF-8 " + + OPENEULER_PREBUILT_TOOLS_ENABLE = "no" + +layers: +- yocto-meta-raspberrypi +- yocto-meta-openembedded/meta-oe +- yocto-meta-qt5 +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/raspberrypi4-64-rt-hmi.yaml b/.oebuild/samples/aarch64/raspberrypi4-64-rt-hmi.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2cf8e814a164ee8721daba7b9c8d7e01fe57cbc2 --- /dev/null +++ b/.oebuild/samples/aarch64/raspberrypi4-64-rt-hmi.yaml @@ -0,0 +1,35 @@ +build_in: docker +machine: raspberrypi4-64 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-raspberrypi +- yocto-meta-qt5 +local_conf: |+ + PREFERRED_PROVIDER_virtual/kernel = "linux-openeuler-rt" + DISTRO_FEATURES:append = " preempt-rt " + + DISTRO_FEATURES:append = " isulad " + + DISTRO_FEATURES:append = " hmi " + DISTRO_FEATURES:append = " opengl" + OPENEULER_DEFAULT_DISTRO_FEATURES:append = " x11" + DISTRO_FEATURES:append = " wayland" + IMAGE_FEATURES:append = " weston" + GLIBC_GENERATE_LOCALES:append = "en_US.UTF-8 zh_CN.UTF-8 " + +layers: +- yocto-meta-raspberrypi +- yocto-meta-openembedded/meta-oe +- yocto-meta-qt5 +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/aarch64/raspberrypi4-64.yaml b/.oebuild/samples/aarch64/raspberrypi4-64.yaml new file mode 100644 index 0000000000000000000000000000000000000000..df1cf58fa3e6c2c15d030bb7df2f427d8aebca38 --- /dev/null +++ b/.oebuild/samples/aarch64/raspberrypi4-64.yaml @@ -0,0 +1,22 @@ +build_in: docker +machine: raspberrypi4-64 +toolchain_type: EXTERNAL_TOOLCHAIN:aarch64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-raspberrypi +local_conf: |+ + DISTRO_FEATURES:append = " isulad " + +layers: +- yocto-meta-raspberrypi +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk \ No newline at end of file diff --git a/.oebuild/samples/rpi4_jailhouse_hmi_img.yaml b/.oebuild/samples/aarch64/rpi4_jailhouse_hmi_img.yaml similarity index 100% rename from .oebuild/samples/rpi4_jailhouse_hmi_img.yaml rename to .oebuild/samples/aarch64/rpi4_jailhouse_hmi_img.yaml diff --git a/.oebuild/samples/rpi4_jailhouse_tiny_img.yaml b/.oebuild/samples/aarch64/rpi4_jailhouse_tiny_img.yaml similarity index 100% rename from .oebuild/samples/rpi4_jailhouse_tiny_img.yaml rename to .oebuild/samples/aarch64/rpi4_jailhouse_tiny_img.yaml diff --git a/.oebuild/samples/arm32/qemu-arm.yaml b/.oebuild/samples/arm32/qemu-arm.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5671910e52a515c949b040946bee6fcb7a4aca53 --- /dev/null +++ b/.oebuild/samples/arm32/qemu-arm.yaml @@ -0,0 +1,18 @@ +build_in: docker +machine: qemu-arm +toolchain_type: EXTERNAL_TOOLCHAIN:arm +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +local_conf: | +layers: [] +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host --cap-add NET_ADMIN + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/riscv64/qemu-riscv64.yaml b/.oebuild/samples/riscv64/qemu-riscv64.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b88c43238f03f828204b669bde424b03699a8aac --- /dev/null +++ b/.oebuild/samples/riscv64/qemu-riscv64.yaml @@ -0,0 +1,18 @@ +build_in: docker +machine: qemu-riscv64 +toolchain_type: EXTERNAL_TOOLCHAIN:riscv64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +local_conf: | +layers: [] +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host --cap-add NET_ADMIN + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/prebuilt_tool.yaml b/.oebuild/samples/x86-64/prebuilt_tool.yaml similarity index 100% rename from .oebuild/samples/prebuilt_tool.yaml rename to .oebuild/samples/x86-64/prebuilt_tool.yaml diff --git a/.oebuild/samples/x86-64/x86-64-kernel6-rt-hmi-ros-mcs.yaml b/.oebuild/samples/x86-64/x86-64-kernel6-rt-hmi-ros-mcs.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2685c98bf3a0a909f43e82be36d9593e7fbf68bf --- /dev/null +++ b/.oebuild/samples/x86-64/x86-64-kernel6-rt-hmi-ros-mcs.yaml @@ -0,0 +1,47 @@ +build_in: docker +machine: generic-x86-64 +toolchain_type: EXTERNAL_TOOLCHAIN:x86-64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-ros +- Jailhouse +- yocto-meta-qt5 +local_conf: |+ + PREFERRED_PROVIDER_virtual/kernel = "linux-openeuler-rt" + DISTRO_FEATURES:append = " preempt-rt " + + DISTRO_FEATURES:append = " hmi " + DISTRO_FEATURES:append = " opengl" + OPENEULER_DEFAULT_DISTRO_FEATURES:append = " x11" + DISTRO_FEATURES:append = " wayland" + IMAGE_FEATURES:append = " weston" + GLIBC_GENERATE_LOCALES:append = "en_US.UTF-8 zh_CN.UTF-8 " + + MCS_FEATURES ?= "openamp" + DISTRO_FEATURES:append = " mcs" + + DISTRO_FEATURES:append = " kernel6 " + PREFERRED_VERSION_linux-openeuler ?= "6.6%" + PREFERRED_VERSION_linux-openeuler-rt ?= "6.6%" + + DISTRO_FEATURES:append = " ros " + +layers: +- yocto-meta-ros/meta-ros-common +- yocto-meta-ros/meta-ros2 +- yocto-meta-ros/meta-ros2-humble +- yocto-meta-openembedded/meta-multimedia +- yocto-meta-openeuler/rtos/meta-openeuler-rtos +- yocto-meta-openembedded/meta-oe +- yocto-meta-qt5 +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/x86-64/x86-64-rt-hmi-ros-mcs-native-native.yaml b/.oebuild/samples/x86-64/x86-64-rt-hmi-ros-mcs-native-native.yaml new file mode 100644 index 0000000000000000000000000000000000000000..26e3fb8213f1926ec096654824d93e832130eb78 --- /dev/null +++ b/.oebuild/samples/x86-64/x86-64-rt-hmi-ros-mcs-native-native.yaml @@ -0,0 +1,45 @@ +build_in: docker +machine: generic-x86-64 +toolchain_type: EXTERNAL_TOOLCHAIN:x86-64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-ros +- Jailhouse +- yocto-meta-qt5 +local_conf: |+ + PREFERRED_PROVIDER_virtual/kernel = "linux-openeuler-rt" + DISTRO_FEATURES:append = " preempt-rt " + + DISTRO_FEATURES:append = " hmi " + DISTRO_FEATURES:append = " opengl" + OPENEULER_DEFAULT_DISTRO_FEATURES:append = " x11" + DISTRO_FEATURES:append = " wayland" + IMAGE_FEATURES:append = " weston" + GLIBC_GENERATE_LOCALES:append = "en_US.UTF-8 zh_CN.UTF-8 " + + MCS_FEATURES ?= "openamp" + DISTRO_FEATURES:append = " mcs" + + DISTRO_FEATURES:append = " ros " + + OPENEULER_PREBUILT_TOOLS_ENABLE = "no" + +layers: +- yocto-meta-ros/meta-ros-common +- yocto-meta-ros/meta-ros2 +- yocto-meta-ros/meta-ros2-humble +- yocto-meta-openembedded/meta-multimedia +- yocto-meta-openeuler/rtos/meta-openeuler-rtos +- yocto-meta-openembedded/meta-oe +- yocto-meta-qt5 +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/x86-64/x86-64-rt-hmi-ros-mcs.yaml b/.oebuild/samples/x86-64/x86-64-rt-hmi-ros-mcs.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e37010f4ebb6cc68768b4aa13a4d40901ba5df41 --- /dev/null +++ b/.oebuild/samples/x86-64/x86-64-rt-hmi-ros-mcs.yaml @@ -0,0 +1,43 @@ +build_in: docker +machine: generic-x86-64 +toolchain_type: EXTERNAL_TOOLCHAIN:x86-64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +- yocto-meta-ros +- Jailhouse +- yocto-meta-qt5 +local_conf: |+ + PREFERRED_PROVIDER_virtual/kernel = "linux-openeuler-rt" + DISTRO_FEATURES:append = " preempt-rt " + + DISTRO_FEATURES:append = " hmi " + DISTRO_FEATURES:append = " opengl" + OPENEULER_DEFAULT_DISTRO_FEATURES:append = " x11" + DISTRO_FEATURES:append = " wayland" + IMAGE_FEATURES:append = " weston" + GLIBC_GENERATE_LOCALES:append = "en_US.UTF-8 zh_CN.UTF-8 " + + MCS_FEATURES ?= "openamp" + DISTRO_FEATURES:append = " mcs" + + DISTRO_FEATURES:append = " ros " + +layers: +- yocto-meta-ros/meta-ros-common +- yocto-meta-ros/meta-ros2 +- yocto-meta-ros/meta-ros2-humble +- yocto-meta-openembedded/meta-multimedia +- yocto-meta-openeuler/rtos/meta-openeuler-rtos +- yocto-meta-openembedded/meta-oe +- yocto-meta-qt5 +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/samples/x86-64/x86-64.yaml b/.oebuild/samples/x86-64/x86-64.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d893314b051fda0b300a8dc86783c89688420ce2 --- /dev/null +++ b/.oebuild/samples/x86-64/x86-64.yaml @@ -0,0 +1,18 @@ +build_in: docker +machine: generic-x86-64 +toolchain_type: EXTERNAL_TOOLCHAIN:x86-64 +no_layer: false +repos: +- yocto-poky +- yocto-meta-openembedded +local_conf: | +layers: [] +docker_param: + image: swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/openeuler-container:latest + parameters: -itd --network host --cap-add NET_ADMIN + volumns: + - /dev/net/tun:/dev/net/tun + command: bash +bitbake_cmds: +- bitbake openeuler-image +- bitbake openeuler-image -c do_populate_sdk diff --git a/.oebuild/workflows/build_common.groovy b/.oebuild/workflows/build_common.groovy index 8710e98d043d8f0d7362c87ebec4e01f83b4a201..9b401568ed4ae7e059f6095b2b6f9e30f050965f 100644 --- a/.oebuild/workflows/build_common.groovy +++ b/.oebuild/workflows/build_common.groovy @@ -1,4 +1,7 @@ STAGES_RES = [] +OEBUILD_DIR = "/home/jenkins/oebuild_workspace" +AGENT = "/home/jenkins/agent" +LOG_DIR = "openeuler/logs" def downloadEmbeddedCI(String remote_url, String branch){ sh 'rm -rf embedded-ci' @@ -50,9 +53,16 @@ def getRandomStr(){ } def mkdirOpeneulerLog(){ - def logdir = "openeuler/log" - sh "mkdir -p ${logdir}" - return logdir + dir(AGENT){ + sh "mkdir -p ${LOG_DIR}" + } +} + +def artifactsLogs(){ + dir(AGENT){ + sh "ls -al ${LOG_DIR}" + archiveArtifacts artifacts: "${LOG_DIR}/*.log", fingerprint: true + } } def getNowDatetime(){ @@ -84,7 +94,29 @@ def putSStateCacheToDst(String local_dir, String dst_dir){ """ } -def handleAfterBuildImage(String stage_name, String arch, Integer build_res_code, String log_dir, String random_str, String image_date){ +def uploadLogWithKey(String remote_ip, String remote_dir, String username, String remote_key, String local_path){ + sh """ + scp -i ${remote_key} -o 'StrictHostKeyChecking no' ${local_path} ${username}@${remote_ip}:${remote_dir} + """ +} + +def handleLog(log_file){ + log_path = "${LOG_DIR}/${log_file}" + if (env.isUploadLog != null && env.isUploadLog == "true"){ + withCredentials([ + file(credentialsId: openEulerEmbeddedKey, variable: 'openEulerKey') + ]){ + def local_log_path = "${AGENT}/${log_path}" + uploadLogWithKey(openEulerRemoteIP, openEulerLogDir, openEulerRemoteUser, openEulerKey, local_log_path) + } + log_path = "${openEulerLogUrl}/${log_file}" + }else{ + log_path = "artifact/${log_path}" + } + return log_path +} + +def handleAfterBuildImage(String image_name, String arch, Integer build_res_code, String random_str, String image_date){ def build_res = "failed" def test_res = "failed" def test_res_code = 1 @@ -92,8 +124,8 @@ def handleAfterBuildImage(String stage_name, String arch, Integer build_res_code build_res = "success" if (putToRemote == true){ // put the image to remote server - def remote_dir = remoteDir+"/${arch}/${stage_name}" - def local_dir = "${oebuildDir}/build/${stage_name}/output/${image_date}/" + def remote_dir = remoteDir+"/${arch}/${image_name}" + def local_dir = "${OEBUILD_DIR}/build/${image_name}/output/${image_date}/" uploadImageWithKey(remoteIP, remote_dir, remoteUname, remoteKey, local_dir) } if (saveSstateCache == true){ @@ -102,10 +134,10 @@ def handleAfterBuildImage(String stage_name, String arch, Integer build_res_code // sstate_origin_dir, we first copy it to a temporary folder (during copying, // soft links are defaulted to copy the actual files they point to), then delete // the source folder, and finally perform an mv operation. - def sstate_local_dir = "${oebuildDir}/build/${stage_name}/sstate-cache" - def sstate_dst_dir = "${shareDir}/${ciBranch}/sstate-cache/${stage_name}-temp" + def sstate_local_dir = "${OEBUILD_DIR}/build/${image_name}/sstate-cache" + def sstate_dst_dir = "${shareDir}/${ciBranch}/sstate-cache/${image_name}-temp" putSStateCacheToDst(sstate_local_dir, sstate_dst_dir) - def sstate_origin_dir = "${shareDir}/${ciBranch}/sstate-cache/${stage_name}" + def sstate_origin_dir = "${shareDir}/${ciBranch}/sstate-cache/${image_name}" sh (script: """ rm -rf ${sstate_origin_dir} mv ${sstate_dst_dir} ${sstate_origin_dir} @@ -113,25 +145,30 @@ def handleAfterBuildImage(String stage_name, String arch, Integer build_res_code ) } // Test the build artifacts of the QEMU image and x86 image. - if(stage_name.contains("qemu") && stage_name.contains("x86-64") && !stage_name.contains("riscv")){ + if(image_name.contains("qemu") && image_name.contains("x86-64") && !image_name.contains("riscv")){ test_res_code = sh (script: """ python3 main.py utest \ -target openeuler_image \ -a ${arch} \ - -td ${oebuildDir}/build/${stage_name} \ + -td ${OEBUILD_DIR}/build/${image_name} \ -tm ${mugenRemote} \ - -tb ${mugenBranch} > ${log_dir}/Test-${stage_name}-${random_str}.log + -tb ${mugenBranch} > ${AGENT}/${LOG_DIR}/Test-${image_name}-${random_str}.log """, returnStatus: true) if (test_res_code == 0){ test_res = "success" } } } - // Check the assignment - archiveArtifacts "${log_dir}/*.log" - STAGES_RES.push(formatRes(stage_name, "build", build_res, "artifact/${log_dir}/Build-${stage_name}-${random_str}.log")) - if (build_res_code == 0 && (stage_name.contains("qemu") && stage_name.contains("x86-64") && !stage_name.contains("riscv"))){ - STAGES_RES.push(formatRes(stage_name, "test", test_res, "artifact/${log_dir}/Test-${stage_name}-${random_str}.log")) + + // if need to upload log to remote + log_file = "Build-${image_name}-${random_str}.log" + log_path = handleLog(log_file) + STAGES_RES.push(formatRes(image_name, "build", build_res, log_path)) + + if (build_res_code == 0 && (image_name.contains("qemu") && image_name.contains("x86-64") && !image_name.contains("riscv"))){ + log_file = "Test-${image_name}-${random_str}.log" + log_path = handleLog(log_file) + STAGES_RES.push(formatRes(image_name, "test", test_res, log_path)) } } @@ -149,466 +186,41 @@ def prepareSrcCode(workspace){ """ } -// dynamic invoke build image function -def dynamicBuild(image_name, image_date, log_dir, random_str){ - image_name = image_name.replace("-", "_") - "build_${image_name}"(image_date, log_dir, random_str) -} - -// Perform the compilation check for the ok3588 image. -def build_ok3588(image_date, log_dir, random_str){ - def stage_name = "ok3588" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p ok3588 \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the ok3568 image. -def build_ok3568(image_date, log_dir, random_str){ - def stage_name = "ok3568" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p ok3568 \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the qemu-aarch64-ros-mcs image. -def build_qemu_aarch64_ros_mcs(image_date, log_dir, random_str){ - def stage_name = "qemu-aarch64-ros-mcs" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p qemu-aarch64 \ - -f "openeuler-ros;openeuler-mcs;openeuler-container" \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the qemu-aarch64-llvm image. -def build_qemu_aarch64_llvm(image_date, log_dir, random_str){ - def stage_name = "qemu-aarch64-llvm" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p qemu-aarch64 \ - -f "clang" \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the raspberrypi4-64-llvm image. -def build_raspberrypi4_64_llvm(image_date, log_dir, random_str){ - def stage_name = "raspberrypi4-64-llvm" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p raspberrypi4-64 \ - -f "clang;openeuler-container" \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the qemu-aarch64-kernel6 image. -def build_qemu_aarch64_kernel6(image_date, log_dir, random_str){ - def stage_name = "qemu-aarch64-kernel6" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p qemu-aarch64 \ - -f "kernel6;openeuler-container" \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the raspberrypi4-64 image. -def build_raspberrypi4_64(image_date, log_dir, random_str){ - def stage_name = "raspberrypi4-64" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p raspberrypi4-64 \ - -f "openeuler-container" \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the raspberrypi4-64-kernel6 image. -def build_raspberrypi4_64_kernel6(image_date, log_dir, random_str){ - def stage_name = "raspberrypi4-64-kernel6" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p raspberrypi4-64 \ - -f "kernel6;openeuler-container" \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the qemu-aarch64-kernel6-llvm image. -def build_qemu_aarch64_kernel6_llvm(image_date, log_dir, random_str){ - def stage_name = "qemu-aarch64-kernel6-llvm" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p qemu-aarch64 \ - -f "kernel6;clang;openeuler-container" \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d $stage_name > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the raspberrypi4-64-kernel6-llvm image. -def build_raspberrypi4_64_kernel6_llvm(image_date, log_dir, random_str){ - def stage_name = "raspberrypi4-64-kernel6-llvm" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p raspberrypi4-64 \ - -f "kernel6;clang;openeuler-container" \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the raspberrypi4-64-rt-hmi image. -def build_raspberrypi4_64_rt_hmi(image_date, log_dir, random_str){ - def stage_name = "raspberrypi4-64-rt-hmi" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p raspberrypi4-64 \ - -f "openeuler-rt;hmi;openeuler-container" \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the raspberrypi4-64-kernel6-rt-hmi image. -def build_raspberrypi4_64_kernel6_rt_hmi(image_date, log_dir, random_str){ - def stage_name = "raspberrypi4-64-kernel6-rt-hmi" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p raspberrypi4-64 \ - -f "openeuler-rt;hmi;kernel6;openeuler-container" \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the hieulerpi1 image. -def build_hieulerpi1(image_date, log_dir, random_str){ - def stage_name = "hieulerpi1" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p hieulerpi1 \ - -f "openeuler-container" \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date}} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the hieulerpi1-tiny image. -def build_hieulerpi1_tiny(image_date, log_dir, random_str){ - def stage_name = "hieulerpi1-tiny" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p hieulerpi1 \ - -i "openeuler-image-tiny" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the hieulerpi1-ros image. -def build_hieulerpi1_ros(image_date, log_dir, random_str){ - def stage_name = "hieulerpi1-ros" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p hieulerpi1 \ - -f "openeuler-ros;openeuler-container" \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the qemu-arm image. -def build_qemu_arm(image_date, log_dir, random_str){ - def stage_name = "qemu-arm" - def arch = "arm" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm32le \ - -p qemu-arm \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the qemu-riscv64 image. -def build_qemu_riscv64(image_date, log_dir, random_str){ - def stage_name = "qemu-riscv64" - def arch = "riscv64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_riscv64 \ - -p qemu-riscv64 \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the x86-64-rt-hmi-ros-mcs image. -def build_x86_64_rt_hmi_ros_mcs(image_date, log_dir, random_str){ - def stage_name = "x86-64-rt-hmi-ros-mcs" - def arch = "x86-64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_x86_64 \ - -p x86-64 \ - -f "openeuler-rt;hmi;openeuler-ros;openeuler-mcs" \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the x86-64-kernel6-rt-hmi-ros-mcs image. -def build_x86_64_kernel6_rt_hmi_ros_mcs(image_date, log_dir, random_str){ - def stage_name = "x86-64-kernel6-rt-hmi-ros-mcs" - def arch = "x86-64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_x86_64 \ - -p x86-64 \ - -f "kernel6;openeuler-rt;hmi;openeuler-ros;openeuler-mcs" \ - -i "openeuler-image;openeuler-image -c do_populate_sdk" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) -} - -//Perform the compilation check for the qemu-aarch64 image. -def build_qemu_aarch64(image_date, log_dir, random_str){ - def stage_name = "qemu-aarch64" - def arch = "aarch64" - def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_arm64le \ - -p qemu-aarch64 \ - -f "openeuler-container" \ - -i "openeuler-image" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log - """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) - // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) +def translateCompileToHost(yocto_dir, arch, image_name){ + def compileContent = readYaml file: "${yocto_dir}/.oebuild/samples/${arch}/${image_name}.yaml" + compileContent.build_in = "host" + if (arch == "aarch64"){ + compileContent.toolchain_dir = "/usr1/openeuler/gcc/openeuler_gcc_arm64le" + } + if (arch == "arm32"){ + compileContent.toolchain_dir = "/usr1/openeuler/gcc/openeuler_gcc_arm32le" + } + if (arch == "riscv64"){ + compileContent.toolchain_dir = "/usr1/openeuler/gcc/openeuler_gcc_riscv64" + } + if (arch == "x86-64"){ + compileContent.toolchain_dir = "/usr1/openeuler/gcc/openeuler_gcc_x86_64" + } + samples_dir = "/home/jenkins/agent/samples/${arch}" + sh "mkdir -p ${samples_dir}" + writeYaml file: "${samples_dir}/${image_name}.yaml", data: compileContent + return "${samples_dir}/${image_name}.yaml" } -//Perform the compilation check for the x86-64 image. -def build_x86_64(image_date, log_dir, random_str){ - def stage_name = "x86-64" - def arch = "x86-64" +// dynamic invoke build image function +def dynamicBuild(yocto_dir, arch, image_name, image_date, random_str){ + compile_path = translateCompileToHost(yocto_dir, arch, image_name) + // prepare oebuild build environment def task_res_code = sh (script: """ - python3 main.py build \ - -c /home/jenkins/agent/yocto-meta-openeuler \ - -target openeuler_image \ - -a ${arch} \ - -t /usr1/openeuler/gcc/openeuler_gcc_x86_64 \ - -p x86-64 \ - -i "openeuler-image" \ - -oe "\\-\\-no_layer" \ - -dt ${image_date} \ - -d ${stage_name} > ${log_dir}/Build-${stage_name}-${random_str}.log + oebuild init ${OEBUILD_DIR} + cd ${OEBUILD_DIR} + mkdir -p build + ln -sf ${yocto_dir} src/yocto-meta-openeuler + oebuild ${compile_path} > ${AGENT}/${LOG_DIR}/Build-${image_name}-${random_str}.log """, returnStatus: true) - handleAfterBuildImage(stage_name, arch, task_res_code, log_dir, random_str, image_date) + handleAfterBuildImage(image_name, arch, task_res_code, random_str, image_date) // delete build directory - deleteBuildDir(oebuildDir + "/build/" + stage_name) + deleteBuildDir(OEBUILD_DIR + "/build/" + image_name) } return this diff --git a/.oebuild/workflows/jenkinsfile_ci b/.oebuild/workflows/jenkinsfile_ci index 43bdb213092aef403720d703bb9f89c2d5716788..73cbffe5f4d8f2ea8500b6731e234808e44f8fed 100644 --- a/.oebuild/workflows/jenkinsfile_ci +++ b/.oebuild/workflows/jenkinsfile_ci @@ -11,40 +11,66 @@ pipeline { steps{ script{ BUILD_COM = load '.oebuild/workflows/build_common.groovy' + IMAGE_DATE = BUILD_COM.getNowDatetime() } dir('/home/jenkins/agent'){ script{ BUILD_COM.downloadEmbeddedCI(embeddedRemote, embeddedBranch) - IMAGE_DATE = BUILD_COM.getNowDatetime() } } + dir('/home/jenkins/agent/embedded-ci'){ + script{ + BUILD_COM.downloadYoctoWithBranch("/home/jenkins/agent", repoNamespace, repoName, ciBranch, 1) + } + } + dir('/home/jenkins/agent/embedded-ci'){ + stash(name: "embedded-ci") + } + // the stash will not include .git, so mv .git to .git_bak + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + sh "mv .git .git_bak" + stash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } } } stage("build task"){ parallel { stage("group1"){ agent { node "${node}" } + when { + expression { env.group1 != null && env.group1 != "" } + } steps { dir('/home/jenkins/agent'){ script{ - BUILD_COM.downloadEmbeddedCI(embeddedRemote, embeddedBranch) + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ withCredentials([ file(credentialsId: remoteID, variable: 'remoteKey') ]){ - //下载yocto-meta-openeuler代码 - BUILD_COM.downloadYoctoWithBranch("/home/jenkins/agent", repoNamespace, repoName, ciBranch, 1) BUILD_COM.prepareSrcCode("/home/jenkins") def random_str = BUILD_COM.getRandomStr() - def log_dir = BUILD_COM.mkdirOpeneulerLog() + BUILD_COM.mkdirOpeneulerLog() for (image_name in group1.split()){ println "build ${image_name} ..." - BUILD_COM.dynamicBuild(image_name, IMAGE_DATE, log_dir, random_str) + image_split = image_name.split("/") + yocto_dir = "/home/jenkins/agent/yocto-meta-openeuler" + BUILD_COM.dynamicBuild(yocto_dir, image_split[0], image_split[1], IMAGE_DATE, random_str) } + BUILD_COM.artifactsLogs() } } } @@ -52,27 +78,39 @@ pipeline { } stage("group2"){ agent { node "${node}" } + when { + expression { env.group2 != null && env.group2 != "" } + } steps { dir('/home/jenkins/agent'){ script{ - BUILD_COM.downloadEmbeddedCI(embeddedRemote, embeddedBranch) + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ withCredentials([ file(credentialsId: remoteID, variable: 'remoteKey') ]){ - //下载yocto-meta-openeuler代码 - BUILD_COM.downloadYoctoWithBranch("/home/jenkins/agent", repoNamespace, repoName, ciBranch, 1) BUILD_COM.prepareSrcCode("/home/jenkins") def random_str = BUILD_COM.getRandomStr() - def log_dir = BUILD_COM.mkdirOpeneulerLog() + BUILD_COM.mkdirOpeneulerLog() for (image_name in group2.split()){ println "build ${image_name} ..." - BUILD_COM.dynamicBuild(image_name, IMAGE_DATE, log_dir, random_str) + image_split = image_name.split("/") + yocto_dir = "/home/jenkins/agent/yocto-meta-openeuler" + BUILD_COM.dynamicBuild(yocto_dir, image_split[0], image_split[1], IMAGE_DATE, random_str) } + BUILD_COM.artifactsLogs() } } } @@ -80,27 +118,39 @@ pipeline { } stage("group3"){ agent { node "${node}" } + when { + expression { env.group3 != null && env.group3 != "" } + } steps { dir('/home/jenkins/agent'){ script{ - BUILD_COM.downloadEmbeddedCI(embeddedRemote, embeddedBranch) + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ withCredentials([ file(credentialsId: remoteID, variable: 'remoteKey') ]){ - //下载yocto-meta-openeuler代码 - BUILD_COM.downloadYoctoWithBranch("/home/jenkins/agent", repoNamespace, repoName, ciBranch, 1) BUILD_COM.prepareSrcCode("/home/jenkins") def random_str = BUILD_COM.getRandomStr() - def log_dir = BUILD_COM.mkdirOpeneulerLog() + BUILD_COM.mkdirOpeneulerLog() for (image_name in group3.split()){ println "build ${image_name} ..." - BUILD_COM.dynamicBuild(image_name, IMAGE_DATE, log_dir, random_str) + image_split = image_name.split("/") + yocto_dir = "/home/jenkins/agent/yocto-meta-openeuler" + BUILD_COM.dynamicBuild(yocto_dir, image_split[0], image_split[1], IMAGE_DATE, random_str) } + BUILD_COM.artifactsLogs() } } } @@ -108,27 +158,39 @@ pipeline { } stage("group4"){ agent { node "${node}" } + when { + expression { env.group4 != null && env.group4 != "" } + } steps { dir('/home/jenkins/agent'){ script{ - BUILD_COM.downloadEmbeddedCI(embeddedRemote, embeddedBranch) + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ withCredentials([ file(credentialsId: remoteID, variable: 'remoteKey') ]){ - //下载yocto-meta-openeuler代码 - BUILD_COM.downloadYoctoWithBranch("/home/jenkins/agent", repoNamespace, repoName, ciBranch, 1) BUILD_COM.prepareSrcCode("/home/jenkins") def random_str = BUILD_COM.getRandomStr() - def log_dir = BUILD_COM.mkdirOpeneulerLog() + BUILD_COM.mkdirOpeneulerLog() for (image_name in group4.split()){ println "build ${image_name} ..." - BUILD_COM.dynamicBuild(image_name, IMAGE_DATE, log_dir, random_str) + image_split = image_name.split("/") + yocto_dir = "/home/jenkins/agent/yocto-meta-openeuler" + BUILD_COM.dynamicBuild(yocto_dir, image_split[0], image_split[1], IMAGE_DATE, random_str) } + BUILD_COM.artifactsLogs() } } } @@ -136,27 +198,39 @@ pipeline { } stage("group5"){ agent { node "${node}" } + when { + expression { env.group5 != null && env.group5 != "" } + } steps { dir('/home/jenkins/agent'){ script{ - BUILD_COM.downloadEmbeddedCI(embeddedRemote, embeddedBranch) + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ withCredentials([ file(credentialsId: remoteID, variable: 'remoteKey') ]){ - //下载yocto-meta-openeuler代码 - BUILD_COM.downloadYoctoWithBranch("/home/jenkins/agent", repoNamespace, repoName, ciBranch, 1) BUILD_COM.prepareSrcCode("/home/jenkins") def random_str = BUILD_COM.getRandomStr() - def log_dir = BUILD_COM.mkdirOpeneulerLog() + BUILD_COM.mkdirOpeneulerLog() for (image_name in group5.split()){ println "build ${image_name} ..." - BUILD_COM.dynamicBuild(image_name, IMAGE_DATE, log_dir, random_str) + image_split = image_name.split("/") + yocto_dir = "/home/jenkins/agent/yocto-meta-openeuler" + BUILD_COM.dynamicBuild(yocto_dir, image_split[0], image_split[1], IMAGE_DATE, random_str) } + BUILD_COM.artifactsLogs() } } } @@ -169,6 +243,9 @@ pipeline { always { dir('/home/jenkins/agent/embedded-ci'){ script{ + if (env.isComment == null || env.isComment == "false"){ + return + } withCredentials([ string(credentialsId: "${giteeId}", variable: 'GITEETOKEN') ]){ @@ -178,12 +255,12 @@ pipeline { } sh """ python3 main.py comment \ - -m ci \ - -o ${repoNamespace} \ - -p ${commentRepoName} \ - -b ${ciBranch} \ - -gt ${GITEETOKEN} \ - ${chks} + -m ci \ + -o ${repoNamespace} \ + -p ${commentRepoName} \ + -b ${ciBranch} \ + -gt ${GITEETOKEN} \ + ${chks} """ } } diff --git a/.oebuild/workflows/jenkinsfile_ci_input b/.oebuild/workflows/jenkinsfile_ci_input index ea876da9a536c8bcde0c0d86103bc4d82a3f8187..988ebc6d718bd968eab0ed03775f5ac6ff81f902 100644 --- a/.oebuild/workflows/jenkinsfile_ci_input +++ b/.oebuild/workflows/jenkinsfile_ci_input @@ -30,14 +30,15 @@ pipeline { withCredentials([ file(credentialsId: remoteID, variable: 'remoteKey') ]){ - //下载yocto-meta-openeuler代码 - BUILD_COM.downloadYoctoWithBranch("/home/jenkins/agent", repoNamespace, repoName, ciBranch, 1) BUILD_COM.prepareSrcCode("/home/jenkins") def random_str = BUILD_COM.getRandomStr() - def log_dir = BUILD_COM.mkdirOpeneulerLog() + BUILD_COM.mkdirOpeneulerLog() println "build ${imageName} ..." - BUILD_COM.dynamicBuild(imageName, IMAGE_DATE, log_dir, random_str) + image_split = imageName.split("/") + yocto_dir = "/home/jenkins/agent/yocto-meta-openeuler" + BUILD_COM.dynamicBuild(yocto_dir, image_split[0], image_split[1], IMAGE_DATE, log_dir, random_str) + BUILD_COM.artifactsLogs() } } } diff --git a/.oebuild/workflows/jenkinsfile_gate b/.oebuild/workflows/jenkinsfile_gate index cee9a7dc45051e06846aad9d64bc607fa21269ba..fbe6c39e6f0e2b0f1654f016e091d55e08c1eb3e 100644 --- a/.oebuild/workflows/jenkinsfile_gate +++ b/.oebuild/workflows/jenkinsfile_gate @@ -58,13 +58,26 @@ pipeline { PATH = "/home/jenkins/.local/bin:${env.PATH}" } stages { - stage("clone embedded-ci"){ + stage("clone embedded yocto"){ steps{ dir('/home/jenkins/agent'){ script{ downloadEmbeddedCI() } } + dir('/home/jenkins/agent/embedded-ci'){ + // 下载yocto源码 + downloadYoctoWithPr("/home/jenkins/agent", giteeTargetNamespace, giteeRepoName, Integer.parseInt(giteePullRequestid), Integer.parseInt(commitCount)) + + } + dir('/home/jenkins/agent/embedded-ci'){ + stash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + sh "mv .git .git_bak" + stash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } } } stage("pre") { @@ -103,8 +116,6 @@ pipeline { dir('/home/jenkins/agent/embedded-ci'){ script{ withCredentials([string(credentialsId: "${giteeId}", variable: 'GITEETOKEN')]){ - // 下载yocto源码 - downloadYoctoWithPr("/home/jenkins/agent", giteeTargetNamespace, giteeRepoName, Integer.parseInt(giteePullRequestid), Integer.parseInt(commitCount)) def randomStr = getRandomStr() def logDir = mkdirOpeneulerLog() // 执行commit检查 @@ -179,14 +190,20 @@ pipeline { steps{ dir('/home/jenkins/agent'){ script{ - downloadEmbeddedCI() + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ // 执行docs编译 - // 下载yocto源码 - downloadYoctoWithPr("/home/jenkins/agent", giteeTargetNamespace, giteeRepoName, Integer.parseInt(giteePullRequestid), 1) def randomStr = getRandomStr() def logDir = mkdirOpeneulerLog() // 执行文档编译检查 @@ -219,14 +236,20 @@ pipeline { steps { dir('/home/jenkins/agent'){ script{ - downloadEmbeddedCI() + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ // 执行qemu_aarch64编译 - // 下载yocto源码 - downloadYoctoWithPr("/home/jenkins/agent", giteeTargetNamespace, giteeRepoName, Integer.parseInt(giteePullRequestid), 1) prepare_srccode("/home/jenkins") def randomStr = getRandomStr() def logDir = mkdirOpeneulerLog() @@ -266,14 +289,20 @@ pipeline { steps { dir('/home/jenkins/agent'){ script{ - downloadEmbeddedCI() + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ // 执行qemu_aarch64编译 - // 下载yocto源码 - downloadYoctoWithPr("/home/jenkins/agent", giteeTargetNamespace, giteeRepoName, Integer.parseInt(giteePullRequestid), 1) prepare_srccode("/home/jenkins") def randomStr = getRandomStr() def logDir = mkdirOpeneulerLog() @@ -313,14 +342,20 @@ pipeline { steps { dir('/home/jenkins/agent'){ script{ - downloadEmbeddedCI() + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ // 执行qemu_arm编译 - // 下载yocto源码 - downloadYoctoWithPr("/home/jenkins/agent", giteeTargetNamespace, giteeRepoName, Integer.parseInt(giteePullRequestid), 1) prepare_srccode("/home/jenkins") def randomStr = getRandomStr() def logDir = mkdirOpeneulerLog() @@ -360,16 +395,22 @@ pipeline { steps { dir('/home/jenkins/agent'){ script{ - downloadEmbeddedCI() + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ // 执行qemu_arm编译 - // 下载yocto源码 def randomStr = getRandomStr() def logDir = mkdirOpeneulerLog() - downloadYoctoWithPr("/home/jenkins/agent", giteeTargetNamespace, giteeRepoName, Integer.parseInt(giteePullRequestid), 1) prepare_srccode("/home/jenkins") // 执行镜像编译检查 def task_res_code = sh (script: """ @@ -407,14 +448,20 @@ pipeline { steps { dir('/home/jenkins/agent'){ script{ - downloadEmbeddedCI() + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ // 执行hieulerpi1编译 - // 下载yocto源码 - downloadYoctoWithPr("/home/jenkins/agent", giteeTargetNamespace, giteeRepoName, Integer.parseInt(giteePullRequestid), 1) prepare_srccode("/home/jenkins") def randomStr = getRandomStr() def logDir = mkdirOpeneulerLog() @@ -452,26 +499,26 @@ pipeline { dir('/home/jenkins/agent/embedded-ci'){ script{ withCredentials([ - string(credentialsId: "${giteeId}", variable: 'GITEETOKEN'), - usernamePassword(credentialsId: "${jenkinsId}", usernameVariable: 'JUSER',passwordVariable: 'JPASSWD')]){ - if (currentBuild.result != 'ABORTED') { - def chks = "" - for (int i = 0; i < STAGES_RES.size(); ++i) { - chks = "${chks} -chk ${STAGES_RES[i]}" - } - - def duration_time = System.currentTimeMillis() - currentBuild.startTimeInMillis - sh """ - python3 main.py comment \ - -m gate \ - -o $giteeTargetNamespace \ - -p $giteeRepoName \ - -pr $giteePullRequestid \ - -gt $GITEETOKEN \ - -dt $duration_time \ - $chks - """ + string(credentialsId: "${giteeId}", variable: 'GITEETOKEN'), + usernamePassword(credentialsId: "${jenkinsId}", usernameVariable: 'JUSER',passwordVariable: 'JPASSWD')]){ + if (currentBuild.result != 'ABORTED') { + def chks = "" + for (int i = 0; i < STAGES_RES.size(); ++i) { + chks = "${chks} -chk ${STAGES_RES[i]}" } + + def duration_time = System.currentTimeMillis() - currentBuild.startTimeInMillis + sh """ + python3 main.py comment \ + -m gate \ + -o $giteeTargetNamespace \ + -p $giteeRepoName \ + -pr $giteePullRequestid \ + -gt $GITEETOKEN \ + -dt $duration_time \ + $chks + """ + } } } } diff --git a/.oebuild/workflows/jenkinsfile_gate_cache b/.oebuild/workflows/jenkinsfile_gate_cache index 9c06774eb391f10fa74e19021ad02293fce407fb..bc28c0a00e96166773969928b2e960ea6c4a3d07 100644 --- a/.oebuild/workflows/jenkinsfile_gate_cache +++ b/.oebuild/workflows/jenkinsfile_gate_cache @@ -19,6 +19,20 @@ pipeline { BUILD_COM.downloadEmbeddedCI(embeddedRemote, embeddedBranch) } } + dir('/home/jenkins/agent/embedded-ci'){ + script{ + //下载yocto-meta-openeuler代码 + BUILD_COM.downloadYoctoWithBranch("/home/jenkins/agent", repoNamespace, repoName, ciBranch, 1) + } + } + dir('/home/jenkins/agent/embedded-ci'){ + stash(name: 'embedded-ci') + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + sh "mv .git .git_bak" + stash(name: 'yocto-meta-openeuler') + sh "mv .git_bak .git" + } } } stage("build task"){ @@ -28,18 +42,28 @@ pipeline { steps { dir('/home/jenkins/agent'){ script{ - BUILD_COM.downloadEmbeddedCI(embeddedRemote, embeddedBranch) + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ - //下载yocto-meta-openeuler代码 - BUILD_COM.downloadYoctoWithBranch("/home/jenkins/agent", repoNamespace, repoName, ciBranch, 1) BUILD_COM.prepareSrcCode("/home/jenkins") def random_str = BUILD_COM.getRandomStr() - def log_dir = BUILD_COM.mkdirOpeneulerLog() + BUILD_COM.mkdirOpeneulerLog() - BUILD_COM.build_qemu_aarch64(IMAGE_DATE, log_dir, random_str) + image_name = "aarch64/qemu-aarch64" + image_split = image_name.split("/") + yocto_dir = "/home/jenkins/agent/yocto-meta-openeuler" + BUILD_COM.dynamicBuild(yocto_dir, image_split[0], image_split[1], IMAGE_DATE, log_dir, random_str) + BUILD_COM.artifactsLogs() } } } @@ -49,19 +73,29 @@ pipeline { steps { dir('/home/jenkins/agent'){ script{ - BUILD_COM.downloadEmbeddedCI(embeddedRemote, embeddedBranch) + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ - //下载yocto-meta-openeuler代码 - BUILD_COM.downloadYoctoWithBranch("/home/jenkins/agent", repoNamespace, repoName, ciBranch, 1) BUILD_COM.prepareSrcCode("/home/jenkins") def random_str = BUILD_COM.getRandomStr() - def log_dir = BUILD_COM.mkdirOpeneulerLog() + BUILD_COM.mkdirOpeneulerLog() // 执行qemu-arm镜像编译检查 - BUILD_COM.build_qemu_arm(IMAGE_DATE, log_dir, random_str) + image_name = "arm32/qemu-arm" + image_split = image_name.split("/") + yocto_dir = "/home/jenkins/agent/yocto-meta-openeuler" + BUILD_COM.dynamicBuild(yocto_dir, image_split[0], image_split[1], IMAGE_DATE, log_dir, random_str) + BUILD_COM.artifactsLogs() } } } @@ -71,19 +105,29 @@ pipeline { steps { dir('/home/jenkins/agent'){ script{ - BUILD_COM.downloadEmbeddedCI(embeddedRemote, embeddedBranch) + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ - //下载yocto-meta-openeuler代码 - BUILD_COM.downloadYoctoWithBranch("/home/jenkins/agent", repoNamespace, repoName, ciBranch, 1) BUILD_COM.prepareSrcCode("/home/jenkins") def random_str = BUILD_COM.getRandomStr() - def log_dir = BUILD_COM.mkdirOpeneulerLog() + BUILD_COM.mkdirOpeneulerLog() // 执行x86-64镜像编译检查 - BUILD_COM.build_x86_64(IMAGE_DATE, log_dir, random_str) + image_name = "x86-64/x86-64" + image_split = image_name.split("/") + yocto_dir = "/home/jenkins/agent/yocto-meta-openeuler" + BUILD_COM.dynamicBuild(yocto_dir, image_split[0], image_split[1], IMAGE_DATE, log_dir, random_str) + BUILD_COM.artifactsLogs() } } } @@ -93,18 +137,29 @@ pipeline { steps { dir('/home/jenkins/agent'){ script{ - BUILD_COM.downloadEmbeddedCI(embeddedRemote, embeddedBranch) + sh "mkdir embedded-ci" + sh "mkdir yocto-meta-openeuler" } } + dir('/home/jenkins/agent/embedded-ci'){ + unstash(name: "embedded-ci") + } + dir('/home/jenkins/agent/yocto-meta-openeuler'){ + unstash(name: "yocto-meta-openeuler") + sh "mv .git_bak .git" + } dir('/home/jenkins/agent/embedded-ci'){ script{ - //下载yocto-meta-openeuler代码 - BUILD_COM.downloadYoctoWithBranch("/home/jenkins/agent", repoNamespace, repoName, ciBranch, 1) BUILD_COM.prepareSrcCode("/home/jenkins") def random_str = BUILD_COM.getRandomStr() - def log_dir = BUILD_COM.mkdirOpeneulerLog() + BUILD_COM.mkdirOpeneulerLog() - BUILD_COM.build_hieulerpi1(IMAGE_DATE, log_dir, random_str) + // 执行hieulerpi1镜像编译检查 + image_name = "aarch64/hieulerpi1" + image_split = image_name.split("/") + yocto_dir = "/home/jenkins/agent/yocto-meta-openeuler" + BUILD_COM.dynamicBuild(yocto_dir, image_split[0], image_split[1], IMAGE_DATE, log_dir, random_str) + BUILD_COM.artifactsLogs() } } } diff --git a/.oebuild/workflows/jenkinsfile_src_update b/.oebuild/workflows/jenkinsfile_src_update index 68da5001387928bded41b871e98f91e1a9c9f4dc..0d3be016a6b2015c1f199bfc33ea1b084b031d2e 100644 --- a/.oebuild/workflows/jenkinsfile_src_update +++ b/.oebuild/workflows/jenkinsfile_src_update @@ -8,7 +8,7 @@ pipeline { stages { stage("update src"){ steps{ - dir(SHARE_DIR + "/" + ciBranch){ + dir(shareDir + "/" + ciBranch){ script{ sh """ oebuild init oebuild_workspace @@ -24,7 +24,7 @@ pipeline { popd oebuild manifest download tar zcf src.tar.gz --exclude="src/yocto-meta-openeuler" src - mv src.tar.gz $SHARE_DIR/$ciBranch/src.tar.gz + mv src.tar.gz $shareDir/$ciBranch/src.tar.gz """ } } diff --git a/bsp/meta-hisilicon/recipes-bsp/ss928/files/S90autorun b/bsp/meta-hisilicon/recipes-bsp/ss928/files/S90autorun deleted file mode 100755 index 67f4b54167fee8f40a025381f00f16670da86a10..0000000000000000000000000000000000000000 --- a/bsp/meta-hisilicon/recipes-bsp/ss928/files/S90autorun +++ /dev/null @@ -1,121 +0,0 @@ -#!/bin/sh - -cp /lib64/ld-linux-aarch64.so.1 /lib/ - -#Before loading the wifi driver, the relevant pins must be set first -#UART5 -bspmm 0x102F0100 0x1204 -bspmm 0x102F0104 0x1204 -bspmm 0x102F0108 0x1204 -bspmm 0x102F010C 0x1204 -#SDIO1 -bspmm 0x102F0054 0x1101 -bspmm 0x102F0050 0x1101 -bspmm 0x102F0040 0x1101 -bspmm 0x102F0044 0x1101 -bspmm 0x102F0048 0x1101 -bspmm 0x102F004C 0x1101 -#GPIO -bspmm 0x10230048 0x1200 -bspmm 0x10230044 0x1200 -bspmm 0x10230040 0x1200 -bspmm 0x1023003C 0x1200 -bspmm 0x102F00F4 0x1201 - -cd /ko - -bash ./load_ss928v100 -i -total 8192 -osmem 4096 - - -echo 47 > /sys/class/gpio/export -echo out >/sys/class/gpio/gpio47/direction -echo 1 > /sys/class/gpio/gpio47/value - -#echo 72 > /sys/class/gpio/export -#echo out >/sys/class/gpio/gpio72/direction -#echo 0 > /sys/class/gpio/gpio72/value - - -bspmm 0x0102F00F0 0x1201 #GPIO9_5 -bspmm 0x0102F0110 0x1201 #GPIO10_5 - - -#SDIO LEVEL TO 3.3v -bspmm 0x102e0010 0x11 - - -#GPIO7_1 GPIO7_2 GPIO6_6 -bspmm 0x0102F0094 0x1201 -bspmm 0x0102F0098 0x1201 -bspmm 0x0102F0088 0x1201 -bspmm 0x0102F0084 0x1201 -bspmm 0x0102F0080 0x1201 - -echo 57 > /sys/class/gpio/export -echo out >/sys/class/gpio/gpio57/direction -echo 1 > /sys/class/gpio/gpio57/value - -echo 58 > /sys/class/gpio/export -echo out >/sys/class/gpio/gpio58/direction -echo 1 > /sys/class/gpio/gpio58/value - -echo 54 > /sys/class/gpio/export -echo out >/sys/class/gpio/gpio54/direction -echo 1 > /sys/class/gpio/gpio54/value - -#GPIO6_2 1-> 928 HDMIout 0->loop hdmiout -echo 50 > /sys/class/gpio/export -echo out >/sys/class/gpio/gpio50/direction -echo 1 > /sys/class/gpio/gpio50/value - -#UART2 MUX -bspmm 0x0102F0070 0x1201 -bspmm 0x0102F0074 0x1201 -bspmm 0x0102F0078 0x1200 #RS232 -bspmm 0x0102F007C 0x1200 #RS232 - -#UART1 MUX -bspmm 0x0102F0060 0x1201 -bspmm 0x0102F0064 0x1201 -bspmm 0x0102F006C 0x1200 #RS232 -bspmm 0x0102F0068 0x1200 #RS232 - -#UART3 MUX -bspmm 0x0102f012c 0x00001201 -bspmm 0x0102f0130 0x00001201 -bspmm 0x0102f00D0 0x00001200 #RS485 - -#UART4 MUX -bspmm 0x0102f0134 0x00001201 -bspmm 0x0102f0138 0x00001201 - -#RTC 生成1秒脉冲 -i2c_write 0 0x64 0xd 0x44 - -#mipi GPIO config -bspmm 0x102f0150 0x1100 -bspmm 0x102f0160 0x1100 - -echo 97 > /sys/class/gpio/export -echo out > /sys/class/gpio/gpio97/direction -echo 1 > /sys/class/gpio/gpio97/value - -echo 101 > /sys/class/gpio/export -echo out > /sys/class/gpio/gpio101/direction -echo 1 > /sys/class/gpio/gpio101/value - -#wait for chip to start and complete -sleep 1 -res=`i2c_read 4 0xd0 0xa9 0xa9 1 1 |grep error` -if [ -z "$res" ]; then - echo "start config rohm" - bash /etc/init.d/rohm_400M.sh > /dev/null - echo "config rohm success" -fi - -echo 46 > /sys/class/gpio/export -echo out >/sys/class/gpio/gpio46/direction -echo 0 > /sys/class/gpio/gpio46/value -echo 'nameserver 8.8.8.8' >> /etc/resolv.conf -# ifconfig eth0 192.168.0.22 netmask 255.255.255.0 -# route -n add default gw 192.168.0.1 diff --git a/bsp/meta-hisilicon/recipes-bsp/ss928/files/hieulerpi1-bsp.service b/bsp/meta-hisilicon/recipes-bsp/ss928/files/hieulerpi1-bsp.service new file mode 100644 index 0000000000000000000000000000000000000000..82f1a634e8502ecdd734a490727947330e2dba35 --- /dev/null +++ b/bsp/meta-hisilicon/recipes-bsp/ss928/files/hieulerpi1-bsp.service @@ -0,0 +1,13 @@ +[Unit] +Description=Init Hieuler1 BSP Drivers/Modules +After=systemd-modules-load.service + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/etc/init.d/S90AutoRun +ExecStart=/etc/init.d/pinmux.sh +TimeoutSec=90s + +[Install] +WantedBy=multi-user.target diff --git a/bsp/meta-hisilicon/recipes-bsp/ss928/files/rohm_400M.sh b/bsp/meta-hisilicon/recipes-bsp/ss928/files/rohm_400M.sh deleted file mode 100644 index 62fda4f8b2a2b47c73e6d677cfe288f219dfaf1b..0000000000000000000000000000000000000000 --- a/bsp/meta-hisilicon/recipes-bsp/ss928/files/rohm_400M.sh +++ /dev/null @@ -1,536 +0,0 @@ -#!/bin/sh -# init SOC mipi rx -pre_vo - -# ROHM RM84 TM41 512M config -i2c_write 4 0xd0 0x0007 0x00 1 1 -i2c_write 4 0xd0 0x000E 0x80 1 1 -usleep 5000 -i2c_write 4 0xd0 0x0005 0x03 1 1 -i2c_write 4 0xd0 0x000F 0x01 1 1 -i2c_write 4 0xd0 0x0010 0x00 1 1 -i2c_write 4 0xd0 0x0011 0x00 1 1 -i2c_write 4 0xd0 0x0012 0x00 1 1 -i2c_write 4 0xd0 0x0013 0x00 1 1 - -i2c_write 4 0xd0 0x0007 0x04 1 1 -i2c_write 4 0xd0 0x040F 0x01 1 1 -i2c_write 4 0xd0 0x0410 0x50 1 1 -i2c_write 4 0xd0 0x0411 0xB6 1 1 -i2c_write 4 0xd0 0x0412 0x00 1 1 -i2c_write 4 0xd0 0x0413 0x00 1 1 -i2c_write 4 0xd0 0x0414 0xD0 1 1 -i2c_write 4 0xd0 0x0415 0xA0 1 1 -i2c_write 4 0xd0 0x0416 0x00 1 1 -i2c_write 4 0xd0 0x0417 0x00 1 1 -i2c_write 4 0xd0 0x0420 0x20 1 1 -i2c_write 4 0xd0 0x0422 0x22 1 1 -i2c_write 4 0xd0 0x0424 0x07 1 1 -i2c_write 4 0xd0 0x0426 0x00 1 1 -i2c_write 4 0xd0 0x0427 0x01 1 1 -i2c_write 4 0xd0 0x0428 0x02 1 1 -i2c_write 4 0xd0 0x0429 0x03 1 1 -i2c_write 4 0xd0 0x042A 0x04 1 1 -i2c_write 4 0xd0 0x0430 0x20 1 1 -i2c_write 4 0xd0 0x0431 0x80 1 1 -i2c_write 4 0xd0 0x0436 0x05 1 1 -i2c_write 4 0xd0 0x043A 0x84 1 1 -i2c_write 4 0xd0 0x043B 0x00 1 1 -i2c_write 4 0xd0 0x043C 0x3A 1 1 -i2c_write 4 0xd0 0x043D 0x08 1 1 - -i2c_write 4 0xd0 0x0007 0x05 1 1 -i2c_write 4 0xd0 0x050F 0x01 1 1 -i2c_write 4 0xd0 0x0510 0x50 1 1 -i2c_write 4 0xd0 0x0511 0xB6 1 1 -i2c_write 4 0xd0 0x0512 0x00 1 1 -i2c_write 4 0xd0 0x0513 0x00 1 1 -i2c_write 4 0xd0 0x0514 0xD1 1 1 -i2c_write 4 0xd0 0x0515 0xA1 1 1 -i2c_write 4 0xd0 0x0516 0x00 1 1 -i2c_write 4 0xd0 0x0517 0x00 1 1 -i2c_write 4 0xd0 0x0520 0x20 1 1 -i2c_write 4 0xd0 0x0522 0x22 1 1 -i2c_write 4 0xd0 0x0524 0x07 1 1 -i2c_write 4 0xd0 0x0526 0x00 1 1 -i2c_write 4 0xd0 0x0527 0x01 1 1 -i2c_write 4 0xd0 0x0528 0x02 1 1 -i2c_write 4 0xd0 0x0529 0x03 1 1 -i2c_write 4 0xd0 0x052A 0x04 1 1 -i2c_write 4 0xd0 0x0530 0x20 1 1 -i2c_write 4 0xd0 0x0531 0x80 1 1 -i2c_write 4 0xd0 0x0536 0x05 1 1 -i2c_write 4 0xd0 0x053A 0x84 1 1 -i2c_write 4 0xd0 0x053B 0x00 1 1 -i2c_write 4 0xd0 0x053C 0x3A 1 1 -i2c_write 4 0xd0 0x053D 0x08 1 1 - -i2c_write 4 0xd0 0x0007 0x06 1 1 -i2c_write 4 0xd0 0x060F 0x01 1 1 -i2c_write 4 0xd0 0x0610 0x50 1 1 -i2c_write 4 0xd0 0x0611 0xB6 1 1 -i2c_write 4 0xd0 0x0612 0x00 1 1 -i2c_write 4 0xd0 0x0613 0x00 1 1 -i2c_write 4 0xd0 0x0614 0xD2 1 1 -i2c_write 4 0xd0 0x0615 0xA2 1 1 -i2c_write 4 0xd0 0x0616 0x00 1 1 -i2c_write 4 0xd0 0x0617 0x00 1 1 -i2c_write 4 0xd0 0x0620 0x20 1 1 -i2c_write 4 0xd0 0x0622 0x22 1 1 -i2c_write 4 0xd0 0x0624 0x07 1 1 -i2c_write 4 0xd0 0x0626 0x00 1 1 -i2c_write 4 0xd0 0x0627 0x01 1 1 -i2c_write 4 0xd0 0x0628 0x02 1 1 -i2c_write 4 0xd0 0x0629 0x03 1 1 -i2c_write 4 0xd0 0x062A 0x04 1 1 -i2c_write 4 0xd0 0x0630 0x20 1 1 -i2c_write 4 0xd0 0x0631 0x80 1 1 -i2c_write 4 0xd0 0x0636 0x06 1 1 -i2c_write 4 0xd0 0x063A 0x84 1 1 -i2c_write 4 0xd0 0x063B 0x00 1 1 -i2c_write 4 0xd0 0x063C 0x3A 1 1 -i2c_write 4 0xd0 0x063D 0x08 1 1 - -i2c_write 4 0xd0 0x0007 0x07 1 1 -i2c_write 4 0xd0 0x070F 0x01 1 1 -i2c_write 4 0xd0 0x0710 0x50 1 1 -i2c_write 4 0xd0 0x0711 0xB6 1 1 -i2c_write 4 0xd0 0x0712 0x00 1 1 -i2c_write 4 0xd0 0x0713 0x00 1 1 -i2c_write 4 0xd0 0x0714 0xD3 1 1 -i2c_write 4 0xd0 0x0715 0xA3 1 1 -i2c_write 4 0xd0 0x0716 0x00 1 1 -i2c_write 4 0xd0 0x0717 0x00 1 1 -i2c_write 4 0xd0 0x0720 0x20 1 1 -i2c_write 4 0xd0 0x0722 0x22 1 1 -i2c_write 4 0xd0 0x0724 0x07 1 1 -i2c_write 4 0xd0 0x0726 0x00 1 1 -i2c_write 4 0xd0 0x0727 0x01 1 1 -i2c_write 4 0xd0 0x0728 0x02 1 1 -i2c_write 4 0xd0 0x0729 0x03 1 1 -i2c_write 4 0xd0 0x072A 0x04 1 1 -i2c_write 4 0xd0 0x0730 0x20 1 1 -i2c_write 4 0xd0 0x0731 0x80 1 1 -i2c_write 4 0xd0 0x0736 0x06 1 1 -i2c_write 4 0xd0 0x073A 0x84 1 1 -i2c_write 4 0xd0 0x073B 0x00 1 1 -i2c_write 4 0xd0 0x073C 0x3A 1 1 -i2c_write 4 0xd0 0x073D 0x08 1 1 - -i2c_write 4 0xd0 0x0007 0x00 1 1 -i2c_write 4 0xd0 0x0018 0x3A 1 1 -i2c_write 4 0xd0 0x0019 0xF0 1 1 -i2c_write 4 0xd0 0x001A 0x00 1 1 -i2c_write 4 0xd0 0x0020 0x38 1 1 -i2c_write 4 0xd0 0x0021 0x32 1 1 -i2c_write 4 0xd0 0x0022 0x38 1 1 -i2c_write 4 0xd0 0x0077 0x00 1 1 -i2c_write 4 0xd0 0x0078 0x00 1 1 -i2c_write 4 0xd0 0x0079 0x00 1 1 -i2c_write 4 0xd0 0x007A 0x00 1 1 -i2c_write 4 0xd0 0x007B 0x00 1 1 -i2c_write 4 0xd0 0x007C 0x00 1 1 -i2c_write 4 0xd0 0x007D 0x00 1 1 -i2c_write 4 0xd0 0x0081 0x06 1 1 - -i2c_write 4 0xd0 0x0007 0x02 1 1 -i2c_write 4 0xd0 0x020F 0x01 1 1 -i2c_write 4 0xd0 0x0214 0x31 1 1 -i2c_write 4 0xd0 0x022E 0x10 1 1 -i2c_write 4 0xd0 0x022F 0x32 1 1 -i2c_write 4 0xd0 0x0236 0x02 1 1 -i2c_write 4 0xd0 0x023F 0x0B 1 1 - - -i2c_write 4 0xd0 0x0007 0x03 1 1 -i2c_write 4 0xd0 0x030F 0x01 1 1 -i2c_write 4 0xd0 0x0314 0xC1 1 1 -i2c_write 4 0xd0 0x032E 0x10 1 1 -i2c_write 4 0xd0 0x032F 0x10 1 1 -i2c_write 4 0xd0 0x0336 0x02 1 1 -i2c_write 4 0xd0 0x033F 0x0B 1 1 - -i2c_write 4 0xa0 0x0005 0x80 1 1 -usleep 5000 -i2c_write 4 0xa0 0x0004 0xA5 1 1 -i2c_write 4 0xa0 0x0020 0x20 1 1 -i2c_write 4 0xa0 0x0010 0x19 1 1 -i2c_write 4 0xa0 0x0015 0x03 1 1 -i2c_write 4 0xa0 0x0016 0x0C 1 1 -i2c_write 4 0xa0 0x0030 0x01 1 1 -i2c_write 4 0xa0 0x0056 0xC8 1 1 -i2c_write 4 0xa0 0x0057 0x03 1 1 -i2c_write 4 0xa0 0x0059 0x00 1 1 -i2c_write 4 0xa0 0x005A 0x06 1 1 -i2c_write 4 0xa0 0x0074 0x00 1 1 -i2c_write 4 0xa0 0x0075 0x00 1 1 -i2c_write 4 0xa0 0x0076 0x00 1 1 -i2c_write 4 0xa0 0x0077 0x00 1 1 -i2c_write 4 0xa0 0x0078 0x00 1 1 -i2c_write 4 0xa0 0x0079 0x00 1 1 -i2c_write 4 0xa0 0x007A 0x00 1 1 -i2c_write 4 0xa0 0x00A0 0x07 1 1 -i2c_write 4 0xa0 0x00A1 0x00 1 1 -i2c_write 4 0xa0 0x0060 0x55 1 1 -i2c_write 4 0xa0 0x0061 0x55 1 1 -i2c_write 4 0xa0 0x0062 0x85 1 1 -i2c_write 4 0xa0 0x0063 0x82 1 1 -usleep 5000 -i2c_write 4 0xa0 0x0063 0x02 1 1 -i2c_write 4 0xa0 0x0026 0x85 1 1 -usleep 5000 -i2c_write 4 0xa0 0x002A 0x11 1 1 -usleep 5000 - -i2c_write 4 0xa2 0x0005 0x80 1 1 -usleep 5000 -i2c_write 4 0xa2 0x0004 0xA5 1 1 -i2c_write 4 0xa2 0x0020 0x20 1 1 -i2c_write 4 0xa2 0x0010 0x19 1 1 -i2c_write 4 0xa2 0x0015 0x03 1 1 -i2c_write 4 0xa2 0x0016 0x0C 1 1 -i2c_write 4 0xa2 0x0030 0x01 1 1 -i2c_write 4 0xa2 0x0056 0xC8 1 1 -i2c_write 4 0xa2 0x0057 0x03 1 1 -i2c_write 4 0xa2 0x0059 0x00 1 1 -i2c_write 4 0xa2 0x005A 0x06 1 1 -i2c_write 4 0xa2 0x0074 0x00 1 1 -i2c_write 4 0xa2 0x0075 0x00 1 1 -i2c_write 4 0xa2 0x0076 0x00 1 1 -i2c_write 4 0xa2 0x0077 0x00 1 1 -i2c_write 4 0xa2 0x0078 0x00 1 1 -i2c_write 4 0xa2 0x0079 0x00 1 1 -i2c_write 4 0xa2 0x007A 0x00 1 1 -i2c_write 4 0xa2 0x00A0 0x07 1 1 -i2c_write 4 0xa2 0x00A1 0x00 1 1 -i2c_write 4 0xa2 0x0060 0x55 1 1 -i2c_write 4 0xa2 0x0061 0x55 1 1 -i2c_write 4 0xa2 0x0062 0x85 1 1 -i2c_write 4 0xa2 0x0063 0x82 1 1 -usleep 5000 -i2c_write 4 0xa2 0x0063 0x02 1 1 -i2c_write 4 0xa2 0x0026 0x85 1 1 -usleep 5000 -i2c_write 4 0xa2 0x002A 0x11 1 1 -usleep 5000 - -i2c_write 4 0xa4 0x0005 0x80 1 1 -usleep 5000 -i2c_write 4 0xa4 0x0004 0xA5 1 1 -i2c_write 4 0xa4 0x0020 0x20 1 1 -i2c_write 4 0xa4 0x0010 0x19 1 1 -i2c_write 4 0xa4 0x0015 0x03 1 1 -i2c_write 4 0xa4 0x0016 0x0C 1 1 -i2c_write 4 0xa4 0x0030 0x01 1 1 -i2c_write 4 0xa4 0x0056 0xC8 1 1 -i2c_write 4 0xa4 0x0057 0x03 1 1 -i2c_write 4 0xa4 0x0059 0x00 1 1 -i2c_write 4 0xa4 0x005A 0x06 1 1 -i2c_write 4 0xa4 0x0074 0x00 1 1 -i2c_write 4 0xa4 0x0075 0x00 1 1 -i2c_write 4 0xa4 0x0076 0x00 1 1 -i2c_write 4 0xa4 0x0077 0x00 1 1 -i2c_write 4 0xa4 0x0078 0x00 1 1 -i2c_write 4 0xa4 0x0079 0x00 1 1 -i2c_write 4 0xa4 0x007A 0x00 1 1 -i2c_write 4 0xa4 0x00A0 0x07 1 1 -i2c_write 4 0xa4 0x00A1 0x00 1 1 -i2c_write 4 0xa4 0x0060 0x55 1 1 -i2c_write 4 0xa4 0x0061 0x55 1 1 -i2c_write 4 0xa4 0x0062 0x85 1 1 -i2c_write 4 0xa4 0x0063 0x82 1 1 -usleep 5000 -i2c_write 4 0xa4 0x0063 0x02 1 1 -i2c_write 4 0xa4 0x0026 0x85 1 1 -usleep 5000 -i2c_write 4 0xa4 0x002A 0x11 1 1 -usleep 5000 - -i2c_write 4 0xa6 0x0005 0x80 1 1 -usleep 5000 -i2c_write 4 0xa6 0x0004 0xA5 1 1 -i2c_write 4 0xa6 0x0020 0x20 1 1 -i2c_write 4 0xa6 0x0010 0x19 1 1 -i2c_write 4 0xa6 0x0015 0x03 1 1 -i2c_write 4 0xa6 0x0016 0x0C 1 1 -i2c_write 4 0xa6 0x0030 0x01 1 1 -i2c_write 4 0xa6 0x0056 0xC8 1 1 -i2c_write 4 0xa6 0x0057 0x03 1 1 -i2c_write 4 0xa6 0x0059 0x00 1 1 -i2c_write 4 0xa6 0x005A 0x06 1 1 -i2c_write 4 0xa6 0x0074 0x00 1 1 -i2c_write 4 0xa6 0x0075 0x00 1 1 -i2c_write 4 0xa6 0x0076 0x00 1 1 -i2c_write 4 0xa6 0x0077 0x00 1 1 -i2c_write 4 0xa6 0x0078 0x00 1 1 -i2c_write 4 0xa6 0x0079 0x00 1 1 -i2c_write 4 0xa6 0x007A 0x00 1 1 -i2c_write 4 0xa6 0x00A0 0x07 1 1 -i2c_write 4 0xa6 0x00A1 0x00 1 1 -i2c_write 4 0xa6 0x0060 0x55 1 1 -i2c_write 4 0xa6 0x0061 0x55 1 1 -i2c_write 4 0xa6 0x0062 0x85 1 1 -i2c_write 4 0xa6 0x0063 0x82 1 1 -usleep 5000 -i2c_write 4 0xa6 0x0063 0x02 1 1 -i2c_write 4 0xa6 0x0026 0x85 1 1 -usleep 5000 -i2c_write 4 0xa6 0x002A 0x11 1 1 -usleep 5000 - -i2c_write 4 0xd0 0x0007 0x04 1 1 -i2c_write 4 0xd0 0x0425 0xFF 1 1 -i2c_write 4 0xd0 0x0423 0x0C 1 1 -i2c_write 4 0xd0 0x0418 0x01 1 1 -i2c_write 4 0xd0 0x0007 0x05 1 1 -i2c_write 4 0xd0 0x0525 0xFF 1 1 -i2c_write 4 0xd0 0x0523 0x0C 1 1 -i2c_write 4 0xd0 0x0518 0x01 1 1 -i2c_write 4 0xd0 0x0007 0x06 1 1 -i2c_write 4 0xd0 0x0625 0xFF 1 1 -i2c_write 4 0xd0 0x0623 0x0C 1 1 -i2c_write 4 0xd0 0x0618 0x01 1 1 -i2c_write 4 0xd0 0x0007 0x07 1 1 -i2c_write 4 0xd0 0x0725 0xFF 1 1 -i2c_write 4 0xd0 0x0723 0x0C 1 1 -i2c_write 4 0xd0 0x0718 0x01 1 1 - -i2c_write 4 0xa0 0x002E 0x94 1 1 -i2c_write 4 0xa0 0x002F 0x02 1 1 -i2c_write 4 0xa0 0x0031 0xE3 1 1 -i2c_write 4 0xa0 0x0032 0xD5 1 1 -i2c_write 4 0xa0 0x0034 0xCF 1 1 -i2c_write 4 0xa0 0x0035 0xC1 1 1 -i2c_write 4 0xa0 0x0037 0xC2 1 1 -i2c_write 4 0xa0 0x0038 0xB4 1 1 -i2c_write 4 0xa0 0x003A 0xD4 1 1 -i2c_write 4 0xa0 0x003B 0xC6 1 1 -i2c_write 4 0xa0 0x003D 0xC2 1 1 -i2c_write 4 0xa0 0x003E 0xB4 1 1 -i2c_write 4 0xa0 0x0030 0x1F 1 1 -i2c_write 4 0xa2 0x002E 0x94 1 1 -i2c_write 4 0xa2 0x002F 0x02 1 1 -i2c_write 4 0xa2 0x0031 0xE3 1 1 -i2c_write 4 0xa2 0x0032 0xD5 1 1 -i2c_write 4 0xa2 0x0034 0xCF 1 1 -i2c_write 4 0xa2 0x0035 0xC1 1 1 -i2c_write 4 0xa2 0x0037 0xC2 1 1 -i2c_write 4 0xa2 0x0038 0xB4 1 1 -i2c_write 4 0xa2 0x003A 0xD4 1 1 -i2c_write 4 0xa2 0x003B 0xC6 1 1 -i2c_write 4 0xa2 0x003D 0xC2 1 1 -i2c_write 4 0xa2 0x003E 0xB4 1 1 -i2c_write 4 0xa2 0x0030 0x1F 1 1 -i2c_write 4 0xa4 0x002E 0x94 1 1 -i2c_write 4 0xa4 0x002F 0x02 1 1 -i2c_write 4 0xa4 0x0031 0xE3 1 1 -i2c_write 4 0xa4 0x0032 0xD5 1 1 -i2c_write 4 0xa4 0x0034 0xCF 1 1 -i2c_write 4 0xa4 0x0035 0xC1 1 1 -i2c_write 4 0xa4 0x0037 0xC2 1 1 -i2c_write 4 0xa4 0x0038 0xB4 1 1 -i2c_write 4 0xa4 0x003A 0xD4 1 1 -i2c_write 4 0xa4 0x003B 0xC6 1 1 -i2c_write 4 0xa4 0x003D 0xC2 1 1 -i2c_write 4 0xa4 0x003E 0xB4 1 1 -i2c_write 4 0xa4 0x0030 0x1F 1 1 -i2c_write 4 0xa6 0x002E 0x94 1 1 -i2c_write 4 0xa6 0x002F 0x02 1 1 -i2c_write 4 0xa6 0x0031 0xE3 1 1 -i2c_write 4 0xa6 0x0032 0xD5 1 1 -i2c_write 4 0xa6 0x0034 0xCF 1 1 -i2c_write 4 0xa6 0x0035 0xC1 1 1 -i2c_write 4 0xa6 0x0037 0xC2 1 1 -i2c_write 4 0xa6 0x0038 0xB4 1 1 -i2c_write 4 0xa6 0x003A 0xD4 1 1 -i2c_write 4 0xa6 0x003B 0xC6 1 1 -i2c_write 4 0xa6 0x003D 0xC2 1 1 -i2c_write 4 0xa6 0x003E 0xB4 1 1 -i2c_write 4 0xa6 0x0030 0x1F 1 1 - -i2c_write 4 0xd0 0x0007 0x00 1 1 -i2c_write 4 0xd0 0x002B 0xE3 1 1 -i2c_write 4 0xd0 0x002C 0xD5 1 1 -i2c_write 4 0xd0 0x002F 0x9C 1 1 -i2c_write 4 0xd0 0x0030 0x82 1 1 -i2c_write 4 0xd0 0x0033 0xD4 1 1 -i2c_write 4 0xd0 0x0034 0xC6 1 1 -i2c_write 4 0xd0 0x0039 0xD4 1 1 -i2c_write 4 0xd0 0x003A 0xC6 1 1 -i2c_write 4 0xd0 0x003F 0xD4 1 1 -i2c_write 4 0xd0 0x0040 0xC6 1 1 -i2c_write 4 0xd0 0x0045 0xD4 1 1 -i2c_write 4 0xd0 0x0046 0xC6 1 1 -i2c_write 4 0xd0 0x004B 0xE3 1 1 -i2c_write 4 0xd0 0x004C 0xD5 1 1 -i2c_write 4 0xd0 0x004F 0xE3 1 1 -i2c_write 4 0xd0 0x0050 0xD5 1 1 -i2c_write 4 0xd0 0x002A 0xF1 1 1 -i2c_write 4 0xd0 0x002E 0xF1 1 1 -i2c_write 4 0xd0 0x0032 0xF9 1 1 -i2c_write 4 0xd0 0x0038 0xF9 1 1 -i2c_write 4 0xd0 0x003E 0xF9 1 1 -i2c_write 4 0xd0 0x0044 0xF9 1 1 -i2c_write 4 0xd0 0x004A 0xFD 1 1 -i2c_write 4 0xd0 0x004E 0xFD 1 1 - -i2c_write 4 0xa0 0x004E 0x00 1 1 -i2c_write 4 0xa0 0x004F 0x11 1 1 -i2c_write 4 0xa0 0x0050 0x22 1 1 -i2c_write 4 0xa0 0x0051 0x33 1 1 -i2c_write 4 0xa0 0x0052 0x44 1 1 -i2c_write 4 0xa0 0x0046 0x00 1 1 -i2c_write 4 0xa0 0x0047 0x20 1 1 -i2c_write 4 0xa0 0x0048 0x00 1 1 -i2c_write 4 0xa0 0x0049 0x00 1 1 -i2c_write 4 0xa0 0x004A 0x00 1 1 -i2c_write 4 0xa2 0x004E 0x00 1 1 -i2c_write 4 0xa2 0x004F 0x11 1 1 -i2c_write 4 0xa2 0x0050 0x22 1 1 -i2c_write 4 0xa2 0x0051 0x33 1 1 -i2c_write 4 0xa2 0x0052 0x44 1 1 -i2c_write 4 0xa2 0x0046 0x00 1 1 -i2c_write 4 0xa2 0x0047 0x20 1 1 -i2c_write 4 0xa2 0x0048 0x00 1 1 -i2c_write 4 0xa2 0x0049 0x00 1 1 -i2c_write 4 0xa2 0x004A 0x00 1 1 -i2c_write 4 0xa4 0x004E 0x00 1 1 -i2c_write 4 0xa4 0x004F 0x11 1 1 -i2c_write 4 0xa4 0x0050 0x22 1 1 -i2c_write 4 0xa4 0x0051 0x33 1 1 -i2c_write 4 0xa4 0x0052 0x44 1 1 -i2c_write 4 0xa4 0x0046 0x00 1 1 -i2c_write 4 0xa4 0x0047 0x20 1 1 -i2c_write 4 0xa4 0x0048 0x00 1 1 -i2c_write 4 0xa4 0x0049 0x00 1 1 -i2c_write 4 0xa4 0x004A 0x00 1 1 -i2c_write 4 0xa6 0x004E 0x00 1 1 -i2c_write 4 0xa6 0x004F 0x11 1 1 -i2c_write 4 0xa6 0x0050 0x22 1 1 -i2c_write 4 0xa6 0x0051 0x33 1 1 -i2c_write 4 0xa6 0x0052 0x44 1 1 -i2c_write 4 0xa6 0x0046 0x00 1 1 -i2c_write 4 0xa6 0x0047 0x20 1 1 -i2c_write 4 0xa6 0x0048 0x00 1 1 -i2c_write 4 0xa6 0x0049 0x00 1 1 -i2c_write 4 0xa6 0x004A 0x00 1 1 - -i2c_write 4 0xd0 0x0007 0x00 1 1 -i2c_write 4 0xd0 0x0055 0x02 1 1 -i2c_write 4 0xd0 0x0056 0x00 1 1 -i2c_write 4 0xd0 0x0058 0x05 1 1 -i2c_write 4 0xd0 0x0059 0x00 1 1 -i2c_write 4 0xd0 0x005B 0x00 1 1 -i2c_write 4 0xd0 0x005C 0x00 1 1 -i2c_write 4 0xd0 0x005E 0x00 1 1 -i2c_write 4 0xd0 0x005F 0x00 1 1 -i2c_write 4 0xd0 0x0061 0x00 1 1 -i2c_write 4 0xd0 0x0062 0x00 1 1 -i2c_write 4 0xd0 0x0064 0x00 1 1 -i2c_write 4 0xd0 0x0065 0x00 1 1 -i2c_write 4 0xd0 0x0067 0x00 1 1 -i2c_write 4 0xd0 0x0068 0x00 1 1 -i2c_write 4 0xd0 0x006A 0x00 1 1 -i2c_write 4 0xd0 0x006B 0x00 1 1 -i2c_write 4 0xd0 0x0054 0x08 1 1 -i2c_write 4 0xd0 0x0057 0x18 1 1 -i2c_write 4 0xd0 0x005A 0x18 1 1 -i2c_write 4 0xd0 0x005D 0x18 1 1 -i2c_write 4 0xd0 0x0060 0x18 1 1 -i2c_write 4 0xd0 0x0063 0x18 1 1 -i2c_write 4 0xd0 0x0066 0x18 1 1 -i2c_write 4 0xd0 0x0069 0x18 1 1 - -i2c_write 4 0xa0 0x0043 0x01 1 1 -i2c_write 4 0xa0 0x0044 0x01 1 1 -i2c_write 4 0xa0 0x00A3 0x03 1 1 -i2c_write 4 0xa2 0x0043 0x01 1 1 -i2c_write 4 0xa2 0x0044 0x01 1 1 -i2c_write 4 0xa2 0x00A3 0x03 1 1 -i2c_write 4 0xa4 0x0043 0x01 1 1 -i2c_write 4 0xa4 0x0044 0x01 1 1 -i2c_write 4 0xa4 0x00A3 0x03 1 1 -i2c_write 4 0xa6 0x0043 0x01 1 1 -i2c_write 4 0xa6 0x0044 0x01 1 1 -i2c_write 4 0xa6 0x00A3 0x03 1 1 - -i2c_write 4 0xd0 0x0007 0x04 1 1 -i2c_write 4 0xd0 0x041F 0x0D 1 1 -i2c_write 4 0xd0 0x0007 0x05 1 1 -i2c_write 4 0xd0 0x051F 0x0D 1 1 -i2c_write 4 0xd0 0x0007 0x06 1 1 -i2c_write 4 0xd0 0x061F 0x0D 1 1 -i2c_write 4 0xd0 0x0007 0x07 1 1 -i2c_write 4 0xd0 0x071F 0x0D 1 1 -i2c_write 4 0xd0 0x0007 0x02 1 1 -i2c_write 4 0xd0 0x024A 0x40 1 1 -usleep 5000 -i2c_write 4 0xd0 0x0007 0x03 1 1 -i2c_write 4 0xd0 0x034A 0x40 1 1 -usleep 5000 - -i2c_write 4 0xa0 0x0097 0x42 1 1 -i2c_write 4 0xa2 0x0097 0x42 1 1 -i2c_write 4 0xa4 0x0097 0x42 1 1 -i2c_write 4 0xa6 0x0097 0x42 1 1 - -i2c_write 4 0xd0 0x0007 0x02 1 1 -i2c_write 4 0xd0 0x0230 0x40 1 1 -i2c_write 4 0xd0 0x0007 0x03 1 1 -i2c_write 4 0xd0 0x0330 0x40 1 1 -i2c_write 4 0xd0 0x0007 0x04 1 1 -i2c_write 4 0xd0 0x0436 0x25 1 1 -i2c_write 4 0xd0 0x0007 0x05 1 1 -i2c_write 4 0xd0 0x0536 0x25 1 1 -i2c_write 4 0xd0 0x0007 0x06 1 1 -i2c_write 4 0xd0 0x0636 0x26 1 1 -i2c_write 4 0xd0 0x0007 0x07 1 1 -i2c_write 4 0xd0 0x0736 0x26 1 1 -i2c_write 4 0xd0 0x0007 0x00 1 1 -i2c_write 4 0xd0 0x00E0 0x01 1 1 -i2c_write 4 0xd0 0x0007 0x00 1 1 - -i2c_write 4 0xd0 0x0007 0x00 1 1 -i2c_write 4 0xd0 0x0082 0x1F 1 1 -i2c_write 4 0xd0 0x0083 0x1F 1 1 -i2c_write 4 0xd0 0x0084 0x1F 1 1 -i2c_write 4 0xd0 0x0085 0x1F 1 1 -i2c_write 4 0xd0 0x0086 0x22 1 1 -i2c_write 4 0xd0 0x0087 0x22 1 1 -i2c_write 4 0xd0 0x0088 0x0F 1 1 -i2c_write 4 0xd0 0x0089 0x0F 1 1 -i2c_write 4 0xd0 0x008A 0xF3 1 1 -i2c_write 4 0xd0 0x008B 0xF3 1 1 -i2c_write 4 0xd0 0x008C 0xF3 1 1 -i2c_write 4 0xd0 0x008D 0xF3 1 1 -i2c_write 4 0xd0 0x008E 0xC2 1 1 -i2c_write 4 0xd0 0x008F 0xC2 1 1 -i2c_write 4 0xd0 0x0090 0xC2 1 1 -i2c_write 4 0xd0 0x0091 0xC2 1 1 -i2c_write 4 0xd0 0x0092 0xFF 1 1 -i2c_write 4 0xd0 0x0093 0x82 1 1 -i2c_write 4 0xd0 0x0094 0x03 1 1 -i2c_write 4 0xd0 0x0095 0x03 1 1 -i2c_write 4 0xd0 0x0096 0xDB 1 1 -i2c_write 4 0xd0 0x0097 0x83 1 1 -i2c_write 4 0xd0 0x0098 0x83 1 1 -i2c_write 4 0xd0 0x0099 0x83 1 1 -i2c_write 4 0xd0 0x009A 0x83 1 1 -i2c_write 4 0xd0 0x009B 0x83 1 1 -i2c_write 4 0xd0 0x009C 0x83 1 1 -i2c_write 4 0xd0 0x009D 0x00 1 1 -i2c_write 4 0xd0 0x009E 0xFD 1 1 -i2c_write 4 0xd0 0x009F 0x04 1 1 -i2c_write 4 0xd0 0x00A0 0x00 1 1 -i2c_write 4 0xd0 0x00A1 0xFD 1 1 -i2c_write 4 0xd0 0x00A2 0x04 1 1 -i2c_write 4 0xd0 0x00A3 0x00 1 1 -i2c_write 4 0xd0 0x00A4 0xFD 1 1 -i2c_write 4 0xd0 0x00A5 0x04 1 1 -i2c_write 4 0xd0 0x00A6 0x00 1 1 -i2c_write 4 0xd0 0x00A7 0xFD 1 1 - -i2c_write 4 0xa0 0x0048 0x91 1 1 -i2c_write 4 0xa2 0x0048 0x91 1 1 -i2c_write 4 0xa4 0x0048 0x91 1 1 -i2c_write 4 0xa6 0x0048 0x91 1 1 diff --git a/bsp/meta-hisilicon/recipes-bsp/ss928/hieulerpi1-bsp-pkg.bb b/bsp/meta-hisilicon/recipes-bsp/ss928/hieulerpi1-bsp-pkg.bb index f59945e80d67b1755ed10f51d32d3337ef7b9649..7dfb7ca4c41595bd15a298850d6fd148a88a7b3d 100644 --- a/bsp/meta-hisilicon/recipes-bsp/ss928/hieulerpi1-bsp-pkg.bb +++ b/bsp/meta-hisilicon/recipes-bsp/ss928/hieulerpi1-bsp-pkg.bb @@ -17,62 +17,68 @@ SRC_URI = " \ file://HiEuler-driver/drivers/pinmux.sh \ file://HiEuler-driver/drivers/env.tar.gz \ file://HiEuler-driver/drivers/can-tools.tar.gz \ - file://HiEuler-driver/drivers/ws73.tar.gz \ + file://HiEuler-driver/drivers/ws73.tar.gz \ file://HiEuler-driver/mcu \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' file://hieulerpi1-bsp.service ', '', d)} \ " S = "${WORKDIR}/HiEuler-driver/drivers" INSANE_SKIP:${PN} += "already-stripped" -FILES:${PN} = "${sysconfdir} /usr/bin /ko /vendor /usr/sbin /firmware ${libdir}" +FILES:${PN} = "${sysconfdir} ${systemd_system_unitdir} /usr/bin /ko /vendor /usr/sbin /firmware ${libdir}" do_install () { - install -d ${D}/usr/bin - install -d ${D}${libdir} - install -d ${D}/firmware - install -d ${D}${sysconfdir}/init.d - install -d ${D}${sysconfdir}/rc5.d - - install -m 0755 ${WORKDIR}/HiEuler-driver/drivers/btools ${D}/usr/bin/ - ln -s /usr/bin/btools ${D}/usr/bin/bspmm - ln -s /usr/bin/btools ${D}/usr/bin/i2c_read - ln -s /usr/bin/btools ${D}/usr/bin/i2c_write - install -m 0755 ${WORKDIR}/ko-extra/pre_vo ${D}/usr/bin/ - - cp -r ${WORKDIR}/ko ${D}/ - cp -f ${WORKDIR}/ko-extra/ch343.ko ${D}/ko - - #for mipi, use load_ss928v100 from ko-extra - cp -f ${WORKDIR}/ko-extra/load_ss928v100 ${D}/ko - - # install wifi-1102a firmware - # cp -f ${WORKDIR}/wifi-1102a-tools/plat.ko ${D}/ko - # cp -f ${WORKDIR}/wifi-1102a-tools/wifi.ko ${D}/ko - # install -m 0755 ${WORKDIR}/wifi-1102a-tools/start_wifi ${D}/usr/bin/ - # install -d ${D}/vendor - # cp -rf ${WORKDIR}/wifi-1102a-tools/vendor/* ${D}/vendor - - install -m 0755 ${S}/S90AutoRun ${D}${sysconfdir}/init.d/ - install -m 0755 ${S}/pinmux.sh ${D}${sysconfdir}/init.d/ + install -d ${D}/usr/bin + install -d ${D}${libdir} + install -d ${D}/firmware + install -d ${D}${sysconfdir}/init.d + install -d ${D}${sysconfdir}/rc5.d + + install -m 0755 ${WORKDIR}/HiEuler-driver/drivers/btools ${D}/usr/bin/ + ln -s /usr/bin/btools ${D}/usr/bin/bspmm + ln -s /usr/bin/btools ${D}/usr/bin/i2c_read + ln -s /usr/bin/btools ${D}/usr/bin/i2c_write + install -m 0755 ${WORKDIR}/ko-extra/pre_vo ${D}/usr/bin/ + + cp -r ${WORKDIR}/ko ${D}/ + cp -f ${WORKDIR}/ko-extra/ch343.ko ${D}/ko + + #for mipi, use load_ss928v100 from ko-extra + cp -f ${WORKDIR}/ko-extra/load_ss928v100 ${D}/ko + + # install wifi-1102a firmware + # cp -f ${WORKDIR}/wifi-1102a-tools/plat.ko ${D}/ko + # cp -f ${WORKDIR}/wifi-1102a-tools/wifi.ko ${D}/ko + # install -m 0755 ${WORKDIR}/wifi-1102a-tools/start_wifi ${D}/usr/bin/ + # install -d ${D}/vendor + # cp -rf ${WORKDIR}/wifi-1102a-tools/vendor/* ${D}/vendor + + install -m 0755 ${S}/S90AutoRun ${D}${sysconfdir}/init.d/ + install -m 0755 ${S}/pinmux.sh ${D}${sysconfdir}/init.d/ + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/hieulerpi1-bsp.service ${D}${systemd_system_unitdir} + else update-rc.d -r ${D} S90AutoRun start 90 5 . update-rc.d -r ${D} pinmux.sh start 90 5 . + fi - install -m 0755 ${WORKDIR}/env/fw_env.config ${D}/etc/ - install -m 0755 ${WORKDIR}/env/fw_printenv ${D}/usr/bin/ - install -m 0755 ${WORKDIR}/env/fw_setenv ${D}/usr/bin/ + install -m 0755 ${WORKDIR}/env/fw_env.config ${D}/etc/ + install -m 0755 ${WORKDIR}/env/fw_printenv ${D}/usr/bin/ + install -m 0755 ${WORKDIR}/env/fw_setenv ${D}/usr/bin/ - cp -r ${WORKDIR}/can-tools/canutils/sbin ${D}/usr/ - cp -r ${WORKDIR}/can-tools/canutils/bin/* ${D}/usr/bin/ - cp -r ${WORKDIR}/can-tools/libsocketcan/lib/* ${D}${libdir} + cp -r ${WORKDIR}/can-tools/canutils/sbin ${D}/usr/ + cp -r ${WORKDIR}/can-tools/canutils/bin/* ${D}/usr/bin/ + cp -r ${WORKDIR}/can-tools/libsocketcan/lib/* ${D}${libdir} - install -m 0755 ${WORKDIR}/HiEuler-driver/mcu/load_riscv ${D}/usr/sbin - install -m 0755 ${WORKDIR}/HiEuler-driver/mcu/virt-tty ${D}/usr/sbin - install -m 0755 ${WORKDIR}/HiEuler-driver/mcu/LiteOS.bin ${D}/firmware + install -m 0755 ${WORKDIR}/HiEuler-driver/mcu/load_riscv ${D}/usr/sbin + install -m 0755 ${WORKDIR}/HiEuler-driver/mcu/virt-tty ${D}/usr/sbin + install -m 0755 ${WORKDIR}/HiEuler-driver/mcu/LiteOS.bin ${D}/firmware - install -d ${D}${sysconfdir}/ws73 - cp ${WORKDIR}/ws73/firmware/* ${D}${sysconfdir}/ws73/ - cp ${WORKDIR}/ws73/ko/* ${D}/ko/ - cp ${WORKDIR}/ws73/config/* ${D}${sysconfdir}/ + install -d ${D}${sysconfdir}/ws73 + cp ${WORKDIR}/ws73/firmware/* ${D}${sysconfdir}/ws73/ + cp ${WORKDIR}/ws73/ko/* ${D}/ko/ + cp ${WORKDIR}/ws73/config/* ${D}${sysconfdir}/ } INHIBIT_PACKAGE_STRIP = "1" diff --git a/bsp/meta-hisilicon/recipes-bsp/u-boot/u-boot-emmc_2022.07.bb b/bsp/meta-hisilicon/recipes-bsp/u-boot/u-boot-emmc_2022.07.bb index 6e68cc45579cc700fafa87894a4cea8eb459df95..83337e7f77f278a6572e6a70bc7e8546dd51989b 100644 --- a/bsp/meta-hisilicon/recipes-bsp/u-boot/u-boot-emmc_2022.07.bb +++ b/bsp/meta-hisilicon/recipes-bsp/u-boot/u-boot-emmc_2022.07.bb @@ -14,6 +14,7 @@ SRC_URI = " \ file://mpu_solution/src/real_time/baremetal/common/hi309x_baremetal.h \ file://mpu_solution/build/build_sign \ file://mpu_solution/build/version_5.10 \ + file://mpu_solution/src/patches/uboot/uboot-mtd-spi.patch \ " S = "${WORKDIR}/mpu_solution/open_source/u-boot/u-boot" diff --git a/bsp/meta-hisilicon/recipes-core/device_sample/device-sample_0.0.0.bb b/bsp/meta-hisilicon/recipes-core/device_sample/device-sample_0.0.0.bb index 50b10ec4cec97d13728f2270a22c3c6337fe62de..664554e3bda6378ad06653fd170d5dc458c89b0b 100755 --- a/bsp/meta-hisilicon/recipes-core/device_sample/device-sample_0.0.0.bb +++ b/bsp/meta-hisilicon/recipes-core/device_sample/device-sample_0.0.0.bb @@ -24,6 +24,15 @@ do_compile:prepend () { cp -r -P ${WORKDIR}/include ${S}/externed_device_sample/mpp/out/ } +TARGET_CC_ARCH += "${LDFLAGS}" +# Makefile does not support the use of the CC environment variable, +# so use make CC="${CC}" +EXTRA_OEMAKE += 'CC="${CC}"' + +# workaround to fix error: +# `undefined reference to `vtable for __cxxabiv1::__class_type_info'` +LDFLAGS:remove = "-Wl,--as-needed" + do_compile () { pushd externed_device_sample oe_runmake diff --git a/bsp/meta-hisilicon/recipes-kernel/linux/files/dtbs/hi3093.dts b/bsp/meta-hisilicon/recipes-kernel/linux/files/dtbs/hi3093.dts index a5e2950e2db4ac624f28d61e9ec5024fb2a0cea1..3d0d12b9f46d1d76482ac76dde2720d250e86263 100644 --- a/bsp/meta-hisilicon/recipes-kernel/linux/files/dtbs/hi3093.dts +++ b/bsp/meta-hisilicon/recipes-kernel/linux/files/dtbs/hi3093.dts @@ -290,44 +290,163 @@ <0x0 153 0x4>; }; - i2c@2000d000 { - compatible = "hisilicon,hi1711-i2c"; - reg = <0x0 0x08707000 0x0 0x1000>, - <0x0 0x08708000 0x0 0x1000>, - <0x0 0x08709000 0x0 0x1000>, - <0x0 0x0870a000 0x0 0x1000>, - <0x0 0x0870b000 0x0 0x1000>, - <0x0 0x0870c000 0x0 0x1000>, - <0x0 0x0870d000 0x0 0x1000>, - <0x0 0x0870e000 0x0 0x1000>, - <0x0 0x08750000 0x0 0x1000>, - <0x0 0x08751000 0x0 0x1000>, - <0x0 0x08752000 0x0 0x1000>, - <0x0 0x08753000 0x0 0x1000>, - <0x0 0x08754000 0x0 0x1000>, - <0x0 0x08755000 0x0 0x1000>, - <0x0 0x08756000 0x0 0x1000>, - <0x0 0x08757000 0x0 0x1000>, - <0x0 0x08745000 0x0 0x1000>, - <0x0 0x0876e000 0x0 0x1000>;/*0-15 i2creg ,16 ioconfig-T,17 ioconfig-R*/ - interrupts = <0x0 72 0x4>, - <0x0 73 0x4>, - <0x0 74 0x4>, - <0x0 75 0x4>, - <0x0 76 0x4>, - <0x0 77 0x4>, - <0x0 78 0x4>, - <0x0 79 0x4>, - <0x0 80 0x4>, - <0x0 81 0x4>, - <0x0 82 0x4>, - <0x0 83 0x4>, - <0x0 84 0x4>, - <0x0 85 0x4>, - <0x0 86 0x4>, - <0x0 87 0x4>;/*0-15*/ + i2c_bus0: i2c@8707000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08707000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 72 0x4>; + }; + + i2c_bus1: i2c@8708000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08708000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 73 0x4>; + }; + + i2c_bus2: i2c@8709000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08709000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 74 0x4>; }; + i2c_bus3: i2c@870a000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870a000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 75 0x4>; + }; + + i2c_bus4: i2c@870b000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870b000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 76 0x4>; + }; + + i2c_bus5: i2c@870c000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870c000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 77 0x4>; + }; + + i2c_bus6: i2c@870d000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870d000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 78 0x4>; + }; + + i2c_bus7: i2c@870e000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870e000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 79 0x4>; + }; + + i2c_bus8: i2c@8750000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08750000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 80 0x4>; + }; + + i2c_bus9: i2c@8751000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08751000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 81 0x4>; + }; + + i2c_bus10: i2c@8752000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08752000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 82 0x4>; + }; + + i2c_bus11: i2c@8753000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08753000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 83 0x4>; + }; + + i2c_bus12: i2c@8754000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08754000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 84 0x4>; + }; + + i2c_bus13: i2c@8755000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08755000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 85 0x4>; + }; + + i2c_bus14: i2c@8756000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08756000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 86 0x4>; + }; + + i2c_bus15: i2c@8757000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08757000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 87 0x4>; + }; + + /* + * The i2c@2000d000 node is used to implement the method in the src/non_real_time/drivers/i2c directory. + * This method does not use the Linux kernel framework. + * If you need to use this driver, delete i2c_bus0 to i2c_bus15 and use the i2c@2000d000 node. + */ + /* + * i2c@2000d000 { + * compatible = "hisilicon,hi1711-i2c"; + * reg = <0x0 0x08707000 0x0 0x1000>, + * <0x0 0x08708000 0x0 0x1000>, + * <0x0 0x08709000 0x0 0x1000>, + * <0x0 0x0870a000 0x0 0x1000>, + * <0x0 0x0870b000 0x0 0x1000>, + * <0x0 0x0870c000 0x0 0x1000>, + * <0x0 0x0870d000 0x0 0x1000>, + * <0x0 0x0870e000 0x0 0x1000>, + * <0x0 0x08750000 0x0 0x1000>, + * <0x0 0x08751000 0x0 0x1000>, + * <0x0 0x08752000 0x0 0x1000>, + * <0x0 0x08753000 0x0 0x1000>, + * <0x0 0x08754000 0x0 0x1000>, + * <0x0 0x08755000 0x0 0x1000>, + * <0x0 0x08756000 0x0 0x1000>, + * <0x0 0x08757000 0x0 0x1000>, + * <0x0 0x08745000 0x0 0x1000>, + * <0x0 0x0876e000 0x0 0x1000>;//0-15 i2creg ,16 ioconfig-T,17 ioconfig-R + * interrupts = <0x0 72 0x4>, + * <0x0 73 0x4>, + * <0x0 74 0x4>, + * <0x0 75 0x4>, + * <0x0 76 0x4>, + * <0x0 77 0x4>, + * <0x0 78 0x4>, + * <0x0 79 0x4>, + * <0x0 80 0x4>, + * <0x0 81 0x4>, + * <0x0 82 0x4>, + * <0x0 83 0x4>, + * <0x0 84 0x4>, + * <0x0 85 0x4>, + * <0x0 86 0x4>, + * <0x0 87 0x4>;//0-15 + * }; + */ + smbus@0x08707000 { compatible = "hisilicon,hi1711-smbus"; reg = <0x0 0x08707000 0x0 0x1000>, @@ -747,6 +866,13 @@ compatible = "hisilicon, hi1711-msg_scm3"; interrupts = <0 225 4>;/*inter core communication from secure M3*/ }; + + gpu@18000000 { + compatible = "hisilicon, hi1711-gpu"; + reg = <0x0 0x18000000 0x0 0x200000>, + <0x0 0x80000000 0x0 0x2000000>; + interrupts = <0x0 47 0x4>; + }; }; }; diff --git a/bsp/meta-hisilicon/recipes-kernel/linux/files/dtbs/hi3093_mcs_2with2.dts b/bsp/meta-hisilicon/recipes-kernel/linux/files/dtbs/hi3093_mcs_2with2.dts index 5e293a0e78e0a29586c18cf4d71e6a420788e60d..473d0e25957f3f36b2b70320a53ad681c37ebed1 100644 --- a/bsp/meta-hisilicon/recipes-kernel/linux/files/dtbs/hi3093_mcs_2with2.dts +++ b/bsp/meta-hisilicon/recipes-kernel/linux/files/dtbs/hi3093_mcs_2with2.dts @@ -35,15 +35,15 @@ #size-cells = <0x2>; ranges; - client_os_reserved: client_os_reserved@93000000 { - reg = <0x00 0x93000000 0x00 0x4000000>; - no-map; + client_os_reserved: client_os_reserved@93000000 { + reg = <0x00 0x93000000 0x00 0x4000000>; + no-map; }; client_os_dma_memory_region: client_os-dma-memory@90000000 { - compatible = "shared-dma-pool"; - reg = <0x00 0x90000000 0x00 0x3000000>; - no-map; + compatible = "shared-dma-pool"; + reg = <0x00 0x90000000 0x00 0x3000000>; + no-map; }; }; @@ -327,45 +327,163 @@ domain=<0x1 0x1 0x1 0x1 0x0>; }; - i2c@2000d000 { - compatible = "hisilicon,hi1711-i2c"; - reg = <0x0 0x08707000 0x0 0x1000>, - <0x0 0x08708000 0x0 0x1000>, - <0x0 0x08709000 0x0 0x1000>, - <0x0 0x0870a000 0x0 0x1000>, - <0x0 0x0870b000 0x0 0x1000>, - <0x0 0x0870c000 0x0 0x1000>, - <0x0 0x0870d000 0x0 0x1000>, - <0x0 0x0870e000 0x0 0x1000>, - <0x0 0x08750000 0x0 0x1000>, - <0x0 0x08751000 0x0 0x1000>, - <0x0 0x08752000 0x0 0x1000>, - <0x0 0x08753000 0x0 0x1000>, - <0x0 0x08754000 0x0 0x1000>, - <0x0 0x08755000 0x0 0x1000>, - <0x0 0x08756000 0x0 0x1000>, - <0x0 0x08757000 0x0 0x1000>, - <0x0 0x08745000 0x0 0x1000>, - <0x0 0x0876e000 0x0 0x1000>;/*0-15 i2creg ,16 ioconfig-T,17 ioconfig-R*/ - interrupts = <0x0 72 0x4>, - <0x0 73 0x4>, - <0x0 74 0x4>, - <0x0 75 0x4>, - <0x0 76 0x4>, - <0x0 77 0x4>, - <0x0 78 0x4>, - <0x0 79 0x4>, - <0x0 80 0x4>, - <0x0 81 0x4>, - <0x0 82 0x4>, - <0x0 83 0x4>, - <0x0 84 0x4>, - <0x0 85 0x4>, - <0x0 86 0x4>, - <0x0 87 0x4>;/*0-15*/ - domain=<0x0 0x0 0x0 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1>; + i2c_bus0: i2c@8707000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08707000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 72 0x4>; }; + i2c_bus1: i2c@8708000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08708000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 73 0x4>; + }; + + i2c_bus2: i2c@8709000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08709000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 74 0x4>; + }; + + i2c_bus3: i2c@870a000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870a000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 75 0x4>; + }; + + i2c_bus4: i2c@870b000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870b000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 76 0x4>; + }; + + i2c_bus5: i2c@870c000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870c000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 77 0x4>; + }; + + i2c_bus6: i2c@870d000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870d000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 78 0x4>; + }; + + i2c_bus7: i2c@870e000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870e000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 79 0x4>; + }; + + i2c_bus8: i2c@8750000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08750000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 80 0x4>; + }; + + i2c_bus9: i2c@8751000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08751000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 81 0x4>; + }; + + i2c_bus10: i2c@8752000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08752000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 82 0x4>; + }; + + i2c_bus11: i2c@8753000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08753000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 83 0x4>; + }; + + i2c_bus12: i2c@8754000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08754000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 84 0x4>; + }; + + i2c_bus13: i2c@8755000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08755000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 85 0x4>; + }; + + i2c_bus14: i2c@8756000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08756000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 86 0x4>; + }; + + i2c_bus15: i2c@8757000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08757000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 87 0x4>; + }; + + /* + * The i2c@2000d000 node is used to implement the method in the src/non_real_time/drivers/i2c directory. + * This method does not use the Linux kernel framework. + * If you need to use this driver, delete i2c_bus0 to i2c_bus15 and use the i2c@2000d000 node. + */ + /* + * i2c@2000d000 { + * compatible = "hisilicon,hi1711-i2c"; + * reg = <0x0 0x08707000 0x0 0x1000>, + * <0x0 0x08708000 0x0 0x1000>, + * <0x0 0x08709000 0x0 0x1000>, + * <0x0 0x0870a000 0x0 0x1000>, + * <0x0 0x0870b000 0x0 0x1000>, + * <0x0 0x0870c000 0x0 0x1000>, + * <0x0 0x0870d000 0x0 0x1000>, + * <0x0 0x0870e000 0x0 0x1000>, + * <0x0 0x08750000 0x0 0x1000>, + * <0x0 0x08751000 0x0 0x1000>, + * <0x0 0x08752000 0x0 0x1000>, + * <0x0 0x08753000 0x0 0x1000>, + * <0x0 0x08754000 0x0 0x1000>, + * <0x0 0x08755000 0x0 0x1000>, + * <0x0 0x08756000 0x0 0x1000>, + * <0x0 0x08757000 0x0 0x1000>, + * <0x0 0x08745000 0x0 0x1000>, + * <0x0 0x0876e000 0x0 0x1000>;//0-15 i2creg ,16 ioconfig-T,17 ioconfig-R + * interrupts = <0x0 72 0x4>, + * <0x0 73 0x4>, + * <0x0 74 0x4>, + * <0x0 75 0x4>, + * <0x0 76 0x4>, + * <0x0 77 0x4>, + * <0x0 78 0x4>, + * <0x0 79 0x4>, + * <0x0 80 0x4>, + * <0x0 81 0x4>, + * <0x0 82 0x4>, + * <0x0 83 0x4>, + * <0x0 84 0x4>, + * <0x0 85 0x4>, + * <0x0 86 0x4>, + * <0x0 87 0x4>;//0-15 + * }; + */ + smbus@0x08707000 { compatible = "hisilicon,hi1711-smbus"; reg = <0x0 0x08707000 0x0 0x1000>, @@ -791,6 +909,13 @@ compatible = "hisilicon, hi1711-msg_scm3"; interrupts = <0 225 4>;/*inter core communication from secure M3*/ }; + + gpu@18000000 { + compatible = "hisilicon, hi1711-gpu"; + reg = <0x0 0x18000000 0x0 0x200000>, + <0x0 0x80000000 0x0 0x2000000>; + interrupts = <0x0 47 0x4>; + }; }; }; diff --git a/bsp/meta-hisilicon/recipes-kernel/linux/files/dtbs/hi3093_mcs_3with1.dts b/bsp/meta-hisilicon/recipes-kernel/linux/files/dtbs/hi3093_mcs_3with1.dts index 05f384f15b8e9e6d89bc96b6a21aacf6c3925d75..77f97ca545af76e41e3bd831911aa5f23190a0e6 100644 --- a/bsp/meta-hisilicon/recipes-kernel/linux/files/dtbs/hi3093_mcs_3with1.dts +++ b/bsp/meta-hisilicon/recipes-kernel/linux/files/dtbs/hi3093_mcs_3with1.dts @@ -35,15 +35,15 @@ #size-cells = <0x2>; ranges; - client_os_reserved: client_os_reserved@93000000 { - reg = <0x00 0x93000000 0x00 0x4000000>; - no-map; + client_os_reserved: client_os_reserved@93000000 { + reg = <0x00 0x93000000 0x00 0x4000000>; + no-map; }; client_os_dma_memory_region: client_os-dma-memory@90000000 { - compatible = "shared-dma-pool"; - reg = <0x00 0x90000000 0x00 0x3000000>; - no-map; + compatible = "shared-dma-pool"; + reg = <0x00 0x90000000 0x00 0x3000000>; + no-map; }; }; @@ -327,45 +327,163 @@ domain=<0x1 0x1 0x1 0x1 0x0>; }; - i2c@2000d000 { - compatible = "hisilicon,hi1711-i2c"; - reg = <0x0 0x08707000 0x0 0x1000>, - <0x0 0x08708000 0x0 0x1000>, - <0x0 0x08709000 0x0 0x1000>, - <0x0 0x0870a000 0x0 0x1000>, - <0x0 0x0870b000 0x0 0x1000>, - <0x0 0x0870c000 0x0 0x1000>, - <0x0 0x0870d000 0x0 0x1000>, - <0x0 0x0870e000 0x0 0x1000>, - <0x0 0x08750000 0x0 0x1000>, - <0x0 0x08751000 0x0 0x1000>, - <0x0 0x08752000 0x0 0x1000>, - <0x0 0x08753000 0x0 0x1000>, - <0x0 0x08754000 0x0 0x1000>, - <0x0 0x08755000 0x0 0x1000>, - <0x0 0x08756000 0x0 0x1000>, - <0x0 0x08757000 0x0 0x1000>, - <0x0 0x08745000 0x0 0x1000>, - <0x0 0x0876e000 0x0 0x1000>;/*0-15 i2creg ,16 ioconfig-T,17 ioconfig-R*/ - interrupts = <0x0 72 0x4>, - <0x0 73 0x4>, - <0x0 74 0x4>, - <0x0 75 0x4>, - <0x0 76 0x4>, - <0x0 77 0x4>, - <0x0 78 0x4>, - <0x0 79 0x4>, - <0x0 80 0x4>, - <0x0 81 0x4>, - <0x0 82 0x4>, - <0x0 83 0x4>, - <0x0 84 0x4>, - <0x0 85 0x4>, - <0x0 86 0x4>, - <0x0 87 0x4>;/*0-15*/ - domain=<0x0 0x0 0x0 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1>; + i2c_bus0: i2c@8707000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08707000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 72 0x4>; }; + i2c_bus1: i2c@8708000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08708000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 73 0x4>; + }; + + i2c_bus2: i2c@8709000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08709000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 74 0x4>; + }; + + i2c_bus3: i2c@870a000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870a000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 75 0x4>; + }; + + i2c_bus4: i2c@870b000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870b000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 76 0x4>; + }; + + i2c_bus5: i2c@870c000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870c000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 77 0x4>; + }; + + i2c_bus6: i2c@870d000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870d000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 78 0x4>; + }; + + i2c_bus7: i2c@870e000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x0870e000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 79 0x4>; + }; + + i2c_bus8: i2c@8750000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08750000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 80 0x4>; + }; + + i2c_bus9: i2c@8751000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08751000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 81 0x4>; + }; + + i2c_bus10: i2c@8752000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08752000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 82 0x4>; + }; + + i2c_bus11: i2c@8753000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08753000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 83 0x4>; + }; + + i2c_bus12: i2c@8754000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08754000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 84 0x4>; + }; + + i2c_bus13: i2c@8755000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08755000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 85 0x4>; + }; + + i2c_bus14: i2c@8756000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08756000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 86 0x4>; + }; + + i2c_bus15: i2c@8757000 { + compatible = "hisilicon,hi309x-i2c"; + reg = <0x0 0x08757000 0x0 0x1000>; + clock-frequency = <100000>; + interrupts = <0x0 87 0x4>; + }; + + /* + * The i2c@2000d000 node is used to implement the method in the src/non_real_time/drivers/i2c directory. + * This method does not use the Linux kernel framework. + * If you need to use this driver, delete i2c_bus0 to i2c_bus15 and use the i2c@2000d000 node. + */ + /* + * i2c@2000d000 { + * compatible = "hisilicon,hi1711-i2c"; + * reg = <0x0 0x08707000 0x0 0x1000>, + * <0x0 0x08708000 0x0 0x1000>, + * <0x0 0x08709000 0x0 0x1000>, + * <0x0 0x0870a000 0x0 0x1000>, + * <0x0 0x0870b000 0x0 0x1000>, + * <0x0 0x0870c000 0x0 0x1000>, + * <0x0 0x0870d000 0x0 0x1000>, + * <0x0 0x0870e000 0x0 0x1000>, + * <0x0 0x08750000 0x0 0x1000>, + * <0x0 0x08751000 0x0 0x1000>, + * <0x0 0x08752000 0x0 0x1000>, + * <0x0 0x08753000 0x0 0x1000>, + * <0x0 0x08754000 0x0 0x1000>, + * <0x0 0x08755000 0x0 0x1000>, + * <0x0 0x08756000 0x0 0x1000>, + * <0x0 0x08757000 0x0 0x1000>, + * <0x0 0x08745000 0x0 0x1000>, + * <0x0 0x0876e000 0x0 0x1000>;//0-15 i2creg ,16 ioconfig-T,17 ioconfig-R + * interrupts = <0x0 72 0x4>, + * <0x0 73 0x4>, + * <0x0 74 0x4>, + * <0x0 75 0x4>, + * <0x0 76 0x4>, + * <0x0 77 0x4>, + * <0x0 78 0x4>, + * <0x0 79 0x4>, + * <0x0 80 0x4>, + * <0x0 81 0x4>, + * <0x0 82 0x4>, + * <0x0 83 0x4>, + * <0x0 84 0x4>, + * <0x0 85 0x4>, + * <0x0 86 0x4>, + * <0x0 87 0x4>;//0-15 + * }; + */ + smbus@0x08707000 { compatible = "hisilicon,hi1711-smbus"; reg = <0x0 0x08707000 0x0 0x1000>, @@ -791,6 +909,13 @@ compatible = "hisilicon, hi1711-msg_scm3"; interrupts = <0 225 4>;/*inter core communication from secure M3*/ }; + + gpu@18000000 { + compatible = "hisilicon, hi1711-gpu"; + reg = <0x0 0x18000000 0x0 0x200000>, + <0x0 0x80000000 0x0 0x2000000>; + interrupts = <0x0 47 0x4>; + }; }; }; diff --git a/bsp/meta-hisilicon/recipes-kernel/linux/linux-hi3093-mpu.inc b/bsp/meta-hisilicon/recipes-kernel/linux/linux-hi3093-mpu.inc index 5ce52464d7bb97b4cc189b91931782e3673e28ee..2ac4b923e92747df438b680c20ec0d31c02aaedc 100644 --- a/bsp/meta-hisilicon/recipes-kernel/linux/linux-hi3093-mpu.inc +++ b/bsp/meta-hisilicon/recipes-kernel/linux/linux-hi3093-mpu.inc @@ -52,7 +52,8 @@ do_copy_headers() { # Due to the large number of patch hunks, # yocto's built-in patch mechanism has abnormal failure issues. # Here is a solution to avoid this issue - grep "Missing single sector read for large sector size" ${S}/drivers/mmc/core/block.c || patch -p1 < ${WORKDIR}/mpu_solution/src/patches/openEuler/kernel-22.03-lts-sp1-mmc.patch + grep "int disable_multi," ${S}/drivers/mmc/core/block.c || patch -p1 < ${WORKDIR}/mpu_solution/src/patches/openEuler/kernel-22.03-lts-sp3-mmc.patch + grep "#include " ${S}/hibmc/hibmc_drm_drv.c || patch -p1 < ${WORKDIR}/mpu_solution/src/patches/openEuler/kernel-gpu-drm-hisilicon-hibmc.patch cd - cp -rf ${WORKDIR}/mpu_solution/platform/securec/include/* ${S}/include/linux mkdir -p ${S}/include/linux/kbox diff --git a/bsp/meta-phytium/conf/machine/include/tengrui.inc b/bsp/meta-phytium/conf/machine/include/tengrui.inc index 46e4de5fb9297f7e9031f626b3ba902e99900de1..3dc548b16ff8ae2f85539b4d3a25b7929e35cc40 100644 --- a/bsp/meta-phytium/conf/machine/include/tengrui.inc +++ b/bsp/meta-phytium/conf/machine/include/tengrui.inc @@ -15,3 +15,7 @@ SERIAL_CONSOLES = "115200;ttyAMA0" # arm and arm64 both support -mlittle-endian so no # need to consider compat32. TUNE_CCARGS .= " -mlittle-endian" + +# recovery EFI_PROVIDER option, which is removed in packagegroup-core-boot +EFI_PROVIDER ??= "grub-efi" +IMAGE_INSTALL:append = " ${@bb.utils.contains("MACHINE_FEATURES", "efi", "${EFI_PROVIDER}", "", d)} " diff --git a/bsp/meta-phytium/recipes-core/images/openeuler-image-tiny.bbappend b/bsp/meta-phytium/recipes-core/images/openeuler-image-tiny.bbappend deleted file mode 100644 index d4ad638496100b18d1cea2485954d8617612e7b7..0000000000000000000000000000000000000000 --- a/bsp/meta-phytium/recipes-core/images/openeuler-image-tiny.bbappend +++ /dev/null @@ -1,6 +0,0 @@ -#fix no efi in openeuler-image-tiny wic image -EFI_PROVIDER ??= "grub-efi" - -RDEPENDS:${PN}:append = " \ - ${@bb.utils.contains("MACHINE_FEATURES", "efi", "${EFI_PROVIDER}", "", d)} \ -" diff --git a/docs/source/bsp/arm64/ft2000-4/ft2000-4-image/login.png b/docs/source/bsp/arm64/ft2000-4/ft2000-4-image/login.png new file mode 100644 index 0000000000000000000000000000000000000000..67cef77eae344cada5e080c0aca57e948089cd42 Binary files /dev/null and b/docs/source/bsp/arm64/ft2000-4/ft2000-4-image/login.png differ diff --git a/docs/source/bsp/arm64/ft2000-4/ft2000-4.rst b/docs/source/bsp/arm64/ft2000-4/ft2000-4.rst new file mode 100644 index 0000000000000000000000000000000000000000..1202c09ae2b2ed04206c45482c23c9dc566d7610 --- /dev/null +++ b/docs/source/bsp/arm64/ft2000-4/ft2000-4.rst @@ -0,0 +1,132 @@ +ft2000-4 镜像构建与说明 +####################################### + +本章主要介绍openEuler Embedded中ft2000-4系列板卡的镜像构建,使用和特性介绍。 + +ft2000-4板卡支持SATA硬盘/U盘启动(具体根据UEFI提供的设备支持),构建工程可生成预分区的WIC镜像,对存储介质直接进行烧录即可 + + +镜像构建与使用 +================= + +1. 构建机器和oebuild工具准备: + +(1)准备一个 ubuntu x86 构建主机环境(建议22.04,依赖Python>=3.10,配置建议预留200G存储) + +(2)安装oebuild(具体 oebuild 用法可参见 :ref:`oebuild_install`),注意以普通用户安装oebuild,例: + + .. code-block:: console + + sudo apt install python3 python3-pip + # 如果python3和pip模块已安装,请忽略此python3的安装命令 + pip install oebuild + + +(3)准备 oebuild 的工具依赖(docker): + + .. code-block:: console + + sudo apt install docker docker.io -y + sudo groupadd docker + sudo usermod -a -G docker $(whoami) + sudo systemctl-reload && systemctl restart docker + sudo chmod o+rw /var/run/docker.sock + + +2. oebuild 构建代码准备: + +(1)初始化构建分支代码(请不要以root及sudo权限执行): + + .. code-block:: console + + oebuild init buildwork + # 说明: + # * buildwork为存放目录, + # * 未使用-b指定分支,默认使用master分支,等同于 oebuild init buildwork -b master + # 假设执行路径位于 /home/user/ ,执行后根据提示进入对应目录 + + cd /home/user/buildwork + oebuild update + #执行完成后,将在 /home/user/buildwork/src/ 目录下载好主构建源码,并初始化构建虚拟环境。 + + +(2)初始化ft2000-4构建源码及配置: + + .. code-block:: console + + cd /home/user/buildwork + oebuild generate -p ft2000-4 -f systemd + # 以上命令可追加-f参数,通过 oebuild generate -l 查看支持的配置,比如-f openeuler-rt开启软实时 + + +3. 镜像构建和部署: + +(1)构建ft2000-4镜像: + + .. code-block:: console + + cd /home/user/buildwork/ft2000-4 + oebuild bitbake + # oebuild bitbake 执行后将进入构建交互环境 + # 注意您此时应该处于进入 oebuild bitbkae 环境的工作根目录(如/home/openeuler/ft2000-4) + bitbake openeuler-image + +构建完成后,输出件见 /home/user/buildwork/ft2000-4/output/[时间戳],备用组件内容如下 + + .. code-block:: console + + ├── Image + ├── openeuler-image-ft2000-4-[时间戳].rootfs.wic + └── vmlinux + + + .. note:: + + openeuler-image-ft2000-4-[时间戳].rootfs.wic 已经包含了BootLoader,kernel以及文件系统。 + + vmlinux为未加工的原始内核基础格式文件。 + + +若需要交叉编译工具链,可通过如下命令生成,将在output目录下有新时间戳子目录得到输出件。 + + .. code-block:: console + + # 注意您此时应该处于进入 oebuild bitbake 环境的工作根目录(如/home/openeuler/ft2000-4) + bitbake openeuler-image -c populate_sdk + + +(2)烧录ft2000-4镜像到SATA硬盘: + +烧录ft2000-4镜像仅仅需要将rootfs.wic文件烧录到SD卡中即可,我们将介绍在linux平台下使用dd命令制作镜像方式。 + + .. code-block:: console + + # 使用 df -h 查看挂载点 + + # u盘去掉挂载。然后可以查看,已经无u盘的挂载: + umount /dev/sdb1 + + # 写入u盘,注意:sdb,没有标号。 + sudo dd if=openeuler-image-ft2000-4-[时间戳].rootfs.wic of=/dev/sdb status=progress + +(3)启动 ft2000-4 并连接调试: + +**启用ft2000-4** + +默认用户名:root,密码:第一次启动没有默认密码,需重新配置,且密码强度有相应要求,需要数字、字母、特殊字符组合最少8位,例如abcd@2024。 + +将刷写镜像后的SATA硬盘插入主机,通电启用。 + +**ft2000-4登录方式** + ++ 串口登录: + +镜像使能了串口登录功能,通过ttyusb转接器连接板卡对应CPU调试串口,使用串口终端工具连接串口,波特率115200,登录即可。 + ++ 显示器登录: + +部分板卡没有引出CPU调试串口,但往往有附带PCIE显卡并配合efifb提供基本的显示,建议使用显示器登录。 + +将刷写镜像后的SATA硬盘插入主机,显示器通过VGA/HDMI连接板卡,等待系统启动后即可登录。 + +.. image:: ft2000-4-image/login.png diff --git a/docs/source/bsp/arm64/ft2000-4/index.rst b/docs/source/bsp/arm64/ft2000-4/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..0732aab1b83d96eadd3ffd2f576051f58f4fedc7 --- /dev/null +++ b/docs/source/bsp/arm64/ft2000-4/index.rst @@ -0,0 +1,11 @@ +.. _board_ft2000-4: + + +ft2000-4 +######################### + + +.. toctree:: + :maxdepth: 1 + + ft2000-4.rst diff --git a/meta-openeuler/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend b/meta-openeuler/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend index dc7b56930c6deb51c79cf80ef2f7513141276e44..cf332dd215b6f16e281ea2bc166a58d380be83b1 100644 --- a/meta-openeuler/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend +++ b/meta-openeuler/dynamic-layers/qt5-layer/recipes-qt/qt5/qtwebengine_%.bbappend @@ -2,12 +2,14 @@ require qt5-src.inc FILESEXTRAPATHS:append := "${THISDIR}/qtwebengine/:" +OPENEULER_REPO_NAMES = "qtwebengine ${@bb.utils.contains('DISTRO_FEATURES', 'LICENSE_AT_OWN_RISK', ' third_party_openh264 ', '', d)} " + SRC_URI:remove = " file://${BPN}-everywhere-opensource-src-${PV}.tar.xz " # remove: riscv64 conflict patches with meta-qt5 patches # riscv-v8.patch # riscv-qt5-qtwebengine.patch -# qtwebengine-ffmpeg5.patch +# need qtwebengine-ffmpeg5.patch to uss oee ffmpeg # force-to-build-dir-path.patch fix: # ERROR Can't get the real build dir path. @@ -35,6 +37,8 @@ SRC_URI:prepend = " \ file://fix-build-tools-to-run-with-python3.11.patch \ file://fix-qt5-qtwebengine-build-with-clang-17.patch \ file://force-to-build-dir-path.patch \ + file://qtwebengine-ffmpeg5.patch \ + ${@bb.utils.contains('DISTRO_FEATURES', 'LICENSE_AT_OWN_RISK', ' file://third_party_openh264 ', '', d)} \ " # this patch same as qtwebengine-everywhere-src-5.15.5-TRUE.patch @@ -55,4 +59,34 @@ do_configure:append() { mkdir -p ${S}/include/QtWebEngine/private cp -f ${S}/include/QtWebEngine/5.15.10/QtWebEngine/private/* ${S}/include/QtWebEngine/private sed -i 's#\.\./\.\./\.\./\.\./\.\./#\.\./\.\./#g' ${S}/include/QtWebEngine/private/* + + mkdir -p ${S}/src/3rdparty/chromium/third_party/openh264/src + if [ -d ${WORKDIR}/third_party_openh264 ];then + cp -r ${WORKDIR}/third_party_openh264/* ${S}/src/3rdparty/chromium/third_party/openh264/src/ + fi } + +# fix libwebp err depend, add libwebp-native, sync from new version upstream-recipes +PACKAGECONFIG[libwebp] = "-feature-webengine-system-libwebp,-no-feature-webengine-system-libwebp,libwebp libwebp-native" +# use oee's ffmpeg, third_party source from qtwebengine in src-openeuler have removed +PACKAGECONFIG[ffmpeg] = "-feature-webengine-system-ffmpeg,-no-feature-webengine-system-ffmpeg,ffmpeg" + +# video need proprietary-codecs(include openh264) to enable, +# If used for commercial purposes, self evaluation and authorization are required +# openh264 LICENSE notice: https://www.openh264.org/faq.html. +PACKAGECONFIG = " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'LICENSE_AT_OWN_RISK', ' proprietary-codecs ', '', d)} \ + webrtc \ + ffmpeg \ + libwebp \ + opus \ + libvpx \ + libevent \ + libpng \ + glib \ + zlib \ + pepper-plugins \ + printing-and-pdf \ + spellchecker \ + ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)} \ +" diff --git a/meta-openeuler/recipes-arm/arm-compute-library/arm-compute-library_%.bbappend b/meta-openeuler/recipes-arm/arm-compute-library/arm-compute-library_%.bbappend index 1c4ad36a0da54606725cc2146098021d2110c633..9583beb352dc3351d5178d3eb9d7f44faee6f6b2 100644 --- a/meta-openeuler/recipes-arm/arm-compute-library/arm-compute-library_%.bbappend +++ b/meta-openeuler/recipes-arm/arm-compute-library/arm-compute-library_%.bbappend @@ -13,7 +13,7 @@ SRC_URI[arm-compute-library.sha256sum] = "2f70f54d84390625222503ea38650c00c49d4b S = "${WORKDIR}/ComputeLibrary-${PV}" -EXTRA_OESCONS = "arch=arm64-v8a extra_cxx_flags="-fPIC -Wno-unused-but-set-variable -Wno-ignored-qualifiers -Wno-noexcept" benchmark_tests=1 validation_tests=0 set_soname=1" +EXTRA_OESCONS = "arch=arm64-v8a extra_cxx_flags="-fPIC -Wno-unused-but-set-variable -Wno-ignored-qualifiers -Wno-noexcept -Wno-strict-overflow -Wno-array-bounds" benchmark_tests=1 validation_tests=0 set_soname=1" EXTRA_OESCONS += "neon=1 opencl=0 embed_kernels=1" EXTRA_OESCONS:remove = "MAXLINELENGTH=2097152" diff --git a/meta-openeuler/recipes-arm/armnn/armnn/0002-add-inculde-iterator.patch b/meta-openeuler/recipes-arm/armnn/armnn/0002-add-inculde-iterator.patch new file mode 100644 index 0000000000000000000000000000000000000000..201b5b306cc1ad626f7fb33a51de62d76cf233f7 --- /dev/null +++ b/meta-openeuler/recipes-arm/armnn/armnn/0002-add-inculde-iterator.patch @@ -0,0 +1,11 @@ +diff -uprN a/tests/TfLiteYoloV3Big-Armnn/TfLiteYoloV3Big-Armnn.cpp b/tests/TfLiteYoloV3Big-Armnn/TfLiteYoloV3Big-Armnn.cpp +--- a/tests/TfLiteYoloV3Big-Armnn/TfLiteYoloV3Big-Armnn.cpp 2024-07-17 07:58:32.244108640 +0000 ++++ b/tests/TfLiteYoloV3Big-Armnn/TfLiteYoloV3Big-Armnn.cpp 2024-07-17 07:56:31.949756463 +0000 +@@ -21,6 +21,7 @@ + #include + #include + #include ++#include + + using namespace armnnTfLiteParser; + using namespace armnn; diff --git a/meta-openeuler/recipes-arm/armnn/armnn/0003-change-absl-libs-path.patch b/meta-openeuler/recipes-arm/armnn/armnn/0003-change-absl-libs-path.patch new file mode 100644 index 0000000000000000000000000000000000000000..947fc1e7d381c866f921073d0f9ff5528d5d3a9c --- /dev/null +++ b/meta-openeuler/recipes-arm/armnn/armnn/0003-change-absl-libs-path.patch @@ -0,0 +1,18 @@ +diff -urpN a/delegate/cmake/Modules/FindTfLite.cmake b/delegate/cmake/Modules/FindTfLite.cmake +--- a/delegate/cmake/Modules/FindTfLite.cmake 2024-07-21 21:41:44.597112645 +0800 ++++ b/delegate/cmake/Modules/FindTfLite.cmake 2024-07-21 21:40:25.159199380 +0800 +@@ -22,10 +22,10 @@ find_library(TfLite_LIB NAMES "libtensor + # If the static library was found, gather all of its dependencies + if (TfLite_LIB MATCHES .a$) + message("-- Static tensorflow lite library found, using for ArmNN build") +- find_library(TfLite_abseilstrings_LIB "libabsl_strings.a" +- PATH ${TFLITE_LIB_ROOT}/_deps/abseil-cpp-build/absl/strings) +- find_library(TfLite_abseil_synchronization_LIB "libabsl_synchronization.a" +- PATH ${TFLITE_LIB_ROOT}/_deps/abseil-cpp-build/absl/synchronization) ++ find_library(TfLite_abseilstrings_LIB "libabsl_strings.so" ++ PATH ${TFLITE_LIB_ROOT}) ++ find_library(TfLite_abseil_synchronization_LIB "libabsl_synchronization.so" ++ PATH ${TFLITE_LIB_ROOT}) + + + find_library(TfLite_farmhash_LIB "libfarmhash.a" diff --git a/meta-openeuler/recipes-arm/armnn/armnn_%.bbappend b/meta-openeuler/recipes-arm/armnn/armnn_%.bbappend index 0759fdc4ce7e68884994b5b556f06a0c28f753e1..3516a50bad9a4eefcba56dee2652c54603d6553d 100644 --- a/meta-openeuler/recipes-arm/armnn/armnn_%.bbappend +++ b/meta-openeuler/recipes-arm/armnn/armnn_%.bbappend @@ -76,6 +76,8 @@ SRC_URI += " \ file://${BP}.tar.gz \ file://armnn-use-static-libraries.patch \ file://0001-modify-cmake-files.patch \ + file://0002-add-inculde-iterator.patch \ + file://0003-change-absl-libs-path.patch \ " S = "${WORKDIR}/${BP}" diff --git a/meta-openeuler/recipes-browser/firefox/firefox-bin_115.bb b/meta-openeuler/recipes-browser/firefox/firefox-bin_115.bb index 8f2f703599b77e80a7ac7d7217cab157e2dd6cdb..1688ada0b278355b72d056a0c02e79f06b3a0fd9 100644 --- a/meta-openeuler/recipes-browser/firefox/firefox-bin_115.bb +++ b/meta-openeuler/recipes-browser/firefox/firefox-bin_115.bb @@ -29,7 +29,7 @@ SRC_URI[x86.md5sum] = "14974c129ca66e9227535836468d70ba" S = "${WORKDIR}/${BP}" -RDEPENDS:${PN} += "libvpx libwebp ffmpeg dbus-glib" +RDEPENDS:${PN} += "libvpx libwebp ffmpeg dbus-glib nss nspr " do_install:append() { # openeuler embedded shell binary not in usr, fix it diff --git a/meta-openeuler/recipes-containers/kubeedge/kubeedge_1.8.0.bb b/meta-openeuler/recipes-containers/kubeedge/kubeedge_1.8.0.bb index 9a0747889d010c073ad1df2dcaa5781adafb380a..61a8d85e8a5b535f3099dd583e9ddfb2d1bf8a45 100644 --- a/meta-openeuler/recipes-containers/kubeedge/kubeedge_1.8.0.bb +++ b/meta-openeuler/recipes-containers/kubeedge/kubeedge_1.8.0.bb @@ -160,7 +160,7 @@ FILES:edgesite = " \ ${bindir}/edgesite-server \ " -FILES:keadmtarball = "/${TARBALL_NAME}.tar.gz /checksum_${TARBALL_NAME}.tar.gz.txt /kubeedge-v1.8.0-linux-arm64" +FILES:keadmtarball = "/${TARBALL_NAME}.tar.gz /checksum_${TARBALL_NAME}.tar.gz.txt /${TARBALL_NAME} " # If board config use =y instead ko, remove it from bbappend. RDEPENDS:edgecore += " \ diff --git a/meta-openeuler/recipes-core/libboundscheck/libboundscheck_1.1.11.bb b/meta-openeuler/recipes-core/libboundscheck/libboundscheck_1.1.11.bb index 06c29d2d815ba158710acdce97929f06daff9535..b1f583855eda6839cd357b2f985e049d8fc3104a 100644 --- a/meta-openeuler/recipes-core/libboundscheck/libboundscheck_1.1.11.bb +++ b/meta-openeuler/recipes-core/libboundscheck/libboundscheck_1.1.11.bb @@ -7,9 +7,8 @@ PV = "v1.1.11" SRC_URI = "file://${BP}.tar.gz" -INSANE_SKIP:${PN} += "already-stripped" -FILES:${PN}-dev = "${includedir}" -FILES:${PN} = "${libdir}" +# Makefile does not use the LDFLAGS environment variable, so the CC environment variable is used to include LDFLAGS +TARGET_CC_ARCH += "${LDFLAGS}" do_install () { install -d ${D}${libdir}/ @@ -17,3 +16,8 @@ do_install () { install -m 0755 ${S}/lib/libboundscheck.so ${D}${libdir}/ install -m 554 ${S}/include/*.h ${D}${includedir}/ } + +FILES:${PN} = "${libdir}" +FILES:${PN}-dev = "${includedir}" + +INSANE_SKIP:${PN} += "already-stripped" diff --git a/meta-openeuler/recipes-core/ncurses/ncurses_%.bbappend b/meta-openeuler/recipes-core/ncurses/ncurses_%.bbappend index abaf642702b495f435267f896610075b4c785a87..a970549a83d4a114584f90b64757be8795ef5518 100644 --- a/meta-openeuler/recipes-core/ncurses/ncurses_%.bbappend +++ b/meta-openeuler/recipes-core/ncurses/ncurses_%.bbappend @@ -1,5 +1,5 @@ - PV = "6.4" +CVE_VERSION = "${PV}" # files, patches can't be applied in openeuler or conflict with openeuler # CVE-2021-39537.patch from poky is for 6.2 and no need for openeuler 6.3 version @@ -9,8 +9,6 @@ SRC_URI:remove = " \ file://CVE-2021-39537.patch \ " -S = "${WORKDIR}/${BP}" -FILESEXTRAPATHS:prepend := "${THISDIR}/files/:" # files, patches that come from openeuler SRC_URI += "file://${BP}.tar.gz \ file://ncurses-config.patch \ @@ -25,7 +23,10 @@ SRC_URI += "file://${BP}.tar.gz \ file://backport-CVE-2023-45918.patch \ " +FILESEXTRAPATHS:prepend := "${THISDIR}/files/:" # from oe-core SRC_URI += "\ - file://exit_prototype.patch \ -" \ No newline at end of file + file://exit_prototype.patch \ +" + +S = "${WORKDIR}/${BP}" diff --git a/meta-openeuler/recipes-core/packagegroups/packagegroup-hmi.bb b/meta-openeuler/recipes-core/packagegroups/packagegroup-hmi.bb index 11641d4c2486d5ec3f38b7ff2f235d0d51f5353e..f9f3b44ad77602ddbf206a23b813f5b06b58a7b4 100644 --- a/meta-openeuler/recipes-core/packagegroups/packagegroup-hmi.bb +++ b/meta-openeuler/recipes-core/packagegroups/packagegroup-hmi.bb @@ -6,8 +6,6 @@ PR = "r1" PACKAGES = "${PN}" RDEPENDS:${PN} = " \ -qtwebbrowser \ -wayfire \ pcmanfm \ lxterminal \ lxtask \ @@ -17,5 +15,6 @@ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'udev-extraconf', d)} \ adwaita-icon-theme \ ttf-wqy-zenhei \ firefox-bin \ +labwc \ " diff --git a/meta-openeuler/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend b/meta-openeuler/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend index c18229809af885c829d5b057a62e17c9fa0ff2be..a5edcaddeecdb071ccbb0a788f264338a8f5aaa8 100644 --- a/meta-openeuler/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend +++ b/meta-openeuler/recipes-devtools/gdb/gdb-cross-canadian_%.bbappend @@ -1 +1,4 @@ require gdb-src.inc + +# keep same with upstream +DEPENDS += "nativesdk-mpfr" diff --git a/meta-openeuler/recipes-devtools/gdb/gdb-cross_%.bbappend b/meta-openeuler/recipes-devtools/gdb/gdb-cross_%.bbappend index c18229809af885c829d5b057a62e17c9fa0ff2be..42549686c560c97d4af23dea9a8c9a4a38e3c754 100644 --- a/meta-openeuler/recipes-devtools/gdb/gdb-cross_%.bbappend +++ b/meta-openeuler/recipes-devtools/gdb/gdb-cross_%.bbappend @@ -1 +1,4 @@ require gdb-src.inc + +# keep same with upstream +DEPENDS += "mpfr-native" diff --git a/meta-openeuler/recipes-devtools/gdb/gdb-src.inc b/meta-openeuler/recipes-devtools/gdb/gdb-src.inc index dda2436376263eb5728440057fc7fda0a0d1320b..82bbb1640b7f8fa49df35d9296b62aed19cddd7a 100644 --- a/meta-openeuler/recipes-devtools/gdb/gdb-src.inc +++ b/meta-openeuler/recipes-devtools/gdb/gdb-src.inc @@ -98,4 +98,3 @@ do_install:append:riscv64() { rm -rf ${D}/usr/lib64 } -DEPENDS += "mpfr" diff --git a/meta-openeuler/recipes-devtools/gdb/gdb_%.bbappend b/meta-openeuler/recipes-devtools/gdb/gdb_%.bbappend index f8756bdbb5d78521e6d9744a0e5d050b283bea5a..d24ee137d13c63e8f8fa964817c2d9cd24086080 100644 --- a/meta-openeuler/recipes-devtools/gdb/gdb_%.bbappend +++ b/meta-openeuler/recipes-devtools/gdb/gdb_%.bbappend @@ -2,3 +2,6 @@ # ref: http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-devtools/gdb/gdb_12.1.bb?id=8d42315c074a97 require gdb-src.inc + +# keep same with upstream +DEPENDS += "mpfr" diff --git a/meta-openeuler/recipes-devtools/jsoncpp/jsoncpp_%.bbappend b/meta-openeuler/recipes-devtools/jsoncpp/jsoncpp_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..3a91f5ba7c8f6bb56ffbdeafe127c7bcb0d4041d --- /dev/null +++ b/meta-openeuler/recipes-devtools/jsoncpp/jsoncpp_%.bbappend @@ -0,0 +1,12 @@ +# main bb: yocto-meta-openembedded/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.5.bb + +PV = "1.9.5" + +SRC_URI:prepend = " \ + file://${BP}.tar.gz \ + file://0001-Parse-large-floats-as-infinity-1349-1353.patch \ + file://0001-Use-default-rather-than-hard-coded-8-for-maximum-agg.patch \ +" + +S = "${WORKDIR}/${BP}" + diff --git a/meta-openeuler/recipes-extended/libvarlink/libvarlink_%.bbappend b/meta-openeuler/recipes-extended/libvarlink/libvarlink_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..1990d5f89721e3c9ec55000f09438915bc5f03f5 --- /dev/null +++ b/meta-openeuler/recipes-extended/libvarlink/libvarlink_%.bbappend @@ -0,0 +1,13 @@ +# main bb: meta-wayland/recipes-extended/libvarlink/libvarlink_git.bb +# from https://github.com/MarkusVolk/meta-wayland.git + +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" + +PV = "23" + +SRC_URI += " \ + file://${BP}.tar.gz \ +" + +S = "${WORKDIR}/${BP}" + diff --git a/meta-openeuler/recipes-extended/libvarlink/libvarlink_git.bb b/meta-openeuler/recipes-extended/libvarlink/libvarlink_git.bb new file mode 100644 index 0000000000000000000000000000000000000000..4b88e0d19b82b9fb484d7dd4030b5adfaa5056da --- /dev/null +++ b/meta-openeuler/recipes-extended/libvarlink/libvarlink_git.bb @@ -0,0 +1,21 @@ +SUMMARY = "varlink is an interface description format and protocol accessible to both humans and machines." +HOMEPAGE = "https://varlink.org" +LICENSE = "Apache-2.0 & BSD-3-Clause" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=e316e9609dd7672b87ff25b46b2cf3e1" + +SRC_URI = " \ + git://github.com/varlink/libvarlink.git;protocol=https;branch=master \ +" + +inherit meson + +S = "${WORKDIR}/git" +PV = "23" +SRCREV = "d377218338b706ce3ff517a80fc0f1b1cfd8fe80" + +EXTRA_OEMESON += "--buildtype release" + +FILES:${PN} += "${datadir}" + +BBCLASSEXTEND = "" diff --git a/meta-openeuler/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_%.bbappend b/meta-openeuler/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..9e5b2d194c0c97c563bfbe08cd331477a51a37a9 --- /dev/null +++ b/meta-openeuler/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_%.bbappend @@ -0,0 +1,10 @@ +# main bb: yocto-poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_42.0.bb + +PV = "45.0" + +SRC_URI:prepend = " \ + file://${BP}.tar.xz \ +" + +S = "${WORKDIR}/${BP}" + diff --git a/meta-openeuler/recipes-graphics/kmscube/kmscube_%.bbappend b/meta-openeuler/recipes-graphics/kmscube/kmscube_%.bbappend index 7c87aed17e1793da02500fba337e644d065ffd66..427c2a6eb84d39b00f5add871f75ed50c8aa232e 100644 --- a/meta-openeuler/recipes-graphics/kmscube/kmscube_%.bbappend +++ b/meta-openeuler/recipes-graphics/kmscube/kmscube_%.bbappend @@ -3,6 +3,6 @@ OPENEULER_LOCAL_NAME = "oee_archive" -SRC_URI = "file://${OPENEULER_LOCAL_NAME}/${BPN}/${BPN}.tar.gz" +SRC_URI += "file://${OPENEULER_LOCAL_NAME}/${BPN}/${BPN}.tar.gz" SRC_URI[sha256sum] = "9095a2093ea8ac3991da45b1bce872c4f90b262aa8076a227d5af35144cb5c0b" diff --git a/meta-openeuler/recipes-multimedia/libopus/libopus_%.bbappend b/meta-openeuler/recipes-multimedia/libopus/libopus_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..9898692c1d65e642379f0a1044db4c51a802a6cf --- /dev/null +++ b/meta-openeuler/recipes-multimedia/libopus/libopus_%.bbappend @@ -0,0 +1,10 @@ +# the main bb file: yocto-meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb + +PV = "1.4" + +SRC_URI:prepend = " \ + file://opus-${PV}.tar.gz \ +" + +S = "${WORKDIR}/opus-${PV}" + diff --git a/meta-openeuler/recipes-tensorflow-lite/tensorflow-lite/files/change-tools-cmake.patch b/meta-openeuler/recipes-tensorflow-lite/tensorflow-lite/files/change-tools-cmake.patch new file mode 100644 index 0000000000000000000000000000000000000000..b4c653117ef389f3b037965da1ea79f5fa9a48e9 --- /dev/null +++ b/meta-openeuler/recipes-tensorflow-lite/tensorflow-lite/files/change-tools-cmake.patch @@ -0,0 +1,182 @@ +diff -urpN a/tensorflow/lite/CMakeLists.txt b/tensorflow/lite/CMakeLists.txt +--- a/tensorflow/lite/CMakeLists.txt 2024-07-21 14:42:31.900041655 +0000 ++++ b/tensorflow/lite/CMakeLists.txt 2024-07-21 14:48:49.563383581 +0000 +@@ -515,14 +515,14 @@ target_include_directories(tensorflow-li + ) + target_link_libraries(tensorflow-lite + PUBLIC +- Eigen3::Eigen ++ ${Eigen3_LIBRARY} + NEON_2_SSE +- absl::flags +- absl::hash +- absl::status +- absl::strings +- absl::synchronization +- absl::variant ++ absl_flags ++ absl_hash ++ absl_status ++ absl_strings ++ absl_synchronization ++ absl_variant + farmhash + fft2d_fftsg2d + flatbuffers +diff -urpN a/tensorflow/lite/tools/cmake/modules/Findabsl.cmake b/tensorflow/lite/tools/cmake/modules/Findabsl.cmake +--- a/tensorflow/lite/tools/cmake/modules/Findabsl.cmake 2024-07-21 14:42:31.978042552 +0000 ++++ b/tensorflow/lite/tools/cmake/modules/Findabsl.cmake 2024-07-21 14:48:49.557383512 +0000 +@@ -15,7 +15,6 @@ + + # grpc uses find_package in CONFIG mode for this package, so override the + # system installation and build from source instead. +-include(abseil-cpp) + if(abseil-cpp_POPULATED) + set(_ABSL_LIBRARY_NAMES + algorithm +diff -urpN a/tensorflow/lite/tools/cmake/modules/abseil-cpp.cmake b/tensorflow/lite/tools/cmake/modules/abseil-cpp.cmake +--- a/tensorflow/lite/tools/cmake/modules/abseil-cpp.cmake 2024-07-21 14:42:31.977042541 +0000 ++++ b/tensorflow/lite/tools/cmake/modules/abseil-cpp.cmake 2024-07-21 14:48:49.557383512 +0000 +@@ -22,12 +22,6 @@ include(OverridableFetchContent) + + OverridableFetchContent_Declare( + abseil-cpp +- GIT_REPOSITORY https://github.com/abseil/abseil-cpp +- # Sync with tensorflow/third_party/absl/workspace.bzl +- GIT_TAG 273292d1cfc0a94a65082ee350509af1d113344d +- GIT_SHALLOW TRUE +- GIT_PROGRESS TRUE +- PREFIX "${CMAKE_BINARY_DIR}" + SOURCE_DIR "${CMAKE_BINARY_DIR}/abseil-cpp" + ) + OverridableFetchContent_GetProperties(abseil-cpp) +diff -urpN a/tensorflow/lite/tools/cmake/modules/clog.cmake b/tensorflow/lite/tools/cmake/modules/clog.cmake +--- a/tensorflow/lite/tools/cmake/modules/clog.cmake 2024-07-21 14:42:31.977042541 +0000 ++++ b/tensorflow/lite/tools/cmake/modules/clog.cmake 2024-07-21 14:48:49.557383512 +0000 +@@ -21,11 +21,7 @@ include(OverridableFetchContent) + + OverridableFetchContent_Declare( + clog +- GIT_REPOSITORY https://github.com/pytorch/cpuinfo +- # Sync with tensorflow/third_party/clog/workspace.bzl +- GIT_TAG 5e63739504f0f8e18e941bd63b2d6d42536c7d90 +- GIT_PROGRESS TRUE +- SOURCE_DIR "${CMAKE_BINARY_DIR}/clog" ++ SOURCE_DIR "${CMAKE_BINARY_DIR}/cpuinfo" + ) + OverridableFetchContent_GetProperties(clog) + if(NOT clog_POPULATED) +diff -urpN a/tensorflow/lite/tools/cmake/modules/cpuinfo.cmake b/tensorflow/lite/tools/cmake/modules/cpuinfo.cmake +--- a/tensorflow/lite/tools/cmake/modules/cpuinfo.cmake 2024-07-21 14:42:31.978042552 +0000 ++++ b/tensorflow/lite/tools/cmake/modules/cpuinfo.cmake 2024-07-21 14:48:49.557383512 +0000 +@@ -21,10 +21,6 @@ include(OverridableFetchContent) + + OverridableFetchContent_Declare( + cpuinfo +- GIT_REPOSITORY https://github.com/pytorch/cpuinfo +- # Sync with tensorflow/third_party/cpuinfo/workspace.bzl +- GIT_TAG 5e63739504f0f8e18e941bd63b2d6d42536c7d90 +- GIT_PROGRESS TRUE + SOURCE_DIR "${CMAKE_BINARY_DIR}/cpuinfo" + ) + OverridableFetchContent_GetProperties(cpuinfo) +diff -urpN a/tensorflow/lite/tools/cmake/modules/eigen.cmake b/tensorflow/lite/tools/cmake/modules/eigen.cmake +--- a/tensorflow/lite/tools/cmake/modules/eigen.cmake 2024-07-21 14:42:31.978042552 +0000 ++++ b/tensorflow/lite/tools/cmake/modules/eigen.cmake 2024-07-21 14:48:49.557383512 +0000 +@@ -21,24 +21,18 @@ include(OverridableFetchContent) + + OverridableFetchContent_Declare( + eigen +- GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git +- # Sync with tensorflow/third_party/eigen3/workspace.bzl +- GIT_TAG 0e187141679fdb91da33249d18cb79a011c0e2ea +- # It's not currently (cmake 3.17) possible to shallow clone with a GIT TAG +- # as cmake attempts to git checkout the commit hash after the clone +- # which doesn't work as it's a shallow clone hence a different commit hash. +- # https://gitlab.kitware.com/cmake/cmake/-/issues/17770 +- # GIT_SHALLOW TRUE +- GIT_PROGRESS TRUE +- PREFIX "${CMAKE_BINARY_DIR}" + SOURCE_DIR "${CMAKE_BINARY_DIR}/eigen" +- LICENSE_FILE "COPYING.MPL2" + ) + OverridableFetchContent_GetProperties(eigen) + if(NOT eigen_POPULATED) + OverridableFetchContent_Populate(eigen) + endif() + ++set(EIGEN_SOURCE_DIR "${eigen_SOURCE_DIR}" CACHE PATH ++ "Source directory for the CMake project." ++) ++ ++include_directories(${CMAKE_BINARY_DIR}/eigen) + # Patch Eigen to disable Fortran compiler check for BLAS and LAPACK tests. + if(NOT EIGEN_DISABLED_FORTRAN_COMPILER_CHECK) + file(WRITE "${eigen_SOURCE_DIR}/cmake/language_support.cmake" " +diff -urpN a/tensorflow/lite/tools/cmake/modules/farmhash.cmake b/tensorflow/lite/tools/cmake/modules/farmhash.cmake +--- a/tensorflow/lite/tools/cmake/modules/farmhash.cmake 2024-07-21 14:42:31.978042552 +0000 ++++ b/tensorflow/lite/tools/cmake/modules/farmhash.cmake 2024-07-21 14:48:49.557383512 +0000 +@@ -21,15 +21,6 @@ include(OverridableFetchContent) + + OverridableFetchContent_Declare( + farmhash +- GIT_REPOSITORY https://github.com/google/farmhash +- # Sync with tensorflow/third_party/farmhash/workspace.bzl +- GIT_TAG 0d859a811870d10f53a594927d0d0b97573ad06d +- # It's not currently possible to shallow clone with a GIT TAG +- # as cmake attempts to git checkout the commit hash after the clone +- # which doesn't work as it's a shallow clone hence a different commit hash. +- # https://gitlab.kitware.com/cmake/cmake/-/issues/17770 +- # GIT_SHALLOW TRUE +- GIT_PROGRESS TRUE + SOURCE_DIR "${CMAKE_BINARY_DIR}/farmhash" + ) + OverridableFetchContent_GetProperties(farmhash) +diff -urpN a/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake b/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake +--- a/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake 2024-07-21 14:42:31.978042552 +0000 ++++ b/tensorflow/lite/tools/cmake/modules/flatbuffers.cmake 2024-07-21 14:48:49.557383512 +0000 +@@ -21,11 +21,6 @@ include(FetchContent) + + OverridableFetchContent_Declare( + flatbuffers +- GIT_REPOSITORY https://github.com/google/flatbuffers +- # Sync with tensorflow/third_party/flatbuffers/workspace.bzl +- GIT_TAG v2.0.6 +- GIT_SHALLOW TRUE +- GIT_PROGRESS TRUE + SOURCE_DIR "${CMAKE_BINARY_DIR}/flatbuffers" + ) + +diff -urpN a/tensorflow/lite/tools/cmake/modules/gemmlowp.cmake b/tensorflow/lite/tools/cmake/modules/gemmlowp.cmake +--- a/tensorflow/lite/tools/cmake/modules/gemmlowp.cmake 2024-07-21 14:42:31.978042552 +0000 ++++ b/tensorflow/lite/tools/cmake/modules/gemmlowp.cmake 2024-07-21 14:48:49.557383512 +0000 +@@ -21,15 +21,6 @@ include(OverridableFetchContent) + + OverridableFetchContent_Declare( + gemmlowp +- GIT_REPOSITORY https://github.com/google/gemmlowp +- # Sync with tensorflow/third_party/gemmlowp/workspace.bzl +- GIT_TAG fda83bdc38b118cc6b56753bd540caa49e570745 +- # It's not currently (cmake 3.17) possible to shallow clone with a GIT TAG +- # as cmake attempts to git checkout the commit hash after the clone +- # which doesn't work as it's a shallow clone hence a different commit hash. +- # https://gitlab.kitware.com/cmake/cmake/-/issues/17770 +- # GIT_SHALLOW TRUE +- GIT_PROGRESS TRUE + SOURCE_DIR "${CMAKE_BINARY_DIR}/gemmlowp" + ) + +diff -urpN a/tensorflow/lite/tools/cmake/modules/ruy.cmake b/tensorflow/lite/tools/cmake/modules/ruy.cmake +--- a/tensorflow/lite/tools/cmake/modules/ruy.cmake 2024-07-21 14:42:31.978042552 +0000 ++++ b/tensorflow/lite/tools/cmake/modules/ruy.cmake 2024-07-21 14:48:49.557383512 +0000 +@@ -21,10 +21,6 @@ include(OverridableFetchContent) + + OverridableFetchContent_Declare( + ruy +- GIT_REPOSITORY https://github.com/google/ruy +- # Sync with tensorflow/third_party/ruy/workspace.bzl +- GIT_TAG 841ea4172ba904fe3536789497f9565f2ef64129 +- GIT_PROGRESS TRUE + SOURCE_DIR "${CMAKE_BINARY_DIR}/ruy" + ) + OverridableFetchContent_GetProperties(ruy) diff --git a/meta-openeuler/recipes-tensorflow-lite/tensorflow-lite/tensorflow-lite_%.bbappend b/meta-openeuler/recipes-tensorflow-lite/tensorflow-lite/tensorflow-lite_%.bbappend index ced7a21b6c959c7c0c44e9495046c571e4292240..8536c4d7d2fc999bd61f53757f6b22c8eda11585 100644 --- a/meta-openeuler/recipes-tensorflow-lite/tensorflow-lite/tensorflow-lite_%.bbappend +++ b/meta-openeuler/recipes-tensorflow-lite/tensorflow-lite/tensorflow-lite_%.bbappend @@ -4,7 +4,7 @@ PV = "2.10.0" OPENEULER_REPO_NAME = "tensorflow" -DEPENDS:remove = "libgfortran" +DEPENDS:remove:libc-musl = "libgfortran" SRC_URI:remove = " \ file://fix-to-cmake-2.9.1.patch \ @@ -13,7 +13,11 @@ SRC_URI:remove = " \ SRC_URI = " \ file://tensorflow-${PV}.tar.gz \ + file://external.tar.bz2.partaa \ + file://external.tar.bz2.partab \ + file://external.tar.bz2.partac \ file://modify-deps-on-libclang-gcsfs-gast.patch \ + file://change-tools-cmake.patch \ " @@ -21,6 +25,19 @@ S = "${WORKDIR}/tensorflow-${PV}" EXTRA_OECMAKE:append = " -DTFLITE_ENABLE_XNNPACK=OFF " +DEPENDS += " \ + abseil-cpp \ +" + +do_configure:prepend() { + cat ${WORKDIR}/external.tar.* | tar -xvjf - -C ${WORKDIR}/ + mv ${WORKDIR}/external/eigen_archive ${WORKDIR}/build/eigen + mv ${WORKDIR}/external/farmhash_archive ${WORKDIR}/build/farmhash + mv ${WORKDIR}/external/gemmlowp ${WORKDIR}/build/gemmlowp + mv ${WORKDIR}/external/cpuinfo ${WORKDIR}/build/cpuinfo + mv ${WORKDIR}/external/ruy ${WORKDIR}/build/ruy + mv ${WORKDIR}/external/flatbuffers ${WORKDIR}/build/flatbuffers +} do_install() { # install libraries diff --git a/meta-openeuler/recipes-wlroots/font-awesome/font-awesome-otf_%.bbappend b/meta-openeuler/recipes-wlroots/font-awesome/font-awesome-otf_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..c9504c739560773004107abf55f6dad9e12b4777 --- /dev/null +++ b/meta-openeuler/recipes-wlroots/font-awesome/font-awesome-otf_%.bbappend @@ -0,0 +1,15 @@ +# main bb: meta-wayland/recipes-extended/font-awesome/font-awesome-otf_git.bb +# from https://github.com/MarkusVolk/meta-wayland.git + +OPENEULER_LOCAL_NAME = "oee_archive" + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9b9d97c72a232b7715f2aed4bf4a4d45" + +PV = "6.5.2" + +SRC_URI:prepend = " \ + file://${OPENEULER_LOCAL_NAME}/${BPN}/${PV}.tar.gz \ +" + +S = "${WORKDIR}/Font-Awesome-${PV}" + diff --git a/meta-openeuler/recipes-wlroots/font-awesome/font-awesome-otf_git.bb b/meta-openeuler/recipes-wlroots/font-awesome/font-awesome-otf_git.bb new file mode 100644 index 0000000000000000000000000000000000000000..46d4b8833b5955e475d5d347f091beeb15ec2c50 --- /dev/null +++ b/meta-openeuler/recipes-wlroots/font-awesome/font-awesome-otf_git.bb @@ -0,0 +1,27 @@ +SUMMARY = "Font Awesome" + +HOMEPAGE = "https://fontawesome.com/" +SECTION = "base/fonts" + +LICENSE = "CC-BY-4.0 & OFL-1.1" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4186e0f8172f263065437f80932efbe1" + +SRC_URI = " \ + git://github.com/FortAwesome/Font-Awesome.git;protocol=https;branch=6.x \ +" + +S = "${WORKDIR}/git" +PV = "6.4.0" +SRCREV = "0698449d50f2b95517562295a59d414afc68b369" + + +do_install () { + install -d ${D}${datadir}/fonts/opentype + for font in ${S}/otfs/*.otf; do + install -m 0644 "$font" ${D}${datadir}/fonts/opentype + done +} + +FILES:${PN} = " \ + ${datadir}/fonts \ +" diff --git a/meta-openeuler/recipes-wlroots/kanshi/kanshi_%.bbappend b/meta-openeuler/recipes-wlroots/kanshi/kanshi_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..f42cc4e8610aa416e395e32b2ca2955427a28f25 --- /dev/null +++ b/meta-openeuler/recipes-wlroots/kanshi/kanshi_%.bbappend @@ -0,0 +1,15 @@ +# main bb: meta-wayland/recipes-support/kanshi/kanshi_git.bb +# from https://github.com/MarkusVolk/meta-wayland.git + +OPENEULER_LOCAL_NAME = "oee_archive" + +PV = "1.7.0" + +DEPENDS += "libscfg" + +SRC_URI += " \ + file://${OPENEULER_LOCAL_NAME}/${BPN}/v${PV}.tar.gz \ +" + +S = "${WORKDIR}/kanshi-v${PV}" + diff --git a/meta-openeuler/recipes-wlroots/kanshi/kanshi_git.bb b/meta-openeuler/recipes-wlroots/kanshi/kanshi_git.bb new file mode 100644 index 0000000000000000000000000000000000000000..d71a2f9f24346ea824060079ca8b2b6998ea0d41 --- /dev/null +++ b/meta-openeuler/recipes-wlroots/kanshi/kanshi_git.bb @@ -0,0 +1,31 @@ +SUMMARY = "kanshi allows you to define output profiles that are automatically enabled and disabled on hotplug." +HOMEPAGE = "https://git.sr.ht/~emersion/kanshi" +SECTION = "Wayland" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=706cd9899438a9385250ab6773c1fa53" + +REQUIRED_DISTRO_FEATURES = "wayland" + +SRC_URI = " \ + git://git.sr.ht/~emersion/kanshi;protocol=https;branch=master \ +" + +DEPENDS = "wayland wayland-native" + +inherit meson pkgconfig features_check + +PACKAGECONFIG[ipc] = "-Dipc=enabled,-Dipc=disabled,libvarlink" +PACKAGECONFIG[man-pages] = "-Dman-pages=enabled,-Dman-pages=disabled,scdoc-native" + +PACKAGECONFIG ?= " \ + ipc \ +" + +S = "${WORKDIR}/git" +PV = "1.2.0" +SRCREV = "992c1954a6a00a3f66882c9eb75d74c2dbcbe25c" + +EXTRA_OEMESON += "--buildtype release" + +BBCLASSEXTEND = "" diff --git a/meta-openeuler/recipes-wlroots/kanshi/libscfg_0.1.1.bb b/meta-openeuler/recipes-wlroots/kanshi/libscfg_0.1.1.bb new file mode 100644 index 0000000000000000000000000000000000000000..84f9dbcd5ca1c2c248bc9c47a06499127332d8fb --- /dev/null +++ b/meta-openeuler/recipes-wlroots/kanshi/libscfg_0.1.1.bb @@ -0,0 +1,21 @@ +SUMMARY = "A C library for scfg(simple configuration file format)" +HOMEPAGE = "https://git.sr.ht/~emersion/libscfg" +SECTION = "LIBRARY" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=b32b698ab815d1913b4ed31d8c2ee8d7" + +OPENEULER_LOCAL_NAME = "oee_archive" + +PV = "0.1.1" + +SRC_URI += " \ + file://${OPENEULER_LOCAL_NAME}/${BPN}/v${PV}.tar.gz \ +" + +inherit meson pkgconfig + +S = "${WORKDIR}/libscfg-v${PV}" + +FILES:${PN} = "${libdir}/*so" +FILES:${PN}-dev = "${includedir} ${libdir}/pkgconfig" diff --git a/meta-openeuler/recipes-wlroots/labwc/files/autostart b/meta-openeuler/recipes-wlroots/labwc/files/autostart new file mode 100644 index 0000000000000000000000000000000000000000..d8770d2eac99ad6e8df9a38673227124056354fc --- /dev/null +++ b/meta-openeuler/recipes-wlroots/labwc/files/autostart @@ -0,0 +1,4 @@ +fc-list | grep Awesome || fc-cache -fv +glib-compile-schemas /usr/share/glib-2.0/schemas/ +swaybg -i /usr/share/weston/openeuler.png >/dev/null 2>&1 & +sfwbar >/dev/null 2>&1 & diff --git a/meta-openeuler/recipes-wlroots/labwc/labwc-tweaks-gtk_485961a.bb b/meta-openeuler/recipes-wlroots/labwc/labwc-tweaks-gtk_485961a.bb new file mode 100644 index 0000000000000000000000000000000000000000..d5e4cf31a2be83326a8a4dacad80557af9c05a7e --- /dev/null +++ b/meta-openeuler/recipes-wlroots/labwc/labwc-tweaks-gtk_485961a.bb @@ -0,0 +1,37 @@ +# bb ref: meta-wayland/recipes-wlroots/labwc/labwc-tweaks_git.bb +# from https://github.com/MarkusVolk/meta-wayland.git + +# https://github.com/labwc/labwc-tweaks need QT6 after 2024.4 +# the GTK version changed to https://github.com/labwc/labwc-tweaks-gtk + +SUMMARY = "This is a [WIP] configuration gui app for labwc without any real plan or Acceptance Criteria" +HOMEPAGE = "https://github.com/labwc/labwc-tweaks" +SECTION = "graphics" +LICENSE = "GPL-2.0-only" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +REQUIRED_DISTRO_FEATURES = "wayland" + +OPENEULER_LOCAL_NAME = "oee_archive" +OEE_ARCHIVE_SUBDIR = "labwc" + +DEPENDS += " \ + libxml2 \ + glib-2.0 \ + gtk+3 \ + gsettings-desktop-schemas \ +" + +inherit meson pkgconfig features_check + +PV = "485961a" + +SRC_URI += " \ + file://${OPENEULER_LOCAL_NAME}/${OEE_ARCHIVE_SUBDIR}/labwc-tweaks-gtk-485961a.zip \ +" + +S = "${WORKDIR}/labwc-tweaks-gtk-master" + +FILES:${PN} += "${datadir}" + diff --git a/meta-openeuler/recipes-wlroots/labwc/labwc_%.bbappend b/meta-openeuler/recipes-wlroots/labwc/labwc_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..93c2d21d79a517994f4191fd97d4d07d6cf9b662 --- /dev/null +++ b/meta-openeuler/recipes-wlroots/labwc/labwc_%.bbappend @@ -0,0 +1,27 @@ +# main bb: meta-wayland/recipes-wlroots/labwc/labwc_git.bb +# from https://github.com/MarkusVolk/meta-wayland.git + +OPENEULER_LOCAL_NAME = "oee_archive" + +PV = "0.7.2" + +DEPENDS:remove = " wlroots-0.16 " +DEPENDS:append = " wlroots " + +SRC_URI += " \ + file://${OPENEULER_LOCAL_NAME}/${BPN}/${PV}.tar.gz \ + file://autostart \ +" + +S = "${WORKDIR}/${BP}" + +# make a lite version +RRECOMMENDS:${PN} = " labwc-tweaks-gtk sfwbar swaybg kanshi wlr-randr " + +# we force to use xwayland +PACKAGECONFIG:append = " xwayland " + +do_install:append() { + install -d ${D}/etc/xdg/labwc + install -m 755 -D ${WORKDIR}/autostart ${D}/etc/xdg/labwc/autostart +} diff --git a/meta-openeuler/recipes-wlroots/labwc/labwc_git.bb b/meta-openeuler/recipes-wlroots/labwc/labwc_git.bb new file mode 100644 index 0000000000000000000000000000000000000000..e728eda21e088ffa553eeeb784ec34bfd41d0423 --- /dev/null +++ b/meta-openeuler/recipes-wlroots/labwc/labwc_git.bb @@ -0,0 +1,48 @@ + +SUMMARY = "Labwc stands for Lab Wayland Compositor" +HOMEPAGE = "https://github.com/labwc/labwc" +SECTION = "graphics" +LICENSE = "GPL-2.0-only" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +REQUIRED_DISTRO_FEATURES = "wayland" + +DEPENDS += " \ + libxml2 \ + glib-2.0 \ + cairo \ + pango \ + wayland \ + wayland-native \ + wayland-protocols \ + libdrm \ + libxkbcommon \ + libinput \ + wlroots-0.16 \ +" + +RRECOMMENDS:${PN} ?= " \ + foot \ + grim \ + slurp \ + wl-clipboard \ + labwc-tweaks \ + swaybg \ +" + +SRC_URI = "git://github.com/labwc/labwc.git;protocol=https;branch=master" + +SRCREV = "7af5f1d5ceea6db6529ad2beb9c3cad94f74f719" +PV = "0.6.6" +S = "${WORKDIR}/git" + +inherit meson pkgconfig features_check gettext + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'xwayland', d)}" + +PACKAGECONFIG[man-pages] = "-Dman-pages=enabled,-Dman-pages=disabled,scdoc-native" +PACKAGECONFIG[xwayland] = "-Dxwayland=enabled,-Dxwayland=disabled,libxcb xcb-util-wm xcb-util-renderutil xwayland,xwayland" + +FILES:${PN} += "${datadir}" + diff --git a/meta-openeuler/recipes-wlroots/sfwbar/sfwbar_1.0.bb b/meta-openeuler/recipes-wlroots/sfwbar/sfwbar_1.0.bb new file mode 100644 index 0000000000000000000000000000000000000000..25d674edbaa1e3df82a8ad35b81e623080e779c0 --- /dev/null +++ b/meta-openeuler/recipes-wlroots/sfwbar/sfwbar_1.0.bb @@ -0,0 +1,62 @@ +SUMMARY = "SFWBar (S* Floating Window Bar) is a flexible taskbar application for wayland compositors" +DESCRIPTION = "SFWBar (S* Floating Window Bar) is a flexible taskbar application for wayland compositors, designed with a stacking layout in mind. Originally developed for Sway, SFWBar will work with any wayland compositor supporting layer shell protocol, the taskbar and window switcher functionality shall work with any compositor supportinig foreign toplevel protocol, but the pager, and window placement functionality require sway (or at least i3 IPC support)." +HOMEPAGE = "https://github.com/Alexays/Waybar" +BUGTRACKER = "https://github.com/Alexays/Waybar/issues" +SECTION = "graphics" +LICENSE = "GPLv3 & MIT" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464" + +REQUIRED_DISTRO_FEATURES = "wayland" + +OPENEULER_LOCAL_NAME = "oee_archive" + +PV = "1.0.beta15" + +SRC_URI += " \ + file://${OPENEULER_LOCAL_NAME}/${BPN}/v1.0_beta15.tar.gz \ +" + +S = "${WORKDIR}/sfwbar-1.0_beta15" + +DEPENDS += " \ + glib-2.0-native \ + gtkmm3 \ + json-c \ + gtk-layer-shell \ + libxkbcommon \ + gtk+3 \ + gobject-introspection \ + wayland \ + wayland-native \ + wayland-protocols \ +" + +RRECOMMENDS:${PN} += "font-awesome-otf" + +inherit meson pkgconfig features_check + +PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" +PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5" +PACKAGECONFIG[iwd] = "-Diwd=enabled,-Diwd=disabled" +PACKAGECONFIG[nm] = "-Dnm=enabled,-Dnm=disabled" +PACKAGECONFIG[bsdctl] = "-Dbsdctl=enabled,-Dbsdctl=disabled" +PACKAGECONFIG[idleinhibit] = "-Didleinhibit=enabled,-Didleinhibit=disabled" +PACKAGECONFIG[network] = "-Dnetwork=enabled,-Dnetwork=disabled" +PACKAGECONFIG[mpd] = "-Dmpd=enabled,-Dmpd=disabled,libmpdclient" +PACKAGECONFIG[pulse] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio" +PACKAGECONFIG[xkb] = "-Dxkb=enabled,-Dxkb=disabled,libxkbcommon" +PACKAGECONFIG[build-docs] = "-Dbuild-docs=enabled,-Dbuild-docs=disabled" + +PACKAGECONFIG ?= " \ + alsa \ + bluez \ + iwd \ + nm \ + idleinhibit \ + network \ + ${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)} \ + xkb \ +" +FILES:${PN} += " ${datadir} " + diff --git a/meta-openeuler/recipes-wlroots/swaybg/swaybg_%.bbappend b/meta-openeuler/recipes-wlroots/swaybg/swaybg_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..3c23f694f3efc6acd883e5c8a79f15fc52c3f9cd --- /dev/null +++ b/meta-openeuler/recipes-wlroots/swaybg/swaybg_%.bbappend @@ -0,0 +1,13 @@ +# main bb: meta-wayland/recipes-support/swaybg/swaybg_git.bb +# from https://github.com/MarkusVolk/meta-wayland.git + +OPENEULER_LOCAL_NAME = "oee_archive" + +PV = "1.2.1" + +SRC_URI += " \ + file://${OPENEULER_LOCAL_NAME}/${BPN}/v${PV}.tar.gz \ +" + +S = "${WORKDIR}/${BP}" + diff --git a/meta-openeuler/recipes-wlroots/swaybg/swaybg_git.bb b/meta-openeuler/recipes-wlroots/swaybg/swaybg_git.bb new file mode 100644 index 0000000000000000000000000000000000000000..82aa2e17e616ba6fce6bea7095a2f49f5aeb318e --- /dev/null +++ b/meta-openeuler/recipes-wlroots/swaybg/swaybg_git.bb @@ -0,0 +1,27 @@ +SUMMARY = "swaybg is a wallpaper utility for Wayland compositors." +HOMEPAGE = "https://github.com/swaywm/swaybg" +BUGTRACKER = "https://github.com/swaywm/swaybg/issues" +SECTION = "graphics" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=b53d9ec16b9125995437ac9efab1b450" + +REQUIRED_DISTRO_FEATURES = "wayland" + +DEPENDS = " \ + cairo \ + gdk-pixbuf \ + wayland \ + wayland-native \ + wayland-protocols \ +" + +SRC_URI = "git://github.com/swaywm/swaybg.git;protocol=https;branch=master" + +S = "${WORKDIR}/git" +PV = "1.2.0" +SRCREV = "eabc06e7eb9e5cb08c8177f49753dedc505076b4" + +inherit meson pkgconfig features_check + +EXTRA_OEMESON += "--buildtype release" diff --git a/meta-openeuler/recipes-wlroots/wlr-randr/wlr-randr_%.bbappend b/meta-openeuler/recipes-wlroots/wlr-randr/wlr-randr_%.bbappend new file mode 100644 index 0000000000000000000000000000000000000000..3f9306618af93adc15a1caac712f3abe574e191b --- /dev/null +++ b/meta-openeuler/recipes-wlroots/wlr-randr/wlr-randr_%.bbappend @@ -0,0 +1,13 @@ +# main bb: meta-wayland/recipes-support/wlr-randr/wlr-randr_git.bb +# from https://github.com/MarkusVolk/meta-wayland.git + +OPENEULER_LOCAL_NAME = "oee_archive" + +PV = "0.4.1" + +SRC_URI += " \ + file://${OPENEULER_LOCAL_NAME}/${BPN}/v${PV}.tar.gz \ +" + +S = "${WORKDIR}/wlr-randr-v${PV}" + diff --git a/meta-openeuler/recipes-wlroots/wlr-randr/wlr-randr_git.bb b/meta-openeuler/recipes-wlroots/wlr-randr/wlr-randr_git.bb new file mode 100644 index 0000000000000000000000000000000000000000..098cab5b9466607436441f752fb3862e05b8214d --- /dev/null +++ b/meta-openeuler/recipes-wlroots/wlr-randr/wlr-randr_git.bb @@ -0,0 +1,24 @@ +SUMMARY = "Utility to manage outputs of a Wayland compositor." +HOMEPAGE = "https://sr.ht/~emersion/wlr-randr/" +SECTION = "Wayland" +LICENSE = "MIT" + +LIC_FILES_CHKSUM = "file://LICENSE;md5=07e8a8f2dc9e6a7f131e81037398c61b" + +REQUIRED_DISTRO_FEATURES = "wayland" + +SRC_URI = "git://git.sr.ht/~emersion/wlr-randr;protocol=https;nobranch=1" + +inherit meson pkgconfig + +DEPENDS = " \ + wayland \ + wayland-native \ + wayland-protocols \ +" + +inherit meson pkgconfig features_check + +S = "${WORKDIR}/git" +PV = "0.3.0" +SRCREV = "027cf087b882951eef249b794be31adf0a33b5f8"