История изменений
Исправление Kroz, (текущая версия) :
Как понять какие модули нужны а какие нет?
Можно сделать как сказали выше: загрузиться с live/рабочей системы и понять какие модули нужны. Вот хороший мануал: http://unix.stackexchange.com/questions/119876/how-to-build-a-custom-kernel-w...
Но я делаю по-другому.
Подход:
- Сначала заставь работать, потом оптимизируй (убирай лишнее, вкомпиливай модули, добавляй специфичные/опциональные опции).
- В ядре 99% из того, что тебе нужно, уже включено.
- Все, тебе нужны 4 вещи 1) вывод lspci 2) вывод lsusb 3) понимание системы; например, если ты используешь reiserfs, не забудть ее вкомпилить в ядро 4) wiki/мануалы на конкретные фичи (типа sensors, lwm и т. п.), но это, как правило на втором этапе (оптимизация, обрастание фичами).
- В 99% случаях initrd не нужен. Он нужен только для специфичных фич; wiki/мануалы тебе скажут об этом. Не сказали - значит не нужен initrd. Но для этого по-максимуму все вкомпиливай в ядро (а не модули).
Для стадии 1 (заставить работать):
- Включай только то, что может понадобится;
- Выключай только то, что точно знаешь что не понадобится; но лучшее вообще ничего не выключай;
- Если не уверен или не знаешь что это - не трогай, оставь настройки по умолчанию;
- Старайся не включать функции помеченные как Deprecated и Experimental;
- Не включай любые debug; включаем только если что-то не работает и мы хотим выяснить почему;
- Каждый раз делаем новую версию ядра (CONFIG_LOCALVERSION в помощь); если новое ядро почему-то не взлетело, всегда должна быть возможность откатиться на предыдущую конфигурацию.
- Все включаем в ядро монолитно; включаем в виде модулей в исключительных случаях только если это нужно для каких-то целей (как правило, не нужно).
Далее я делаю:
$ cd /usr/src/linux
$ make defconfig
$ make menuconfig
Исходная версия Kroz, :
Как понять какие модули нужны а какие нет?
Можно сделать как сказали выше: загрузиться с live/рабочей системы и понять какие модули нужны. Вот хороший мануал: http://unix.stackexchange.com/questions/119876/how-to-build-a-custom-kernel-w...
Но я делаю по-другому.
Подход:
- Сначала заставь работать, потом оптимизируй (убирай лишнее, вкомпиливай модули, добавляй специфичные/опциональные опции).
- В ядре 99% из того, что тебе нужно, уже включено.
- Все, тебе нужны 4 вещи 1) вывод lspci 2) вывод lsusb 3) понимание системы; например, если ты используешь reiserfs, не забудть ее вкомпилить в ядро 4) wiki/мануалы на конкретные фичи (типа sensors, lwm и т. п.), но это, как правило на втором этапе (оптимизация, обрастание фичами).
- В 99% случаях initrd не нужен. Он нужен только для специфичных фич; wiki/мануалы тебе скажут об этом. Не сказали - значит не нужен initrd. Но ля этого по-максимуму все вкомпиливай в ядро (а не модули).
Для стадии 1 (заставить работать):
- Включай только то, что может понадобится;
- Выключай только то, что точно знаешь что не понадобится; но лучшее вообще ничего не выключай;
- Если не уверен или не знаешь что это - не трогай, оставь настройки по умолчанию;
- Старайся не включать функции помеченные как Deprecated и Experimental;
- Не включай любые debug; включаем только если что-то не работает и мы хотим выяснить почему;
- Каждый раз делаем новую версию ядра (CONFIG_LOCALVERSION в помощь); если новое ядро почему-то не взлетело, всегда должна быть возможность откатиться на предыдущую конфигурацию.
- Все включаем в ядро монолитно; включаем в виде модулей в исключительных случаях только если это нужно для каких-то целей (как правило, не нужно.
Далее я делаю:
$ cd /usr/src/linux
$ make defconfig
$ make menuconfig