LINUX.ORG.RU

История изменений

Исправление 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
Далее пробегаю по пунктам, соответствующим выводу lspci и lsusb, еще «процессор», LOCALVERSION, вкомпиливаю файловые системы. На этом этапе я также добавляю украшательства типа 'Kernel .config support' , 'Magic SysRq key', может что-то еще, но это не обязательно. Далее, загружвешь ядро, тестируешь все, что включил. Если заработало - вперед оптимизировать, обзаводиться фичами т. п.

Исходная версия 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
Далее пробегаю по пунктам, соответствующим выводу lspci и lsusb, еще «процессор», LOCALVERSION, вкомпиливаю файловые системы. На этом этапе я также добавляю украшательства типа 'Kernel .config support' , 'Magic SysRq key', может что-то еще, но это не обязательно. Далее, загружвешь ядро, тестируешь все, что включил. Если заработало - перед оптимизировать, обзаводиться фичами т. п.