summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eclass/kernel-build.eclass19
-rw-r--r--eclass/kernel-install.eclass12
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}"
;;