summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorAlexey Shvetsov <alexxy@gentoo.org>2020-05-21 21:29:32 +0300
committerMichał Górny <mgorny@gentoo.org>2020-05-21 21:31:50 +0200
commit6c01028ceb471bb8c22ac71656e7c07828fc2134 (patch)
treeb1d431e1ddf4100f8095798a1543eb00cebb6c46 /eclass
parentdev-go/get-ego-vendor: stable 0.2.0 on amd64 (diff)
downloadgentoo-6c01028ceb471bb8c22ac71656e7c07828fc2134.tar.gz
gentoo-6c01028ceb471bb8c22ac71656e7c07828fc2134.tar.bz2
gentoo-6c01028ceb471bb8c22ac71656e7c07828fc2134.zip
kernel-{build,install}.eclass: more ARM support
Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org> Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'eclass')
-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 ba4b012dc4cf..7d674fa9cf48 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 c26af5c2e88b..efccd70608c0 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}"
;;