From 9956753185f6bc862bf6d97a0b269342effecfe5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C5=81ukasz=20Stelmach?= Date: Tue, 23 May 2023 12:11:52 +0200 Subject: [PATCH] Build packages for different platforms MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Build separate packages for QEMU and VisionFive2 platforms Change-Id: I0a44f7065f284bc40cde907238a2591836534251 Signed-off-by: Łukasz Stelmach --- arch/riscv/configs/tizen_qemu_defconfig | 144 +++++++++++++++ ...n_vf2_defconfig => tizen_visionfive2_defconfig} | 0 build.sh | 2 +- packaging/linux-qemu.spec | 195 +++++++++++++++++++++ packaging/linux-riscv.spec.in | 193 ++++++++++++++++++++ packaging/linux-visionfive2.spec | 38 ++-- packaging/pre_checkin.sh | 8 + 7 files changed, 561 insertions(+), 19 deletions(-) create mode 100644 arch/riscv/configs/tizen_qemu_defconfig rename arch/riscv/configs/{tizen_vf2_defconfig => tizen_visionfive2_defconfig} (100%) create mode 100644 packaging/linux-qemu.spec create mode 100644 packaging/linux-riscv.spec.in create mode 100755 packaging/pre_checkin.sh diff --git a/arch/riscv/configs/tizen_qemu_defconfig b/arch/riscv/configs/tizen_qemu_defconfig new file mode 100644 index 0000000..3b66a9b --- /dev/null +++ b/arch/riscv/configs/tizen_qemu_defconfig @@ -0,0 +1,144 @@ +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_CGROUP_BPF=y +CONFIG_NAMESPACES=y +CONFIG_USER_NS=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_EXPERT=y +CONFIG_BPF_SYSCALL=y +CONFIG_SOC_SIFIVE=y +CONFIG_SOC_VIRT=y +CONFIG_SMP=y +CONFIG_JUMP_LABEL=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +CONFIG_NETLINK_DIAG=y +CONFIG_NET_9P=y +CONFIG_NET_9P_VIRTIO=y +CONFIG_PCI=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCI_HOST_GENERIC=y +CONFIG_PCIE_XILINX=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_VIRTIO_BLK=y +CONFIG_BLK_DEV_SD=y +CONFIG_BLK_DEV_SR=y +CONFIG_SCSI_VIRTIO=y +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_AHCI_PLATFORM=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_MACB=y +CONFIG_E1000E=y +CONFIG_R8169=y +CONFIG_MICROSEMI_PHY=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +CONFIG_HVC_RISCV_SBI=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_SPI=y +CONFIG_SPI_SIFIVE=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SIFIVE=y +# CONFIG_PTP_1588_CLOCK is not set +CONFIG_POWER_RESET=y +CONFIG_DRM=y +CONFIG_DRM_RADEON=y +CONFIG_DRM_VIRTIO_GPU=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PLATFORM=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_STORAGE=y +CONFIG_USB_UAS=y +CONFIG_MMC=y +CONFIG_MMC_SPI=y +CONFIG_RTC_CLASS=y +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_INPUT=y +CONFIG_VIRTIO_MMIO=y +CONFIG_RPMSG_CHAR=y +CONFIG_RPMSG_VIRTIO=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_AUTOFS4_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_NFS_FS=y +CONFIG_NFS_V4=y +CONFIG_NFS_V4_1=y +CONFIG_NFS_V4_2=y +CONFIG_ROOT_NFS=y +CONFIG_9P_FS=y +CONFIG_CRYPTO_USER_API_HASH=y +CONFIG_CRYPTO_DEV_VIRTIO=y +CONFIG_PRINTK_TIME=y +CONFIG_DEBUG_FS=y +CONFIG_DEBUG_PAGEALLOC=y +CONFIG_SCHED_STACK_END_CHECK=y +CONFIG_DEBUG_VM=y +CONFIG_DEBUG_VM_PGFLAGS=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_DEBUG_PER_CPU_MAPS=y +CONFIG_SOFTLOCKUP_DETECTOR=y +CONFIG_WQ_WATCHDOG=y +CONFIG_DEBUG_TIMEKEEPING=y +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +CONFIG_DEBUG_RWSEMS=y +CONFIG_DEBUG_ATOMIC_SLEEP=y +CONFIG_STACKTRACE=y +CONFIG_DEBUG_LIST=y +CONFIG_DEBUG_PLIST=y +CONFIG_DEBUG_SG=y +# CONFIG_RCU_TRACE is not set +CONFIG_RCU_EQS_DEBUG=y +CONFIG_DEBUG_BLOCK_EXT_DEVT=y +CONFIG_FTRACE=y +# CONFIG_RUNTIME_TESTING_MENU is not set +CONFIG_MEMTEST=y +# CONFIG_SYSFS_SYSCALL is not set +CONFIG_EFI=y +CONFIG_FPU=y +CONFIG_SECURITY=y +CONFIG_SECURITY_SMACK=y +CONFIG_SECURITY_SMACK_APPEND_SIGNALS=y +CONFIG_MEMCG=y +CONFIG_CPUSETS=y +CONFIG_BLK_DEV_IO_TRACE=y +CONFIG_BLK_DEV_NBD=m diff --git a/arch/riscv/configs/tizen_vf2_defconfig b/arch/riscv/configs/tizen_visionfive2_defconfig similarity index 100% rename from arch/riscv/configs/tizen_vf2_defconfig rename to arch/riscv/configs/tizen_visionfive2_defconfig diff --git a/build.sh b/build.sh index 58d6956..f66d4f8 100755 --- a/build.sh +++ b/build.sh @@ -60,7 +60,7 @@ rm -f output/*.tar CROSS_COMPILER=riscv64-linux-gnu- ARCH=riscv if ! [ -e .config ] ; then - make ARCH=${ARCH} CROSS_COMPILE="$CROSS_COMPILER" tizen_vf2_defconfig + make ARCH=${ARCH} CROSS_COMPILE="$CROSS_COMPILER" tizen_visionfive2_defconfig fi make ARCH=${ARCH} CROSS_COMPILE="$CROSS_COMPILER" -j8 if [ ! -f "./arch/riscv/boot/Image" ]; then diff --git a/packaging/linux-qemu.spec b/packaging/linux-qemu.spec new file mode 100644 index 0000000..cde1ae4 --- /dev/null +++ b/packaging/linux-qemu.spec @@ -0,0 +1,195 @@ +%define target_board qemu +%define board_qemu 1 + +# Ignore double dash in version for rpmbuild +%define _wrong_version_format_terminate_build 0 + +%define config_name tizen_%{target_board}_defconfig +%define buildarch riscv +%define variant %{buildarch}-%{target_board} + +Name: %{variant}-linux-kernel +Summary: The Linux Kernel for RISC-V %{target_board} +Version: 6.1.21 +Release: 0 +License: GPL-2.0 +ExclusiveArch: riscv64 +Group: System/Kernel +Vendor: The Linux Community +URL: https://www.kernel.org +Source0: %{variant}-linux-kernel-%{version}.tar.xz +BuildRoot: %{_tmppath}/%{name}-%{PACKAGE_VERSION}-root + +%define fullVersion %{version}-%{target_board} + +BuildRequires: bc +BuildRequires: module-init-tools +BuildRequires: bison +BuildRequires: flex +BuildRequires: libopenssl1.1-devel +BuildRequires: libunwind-devel +BuildRequires: libdw-devel +BuildRequires: libelf-devel +BuildRequires: elfutils +BuildRequires: xz-devel +BuildRequires: binutils-devel +BuildRequires: python3 +BuildRequires: rsync + +# 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}) + +# modules + +%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} + +# devel + +%package -n %{variant}-linux-kernel-devel +License: GPL-2.0 +Summary: Linux support kernel map and etc for other packages +Group: System/Kernel +Provides: %{variant}-kernel-devel = %{fullVersion} +Provides: %{variant}-kernel-devel-uname-r = %{fullVersion} + +%description -n %{variant}-linux-kernel-devel +This package provides kernel map and etc information. + +#headers +%package -n %{variant}-linux-kernel-headers +License: GPL-2.0 +Summary: Linux support headers for userspace development +Group: System/Kernel +Provides: kernel-headers-tizen-dev + +%description -n %{variant}-linux-kernel-headers +This package provides userspaces headers from the Linux kernel. These +headers are used by the installed headers for GNU glibc and other system + libraries. + +%package -n %{variant}-linux-kernel-perf +Summary: The perf performance counter tool +Group: System/Kernel +Provides: perf = %{version} + +%description -n %{variant}-linux-kernel-perf +This package provides the "perf" tool that can be used to monitor performance +counter events as well as various kernel internal events. + +%prep +%setup -q + +%build +%{?asan:/usr/bin/gcc-unforce-options} +%{?ubsan:/usr/bin/gcc-unforce-options} + +# distinguish binaries for different variants +echo "-%{variant}" > localversion-tizen + +# extract uapi headers +make headers_install %{?_smp_mflags} + +# Set config file +make %{config_name} %{?_smp_mflags} + +# Build perf +make -s -C tools/lib/traceevent %{?_smp_mflags} +make -s -C tools/perf EXTRA_CFLAGS="-fPIE -rdynamic" %{?_smp_mflags} + +# Build Image/Image.gz +make %{?_smp_mflags} + +# Build modules +make modules %{?_smp_mflags} + +%install +QA_SKIP_BUILD_ROOT="DO_NOT_WANT"; export QA_SKIP_BUILD_ROOT + +# Destination directories +mkdir -p %{buildroot}/boot +mkdir -p %{buildroot}/lib/modules + +# Install kernel DTB +%if 0%{?board_visionfive2} +install -m 644 arch/%{buildarch}/boot/dts/starfive/jh7110*.dtb %{buildroot}/boot/ +%endif +mkdir -p %{buildroot}/boot/overlays + +# Install kernel headers +make headers_install %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr + +install -m 644 arch/%{buildarch}/boot/Image %{buildroot}/boot/Image + +# Install perf +make -s -C tools/perf EXTRA_CFLAGS="-fPIE -rdynamic" DESTDIR=%{buildroot}/usr install +rm -rf %{buildroot}/usr/etc +rm -rf %{buildroot}/usr/lib/debug +rm -rf %{buildroot}/usr/lib/perf +rm -rf %{buildroot}/usr/share + +# Install modules +make INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=%{buildroot} modules_install + +# Copy files for devel package +mkdir -p %{buildroot}/boot/kernel/devel/kernel-devel-%{variant} +rsync -r \ + --include "/scripts/**.c" \ + --exclude "/debug*.list" \ + --exclude "/documentation.list" \ + --exclude "/*.manifest" \ + --exclude "/packaging/" \ + --exclude "/.gbs.conf" \ + --exclude "/.git**" \ + --exclude ".gitignore" \ + --exclude "*\.c" \ + --exclude ".tmp_vmlinux*" \ + --exclude ".*dtb*tmp" \ + --exclude ".*dtb" \ + --exclude "*.*tmp" \ + --exclude "vmlinux" \ + --exclude "Image" \ + --exclude "zImage" \ + --exclude "Image.gz" \ + --exclude "*.cmd" \ + --exclude "*.ko" \ + --exclude "*.o" \ + --exclude "*.S" \ + --exclude "*.HEX" \ + --exclude "/build/" \ + ./ %{buildroot}/boot/kernel/devel/kernel-devel-%{variant} + +%clean +rm -rf %{buildroot} + +%files -n %{variant}-linux-kernel-modules +/lib/modules/%{version}-%{variant} + +%files -n %{variant}-linux-kernel-devel +/boot/kernel/devel/ + +%files -n %{variant}-linux-kernel +%license COPYING +/boot/Image +%if 0%{?board_visionfive2} +/boot/jh7110*.dtb +%endif + +%files -n %{variant}-linux-kernel-headers +/usr/include/* + +%files -n %{variant}-linux-kernel-perf +%license COPYING +/usr/bin/* +/usr/libexec/* +/usr/lib/traceevent/* diff --git a/packaging/linux-riscv.spec.in b/packaging/linux-riscv.spec.in new file mode 100644 index 0000000..f505922 --- /dev/null +++ b/packaging/linux-riscv.spec.in @@ -0,0 +1,193 @@ + +# Ignore double dash in version for rpmbuild +%define _wrong_version_format_terminate_build 0 + +%define config_name tizen_%{target_board}_defconfig +%define buildarch riscv +%define variant %{buildarch}-%{target_board} + +Name: %{variant}-linux-kernel +Summary: The Linux Kernel for RISC-V %{target_board} +Version: 6.1.21 +Release: 0 +License: GPL-2.0 +ExclusiveArch: riscv64 +Group: System/Kernel +Vendor: The Linux Community +URL: https://www.kernel.org +Source0: %{variant}-linux-kernel-%{version}.tar.xz +BuildRoot: %{_tmppath}/%{name}-%{PACKAGE_VERSION}-root + +%define fullVersion %{version}-%{target_board} + +BuildRequires: bc +BuildRequires: module-init-tools +BuildRequires: bison +BuildRequires: flex +BuildRequires: libopenssl1.1-devel +BuildRequires: libunwind-devel +BuildRequires: libdw-devel +BuildRequires: libelf-devel +BuildRequires: elfutils +BuildRequires: xz-devel +BuildRequires: binutils-devel +BuildRequires: python3 +BuildRequires: rsync + +# 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}) + +# modules + +%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} + +# devel + +%package -n %{variant}-linux-kernel-devel +License: GPL-2.0 +Summary: Linux support kernel map and etc for other packages +Group: System/Kernel +Provides: %{variant}-kernel-devel = %{fullVersion} +Provides: %{variant}-kernel-devel-uname-r = %{fullVersion} + +%description -n %{variant}-linux-kernel-devel +This package provides kernel map and etc information. + +#headers +%package -n %{variant}-linux-kernel-headers +License: GPL-2.0 +Summary: Linux support headers for userspace development +Group: System/Kernel +Provides: kernel-headers-tizen-dev + +%description -n %{variant}-linux-kernel-headers +This package provides userspaces headers from the Linux kernel. These +headers are used by the installed headers for GNU glibc and other system + libraries. + +%package -n %{variant}-linux-kernel-perf +Summary: The perf performance counter tool +Group: System/Kernel +Provides: perf = %{version} + +%description -n %{variant}-linux-kernel-perf +This package provides the "perf" tool that can be used to monitor performance +counter events as well as various kernel internal events. + +%prep +%setup -q + +%build +%{?asan:/usr/bin/gcc-unforce-options} +%{?ubsan:/usr/bin/gcc-unforce-options} + +# distinguish binaries for different variants +echo "-%{variant}" > localversion-tizen + +# extract uapi headers +make headers_install %{?_smp_mflags} + +# Set config file +make %{config_name} %{?_smp_mflags} + +# Build perf +make -s -C tools/lib/traceevent %{?_smp_mflags} +make -s -C tools/perf EXTRA_CFLAGS="-fPIE -rdynamic" %{?_smp_mflags} + +# Build Image/Image.gz +make %{?_smp_mflags} + +# Build modules +make modules %{?_smp_mflags} + +%install +QA_SKIP_BUILD_ROOT="DO_NOT_WANT"; export QA_SKIP_BUILD_ROOT + +# Destination directories +mkdir -p %{buildroot}/boot +mkdir -p %{buildroot}/lib/modules + +# Install kernel DTB +%if 0%{?board_visionfive2} +install -m 644 arch/%{buildarch}/boot/dts/starfive/jh7110*.dtb %{buildroot}/boot/ +%endif +mkdir -p %{buildroot}/boot/overlays + +# Install kernel headers +make headers_install %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr + +install -m 644 arch/%{buildarch}/boot/Image %{buildroot}/boot/Image + +# Install perf +make -s -C tools/perf EXTRA_CFLAGS="-fPIE -rdynamic" DESTDIR=%{buildroot}/usr install +rm -rf %{buildroot}/usr/etc +rm -rf %{buildroot}/usr/lib/debug +rm -rf %{buildroot}/usr/lib/perf +rm -rf %{buildroot}/usr/share + +# Install modules +make INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=%{buildroot} modules_install + +# Copy files for devel package +mkdir -p %{buildroot}/boot/kernel/devel/kernel-devel-%{variant} +rsync -r \ + --include "/scripts/**.c" \ + --exclude "/debug*.list" \ + --exclude "/documentation.list" \ + --exclude "/*.manifest" \ + --exclude "/packaging/" \ + --exclude "/.gbs.conf" \ + --exclude "/.git**" \ + --exclude ".gitignore" \ + --exclude "*\.c" \ + --exclude ".tmp_vmlinux*" \ + --exclude ".*dtb*tmp" \ + --exclude ".*dtb" \ + --exclude "*.*tmp" \ + --exclude "vmlinux" \ + --exclude "Image" \ + --exclude "zImage" \ + --exclude "Image.gz" \ + --exclude "*.cmd" \ + --exclude "*.ko" \ + --exclude "*.o" \ + --exclude "*.S" \ + --exclude "*.HEX" \ + --exclude "/build/" \ + ./ %{buildroot}/boot/kernel/devel/kernel-devel-%{variant} + +%clean +rm -rf %{buildroot} + +%files -n %{variant}-linux-kernel-modules +/lib/modules/%{version}-%{variant} + +%files -n %{variant}-linux-kernel-devel +/boot/kernel/devel/ + +%files -n %{variant}-linux-kernel +%license COPYING +/boot/Image +%if 0%{?board_visionfive2} +/boot/jh7110*.dtb +%endif + +%files -n %{variant}-linux-kernel-headers +/usr/include/* + +%files -n %{variant}-linux-kernel-perf +%license COPYING +/usr/bin/* +/usr/libexec/* +/usr/lib/traceevent/* diff --git a/packaging/linux-visionfive2.spec b/packaging/linux-visionfive2.spec index cf4c071..350c716 100644 --- a/packaging/linux-visionfive2.spec +++ b/packaging/linux-visionfive2.spec @@ -1,24 +1,26 @@ +%define target_board visionfive2 +%define board_visionfive2 1 + # Ignore double dash in version for rpmbuild %define _wrong_version_format_terminate_build 0 -%define config_name tizen_vf2_defconfig +%define config_name tizen_%{target_board}_defconfig %define buildarch riscv -%define target_board visionfive2 %define variant %{buildarch}-%{target_board} -Name: visionfive2-linux-kernel -Summary: The Linux Kernel for VisionFive2 Board -Version: 6.1.29 +Name: %{variant}-linux-kernel +Summary: The Linux Kernel for RISC-V %{target_board} +Version: 6.1.32 Release: 0 License: GPL-2.0 ExclusiveArch: riscv64 Group: System/Kernel Vendor: The Linux Community URL: https://www.kernel.org -Source0: linux-kernel-%{version}.tar.xz +Source0: %{variant}-linux-kernel-%{version}.tar.xz BuildRoot: %{_tmppath}/%{name}-%{PACKAGE_VERSION}-root -%define fullVersion %{version}-%{variant} +%define fullVersion %{version}-%{target_board} BuildRequires: bc BuildRequires: module-init-tools @@ -34,14 +36,7 @@ BuildRequires: binutils-devel BuildRequires: python3 BuildRequires: rsync -%description -The Linux Kernel, the operating system core itself - # kernel -%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} @@ -83,12 +78,12 @@ This package provides userspaces headers from the Linux kernel. These headers are used by the installed headers for GNU glibc and other system libraries. -%package -n linux-kernel-perf +%package -n %{variant}-linux-kernel-perf Summary: The perf performance counter tool Group: System/Kernel Provides: perf = %{version} -%description -n linux-kernel-perf +%description -n %{variant}-linux-kernel-perf This package provides the "perf" tool that can be used to monitor performance counter events as well as various kernel internal events. @@ -99,6 +94,9 @@ counter events as well as various kernel internal events. %{?asan:/usr/bin/gcc-unforce-options} %{?ubsan:/usr/bin/gcc-unforce-options} +# distinguish binaries for different variants +echo "-%{variant}" > localversion-tizen + # extract uapi headers make headers_install %{?_smp_mflags} @@ -123,7 +121,9 @@ mkdir -p %{buildroot}/boot mkdir -p %{buildroot}/lib/modules # Install kernel DTB +%if 0%{?board_visionfive2} install -m 644 arch/%{buildarch}/boot/dts/starfive/jh7110*.dtb %{buildroot}/boot/ +%endif mkdir -p %{buildroot}/boot/overlays # Install kernel headers @@ -173,7 +173,7 @@ rsync -r \ rm -rf %{buildroot} %files -n %{variant}-linux-kernel-modules -/lib/modules/%{version} +/lib/modules/%{version}-%{variant} %files -n %{variant}-linux-kernel-devel /boot/kernel/devel/ @@ -181,12 +181,14 @@ rm -rf %{buildroot} %files -n %{variant}-linux-kernel %license COPYING /boot/Image +%if 0%{?board_visionfive2} /boot/jh7110*.dtb +%endif %files -n %{variant}-linux-kernel-headers /usr/include/* -%files -n linux-kernel-perf +%files -n %{variant}-linux-kernel-perf %license COPYING /usr/bin/* /usr/libexec/* diff --git a/packaging/pre_checkin.sh b/packaging/pre_checkin.sh new file mode 100755 index 0000000..e3e7790 --- /dev/null +++ b/packaging/pre_checkin.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +cd $(dirname $0) +for target_board in visionfive2 qemu; do + echo %define target_board ${target_board} > linux-${target_board}.spec + echo %define board_${target_board} 1 >> linux-${target_board}.spec + cat linux-riscv.spec.in >> linux-${target_board}.spec +done -- 2.7.4