diff --git a/eclass/nas-kernel.eclass b/eclass/nas-kernel.eclass index 7e05a3f..f01db80 100644 --- a/eclass/nas-kernel.eclass +++ b/eclass/nas-kernel.eclass @@ -586,6 +586,14 @@ _kernel_src_compile() { fi unset LDFLAGS + + if [ "${K_NASKERNEL_DTB}" != "none" ]; then + cp "${WORKDIR}/config" .config + make ${K_NASKERNEL_DTB} + cp "${S}"/arch/arm/boot/${K_NASKERNEL_DTB} "${S}" + rm .config + fi + DEFAULT_KERNEL_SOURCE="${S}" CMD_KERNEL_DIR="${S}" genkernel ${GKARGS} ${K_GENKERNEL_ARGS} \ --kerneldir="${S}" \ --kernel-config="${WORKDIR}"/config \ @@ -612,13 +620,8 @@ _kernel_src_compile() { mkimage -A arm -O linux -T ramdisk -C none -a 0x00000000 -e 0x00000000 -n initrd-${KV_FULL} \ -d "${WORKDIR}"/boot/initramfs-genkernel-${ARCH}-${KV_FULL} "${WORKDIR}"/boot/initrd-genkernel-${ARCH}-${KV_FULL}.buffalo else - pushd "${S}" - cp "${WORKDIR}/config" .config - make ${K_NASKERNEL_DTB} - rm .config - popd einfo "Append the device-tree-blob to the Kenel Image" - cat "${WORKDIR}"/boot/kernel-genkernel-${ARCH}-${KV_FULL} "${S}"/arch/arm/boot/${K_NASKERNEL_DTB} > zImage.new + cat "${WORKDIR}"/boot/kernel-genkernel-${ARCH}-${KV_FULL} "${S}"/${K_NASKERNEL_DTB} > zImage.new cp "${S}"/arch/arm/boot/${K_NASKERNEL_DTB} "${WORKDIR}"/boot/dtb/ einfo "Create uImage of the resulting Image" mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n uImage-${KV_FULL} \ @@ -630,7 +633,7 @@ _kernel_src_compile() { fi # cleanup - rm -rf foo zImage.new + rm -rf foo zImage.new ${K_NASKERNEL_DTB} rm "${WORKDIR}"/boot/kernel-genkernel-${ARCH}-${KV_FULL} "${WORKDIR}"/boot/initramfs-genkernel-${ARCH}-${KV_FULL} }