Title: One Giant Leap for Frogkind Date: Dec. 04, 2013 URL: https://monsterb.github.io/notes/notes001.txt License: http://creativecommons.org/licenses/by-sa/4.0/ Author: monsterb Compiling a new kernel on OpenSUSE 13.1 and ending up with an RPM for easy installing. Caution: Use this hard to follow how-to at your own risk. This worked for me on OpenSUSE 13.1 64bit with the latest stable kernel 3.12.5 from kernel.org. Step 1: Install the necessary tools and dependencies. # sudo zypper ncurces-devel rpm-build Step 2: Download the latest stable kernel from kernel.org. $ wget "https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.5.tar.xz" Step 3: Extract/Unpack the kernel source code. $ tar -Jxvf linux-3.12.5.tar.xz Step 4: Copy the kernel source code to /usr/src/. $ sudo cp -r linux-3.12.5 /usr/src/ Step 5: Change into /usr/src/linux-3.12.5/. # cd /usr/src/linux-3.12.5/ Step 6: Configure the kernel. If this is your first time configuring the Linux kernel, I would recommend you copy your ".config" from your existing kernel. If your experienced at configuring the Linux kernel use "make mrproper" to configure your kernel from scratch. "make mrproper" will give you a clean default ".config". # cp /boot/config-`uname -r` .config If you need to make changes to the ".config" use "make menuconfig". # make menuconfig If you would like to change the EXTRAVERSION field: Edit the "Makefile".. I changed mine to "-kermit" since Linus named this kernel "One Giant Leap for Frogkind". VERSION = 3 PATCHLEVEL = 12 SUBLEVEL = 5 EXTRAVERSION = -kermit NAME = One Giant Leap for Frogkind Step 7: Build the kernel package. # make rpm Before the build process begins you will be asked some questions about some new kernel features.. Read carefully! Step 8: Install your new kernel. If everything worked out.. you will have a new kernel RPM in "/usr/src/packages/RPMS/x86_64/". # rpm -ivh kernel-3.12.5_kermit_4_desktop-2.x86_64.rpm and build the initrd file. The initrd is the "initial ramdisk". It is enough files stored in a ramdisk to store needed drivers. You need the drivers so that the kernel can mount / and start init. # mkinitrd and add boot entry to grub2. # grub2-mkconfig That's it!! Reboot into your new kernel.