Linux açık bir sistemdir. Sistem programcıları çekirdek üzerinde çeşitli değişiklikler yaparak
 işletim sistemini yeniden derleyebilirler. Örneğin tipik olarak sisteme yeni bir sistem
 fonksiyonu eklenebilir ve bu durumda çekirdek yeniden derlenmek istenebilir. Çekirdeği
 derlemenin adımları şöyledir:
 1) Çekirdek kaynak kodlarının bulunduğundan emin olunur.
 2) /usr/src/linux dizinine geçilir.
 3) Çekirdek parametrelerine ilişkin belirlemeler yapılır. Bunun için
 make config
 ya da
 make menuconfig
 yapılır (root olmak gerekir).
 4) Bundan sonra dependency durumu için
 make dep
 yapılabilir ya da yapılmadan geçilebilir.
 5) Zorunlu olmamakla birlikte daha önceki derlemeden kalan dosyalar
 make clean
 ile silinebilir.
 6) Nihayet asıl kernel derlemesi başlatılır. En fazla zaman alacak işlem bu işlemdir. Bunun
 için /usr/src/linux/makefile dosyası kullanılır. Bu makefile dosyası içerisinde
 çekirdeği oluşturan bütün dosyaların derlenme ve link edilme bilgileri vardır. Eski bir dosya
 üzerinde değişiklik yapılmışsa bu dosyada değişiklik yapılmaya gerek yoktur. Çekirdek
 derlendiğinde zaten o değişiklik devreye girer. Ancak yeni bir dosyayı da çekirdek derlemesi
 içerisine alacaksak bunu bu dosyada belirlemeliyiz. Kernel derlemesi için
 make zImage
 yapılır. Burada değişen dosyalar yeniden derlenecektir ve sonra hep beraber link edilerek yeni
 çekirdek dosyası oluşturulacaktır.
 7) Kernel image dosyasının oluşturulması
 make zImage
 ile bitirilir. image dosya /usr/src/linux/arch/i386/boot/zImage klasörüne
 kopyalanır. Artık bu kernel image dosyasının boot işlemine sokulması aşamasına gelinmiştir.
 8) Oluşturulan kernel dosyasının boot işleminde devreye girmesi için lilo bootloader
 programından faydalanılabilir. lilo programı lilo.conf isimli bir dosyaya bakarak ne
 yapacağını tespit eder. lilo.conf içerisinde sistemde hangi işletim sistemlerinin olduğu ve
 Linux’un hangi kernel image dosyasıyla boot edileceği gibi bilgiler vardır. Bu değişiklikler
 yapıldıktan sonra lilo programı çalıştırılarak değişiklikler gerçekleştirilir. lilo.conf dosyasında
 kernel image ismi ve yeri belirtilmektedir. Çekirdeği derleyen kişi yeni yarattığı kernel image
 dosyasını burada belirtilen yere aynı isimle kopyalayabilir ya da lilo.conf içerisinde değişiklik
 yaparak yeni yaratılan image dosyasının kullanılmasını sağlar.