]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blobdiff - kernel/kernel.nm
kernel: Ship DTB files on ARM.
[people/ms/ipfire-3.x.git] / kernel / kernel.nm
index ab2e1df1b6f1efe7920ead30550b0a9e0ab43bce..5a1099bdb943929b14ee1caa3244a71781b2b5aa 100644 (file)
@@ -5,7 +5,7 @@
 
 name       = kernel
 version    = 3.8.6
-release    = 1
+release    = 2
 thisapp    = linux-%{version}
 
 maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
@@ -219,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}
@@ -387,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