X-Git-Url: http://git.ipfire.org/?p=ipfire-3.x.git;a=blobdiff_plain;f=kernel%2Fkernel.nm;h=9f2ab359fe80a02411e58fdd0c02c53e89819112;hp=c4f13086328d07f4d28e29b6ff51b332098a5d38;hb=f55e2a21c45014acc599899915578df6395137dd;hpb=c65ff857436490237f4dbada82cf368122751a28 diff --git a/kernel/kernel.nm b/kernel/kernel.nm index c4f130863..9f2ab359f 100644 --- a/kernel/kernel.nm +++ b/kernel/kernel.nm @@ -4,8 +4,8 @@ ############################################################################### name = kernel -version = 3.18.7 -release = 1 +version = 4.20 +release = 6 thisapp = linux-%{version} maintainer = Arne Fitzenreiter @@ -25,22 +25,16 @@ end localversion = %{release}.%{DISTRO_DISTTAG}.%{DISTRO_ARCH} fullver = %{version}-%{localversion} -source_dl = http://www.kernel.org/pub/linux/kernel/v3.x/ +source_dl = http://www.kernel.org/pub/linux/kernel/v4.x/ sources = %{thisapp}.tar.xz build - # icecream cannot be used to compile the kernel. - # Because the PaX patch does use GCC plugins to harden the kernel which - # are not available on the remote compilers, we need to disable it here. - export ICECC=no - kernel_logo = /usr/share/pixmaps/kernel-logo.ppm requires asciidoc - audit-devel bc - binutils >= 2.23.51.0.3-3 + binutils >= 2.25 binutils-devel bison elfutils-devel @@ -48,6 +42,7 @@ build gcc >= 4.9 gcc-plugin-devel gettext + hostname libunwind-devel ncurses-devel net-tools @@ -55,6 +50,7 @@ build pciutils-devel perl python-devel + openssl-devel slang-devel xmlto xz @@ -63,60 +59,28 @@ build %{kernel_logo} end - # i686 needs librmi for cpupower. - if "%{DISTRO_ARCH}" == "i686" - requires += liblrmi-devel - end - # 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} - if "%{DISTRO_ARCH}" == "i686" - # Build a default and legacy kernel for the - # i686 architecture. - build_kernel_default = 1 - build_kernel_legacy = 1 - - kernel_arch = x86 - end - if "%{DISTRO_ARCH}" == "x86_64" build_kernel_default = 1 - - kernel_arch = x86 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 end - if "%{DISTRO_ARCH}" == "armv5tel" - # Build a kernel for Marvell Kirkwood-based devices. - build_kernel_default = 1 - - kernel_arch = arm - kernel_target = zImage - - # http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/091404.html - kernel_build_flags = KALLSYMS_EXTRA_PASS=1 - end - if "%{DISTRO_ARCH}" == "armv7hl" # Build the default unified kernel. build_kernel_default = 1 - build_kernel_lpae = 1 - kernel_arch = arm kernel_target = zImage end @@ -130,33 +94,14 @@ build kernels += default end - # Build legacy kernel. - if "%{build_kernel_legacy}" == "1" - kernels += legacy - end - - # Build lpae kernel - if "%{build_kernel_lpae}" == "1" - kernels += lpae - 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 - rm -f %{DIR_APP}/localversion-grsec - - # Remove -Werror flag to fix ARMv5 build. - sed -e "s/-Werror//g" -i grsecurity/Makefile || : - # Disable the colorize plugin. # It's generally very nice but it clutters our # logfiles. 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 @@ -189,10 +134,6 @@ build 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 @@ -219,9 +160,9 @@ 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 \ + %{PARALLELISMFLAGS} # Compile Flattened Device Tree database case "${DISTRO_ARCH}" in @@ -251,14 +192,6 @@ build make ARCH=%{kernel_arch} INSTALL_MOD_PATH=%{BUILDROOT}/usr mod-fw= V=1 \ KERNELRELEASE=${fullversion} modules_install - # Install vdso. - case "%{DISTRO_ARCH}" in - i686) - make ARCH=%{kernel_arch} INSTALL_MOD_PATH=%{BUILDROOT} \ - KERNELRELEASE=${fullversion} vdso_install - ;; - esac - # 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." \ @@ -312,47 +245,19 @@ build -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 - elif [ "%{DISTRO_ARCH}" = "i686" ]; then - pushd tools/power/cpupower/debug/i386 - make %{MAKETUNING} centrino-decode powernow-k8-decode - popd - fi - - # Should be built for all x86 architectures - if [ "%{DISTRO_ARCH}" = "x86_64" ]; then - # Won't compile on i686 - # x86_energy_perf_policy.c: In function ‘validate_cpuid’: - # x86_energy_perf_policy.c:154:2: error: PIC register clobbered by ‘ebx’ in ‘asm’ - # asm("cpuid" : "=a" (fms), "=c" (ecx), "=d" (edx) : "a" (1) : "ebx"); - # ^ - pushd tools/power/x86/x86_energy_perf_policy - make - popd - - # Same as above - pushd tools/power/x86/turbostat - make - popd - fi - pushd tools/thermal/tmon make popd @@ -379,43 +284,12 @@ build 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 - elif [ "%{DISTRO_ARCH}" = "i686" ]; then - pushd tools/power/cpupower/debug/i386 - 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 @@ -554,38 +428,6 @@ packages end end - if "%{build_kernel_legacy}" == "1" - package kernel-legacy - template KERNEL - - kernel_name = kernel-legacy - kernel_release = %{fullver}.legacy - end - - package kernel-legacy-devel - template KERNELDEVEL - - kernel_name = kernel-legacy - kernel_release = %{fullver}.legacy - end - end - - if "%{build_kernel_lpae}" == "1" - package kernel-lpae - template KERNEL - - kernel_name = kernel-lpae - kernel_release = %{fullver}.lpae - end - - package kernel-lpae-devel - template KERNELDEVEL - - kernel_name = kernel-lpae - kernel_release = %{fullver}.lpae - end - end - package kernel-headers summary = Header files of the kernel release %{fullver}. desciption = %{summary}