]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blobdiff - kernel/kernel.nm
Merge branch 'master' of ssh://git.ipfire.org/pub/git/ipfire-3.x
[people/ms/ipfire-3.x.git] / kernel / kernel.nm
index 0be10e579ca5c6464b9a28889c692336bb94d658..5a1099bdb943929b14ee1caa3244a71781b2b5aa 100644 (file)
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = kernel
-version    = 3.7.7
-release    = 1
+version    = 3.8.6
+release    = 2
 thisapp    = linux-%{version}
 
 maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
@@ -34,6 +34,8 @@ build
        # 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
@@ -55,6 +57,7 @@ build
                xmlto
 
                /sbin/depmod
+               %{kernel_logo}
        end
 
        # i686 needs librmi for cpupower.
@@ -69,22 +72,21 @@ build
        kernel_build_flags =
 
        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
-               kernel_image = arch/%{kernel_arch}/boot/bzImage
-
+               kernel_arch = x86
        end
 
        if "%{DISTRO_ARCH}" == "x86_64"
                build_kernel_default = 1
 
-               kernel_arch  = x86
-               kernel_image = arch/%{kernel_arch}/boot/bzImage
+               kernel_arch = x86
        end
 
        if "%{DISTRO_ARCH}" == "armv5tel"
@@ -94,8 +96,8 @@ build
                # Build a kernel for Marvell Kirkwood-based devices.
                build_kernel_kirkwood = 1
 
-               kernel_arch  = arm
-               kernel_image = arch/%{kernel_arch}/boot/zImage
+               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
@@ -108,8 +110,13 @@ build
                # Build a kernel for TI OMAP SoCs.
                build_kernel_omap = 1
 
-               kernel_arch  = arm
-               kernel_image = arch/%{kernel_arch}/boot/zImage
+               kernel_arch = arm
+               kernel_target = uImage
+       end
+
+       # mkimage is a requirement to build uImage images.
+       if "%{kernel_target}" == "uImage"
+               requires += u-boot-tools
        end
 
        # Build default kernel.
@@ -151,7 +158,7 @@ build
 
                sed -e "s/^HOSTCFLAGS.*=.*/& -fPIC/g" -i Makefile
 
-               cp -vf %{DIR_SOURCE}/%{DISTRO_SNAME}_logo.ppm \
+               cp -vf %{kernel_logo} \
                        drivers/video/logo/logo_linux_clut224.ppm
 
                # Get rid of unwanted files resulting from patch fuzz.
@@ -212,6 +219,21 @@ build
                        make ARCH=%{kernel_arch} CC="gcc -fno-PIE" %{kernel_target} modules \
                                %{kernel_build_flags} %{PARALLELISMFLAGS}
 
+                       # Compile Flattened Device Tree database
+                       case "${DISTRO_ARCH}" in
+                               arm*)
+                                       make ARCH=%{kernel_arch} dtbs
+
+                                       mkdir -pv %{BUILDROOT}/boot/dtb-${fullversion}
+                                       for file in arch/arm/boot/dts/*.dtb; do
+                                               [ -e "${file}" ] || continue
+
+                                               install -m 644 ${file} %{BUILDROOT}/boot/dtb-${fullversion} || exit 1
+                                               rm -f ${file}
+                                       done
+                                       ;;
+                       esac
+
                        # Install the results.
                        mkdir -pv %{BUILDROOT}/boot %{BUILDROOT}/usr/lib/modules/${fullversion}
                        install -m 755 %{kernel_image} %{BUILDROOT}/boot/vmlinuz-${fullversion}
@@ -380,6 +402,7 @@ packages
 
                files
                        /boot/System.map-%{kernel_release}
+                       /boot/dtb-%{kernel_release}
                        /boot/vmlinuz-%{kernel_release}
                        /boot/initramfs-%{kernel_release}.img
                        /etc/ld.so.conf.d/kernel-%{kernel_release}.conf