###############################################################################
name = kernel
-version = 3.8.2
-release = 0.1
+version = 3.8.6
+release = 2
thisapp = linux-%{version}
maintainer = Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
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"
# 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
# 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.
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}
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