Make kernel.org Rpm for Tumbleweed
Jump to navigation
Jump to search
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/
# prepare dev environment 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 # provide desired kernel source # dl and unpack kernel from kernel.org or clone e.g. from git://anongit.freedesktop.org/drm-tip, or ... # cd into source dir downloaded and unpacked from whereever (e.g. kernel.org branches, kernel or drm-tip, or ...) # create config file to add necessary changes (tag name from directory, not signed, whatever else might be needed for your task) 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 # compile kernel source and create package make -j8 binrpm-pkg # make rpm-pkg # install kernel and make it known to bootloader 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 # use the new kernel (and check it worked) sudo reboot uname -r
This took ~45 min on a 11gen intel cpu with nvme disk
If builds fail it is 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)