16 Aralık 2006

Linux çekirdeğiyle ilgili birkaç şey

Linux ü boot ederken verdiğimiz parametreleri görmek için naparız? En basitinden:
cat /proc/cmdline
ya da
dmesg | grep "Kernel command line"
Bu ikinci dediğim linux kodunun neresinde basılıyor sizce? Bunun için hemen koda daldım ve buldum :-)
init/main.c dosyasındaki start_kernel fonksiyonunun içinde:
printk(KERN_NOTICE "Kernel command line: %s\n", saved_command_line);
printk: kernel space'de kod yazmış olanlar bilirler, bu fonksiyonla dış dünyaya bilgi veririz loglevel ımıza göre (KERN_NOTICE).

Bu arada hemen söyleyeyim kernel space'de kod yazabilmek için illa kernel a yazıp derlemek gerekmez. Tam bu iş içindir işte modüller. Modül derleyip dinamik olaral kernel a yüklediğimizde artık kernel deyizdir. Neyse bu işler gerçekten zevkli :)

Hiç yorum yok: