Linux Kernel compile guide
Disclaimer
This guide does not explain the details of compiling a Linux kernel, nor does it guarantee that it will work on other systems. Do check out the Linux Foundation for more information: https://training.linuxfoundation.org/training/a-beginners-guide-to-linux-kernel-development-lfd103/
Hardware
- MBP M2 - MacOS Sequoia
- Parallels running Ubuntu VM 24.04.02 6.8.0-59 generic
Commands
# Commands to compile linux kernel
594 sudo apt-get install build-essential vim git cscope libncurses-dev libssl-dev bison flex
595 cd ~ && mkdir linux_work
596 git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux_stable
598 cd linux_stable
601 git checkout linux-6.9.y
605 cp /boot/config-6.8.0-59-generic.config
607 vim .config
608 make clean
609 make oldconfig
612 make -j12
620 sudo make modules_install install
644 cd /etc/default
649 sudo vim grub
650 sudo update-grub
657 reboot
Notes
###################
# 601 git checkout linux-6.9.y
# This was the latest branch at the time 05/25
# Use 'git branch -a' to check the latest releases
###################
# 607 vim .config
# If you receive a certificate error when compiling,
# in .config edit these lines as follows
CONFIG_SYSTEM_TRUSTED_KEYS=""
CONFIG_SYSTEM_REVOCATION_KEYS=""
###################
# 609 make oldconfig
# You can use 'make menuconfig' to customize the kernel
# oldconfig uses the current host configuration
###################
# 612 make -j12
# Change '12' to the number of jobs you want to use
# My MBP has 12 cores so I used 12 jobs
###################
# 649 sudo vim grub
# Change the values below:
#GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_CMDLINE_LINUX="earlyprintk=vga"