Hi All,
This is prabu .
I am new to kernel hacking as most of the career i had been an application guy;
now
focusing into the fundamentals of linux kernel. I really have little
knowledge about the kernel, modules and auto loading of modules.After a
lot of googling ,i am now much perplexed :-) Most of the articles are
contradictory to each other and not very clear ( or not so simple at my
level to comprehend)
1. How does a linux distribution know which feature is to be set in kernel and
which one as a module.
2. Now after installation, i reboot the server ....( COLDPLUG )
1. Does the hardware probing is done first and then the relevant drivers
are loaded for the hardware found. If so
how
( or )
2. Else if the hardware driver is loaded FIRST from modprobe.conf and
does it go in search of a corresponding device supported by the driver?
3. HOTPLUG ......
1. I now add a new network card to the PCI slot. ( 2.6 )
2. I assume that the PCI controller sends a signal to the kernel that a new
device is added
3. The new device's firmware details like vendor id, prod id is propogated
to /sys file system.
4. udevd tries to load the device drivers containing that particular vendor
id in /lib/modules/kernel.xx/net
i have a doubt ... like.. does it search only /etc/modprobe.conf or
all the modules under /lib/modules.
4. How does the same hotplug and cold plug happen in case of 2.4 kernels.
where does kmod , kerneld come into picture
5. What is the main role of rc.sysinit -- does this handle device and drivers.
6. Dont know when to put an entry in modprobe.conf and when not to.
7. why does lsmod show something different from modprobe -c
8. How does modprobe -c get those values. why does it vary with lsmod output
9. There are two SCSI hostadapters of same type. Do i need to load the module
twice for it or once?
In simple words how a device driver is loaded at boot/hotplug for 2.4 and 2.6
kernels
I
know each one is inter-related but dont know how they are?. I cant find
any good article to explain the working of modules in simple words
(both 2.4 / 2.6
with examples)
Any help in this regard is much appreciated....
Prabu