%define KMOD_PATH /lib/modules %define KMOD_PATH_TM1 /boot/kernel/mod_tizen_tm1/lib/modules %ifarch aarch64 %define buildarch arm64 %else %define buildarch arm %endif Name: linux-tizen-modules Version: 7.0.7 Release: 0 License: GPL-2.0+ Source0: %{name}-%{version}.tar.xz Source1: %{name}.manifest Summary: Tizen-specific kernel modules Group: System/Kernel ExclusiveArch: %{arm} aarch64 BuildRequires: kmod BuildRequires: linux-tizen-modules-source BuildRequires: %{buildarch}-rpi3-linux-kernel-devel BuildRequires: %{buildarch}-rpi4-linux-kernel-devel BuildRequires: %{buildarch}-rpi4-rt-linux-kernel-devel %ifarch aarch64 BuildRequires: kernel-devel-exynos9110-tw3 %endif %ifnarch aarch64 BuildRequires: kernel-devel-3.10-sc7730 %endif %description %package rpi3 Summary: Tizen modules for RaspberryPI 3 AutoReqProv: no Requires: %{buildarch}-rpi3-linux-kernel-modules Requires(post): bash Requires(post): coreutils Requires(post): findutils Requires(post): kmod-compat Provides: stability-monitor-kernel-module %description rpi3 %package rpi4 Summary: Tizen modules for RaspberryPI 4 AutoReqProv: no Requires: %{buildarch}-rpi4-linux-kernel-modules Requires(post): bash Requires(post): coreutils Requires(post): findutils Requires(post): kmod-compat Provides: stability-monitor-kernel-module %description rpi4 %package rpi4-rt Summary: Tizen modules for RaspberryPI 4 RT (real-time) AutoReqProv: no Requires: %{buildarch}-rpi4-rt-linux-kernel-modules Requires(post): bash Requires(post): coreutils Requires(post): findutils Requires(post): kmod-compat Provides: stability-monitor-kernel-module %description rpi4-rt %ifarch aarch64 %package tw3 Summary: Tizen modules for TW3 AutoReqProv: no Provides: stability-monitor-kernel-module %description tw3 %endif %ifnarch aarch64 %package tm1 Summary: Tizen modules for TM1 Requires: linux-3.10-sc7730_tizen_tm1 AutoReqProv: no Requires(post): bash Requires(post): coreutils Requires(post): findutils Requires(post): kmod-compat %description tm1 %endif %prep %setup -q cp %{SOURCE1} ./%{name}.manifest cp -a /usr/src/linux-tizen-modules-source ./kernel %build # Force not to build with sanitizers because this is kernel %{?asan:/usr/bin/gcc-unforce-options} %{?ubsan:/usr/bin/gcc-unforce-options} export BUILD_logger=m # Default buffer sizes to compile in. [kB] export LOGGER_MAIN_BUFFER_SIZE=256 export LOGGER_EVENTS_BUFFER_SIZE=256 export LOGGER_RADIO_BUFFER_SIZE=256 export LOGGER_SYSTEM_BUFFER_SIZE=256 export BUILD_proc_tsm=m export BUILD_kdbus=m export BUILD_zlogger=m make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4 make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4 make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4 INSTALL_MOD_STRIP=1 make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4-rt make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4-rt make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi4-rt INSTALL_MOD_STRIP=1 export BUILD_kdbus=n make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi3 make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi3/ make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-%{buildarch}-rpi3 INSTALL_MOD_STRIP=1 %ifarch aarch64 make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-tw3 make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-tw3 make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-tw3 INSTALL_MOD_STRIP=1 %endif export BUILD_proc_tsm=n %ifnarch aarch64 make -C kernel clean KERNELDIR=/boot/kernel/devel/kernel-devel-tizen_tm1 make -C kernel KERNELDIR=/boot/kernel/devel/kernel-devel-tizen_tm1 make -C kernel modules_install KERNELDIR=/boot/kernel/devel/kernel-devel-tizen_tm1 INSTALL_MOD_STRIP=1 %endif %install mkdir -p %{buildroot}/%{KMOD_PATH} pushd lib/modules find -name "*.ko" -exec cp -a --parents {} %{buildroot}/%{KMOD_PATH}/ \; popd # module load config mkdir -p %{buildroot}/%{KMOD_PATH}/modprobe.d install -m 644 conf/tizen-modprobe-rpi3.conf %{buildroot}/%{KMOD_PATH}/modprobe.d install -m 644 conf/tizen-modprobe-rpi4.conf %{buildroot}/%{KMOD_PATH}/modprobe.d mkdir -p %{buildroot}/%{KMOD_PATH}/modules-load.d install -m 644 conf/tizen-modules-rpi3.conf %{buildroot}/%{KMOD_PATH}/modules-load.d install -m 644 conf/tizen-modules-rpi4.conf %{buildroot}/%{KMOD_PATH}/modules-load.d %ifarch aarch64 mkdir -p %{buildroot}/aarch64/modules mv %{buildroot}/%{KMOD_PATH}/4.9.59 %{buildroot}/aarch64/modules/ mkdir -p %{buildroot}/aarch64/modules/modprobe.d install -m 644 conf/tizen-modprobe-tw3.conf %{buildroot}/aarch64/modules/modprobe.d mkdir -p %{buildroot}/aarch64/modules/modules-load.d install -m 644 conf/tizen-modules-tw3.conf %{buildroot}/aarch64/modules/modules-load.d %endif %ifnarch aarch64 mkdir -p %{buildroot}/%{KMOD_PATH_TM1}/modules-load.d install -m 644 conf/tizen-modules-tm1.conf %{buildroot}/%{KMOD_PATH_TM1}/modules-load.d mv -v %{buildroot}/%{KMOD_PATH}/*3.10* %{buildroot}/%{KMOD_PATH_TM1} %endif %clean rm -rf %{buildroot} rm -rf %{_builddir}/%{name}-%{version}/lib %post rpi3 RELEASEVERSION=$(basename $(dirname `find /lib/modules -name extra | head -1`)) /sbin/depmod -a $RELEASEVERSION %post rpi4 RELEASEVERSION=$(basename $(dirname `find /lib/modules -name extra | head -1`)) /sbin/depmod -a $RELEASEVERSION %post rpi4-rt RELEASEVERSION=$(basename $(dirname `find /lib/modules -name extra | head -1`)) /sbin/depmod -a $RELEASEVERSION %ifnarch aarch64 %post tm1 KMOD_PATH_TM1=%{KMOD_PATH_TM1} KMOD_BASEPATH=${KMOD_PATH_TM1%%%{KMOD_PATH}} RELEASEVERSION=$(basename $(dirname `find $KMOD_PATH_TM1 -name extra | head -1`)) /sbin/depmod -b ${KMOD_BASEPATH} -a $RELEASEVERSION %endif %files rpi3 %manifest %{name}.manifest %license COPYING %{KMOD_PATH}/*rpi3*/extra/proc-tsm.ko %{KMOD_PATH}/*rpi3*/extra/logger.ko %{KMOD_PATH}/*rpi3*/extra/zlogger/zlogger.ko %{KMOD_PATH}/modprobe.d/tizen-modprobe-rpi3.conf %{KMOD_PATH}/modules-load.d/tizen-modules-rpi3.conf %files rpi4 %manifest %{name}.manifest %license COPYING %ifarch aarch64 %{KMOD_PATH}/*rpi4-v8/extra/proc-tsm.ko %{KMOD_PATH}/*rpi4-v8/extra/kdbus/kdbus.ko %{KMOD_PATH}/*rpi4-v8/extra/logger.ko %{KMOD_PATH}/*rpi4-v8/extra/zlogger/zlogger.ko %else %{KMOD_PATH}/*rpi4-v7l/extra/proc-tsm.ko %{KMOD_PATH}/*rpi4-v7l/extra/kdbus/kdbus.ko %{KMOD_PATH}/*rpi4-v7l/extra/logger.ko %{KMOD_PATH}/*rpi4-v7l/extra/zlogger/zlogger.ko %endif %{KMOD_PATH}/modprobe.d/tizen-modprobe-rpi4.conf %{KMOD_PATH}/modules-load.d/tizen-modules-rpi4.conf %files rpi4-rt %manifest %{name}.manifest %license COPYING %ifarch aarch64 %{KMOD_PATH}/*rpi4-rt-v8/extra/proc-tsm.ko %{KMOD_PATH}/*rpi4-rt-v8/extra/kdbus/kdbus.ko %{KMOD_PATH}/*rpi4-rt-v8/extra/logger.ko %{KMOD_PATH}/*rpi4-rt-v8/extra/zlogger/zlogger.ko %else %{KMOD_PATH}/*rpi4-rt-v7l/extra/proc-tsm.ko %{KMOD_PATH}/*rpi4-rt-v7l/extra/kdbus/kdbus.ko %{KMOD_PATH}/*rpi4-rt-v7l/extra/logger.ko %{KMOD_PATH}/*rpi4-rt-v7l/extra/zlogger/zlogger.ko %endif %{KMOD_PATH}/modprobe.d/tizen-modprobe-rpi4.conf %{KMOD_PATH}/modules-load.d/tizen-modules-rpi4.conf %ifarch aarch64 %files tw3 %manifest %{name}.manifest %license COPYING /aarch64/modules/4.9.59/extra/proc-tsm.ko /aarch64/modules/4.9.59/extra/logger.ko /aarch64/modules/4.9.59/extra/zlogger/zlogger.ko /aarch64/modules/modprobe.d/tizen-modprobe-tw3.conf /aarch64/modules/modules-load.d/tizen-modules-tw3.conf %endif %ifnarch aarch64 %files tm1 %manifest %{name}.manifest %license COPYING %{KMOD_PATH_TM1}/*3.10*/extra/logger.ko %{KMOD_PATH_TM1}/*3.10*/extra/zlogger/zlogger.ko %{KMOD_PATH_TM1}/modules-load.d/tizen-modules-tm1.conf %endif