]> 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 dd2397aa7f42a096844a3a43383e81ca1a8b0b2c..5a1099bdb943929b14ee1caa3244a71781b2b5aa 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = kernel
-version    = 3.7.7
+version    = 3.8.6
 release    = 2
 thisapp    = linux-%{version}
 
@@ -72,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"
@@ -97,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
@@ -111,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.
@@ -215,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}
@@ -383,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