...
Преди това писах, че е важно при компилация на ядро първо да се види какъв е хардуера на конкретната машина, това за да може да активираш опциите в ядрото които го поддържат (хардуера).
Лично аз гледам да включа тази поддържка като вградена в ядрото, не като модули (за съжаление не всичко може да се активира вградено в самото ядро).
...
Съвета да се изключат нещата, които няма да се ползват е перфектен. Но с това, което съм цитирал, изобщо не съм съгласен. Това е против добрите практики. Колкото е по-малко едно ядро, толкова е по-бързо. Това се отнася за точно всеки вид програма, чак до bash scripts.
Единственото, което се губи са милисекундите за зараждане на приставките. Но това е важно единствено в извънредно критични системи, най-вече вградени такива. А там ядрото е толкова орязано, че е още по-малко. Почти става с размера на микро-ядро.
Това което лично аз включвам в ядрата (когато ги компилирах за конкретна машина) е само необходимото за нейната периферия и хардуер, тоест дали нещо ще е в самото ядро или ще се зарежда като модул не влияе особено на размера.
Пропуснах това разяснение когато писах преди това.
А после се сетих и че initrd/initramfs е да зареди неща без които ядрото няма как да инициализира наличния хардуер, например графика, мишка, клавиатура, LVM, RAID, фирмуеар и други подобни които сега не помня/знам.
А това да включвам поддъръжката в самото ядро бе по-скоро като гаранция че дадената опция със сигурност ще е налична/активна и няма да се счупи нещо при и след зареждането (тоест по-скоро от мързел и незнание как точно работи всичко).
Всъщност и сега компилирам ядра, но такива с готова конфигурация - linux-ck, linux-rt-bfq (вероятно затова гледам/предпочитам да ползвам дистрибуции които освен бинарни пакети имат възможност за компилиране и от сорс, за неща които не са толкова разпространени) - EndeavourOS/Arch-based & Void-linux, напоследък !
PS: а микроядрата са доста по-малки (12-15000 хиляди реда само/по памет) това е за Minix
с които съм си играл преди време