commit: 6c01028ceb471bb8c22ac71656e7c07828fc2134
Author: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
AuthorDate: Thu May 21 18:29:32 2020 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu May 21 19:31:50 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c01028c
kernel-{build,install}.eclass: more ARM support
Signed-off-by: Alexey Shvetsov <alexxy <AT> gentoo.org>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
eclass/kernel-build.eclass | 19 +++++++++++++++++--
eclass/kernel-install.eclass | 12 ++++++++++++
2 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass
index ba4b012dc4c..7d674fa9cf4 100644
--- a/eclass/kernel-build.eclass
+++ b/eclass/kernel-build.eclass
@@ -99,9 +99,13 @@ kernel-build_src_compile() {
# from kernel-install.eclass with the correct paths.
kernel-build_src_test() {
debug-print-function ${FUNCNAME} "${@}"
+ local targets=( modules_install )
+ if use arm || use arm64; then
+ targets+=( dtbs_install )
+ fi
emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
- INSTALL_MOD_PATH="${T}" modules_install
+ INSTALL_MOD_PATH="${T}" "${targets[@]}"
kernel-install_test "${PV}" \
"${WORKDIR}/build/$(kernel-install_get_image_path)" \
@@ -117,8 +121,19 @@ kernel-build_src_install() {
# do not use 'make install' as it behaves differently based
# on what kind of installkernel is installed
+ local targets=( modules_install )
+ if use arm || use arm64; then
+ targets+=( dtbs_install )
+ fi
+
emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
- INSTALL_MOD_PATH="${ED}" modules_install
+ INSTALL_MOD_PATH="${ED}" "${targets[@]}"
+
+ # on arm or arm64 dtbs also needed
+ if (use arm || use arm64); then
+ emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \
+ INSTALL_PATH="${ED}/boot" dtbs_install
+ fi
# note: we're using mv rather than doins to save space and time
# install main and arch-specific headers first, and scripts
diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass
index c26af5c2e88..efccd70608c 100644
--- a/eclass/kernel-install.eclass
+++ b/eclass/kernel-install.eclass
@@ -92,6 +92,12 @@ kernel-install_get_image_path() {
amd64|x86)
echo arch/x86/boot/bzImage
;;
+ arm64)
+ echo arch/arm64/boot/Image.gz
+ ;;
+ arm)
+ echo arch/arm/boot/zImage
+ ;;
*)
die "${FUNCNAME}: unsupported ARCH=${ARCH}"
;;
@@ -176,6 +182,12 @@ kernel-install_get_qemu_arch() {
x86)
echo i386
;;
+ arm)
+ echo arm
+ ;;
+ arm64)
+ echo aarch64
+ ;;
*)
die "${FUNCNAME}: unsupported ARCH=${ARCH}"
;;