diff --git a/.oebuild/features/multilib.yaml b/.oebuild/features/multilib.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e25728e09328338bc7fc61da7a6abec92120cd77 --- /dev/null +++ b/.oebuild/features/multilib.yaml @@ -0,0 +1,11 @@ +type: feature + +support: ok3568|ryd-3568|ok3399|ok3588 + +local_conf: | + # Define multilib target + require conf/multilib.conf + MULTILIBS = "multilib:lib32" + DEFAULTTUNE:virtclass-multilib-lib32 = "armv7a" + # Add the multilib packages to the image + IMAGE_INSTALL:append = " lib32-glibc lib32-libgcc lib32-libstdc++" \ No newline at end of file diff --git a/meta-openeuler/recipes-core/images/openeuler-image-sdk.inc b/meta-openeuler/recipes-core/images/openeuler-image-sdk.inc index 0381f39b01287351166c41fc834d880ae5474200..47051af29ddeb65da97e49fb6f9b3b1fb8632993 100644 --- a/meta-openeuler/recipes-core/images/openeuler-image-sdk.inc +++ b/meta-openeuler/recipes-core/images/openeuler-image-sdk.inc @@ -92,3 +92,9 @@ openamp-dev \ libmetal-dev \ sysfsutils-dev \ " + +TOOLCHAIN_TARGET_TASK:remove:aarch64 = " \ +lib32-glibc \ +lib32-libgcc \ +lib32-libstdc++ \ +" diff --git a/meta-openeuler/recipes-kernel/linux/files/meta-data/features/aarch64-multilib/aarch64-multilib.cfg b/meta-openeuler/recipes-kernel/linux/files/meta-data/features/aarch64-multilib/aarch64-multilib.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bf45f12a2b634905429de361d1e11ea6d238c231 --- /dev/null +++ b/meta-openeuler/recipes-kernel/linux/files/meta-data/features/aarch64-multilib/aarch64-multilib.cfg @@ -0,0 +1,4 @@ +# +# preempt-rt related kernel config +# +CONFIG_AARCH32_EL0=y diff --git a/meta-openeuler/recipes-kernel/linux/files/meta-data/features/aarch64-multilib/aarch64-multilib.scc b/meta-openeuler/recipes-kernel/linux/files/meta-data/features/aarch64-multilib/aarch64-multilib.scc new file mode 100644 index 0000000000000000000000000000000000000000..90661ea9c09181e88ef85c16cbd77811e03ebe93 --- /dev/null +++ b/meta-openeuler/recipes-kernel/linux/files/meta-data/features/aarch64-multilib/aarch64-multilib.scc @@ -0,0 +1,4 @@ +define KFEATURE_DESCRIPTION "Enable aarch64 multilib related configs" +define KFEATURE_COMPATBILIY all + +kconf non-hardware aarch64-multilib.cfg diff --git a/meta-openeuler/recipes-kernel/linux/linux-openeuler.inc b/meta-openeuler/recipes-kernel/linux/linux-openeuler.inc index 85639a017eab7619b8a71aba54c3d0d638d6bde2..8ffcbd28904d0d1aadf2e18ab1b6516857bc7a85 100644 --- a/meta-openeuler/recipes-kernel/linux/linux-openeuler.inc +++ b/meta-openeuler/recipes-kernel/linux/linux-openeuler.inc @@ -58,6 +58,11 @@ SRC_URI:append:aarch64 = " \ file://patches/${ARCH}/0001-arm64-add-zImage-support-for-arm64.patch \ " +# add multilib patches only for aarch64 +KERNEL_FEATURES:aarch64:append = " \ + ${@bb.utils.contains('MULTILIBS', 'multilib:lib32', 'features/aarch64-multilib/aarch64-multilib.scc', '', d)} \ +" + ## DEBUG FEATURES KERNEL_FEATURES:append = " \ ${@bb.utils.contains('IMAGE_FEATURES', 'debug-tweaks', 'features/debug/devmem.scc', '', d)} \