I have just built a custom kernel from source (obtained from kernel.org). I can boot from it fine on my local box. I now want to make it easy for a colleague to try this kernel out.

Is there an easy way to create a rpm that he can install? The instructions I found on googling assume that I configure and build my kernel from a kernel.src.rpm but this is not what I did.

Is it enough to replicate /lib/modules/$(uname -r) , /boot/vmlinuz , /boot/System.map-$(uname -r), /boot/initramfs-$(uname -r) to the new machine to be able to boot over there ?


  • Why not start with an existing kernel RPM and drop in your own source and configuration? Mar 3, 2014 at 20:16

1 Answer 1


The kernel Makefile has some option for building RPMs (I believe make rpm, but I don't have a kernel sourcetree at hand). This is not the distribution way, so not everything may work. Initrd, on the other hand, should be created by the distribution (on Fedora using dracut), so some integration between these two should exist, though I'm not sure if it does.

If you want a rock-solid solution to this problem, grab a .src.rpm from your distro and start modifying from there. Be also aware, that there are many distros using RPM packaging, though they are not 100% compatible with each other and while regular packages shouldn't be that problematic, the kernel package is a special case.

  • 1
    Correct. From the makefile: Kernel packaging: rpm-pkg - Build both source and binary RPM kernel packages binrpm-pkg - Build only the binary kernel package Mar 3, 2014 at 21:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .