title: How does the Linux kernel know which drivers to load at boot?
body: <p>I'd like to know this for the first boot and for subsequent boots.</p>
  
  <p>I'm compiling my own kernel and want it to be as lean as possible.  I want to build the .config file by hand (mainly as a learning experience), so I need to know everything that can be excluded.  I know a possible solution is to look at my current distros list of loaded drivers.  However, I'm curious about how my distro discovered what drivers to load initially.</p>
  
  <p>TIA.  </p>