--- /dev/null
+%define config_name tizen_bcmrpi3_defconfig
+%define buildarch arm64
+%define target_board rpi3
+%define variant %{buildarch}-%{target_board}
+
+Name: %{target_board}-linux-kernel
+Summary: The Linux Kernel for Raspberry Pi3
+Version: 4.9.8
+Release: 0
+License: GPL-2.0
+ExclusiveArch: aarch64
+Group: System/Kernel
+Vendor: The Linux Community
+URL: https://www.kernel.org
+Source0: linux-kernel-%{version}.tar.xz
+BuildRoot: %{_tmppath}/%{name}-%{PACKAGE_VERSION}-root
+
+%define fullVersion %{version}-%{variant}
+
+BuildRequires: bc
+BuildRequires: module-init-tools
+BuildRequires: u-boot-tools >= 2016.03
+
+%description
+The Linux Kernel, the operating system core itself
+
+%package -n %{variant}-linux-kernel
+License: GPL-2.0
+Summary: Tizen kernel for %{target_board}
+Group: System/Kernel
+Provides: %{variant}-kernel-uname-r = %{fullVersion}
+Provides: linux-kernel = %{version}-%{release}
+
+%description -n %{variant}-linux-kernel
+This package contains the Linux kernel for Tizen (arch %{buildarch}, target board %{target_board})
+
+%package -n %{variant}-linux-kernel-modules
+Summary: Kernel modules for %{target_board}
+Group: System/Kernel
+Provides: %{variant}-kernel-modules = %{fullVersion}
+Provides: %{variant}-kernel-modules-uname-r = %{fullVersion}
+
+%description -n %{variant}-linux-kernel-modules
+Kernel-modules includes the loadable kernel modules(.ko files) for %{target_board}
+
+%prep
+%setup -q -n linux-kernel-%{version}
+
+%build
+# Make sure EXTRAVERSION says what we want it to say
+sed -i "s/^EXTRAVERSION.*/EXTRAVERSION = -%{variant}/" Makefile
+
+# 1-1. Set config file
+make %{config_name}
+
+# 1-2. Build Image/Image.gz
+make %{?_smp_mflags}
+
+# 1-3. Build dtbs
+make dtbs %{?_smp_mflags}
+
+# 1-4. Build modules
+make modules %{?_smp_mflags}
+
+%install
+QA_SKIP_BUILD_ROOT="DO_NOT_WANT"; export QA_SKIP_BUILD_ROOT
+
+# 2-1. Destination directories
+mkdir -p %{buildroot}/boot
+mkdir -p %{buildroot}/lib/modules
+
+# 2-2. Install kernel binary and DTB
+install -m 644 arch/%{buildarch}/boot/Image %{buildroot}/boot/
+install -m 644 arch/%{buildarch}/boot/dts/broadcom/bcm*.dtb %{buildroot}/boot/
+
+# 2-3. Install modules
+make INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=%{buildroot} modules_install
+
+# 2-4. Install boot binary files
+install -m 644 rpi3/boot/* %{buildroot}/boot/
+
+%clean
+rm -rf %{buildroot}
+
+%files -n %{variant}-linux-kernel-modules
+/lib/modules/*
+
+%files -n %{variant}-linux-kernel
+%license COPYING
+/boot/Image
+/boot/bcm*.dtb
+/boot/bootcode.bin
+/boot/config.txt
+/boot/fixup.dat
+/boot/LICENCE.broadcom
+/boot/start.elf