How does Ubuntu detect hardware?
Recently I am playing with Android x86 (http://www.android-x86.org/). From what I know, the Android kernel is very similar to Ubuntu Linux kernel. However, according to this discussion, Android is designed for specific platform and it has removed common hardware auto detection like those in Ubuntu.
I would like to learn how Ubuntu kernel detects hardware and load device drivers during boot up. I have been googling for a long time. So far, one of the best article about Linux boot up process is this. However, this article is missing some important details i want: after bootloader loads kernel and initrd into RAM, how the kernel detects hardware and loads device drivers?
I have seen some people talking about udev, but i don't know how it works during Linux boot up.
Can anyone explain how Ubuntu kernel detect hardware and load device drivers during boot up? Thanks. (If you can give me the links to the hardware detection script used by Ubuntu it will be great!)