mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-01 15:07:49 +00:00
linux: automated code cleanup
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
This commit is contained in:
parent
3087041cd0
commit
ea1dff8688
@ -6,31 +6,31 @@ PKG_NAME="linux"
|
|||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
PKG_SITE="http://www.kernel.org"
|
PKG_SITE="http://www.kernel.org"
|
||||||
PKG_DEPENDS_HOST="ccache:host rsync:host openssl:host"
|
PKG_DEPENDS_HOST="ccache:host rsync:host openssl:host"
|
||||||
PKG_DEPENDS_TARGET="toolchain linux:host kmod:host xz:host keyutils $KERNEL_EXTRA_DEPENDS_TARGET"
|
PKG_DEPENDS_TARGET="toolchain linux:host kmod:host xz:host keyutils ${KERNEL_EXTRA_DEPENDS_TARGET}"
|
||||||
PKG_NEED_UNPACK="$LINUX_DEPENDS $(get_pkg_directory initramfs) $(get_pkg_variable initramfs PKG_NEED_UNPACK)"
|
PKG_NEED_UNPACK="${LINUX_DEPENDS} $(get_pkg_directory initramfs) $(get_pkg_variable initramfs PKG_NEED_UNPACK)"
|
||||||
PKG_LONGDESC="This package contains a precompiled kernel image and the modules."
|
PKG_LONGDESC="This package contains a precompiled kernel image and the modules."
|
||||||
PKG_IS_KERNEL_PKG="yes"
|
PKG_IS_KERNEL_PKG="yes"
|
||||||
PKG_STAMP="$KERNEL_TARGET $KERNEL_MAKE_EXTRACMD"
|
PKG_STAMP="${KERNEL_TARGET} ${KERNEL_MAKE_EXTRACMD}"
|
||||||
|
|
||||||
PKG_PATCH_DIRS="$LINUX"
|
PKG_PATCH_DIRS="${LINUX}"
|
||||||
|
|
||||||
case "$LINUX" in
|
case "${LINUX}" in
|
||||||
amlogic)
|
amlogic)
|
||||||
PKG_VERSION="7c53f6b671f4aba70ff15e1b05148b10d58c2837" # 5.11-rc3
|
PKG_VERSION="7c53f6b671f4aba70ff15e1b05148b10d58c2837" # 5.11-rc3
|
||||||
PKG_SHA256="30206f178c9c151a0c387c7967800bc0bf89a893958241a3add0098d443f323a"
|
PKG_SHA256="30206f178c9c151a0c387c7967800bc0bf89a893958241a3add0098d443f323a"
|
||||||
PKG_URL="https://github.com/torvalds/linux/archive/$PKG_VERSION.tar.gz"
|
PKG_URL="https://github.com/torvalds/linux/archive/${PKG_VERSION}.tar.gz"
|
||||||
PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz"
|
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
|
||||||
;;
|
;;
|
||||||
raspberrypi)
|
raspberrypi)
|
||||||
PKG_VERSION="e9505f4612646533f53813aabef5ca040b0ea49d" # 5.10.7
|
PKG_VERSION="e9505f4612646533f53813aabef5ca040b0ea49d" # 5.10.7
|
||||||
PKG_SHA256="2d6e3637dbe328161161cbdede2902e0aaaa979bd0179a40e14d2960a61de593"
|
PKG_SHA256="2d6e3637dbe328161161cbdede2902e0aaaa979bd0179a40e14d2960a61de593"
|
||||||
PKG_URL="https://github.com/raspberrypi/linux/archive/$PKG_VERSION.tar.gz"
|
PKG_URL="https://github.com/raspberrypi/linux/archive/${PKG_VERSION}.tar.gz"
|
||||||
PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz"
|
PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
PKG_VERSION="5.10.4"
|
PKG_VERSION="5.10.4"
|
||||||
PKG_SHA256="904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
|
PKG_SHA256="904e396c26e9992a16cd1cc989460171536bed7739bf36049f6eb020ee5d56ec"
|
||||||
PKG_URL="https://www.kernel.org/pub/linux/kernel/v5.x/$PKG_NAME-$PKG_VERSION.tar.xz"
|
PKG_URL="https://www.kernel.org/pub/linux/kernel/v5.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
|
||||||
PKG_PATCH_DIRS="default"
|
PKG_PATCH_DIRS="default"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -41,26 +41,26 @@ if listcontains "${UBOOT_FIRMWARE}" "crust"; then
|
|||||||
PKG_PATCH_DIRS+=" crust"
|
PKG_PATCH_DIRS+=" crust"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$KERNEL_TOOLCHAIN" ]; then
|
if [ -n "${KERNEL_TOOLCHAIN}" ]; then
|
||||||
PKG_DEPENDS_HOST="$PKG_DEPENDS_HOST gcc-arm-$KERNEL_TOOLCHAIN:host"
|
PKG_DEPENDS_HOST+=" gcc-arm-${KERNEL_TOOLCHAIN}:host"
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET gcc-arm-$KERNEL_TOOLCHAIN:host"
|
PKG_DEPENDS_TARGET+=" gcc-arm-${KERNEL_TOOLCHAIN}:host"
|
||||||
HEADERS_ARCH=$TARGET_ARCH
|
HEADERS_ARCH=${TARGET_ARCH}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$PKG_BUILD_PERF" != "no" ] && grep -q ^CONFIG_PERF_EVENTS= $PKG_KERNEL_CFG_FILE ; then
|
if [ "${PKG_BUILD_PERF}" != "no" ] && grep -q ^CONFIG_PERF_EVENTS= ${PKG_KERNEL_CFG_FILE}; then
|
||||||
PKG_BUILD_PERF="yes"
|
PKG_BUILD_PERF="yes"
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET binutils elfutils libunwind zlib openssl"
|
PKG_DEPENDS_TARGET+=" binutils elfutils libunwind zlib openssl"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$TARGET_ARCH" = "x86_64" ]; then
|
if [ "${TARGET_ARCH}" = "x86_64" ]; then
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET elfutils:host pciutils"
|
PKG_DEPENDS_TARGET+=" elfutils:host pciutils"
|
||||||
PKG_DEPENDS_UNPACK+=" intel-ucode kernel-firmware"
|
PKG_DEPENDS_UNPACK+=" intel-ucode kernel-firmware"
|
||||||
elif [ "$TARGET_ARCH" = "arm" -a "$DEVICE" = "iMX6" ]; then
|
elif [ "${TARGET_ARCH}" = "arm" -a "${DEVICE}" = "iMX6" ]; then
|
||||||
PKG_DEPENDS_UNPACK+=" firmware-imx"
|
PKG_DEPENDS_UNPACK+=" firmware-imx"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$KERNEL_TARGET" = uImage* ]]; then
|
if [[ "${KERNEL_TARGET}" = uImage* ]]; then
|
||||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET u-boot-tools:host"
|
PKG_DEPENDS_TARGET+=" u-boot-tools:host"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Ensure that the dependencies of initramfs:target are built correctly, but
|
# Ensure that the dependencies of initramfs:target are built correctly, but
|
||||||
@ -72,108 +72,108 @@ done
|
|||||||
|
|
||||||
post_patch() {
|
post_patch() {
|
||||||
# linux was already built and its build dir autoremoved - prepare it again for kernel packages
|
# linux was already built and its build dir autoremoved - prepare it again for kernel packages
|
||||||
if [ -d $PKG_INSTALL/.image ]; then
|
if [ -d ${PKG_INSTALL}/.image ]; then
|
||||||
cp -p $PKG_INSTALL/.image/.config $PKG_BUILD
|
cp -p ${PKG_INSTALL}/.image/.config ${PKG_BUILD}
|
||||||
kernel_make -C $PKG_BUILD prepare
|
kernel_make -C ${PKG_BUILD} prepare
|
||||||
|
|
||||||
# restore the required Module.symvers from an earlier build
|
# restore the required Module.symvers from an earlier build
|
||||||
cp -p $PKG_INSTALL/.image/Module.symvers $PKG_BUILD
|
cp -p ${PKG_INSTALL}/.image/Module.symvers ${PKG_BUILD}
|
||||||
else
|
else
|
||||||
cp $PKG_KERNEL_CFG_FILE $PKG_BUILD/.config
|
cp ${PKG_KERNEL_CFG_FILE} ${PKG_BUILD}/.config
|
||||||
|
|
||||||
sed -i -e "s|@INITRAMFS_SOURCE@|$(kernel_initramfs_confs) $BUILD/initramfs|" $PKG_BUILD/.config
|
sed -i -e "s|@INITRAMFS_SOURCE@|$(kernel_initramfs_confs) ${BUILD}/initramfs|" ${PKG_BUILD}/.config
|
||||||
|
|
||||||
# set default hostname based on $DISTRONAME
|
# set default hostname based on ${DISTRONAME}
|
||||||
sed -i -e "s|@DISTRONAME@|$DISTRONAME|g" $PKG_BUILD/.config
|
sed -i -e "s|@DISTRONAME@|${DISTRONAME}|g" ${PKG_BUILD}/.config
|
||||||
|
|
||||||
# disable swap support if not enabled
|
# disable swap support if not enabled
|
||||||
if [ ! "$SWAP_SUPPORT" = yes ]; then
|
if [ ! "${SWAP_SUPPORT}" = yes ]; then
|
||||||
sed -i -e "s|^CONFIG_SWAP=.*$|# CONFIG_SWAP is not set|" $PKG_BUILD/.config
|
sed -i -e "s|^CONFIG_SWAP=.*$|# CONFIG_SWAP is not set|" ${PKG_BUILD}/.config
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# disable nfs support if not enabled
|
# disable nfs support if not enabled
|
||||||
if [ ! "$NFS_SUPPORT" = yes ]; then
|
if [ ! "${NFS_SUPPORT}" = yes ]; then
|
||||||
sed -i -e "s|^CONFIG_NFS_FS=.*$|# CONFIG_NFS_FS is not set|" $PKG_BUILD/.config
|
sed -i -e "s|^CONFIG_NFS_FS=.*$|# CONFIG_NFS_FS is not set|" ${PKG_BUILD}/.config
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# disable cifs support if not enabled
|
# disable cifs support if not enabled
|
||||||
if [ ! "$SAMBA_SUPPORT" = yes ]; then
|
if [ ! "${SAMBA_SUPPORT}" = yes ]; then
|
||||||
sed -i -e "s|^CONFIG_CIFS=.*$|# CONFIG_CIFS is not set|" $PKG_BUILD/.config
|
sed -i -e "s|^CONFIG_CIFS=.*$|# CONFIG_CIFS is not set|" ${PKG_BUILD}/.config
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# disable iscsi support if not enabled
|
# disable iscsi support if not enabled
|
||||||
if [ ! "$ISCSI_SUPPORT" = yes ]; then
|
if [ ! "${ISCSI_SUPPORT}" = yes ]; then
|
||||||
sed -i -e "s|^CONFIG_SCSI_ISCSI_ATTRS=.*$|# CONFIG_SCSI_ISCSI_ATTRS is not set|" $PKG_BUILD/.config
|
sed -i -e "s|^CONFIG_SCSI_ISCSI_ATTRS=.*$|# CONFIG_SCSI_ISCSI_ATTRS is not set|" ${PKG_BUILD}/.config
|
||||||
sed -i -e "s|^CONFIG_ISCSI_TCP=.*$|# CONFIG_ISCSI_TCP is not set|" $PKG_BUILD/.config
|
sed -i -e "s|^CONFIG_ISCSI_TCP=.*$|# CONFIG_ISCSI_TCP is not set|" ${PKG_BUILD}/.config
|
||||||
sed -i -e "s|^CONFIG_ISCSI_BOOT_SYSFS=.*$|# CONFIG_ISCSI_BOOT_SYSFS is not set|" $PKG_BUILD/.config
|
sed -i -e "s|^CONFIG_ISCSI_BOOT_SYSFS=.*$|# CONFIG_ISCSI_BOOT_SYSFS is not set|" ${PKG_BUILD}/.config
|
||||||
sed -i -e "s|^CONFIG_ISCSI_IBFT_FIND=.*$|# CONFIG_ISCSI_IBFT_FIND is not set|" $PKG_BUILD/.config
|
sed -i -e "s|^CONFIG_ISCSI_IBFT_FIND=.*$|# CONFIG_ISCSI_IBFT_FIND is not set|" ${PKG_BUILD}/.config
|
||||||
sed -i -e "s|^CONFIG_ISCSI_IBFT=.*$|# CONFIG_ISCSI_IBFT is not set|" $PKG_BUILD/.config
|
sed -i -e "s|^CONFIG_ISCSI_IBFT=.*$|# CONFIG_ISCSI_IBFT is not set|" ${PKG_BUILD}/.config
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# disable lima/panfrost if libmali is configured
|
# disable lima/panfrost if libmali is configured
|
||||||
if [ "$OPENGLES" = "libmali" ]; then
|
if [ "${OPENGLES}" = "libmali" ]; then
|
||||||
sed -e "s|^CONFIG_DRM_LIMA=.*$|# CONFIG_DRM_LIMA is not set|" -i $PKG_BUILD/.config
|
sed -e "s|^CONFIG_DRM_LIMA=.*$|# CONFIG_DRM_LIMA is not set|" -i ${PKG_BUILD}/.config
|
||||||
sed -e "s|^CONFIG_DRM_PANFROST=.*$|# CONFIG_DRM_PANFROST is not set|" -i $PKG_BUILD/.config
|
sed -e "s|^CONFIG_DRM_PANFROST=.*$|# CONFIG_DRM_PANFROST is not set|" -i ${PKG_BUILD}/.config
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# disable wireguard support if not enabled
|
# disable wireguard support if not enabled
|
||||||
if [ ! "$WIREGUARD_SUPPORT" = yes ]; then
|
if [ ! "${WIREGUARD_SUPPORT}" = yes ]; then
|
||||||
sed -e "s|^CONFIG_WIREGUARD=.*$|# CONFIG_WIREGUARD is not set|" -i $PKG_BUILD/.config
|
sed -e "s|^CONFIG_WIREGUARD=.*$|# CONFIG_WIREGUARD is not set|" -i ${PKG_BUILD}/.config
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
make_host() {
|
make_host() {
|
||||||
make \
|
make \
|
||||||
ARCH=${HEADERS_ARCH:-$TARGET_KERNEL_ARCH} \
|
ARCH=${HEADERS_ARCH:-${TARGET_KERNEL_ARCH}} \
|
||||||
HOSTCC="$TOOLCHAIN/bin/host-gcc" \
|
HOSTCC="${TOOLCHAIN}/bin/host-gcc" \
|
||||||
HOSTCXX="$TOOLCHAIN/bin/host-g++" \
|
HOSTCXX="${TOOLCHAIN}/bin/host-g++" \
|
||||||
HOSTCFLAGS="$HOST_CFLAGS" \
|
HOSTCFLAGS="${HOST_CFLAGS}" \
|
||||||
HOSTCXXFLAGS="$HOST_CXXFLAGS" \
|
HOSTCXXFLAGS="${HOST_CXXFLAGS}" \
|
||||||
HOSTLDFLAGS="$HOST_LDFLAGS" \
|
HOSTLDFLAGS="${HOST_LDFLAGS}" \
|
||||||
headers_check
|
headers_check
|
||||||
}
|
}
|
||||||
|
|
||||||
makeinstall_host() {
|
makeinstall_host() {
|
||||||
make \
|
make \
|
||||||
ARCH=${HEADERS_ARCH:-$TARGET_KERNEL_ARCH} \
|
ARCH=${HEADERS_ARCH:-${TARGET_KERNEL_ARCH}} \
|
||||||
HOSTCC="$TOOLCHAIN/bin/host-gcc" \
|
HOSTCC="${TOOLCHAIN}/bin/host-gcc" \
|
||||||
HOSTCXX="$TOOLCHAIN/bin/host-g++" \
|
HOSTCXX="${TOOLCHAIN}/bin/host-g++" \
|
||||||
HOSTCFLAGS="$HOST_CFLAGS" \
|
HOSTCFLAGS="${HOST_CFLAGS}" \
|
||||||
HOSTCXXFLAGS="$HOST_CXXFLAGS" \
|
HOSTCXXFLAGS="${HOST_CXXFLAGS}" \
|
||||||
HOSTLDFLAGS="$HOST_LDFLAGS" \
|
HOSTLDFLAGS="${HOST_LDFLAGS}" \
|
||||||
INSTALL_HDR_PATH=dest \
|
INSTALL_HDR_PATH=dest \
|
||||||
headers_install
|
headers_install
|
||||||
mkdir -p $SYSROOT_PREFIX/usr/include
|
mkdir -p ${SYSROOT_PREFIX}/usr/include
|
||||||
cp -R dest/include/* $SYSROOT_PREFIX/usr/include
|
cp -R dest/include/* ${SYSROOT_PREFIX}/usr/include
|
||||||
}
|
}
|
||||||
|
|
||||||
pre_make_target() {
|
pre_make_target() {
|
||||||
( cd $ROOT
|
( cd ${ROOT}
|
||||||
rm -rf $BUILD/initramfs
|
rm -rf ${BUILD}/initramfs
|
||||||
rm -f ${STAMPS_INSTALL}/initramfs/install_target ${STAMPS_INSTALL}/*/install_init
|
rm -f ${STAMPS_INSTALL}/initramfs/install_target ${STAMPS_INSTALL}/*/install_init
|
||||||
$SCRIPTS/install initramfs
|
${SCRIPTS}/install initramfs
|
||||||
)
|
)
|
||||||
pkg_lock_status "ACTIVE" "linux:target" "build"
|
pkg_lock_status "ACTIVE" "linux:target" "build"
|
||||||
|
|
||||||
if [ "$TARGET_ARCH" = "x86_64" ]; then
|
if [ "${TARGET_ARCH}" = "x86_64" ]; then
|
||||||
# copy some extra firmware to linux tree
|
# copy some extra firmware to linux tree
|
||||||
mkdir -p $PKG_BUILD/external-firmware
|
mkdir -p ${PKG_BUILD}/external-firmware
|
||||||
cp -a $(get_build_dir kernel-firmware)/.copied-firmware/{amdgpu,amd-ucode,i915,radeon,e100,rtl_nic} $PKG_BUILD/external-firmware
|
cp -a $(get_build_dir kernel-firmware)/.copied-firmware/{amdgpu,amd-ucode,i915,radeon,e100,rtl_nic} ${PKG_BUILD}/external-firmware
|
||||||
|
|
||||||
cp -a $(get_build_dir intel-ucode)/intel-ucode $PKG_BUILD/external-firmware
|
cp -a $(get_build_dir intel-ucode)/intel-ucode ${PKG_BUILD}/external-firmware
|
||||||
|
|
||||||
FW_LIST="$(find $PKG_BUILD/external-firmware \( -type f -o -type l \) \( -iname '*.bin' -o -iname '*.fw' -o -path '*/intel-ucode/*' \) | sed 's|.*external-firmware/||' | sort | xargs)"
|
FW_LIST="$(find ${PKG_BUILD}/external-firmware \( -type f -o -type l \) \( -iname '*.bin' -o -iname '*.fw' -o -path '*/intel-ucode/*' \) | sed 's|.*external-firmware/||' | sort | xargs)"
|
||||||
sed -i "s|CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\"${FW_LIST}\"|" $PKG_BUILD/.config
|
sed -i "s|CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\"${FW_LIST}\"|" ${PKG_BUILD}/.config
|
||||||
|
|
||||||
elif [ "$TARGET_ARCH" = "arm" -a "$DEVICE" = "iMX6" ]; then
|
elif [ "${TARGET_ARCH}" = "arm" -a "${DEVICE}" = "iMX6" ]; then
|
||||||
mkdir -p $PKG_BUILD/external-firmware/imx/sdma
|
mkdir -p ${PKG_BUILD}/external-firmware/imx/sdma
|
||||||
cp -a $(get_build_dir firmware-imx)/firmware/sdma/*imx6*.bin $PKG_BUILD/external-firmware/imx/sdma
|
cp -a $(get_build_dir firmware-imx)/firmware/sdma/*imx6*.bin ${PKG_BUILD}/external-firmware/imx/sdma
|
||||||
cp -a $(get_build_dir firmware-imx)/firmware/vpu/*imx6*.bin $PKG_BUILD/external-firmware
|
cp -a $(get_build_dir firmware-imx)/firmware/vpu/*imx6*.bin ${PKG_BUILD}/external-firmware
|
||||||
|
|
||||||
FW_LIST="$(find $PKG_BUILD/external-firmware -type f | sed 's|.*external-firmware/||' | sort | xargs)"
|
FW_LIST="$(find ${PKG_BUILD}/external-firmware -type f | sed 's|.*external-firmware/||' | sort | xargs)"
|
||||||
sed -i -e "s|^CONFIG_EXTRA_FIRMWARE=.*$|CONFIG_EXTRA_FIRMWARE=\"${FW_LIST}\"|" $PKG_BUILD/.config
|
sed -i -e "s|^CONFIG_EXTRA_FIRMWARE=.*$|CONFIG_EXTRA_FIRMWARE=\"${FW_LIST}\"|" ${PKG_BUILD}/.config
|
||||||
sed -i -e "/CONFIG_EXTRA_FIRMWARE_DIR/d" -e "/CONFIG_EXTRA_FIRMWARE=.../a CONFIG_EXTRA_FIRMWARE_DIR=\"external-firmware\"" $PKG_BUILD/.config
|
sed -i -e "/CONFIG_EXTRA_FIRMWARE_DIR/d" -e "/CONFIG_EXTRA_FIRMWARE=.../a CONFIG_EXTRA_FIRMWARE_DIR=\"external-firmware\"" ${PKG_BUILD}/.config
|
||||||
fi
|
fi
|
||||||
|
|
||||||
kernel_make oldconfig
|
kernel_make oldconfig
|
||||||
@ -182,21 +182,21 @@ pre_make_target() {
|
|||||||
make_target() {
|
make_target() {
|
||||||
# arm64 target does not support creating uImage.
|
# arm64 target does not support creating uImage.
|
||||||
# Build Image first, then wrap it using u-boot's mkimage.
|
# Build Image first, then wrap it using u-boot's mkimage.
|
||||||
if [[ "$TARGET_KERNEL_ARCH" = "arm64" && "$KERNEL_TARGET" = uImage* ]]; then
|
if [[ "${TARGET_KERNEL_ARCH}" = "arm64" && "${KERNEL_TARGET}" = uImage* ]]; then
|
||||||
if [ -z "$KERNEL_UIMAGE_LOADADDR" -o -z "$KERNEL_UIMAGE_ENTRYADDR" ]; then
|
if [ -z "${KERNEL_UIMAGE_LOADADDR}" -o -z "${KERNEL_UIMAGE_ENTRYADDR}" ]; then
|
||||||
die "ERROR: KERNEL_UIMAGE_LOADADDR and KERNEL_UIMAGE_ENTRYADDR have to be set to build uImage - aborting"
|
die "ERROR: KERNEL_UIMAGE_LOADADDR and KERNEL_UIMAGE_ENTRYADDR have to be set to build uImage - aborting"
|
||||||
fi
|
fi
|
||||||
KERNEL_UIMAGE_TARGET="$KERNEL_TARGET"
|
KERNEL_UIMAGE_TARGET="${KERNEL_TARGET}"
|
||||||
KERNEL_TARGET="${KERNEL_TARGET/uImage/Image}"
|
KERNEL_TARGET="${KERNEL_TARGET/uImage/Image}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
kernel_make $KERNEL_TARGET $KERNEL_MAKE_EXTRACMD modules
|
kernel_make ${KERNEL_TARGET} ${KERNEL_MAKE_EXTRACMD} modules
|
||||||
|
|
||||||
if [ "$PKG_BUILD_PERF" = "yes" ] ; then
|
if [ "${PKG_BUILD_PERF}" = "yes" ]; then
|
||||||
( cd tools/perf
|
( cd tools/perf
|
||||||
|
|
||||||
# arch specific perf build args
|
# arch specific perf build args
|
||||||
case "$TARGET_ARCH" in
|
case "${TARGET_ARCH}" in
|
||||||
x86_64)
|
x86_64)
|
||||||
PERF_BUILD_ARGS="ARCH=x86"
|
PERF_BUILD_ARGS="ARCH=x86"
|
||||||
;;
|
;;
|
||||||
@ -204,7 +204,7 @@ make_target() {
|
|||||||
PERF_BUILD_ARGS="ARCH=arm64"
|
PERF_BUILD_ARGS="ARCH=arm64"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
PERF_BUILD_ARGS="ARCH=$TARGET_ARCH"
|
PERF_BUILD_ARGS="ARCH=${TARGET_ARCH}"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
@ -217,72 +217,72 @@ make_target() {
|
|||||||
NO_LIBAUDIT=1 \
|
NO_LIBAUDIT=1 \
|
||||||
NO_LZMA=1 \
|
NO_LZMA=1 \
|
||||||
NO_SDT=1 \
|
NO_SDT=1 \
|
||||||
CROSS_COMPILE="$TARGET_PREFIX" \
|
CROSS_COMPILE="${TARGET_PREFIX}" \
|
||||||
JOBS="$CONCURRENCY_MAKE_LEVEL" \
|
JOBS="${CONCURRENCY_MAKE_LEVEL}" \
|
||||||
make $PERF_BUILD_ARGS
|
make ${PERF_BUILD_ARGS}
|
||||||
mkdir -p $INSTALL/usr/bin
|
mkdir -p ${INSTALL}/usr/bin
|
||||||
cp perf $INSTALL/usr/bin
|
cp perf ${INSTALL}/usr/bin
|
||||||
)
|
)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$KERNEL_UIMAGE_TARGET" ] ; then
|
if [ -n "${KERNEL_UIMAGE_TARGET}" ]; then
|
||||||
# determine compression used for kernel image
|
# determine compression used for kernel image
|
||||||
KERNEL_UIMAGE_COMP=${KERNEL_UIMAGE_TARGET:7}
|
KERNEL_UIMAGE_COMP=${KERNEL_UIMAGE_TARGET:7}
|
||||||
KERNEL_UIMAGE_COMP=$(echo ${KERNEL_UIMAGE_COMP:-none} | sed 's/gz/gzip/; s/bz2/bzip2/')
|
KERNEL_UIMAGE_COMP=$(echo ${KERNEL_UIMAGE_COMP:-none} | sed 's/gz/gzip/; s/bz2/bzip2/')
|
||||||
|
|
||||||
# calculate new load address to make kernel Image unpack to memory area after compressed image
|
# calculate new load address to make kernel Image unpack to memory area after compressed image
|
||||||
if [ "$KERNEL_UIMAGE_COMP" != "none" ] ; then
|
if [ "${KERNEL_UIMAGE_COMP}" != "none" ]; then
|
||||||
COMPRESSED_SIZE=$(stat -t "arch/$TARGET_KERNEL_ARCH/boot/$KERNEL_TARGET" | awk '{print $2}')
|
COMPRESSED_SIZE=$(stat -t "arch/${TARGET_KERNEL_ARCH}/boot/${KERNEL_TARGET}" | awk '{print $2}')
|
||||||
# align to 1 MiB
|
# align to 1 MiB
|
||||||
COMPRESSED_SIZE=$(( (($COMPRESSED_SIZE - 1 >> 20) + 1) << 20 ))
|
COMPRESSED_SIZE=$(( ((${COMPRESSED_SIZE} - 1 >> 20) + 1) << 20 ))
|
||||||
PKG_KERNEL_UIMAGE_LOADADDR=$(printf '%X' "$(( $KERNEL_UIMAGE_LOADADDR + $COMPRESSED_SIZE ))")
|
PKG_KERNEL_UIMAGE_LOADADDR=$(printf '%X' "$(( ${KERNEL_UIMAGE_LOADADDR} + ${COMPRESSED_SIZE} ))")
|
||||||
PKG_KERNEL_UIMAGE_ENTRYADDR=$(printf '%X' "$(( $KERNEL_UIMAGE_ENTRYADDR + $COMPRESSED_SIZE ))")
|
PKG_KERNEL_UIMAGE_ENTRYADDR=$(printf '%X' "$(( ${KERNEL_UIMAGE_ENTRYADDR} + ${COMPRESSED_SIZE} ))")
|
||||||
else
|
else
|
||||||
PKG_KERNEL_UIMAGE_LOADADDR=${KERNEL_UIMAGE_LOADADDR}
|
PKG_KERNEL_UIMAGE_LOADADDR=${KERNEL_UIMAGE_LOADADDR}
|
||||||
PKG_KERNEL_UIMAGE_ENTRYADDR=${KERNEL_UIMAGE_ENTRYADDR}
|
PKG_KERNEL_UIMAGE_ENTRYADDR=${KERNEL_UIMAGE_ENTRYADDR}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkimage -A $TARGET_KERNEL_ARCH \
|
mkimage -A ${TARGET_KERNEL_ARCH} \
|
||||||
-O linux \
|
-O linux \
|
||||||
-T kernel \
|
-T kernel \
|
||||||
-C $KERNEL_UIMAGE_COMP \
|
-C ${KERNEL_UIMAGE_COMP} \
|
||||||
-a $PKG_KERNEL_UIMAGE_LOADADDR \
|
-a ${PKG_KERNEL_UIMAGE_LOADADDR} \
|
||||||
-e $PKG_KERNEL_UIMAGE_ENTRYADDR \
|
-e ${PKG_KERNEL_UIMAGE_ENTRYADDR} \
|
||||||
-d arch/$TARGET_KERNEL_ARCH/boot/$KERNEL_TARGET \
|
-d arch/${TARGET_KERNEL_ARCH}/boot/${KERNEL_TARGET} \
|
||||||
arch/$TARGET_KERNEL_ARCH/boot/$KERNEL_UIMAGE_TARGET
|
arch/${TARGET_KERNEL_ARCH}/boot/${KERNEL_UIMAGE_TARGET}
|
||||||
|
|
||||||
KERNEL_TARGET="${KERNEL_UIMAGE_TARGET}"
|
KERNEL_TARGET="${KERNEL_UIMAGE_TARGET}"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
makeinstall_target() {
|
makeinstall_target() {
|
||||||
mkdir -p $INSTALL/.image
|
mkdir -p ${INSTALL}/.image
|
||||||
cp -p arch/${TARGET_KERNEL_ARCH}/boot/${KERNEL_TARGET} System.map .config Module.symvers $INSTALL/.image/
|
cp -p arch/${TARGET_KERNEL_ARCH}/boot/${KERNEL_TARGET} System.map .config Module.symvers ${INSTALL}/.image/
|
||||||
|
|
||||||
kernel_make INSTALL_MOD_PATH=$INSTALL/$(get_kernel_overlay_dir) modules_install
|
kernel_make INSTALL_MOD_PATH=${INSTALL}/$(get_kernel_overlay_dir) modules_install
|
||||||
rm -f $INSTALL/$(get_kernel_overlay_dir)/lib/modules/*/build
|
rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/build
|
||||||
rm -f $INSTALL/$(get_kernel_overlay_dir)/lib/modules/*/source
|
rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/source
|
||||||
|
|
||||||
if [ "$BOOTLOADER" = "u-boot" ]; then
|
if [ "${BOOTLOADER}" = "u-boot" ]; then
|
||||||
mkdir -p $INSTALL/usr/share/bootloader
|
mkdir -p ${INSTALL}/usr/share/bootloader
|
||||||
for dtb in arch/$TARGET_KERNEL_ARCH/boot/dts/*.dtb arch/$TARGET_KERNEL_ARCH/boot/dts/*/*.dtb; do
|
for dtb in arch/${TARGET_KERNEL_ARCH}/boot/dts/*.dtb arch/${TARGET_KERNEL_ARCH}/boot/dts/*/*.dtb; do
|
||||||
if [ -f $dtb ]; then
|
if [ -f ${dtb} ]; then
|
||||||
cp -v $dtb $INSTALL/usr/share/bootloader
|
cp -v ${dtb} ${INSTALL}/usr/share/bootloader
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
elif [ "$BOOTLOADER" = "bcm2835-bootloader" ]; then
|
elif [ "${BOOTLOADER}" = "bcm2835-bootloader" ]; then
|
||||||
mkdir -p $INSTALL/usr/share/bootloader/overlays
|
mkdir -p ${INSTALL}/usr/share/bootloader/overlays
|
||||||
|
|
||||||
# install platform dtbs, but remove upstream kernel dtbs (i.e. without downstream
|
# install platform dtbs, but remove upstream kernel dtbs (i.e. without downstream
|
||||||
# drivers and decent USB support) as these are not required by LibreELEC
|
# drivers and decent USB support) as these are not required by LibreELEC
|
||||||
cp -p arch/$TARGET_KERNEL_ARCH/boot/dts/*.dtb $INSTALL/usr/share/bootloader
|
cp -p arch/${TARGET_KERNEL_ARCH}/boot/dts/*.dtb ${INSTALL}/usr/share/bootloader
|
||||||
rm -f $INSTALL/usr/share/bootloader/bcm283*.dtb
|
rm -f ${INSTALL}/usr/share/bootloader/bcm283*.dtb
|
||||||
|
|
||||||
# install overlay dtbs
|
# install overlay dtbs
|
||||||
for dtb in arch/$TARGET_KERNEL_ARCH/boot/dts/overlays/*.dtb \
|
for dtb in arch/${TARGET_KERNEL_ARCH}/boot/dts/overlays/*.dtb \
|
||||||
arch/$TARGET_KERNEL_ARCH/boot/dts/overlays/*.dtbo; do
|
arch/${TARGET_KERNEL_ARCH}/boot/dts/overlays/*.dtbo; do
|
||||||
cp $dtb $INSTALL/usr/share/bootloader/overlays 2>/dev/null || :
|
cp ${dtb} ${INSTALL}/usr/share/bootloader/overlays 2>/dev/null || :
|
||||||
done
|
done
|
||||||
cp -p arch/$TARGET_KERNEL_ARCH/boot/dts/overlays/README $INSTALL/usr/share/bootloader/overlays
|
cp -p arch/${TARGET_KERNEL_ARCH}/boot/dts/overlays/README ${INSTALL}/usr/share/bootloader/overlays
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user