###############################################################################
name = kernel
-version = 4.4.19
-release = 1
+version = 4.20
+release = 14
thisapp = linux-%{version}
maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
requires
asciidoc
- audit-devel
bc
binutils >= 2.25
binutils-devel
# A list of kernels to build.
kernels =
- # Arguments that are passed to the kernel build command.
- kernel_build_flags =
-
kernel_arch = %{DISTRO_PLATFORM}
kernel_target = bzImage
kernel_image = arch/%{kernel_arch}/boot/%{kernel_target}
end
if "%{DISTRO_ARCH}" == "aarch64"
- # Disable for now because it won't compile
- build_kernel_default = 0
+ build_kernel_default = 1
kernel_arch = arm64
kernel_target = Image.gz
kernels += default
end
- perf_make = make %{MAKETUNING} -C tools/perf V=1 WERROR=0 \
- NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_LIBNUMA=1 \
- NO_STRLCPY=1 NO_BIONIC=1 prefix=%{prefix} perfexecdir=lib/perf-core
-
prepare_cmds
# Disable the colorize plugin.
# It's generally very nice but it clutters our
sed -e "/^COLORIZE_PLUGIN_CFLAGS/d" \
-i Makefile
- sed -e "s/^HOSTCFLAGS.*=.*/& -fPIC/g" -i Makefile
+ sed -e "s/\$(HOST_LFS_CFLAGS)/& -fPIC/g" -i Makefile
cp -vf %{kernel_logo} \
drivers/video/logo/logo_linux_clut224.ppm
for kernel in %{kernels}; do
configure_kernel ${kernel}
done
-
- # Tools
- # Prevent perf from installing any files in /usr/libexec
- sed -i %{DIR_APP}/tools/perf/config/Makefile -e "s/libexec/lib/g"
end
build
cat .config
# Run the build.
- make ARCH=%{kernel_arch} oldnoconfig >/dev/null
- make ARCH=%{kernel_arch} CC="gcc -fno-PIE" %{kernel_target} modules \
- %{kernel_build_flags} %{PARALLELISMFLAGS}
+ make ARCH=%{kernel_arch} olddefconfig >/dev/null
+ make ARCH=%{kernel_arch} %{kernel_target} modules \
+ KERNELRELEASE=${fullversion} %{PARALLELISMFLAGS}
# Compile Flattened Device Tree database
case "${DISTRO_ARCH}" in
make ARCH=%{kernel_arch} INSTALL_MOD_PATH=%{BUILDROOT}/usr mod-fw= V=1 \
KERNELRELEASE=${fullversion} modules_install
- # Create an empty settings file for dracut
- mkdir -p %{BUILDROOT}/etc/ld.so.conf.d
- echo "# Placeholder file, no vDSO hwcap entries used in this kernel." \
- > %{BUILDROOT}/etc/ld.so.conf.d/kernel-${fullversion}.conf
-
# And now the scary looking part.
#
# Recreate source and build links.
-exec chmod 644 {} \;
find %{BUILDROOT}/usr/src/kernels -name ".*.cmd" -exec rm -f {} \;
+
+ # remove device tree compiler because there are dead links
+ rm -rf %{BUILDROOT}/usr/src/kernels/*/scripts/dtc
}
for kernel in %{kernels}; do
build_kernel ${kernel}
done
- # Build tools.
- # perf
- %{perf_make} DESTDIR=%{BUILDROOT} all
-
# cpupower
chmod +x tools/power/cpupower/utils/version-gen.sh
make -C tools/power/cpupower CPUFREQ_BENCH=false %{PARALLELISMFLAGS}
- if [ "%{DISTRO_ARCH}" = "x86_64" ]; then
- pushd tools/power/cpupower/debug/x86_64
- make %{MAKETUNING} centrino-decode powernow-k8-decode
- popd
-
- pushd tools/power/x86/x86_energy_perf_policy
- make
- popd
-
- pushd tools/power/x86/turbostat
- make
- popd
- fi
-
pushd tools/thermal/tmon
make
popd
rm -rfv %{BUILDROOT}/lib/firmware
# Install tools.
- %{perf_make} DESTDIR=%{BUILDROOT} install-bin install-python_ext
-
# cpupower
make -C tools/power/cpupower DESTDIR=%{BUILDROOT} libdir=%{libdir} \
mandir=%{mandir} CPUFREQ_BENCH=false install
- if [ "%{DISTRO_ARCH}" = "x86_64" ]; then
- pushd tools/power/cpupower/debug/x86_64
- install -m 755 centrino-decode \
- %{BUILDROOT}/usr/bin/centrino-decode
- install -m 755 powernow-k8-decode \
- %{BUILDROOT}/usr/bin/powernow-k8-decode
- popd
- fi
-
chmod 0755 %{BUILDROOT}%{libdir}/libcpupower.so*
- # This should be built for all x86 architectures
- if [ "%{DISTRO_ARCH}" = "x86_64" ]; then
- mkdir -pv %{BUILDROOT}%{mandir}/man8
-
- pushd tools/power/x86/x86_energy_perf_policy
- make DESTDIR=%{BUILDROOT} install
- popd
-
- pushd tools/power/x86/turbostat
- make DESTDIR=%{BUILDROOT} install
- popd
- fi
-
# tmon
pushd tools/thermal/tmon
make INSTALL_ROOT=%{BUILDROOT} install
/boot/dtb-%{kernel_release}
/boot/vmlinuz-%{kernel_release}
/boot/initramfs-%{kernel_release}.img
- /etc/ld.so.conf.d/kernel-%{kernel_release}.conf
/usr/lib/modules/%{kernel_release}
end