Make kernel.org Rpm for Tumbleweed: Difference between revisions

From JoBaPedia
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
= Build Kernel Rpm for Tumbleweed =
= Build and Install Kernel Rpm for Tumbleweed =


basically followed this guide: https://tutorialforlinux.com/2021/01/05/step-by-step-build-kernel-opensuse-easy-guide/
basically followed this guide: https://tutorialforlinux.com/2021/01/05/step-by-step-build-kernel-opensuse-easy-guide/
Line 11: Line 11:
  find /boot/ \( -iname "*config*" -a -iname "*`uname -r`*" \) -exec cp -i -t ./ {} \;
  find /boot/ \( -iname "*config*" -a -iname "*`uname -r`*" \) -exec cp -i -t ./ {} \;
  mv *`uname -r`* .config
  mv *`uname -r`* .config
tag="${PWD##*/}"
tag=${tag//-/.}
sed -i "s/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=\"-$tag\"/" .config
  sed -i 's/^CONFIG_MODULE_SIG_KEY/#CONFIG_MODULE_SIG_KEY/' .config
  sed -i 's/^CONFIG_MODULE_SIG_KEY/#CONFIG_MODULE_SIG_KEY/' .config
  # make menuconfig
  # make menuconfig
Line 16: Line 19:
  # make rpm-pkg
  # make rpm-pkg
  sudo zypper in ~/rpmbuild/RPMS/x86_64/kernel-*
  sudo zypper in ~/rpmbuild/RPMS/x86_64/kernel-*
kver=`ls -t1 /lib/modules | head -1`
sudo dracut --kver "$kver"
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  sudo reboot
  sudo reboot
  uname -r
  uname -r


A build took ~10min on a 11gen intel cpu with nvme disk
This took ~45 min on a 11gen intel cpu with nvme disk


Builds fail mostly while building modules. Then easiset way out: you probably don't need the module, so deactivate it in .config
Builds fail mostly while building modules. Then easiset way out: you probably don't need the module, so deactivate it in .config


Kernel is not signed -> safeboot needs to be deactivated. For signing kernel or modules look elsewhere (e.g. kernel tree docs)
Kernel is not signed -> safeboot needs to be deactivated. For signing kernel or modules look elsewhere (e.g. kernel tree docs)

Revision as of 12:27, 1 August 2022

Build and Install Kernel Rpm for Tumbleweed

basically followed this guide: https://tutorialforlinux.com/2021/01/05/step-by-step-build-kernel-opensuse-easy-guide/

sudo zypper ref && sudo zypper update
# sudo reboot
sudo zypper in -t pattern devel_basis
sudo zypper in bc openssl openssl-devel dwarves rpm-build libelf-devel elfutils-libelf-devel
# dl and unpack kernel from kernel.org or clone e.g. from git://anongit.freedesktop.org/drm-tip, or ...
# cd into source dir (e.g. kernel or drm-tip, or ...
find /boot/ \( -iname "*config*" -a -iname "*`uname -r`*" \) -exec cp -i -t ./ {} \;
mv *`uname -r`* .config
tag="${PWD##*/}"
tag=${tag//-/.}
sed -i "s/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=\"-$tag\"/" .config
sed -i 's/^CONFIG_MODULE_SIG_KEY/#CONFIG_MODULE_SIG_KEY/' .config
# make menuconfig
make binrpm-pkg
# make rpm-pkg
sudo zypper in ~/rpmbuild/RPMS/x86_64/kernel-*
kver=`ls -t1 /lib/modules | head -1`
sudo dracut --kver "$kver" 
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot
uname -r

This took ~45 min on a 11gen intel cpu with nvme disk

Builds fail mostly while building modules. Then easiset way out: you probably don't need the module, so deactivate it in .config

Kernel is not signed -> safeboot needs to be deactivated. For signing kernel or modules look elsewhere (e.g. kernel tree docs)