add u-boot and x-loader build
This commit is contained in:
parent
0533c6d7ea
commit
31419a012d
@ -117,6 +117,38 @@ K_WORKAROUND_USE_REAL_EXTRAVERSION="${K_WORKAROUND_USE_REAL_EXTRAVERSION:-}"
|
|||||||
# Provide extra genkernel arguments using K_GENKERNEL_ARGS
|
# Provide extra genkernel arguments using K_GENKERNEL_ARGS
|
||||||
K_GENKERNEL_ARGS="${K_GENKERNEL_ARGS-}"
|
K_GENKERNEL_ARGS="${K_GENKERNEL_ARGS-}"
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: K_NASKERNEL_XLOADER_VER
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# If set to "1.5.1" for example, it downloads the selected version
|
||||||
|
K_NASKERNEL_XLOADER_VER="${K_NASKERNEL_XLOADER_VER:-}"
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: K_NASKERNEL_XLOADER_PATCHES_VER
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# If set to "3" for example, it applies the
|
||||||
|
# patchs corresponding to x-loader-${K_NASKERNEL_XLOADER_VER}
|
||||||
|
K_NASKERNEL_XLOADER_PATCHES_VER="${K_NASKERNEL_XLOADER_PATCHES_VER:-}"
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: K_NASKERNEL_XLOADER_TARGET
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# If set to "omap4430panda_config" for example, it is build for that arch
|
||||||
|
K_NASKERNEL_XLOADER_TARGET="${K_NASKERNEL_XLOADER_TARGET:-}"
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: K_KERNEL_UBOOT_VER
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# If set to "2011.12" for example, it downloads the selected version
|
||||||
|
K_NASKERNEL_UBOOT_VER="${K_NASKERNEL_UBOOT_VER:-}"
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: K_KERNEL_UBOOT_PATCHES_VER
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# If set to "3" for example, it applies the
|
||||||
|
# patchs corresponding to u-boot-${K_NASKERNEL_UBOOT_VER}
|
||||||
|
K_NASKERNEL_UBOOT_PATCHES_VER="${K_NASKERNEL_UBOOT_PATCHES_VER:-}"
|
||||||
|
|
||||||
|
# @ECLASS-VARIABLE: K_NASKERNEL_UBOOT_TARGET
|
||||||
|
# @DESCRIPTION:
|
||||||
|
# If set to "omap4_panda_config" for example, it is build for that arch
|
||||||
|
K_NASKERNEL_UBOOT_TARGET="${K_NASKERNEL_UBOOT_TARGET:-}"
|
||||||
|
|
||||||
KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*${K_NASKERNEL_NAME}}"
|
KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*${K_NASKERNEL_NAME}}"
|
||||||
|
|
||||||
# Disable deblobbing feature
|
# Disable deblobbing feature
|
||||||
@ -162,6 +194,28 @@ if [ -n "${K_KERNEL_PATCH_HOTFIXES}" ]; then
|
|||||||
UNIPATCH_LIST="${K_KERNEL_PATCH_HOTFIXES} ${UNIPATCH_LIST}"
|
UNIPATCH_LIST="${K_KERNEL_PATCH_HOTFIXES} ${UNIPATCH_LIST}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# download x-loader if required (ubuntu is mainly supporterted by TI)
|
||||||
|
if [ -n "${K_NASKERNEL_XLOADER_VER}" ]; then
|
||||||
|
SRC_URI="${SRC_URI}
|
||||||
|
mirror://sablink/${CATEGORY}/linux-nas-patches/x-loader_${K_NASKERNEL_XLOADER_VER}.orig.tar.gz
|
||||||
|
https://launchpad.net/ubuntu/+archive/primary/+files/x-loader_${K_NASKERNEL_XLOADER_VER}.orig.tar.gz"
|
||||||
|
if [ -n "${K_KERNEL_XLOADER_PATCHES_VER}" ]; then
|
||||||
|
SRC_URI="${SRC_URI}
|
||||||
|
mirror://sablink/${CATEGORY}/linux-nas-patches/x-loader-patches-${K_NASKERNEL_XLOADER_VER}-${K_KERNEL_XLOADER_PATCHES_VER}.tar.bz2"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# download u-boot if required
|
||||||
|
if [ -n "${K_NASKERNEL_UBOOT_VER}" ]; then
|
||||||
|
SRC_URI="${SRC_URI}
|
||||||
|
mirror://sablink/${CATEGORY}/linux-nas-patches/u-boot-${K_NASKERNEL_UBOOT_VER}.tar.bz2
|
||||||
|
ftp://ftp.denx.de/pub/u-boot/u-boot-${K_NASKERNEL_UBOOT_VER}.tar.bz2"
|
||||||
|
if [ -n "${K_KERNEL_UBOOT_PATCHES_VER}" ]; then
|
||||||
|
SRC_URI="${SRC_URI}
|
||||||
|
mirror://sablink/${CATEGORY}/linux-nas-patches/u-boot-patches-${K_NASKERNEL_UBOOT_VER}-${K_KERNEL_UBOOT_PATCHES_VER}.tar.bz2"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
_get_real_kv_full() {
|
_get_real_kv_full() {
|
||||||
if [[ "${KV_MAJOR}${KV_MINOR}" -eq 26 ]]; then
|
if [[ "${KV_MAJOR}${KV_MINOR}" -eq 26 ]]; then
|
||||||
echo "${ORIGINAL_KV_FULL}"
|
echo "${ORIGINAL_KV_FULL}"
|
||||||
@ -265,7 +319,8 @@ else
|
|||||||
>=sys-kernel/genkernel-3.4.16-r1
|
>=sys-kernel/genkernel-3.4.16-r1
|
||||||
dracut? ( sys-kernel/dracut )
|
dracut? ( sys-kernel/dracut )
|
||||||
sys-block/devio
|
sys-block/devio
|
||||||
dev-embedded/u-boot-tools"
|
dev-embedded/u-boot-tools
|
||||||
|
sys-fs/dosfstools"
|
||||||
RDEPEND="sys-apps/sed
|
RDEPEND="sys-apps/sed
|
||||||
sys-kernel/linux-firmware"
|
sys-kernel/linux-firmware"
|
||||||
if [ -n "${K_REQUIRED_LINUX_FIRMWARE_VER}" ]; then
|
if [ -n "${K_REQUIRED_LINUX_FIRMWARE_VER}" ]; then
|
||||||
@ -388,6 +443,44 @@ _kernel_src_compile() {
|
|||||||
rm -rf "${WORKDIR}"/cache
|
rm -rf "${WORKDIR}"/cache
|
||||||
rm -rf "${S}"/temp
|
rm -rf "${S}"/temp
|
||||||
|
|
||||||
|
# compile x-loader if required
|
||||||
|
if [ -n "${K_NASKERNEL_XLOADER_VER}" ]; then
|
||||||
|
pushd "${WORKDIR}/x-loader-${K_NASKERNEL_XLOADER_VER}"
|
||||||
|
if [ -n "${K_KERNEL_XLOADER_PATCHES_VER}" ]; then
|
||||||
|
EPATCH_SOURCE="${WORKDIR}/x-loader-patches" EPATCH_SUFFIX="patch" \
|
||||||
|
EPATCH_FORCE="yes" epatch
|
||||||
|
fi
|
||||||
|
if [ -n "${CROSS_COMPILE}" ] && [ "${CBUILD:-${CHOST}}" != "${CTARGET}" ]; then
|
||||||
|
einfo "Enabling cross-compile for ${CROSS_COMPILE}, arch: ${KARCH}"
|
||||||
|
emake ARCH=${KARCH} CROSS_COMPILE=${CROSS_COMPILE}- ${K_NASKERNEL_XLOADER_TARGET}
|
||||||
|
emake ARCH=${KARCH} CROSS_COMPILE=${CROSS_COMPILE}-
|
||||||
|
else
|
||||||
|
einfo "Cross-compile is disabled"
|
||||||
|
emake ${K_NASKERNEL_XLOADER_TARGET}
|
||||||
|
emake
|
||||||
|
fi
|
||||||
|
popd
|
||||||
|
fi
|
||||||
|
|
||||||
|
# compile u-boot if required
|
||||||
|
if [ -n "${K_NASKERNEL_UBOOT_VER}" ]; then
|
||||||
|
pushd "${WORKDIR}/u-boot-${K_NASKERNEL_UBOOT_VER}"
|
||||||
|
if [ -n "${K_KERNEL_UBOOT_PATCHES_VER}" ]; then
|
||||||
|
EPATCH_SOURCE="${WORKDIR}/u-boot-patches" EPATCH_SUFFIX="patch" \
|
||||||
|
EPATCH_FORCE="yes" epatch
|
||||||
|
fi
|
||||||
|
if [ -n "${CROSS_COMPILE}" ] && [ "${CBUILD:-${CHOST}}" != "${CTARGET}" ]; then
|
||||||
|
einfo "Enabling cross-compile for ${CROSS_COMPILE}, arch: ${KARCH}"
|
||||||
|
emake ARCH=${KARCH} CROSS_COMPILE=${CROSS_COMPILE}- ${K_NASKERNEL_UBOOT_TARGET}
|
||||||
|
emake ARCH=${KARCH} CROSS_COMPILE=${CROSS_COMPILE}-
|
||||||
|
else
|
||||||
|
einfo "Cross-compile is disabled"
|
||||||
|
emake ${K_NASKERNEL_UBOOT_TARGET}
|
||||||
|
emake
|
||||||
|
fi
|
||||||
|
popd
|
||||||
|
fi
|
||||||
|
|
||||||
cd "${S}" || die
|
cd "${S}" || die
|
||||||
GKARGS="--no-save-config --disklabel"
|
GKARGS="--no-save-config --disklabel"
|
||||||
use dracut && GKARGS="${GKARGS} --dracut"
|
use dracut && GKARGS="${GKARGS} --dracut"
|
||||||
@ -500,6 +593,10 @@ _kernel_src_compile() {
|
|||||||
-d zImage.new "${WORKDIR}"/boot/uImage-genkernel-${ARCH}-${KV_FULL}.buffalo
|
-d zImage.new "${WORKDIR}"/boot/uImage-genkernel-${ARCH}-${KV_FULL}.buffalo
|
||||||
mkimage -A arm -O linux -T ramdisk -C none -a 0x00000000 -e 0x00000000 -n initrd-${KV_FULL} \
|
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
|
-d "${WORKDIR}"/boot/initramfs-genkernel-${ARCH}-${KV_FULL} "${WORKDIR}"/boot/initrd-genkernel-${ARCH}-${KV_FULL}.buffalo
|
||||||
|
# install u-boot if required
|
||||||
|
if [ -n "${K_NASKERNEL_UBOOT_VER}" ]; then
|
||||||
|
cp "${WORKDIR}"/u-boot-${K_NASKERNEL_UBOOT_VER}/u-boot.bin "${WORKDIR}"/boot/u-boot-${ARCH}-${K_NASKERNEL_UBOOT_VER}.${K_NASKERNEL_NAME}
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# cleanup
|
# cleanup
|
||||||
|
Loading…
Reference in New Issue
Block a user