Lnuxカーネルは数千の設定項目によりソースコードレベルでの汎用性を持っているがそれでも足りない
言うまでもないがバイナリレベルでは汎用性は消失する
カーネルのコアな設定項目はコンパイル時にしか変更できない
ドライバの差し替えなんかはバイナリレベルでやれるけどI/Oスケジューラーはコンパイル時に決めないとならない