Сетевые средства Linux
Шрифт:
Компиляция ядра
После того как вы сконфигурировали ядро системы, выполнив
Первая из этих команд выполняет подготовительную работу. Слово
В результате выполнения второй команды строится основной файл ядра, который имеет имя
Команда
Команды
В зависимости от установленных опций и от быстродействия компьютера, процесс компиляции ядра может занять от нескольких минут до нескольких часов. Как правило, основной файл ядра создается дольше, чем модули, но если число модулей велико, для их создания может потребоваться больше времени, чем для создания ядра. При компиляции на экран монитора выводится большое число сообщений, описывающих ход обработки исходных файлов. Иногда отображаются предупреждающие сообщения, на которые можно не обращать внимание. При появлении сообщения об ошибке компиляция прерывается.
Проблемы, возникающие при компиляции ядра
Если вы корректно установили опции, компиляция ядра, как правило, проходит без проблем, но в некоторых случаях возникают ошибки. Проблемы, встречающиеся при компиляции ядра, описаны ниже.
• Ошибки в исходном коде или несовместимость кода. Иногда встречаются драйверы, которые содержат ошибки в исходном коде либо несовместимы с остальными компонентами ядра. Такая ситуация может возникнуть при работе с ядром, находящимся в процессе разработки, либо при попытке включить в состав ядра нестандартный драйвер. В этом случае при компиляции отображается одно или несколько сообщений об ошибке. Чтобы избавиться от ошибок, надо обновить версию ядра или, по крайней мере, заменить драйвер, который стал источником проблем. Если без этого драйвера можно обойтись, лучше вовсе отказаться от его использования.
• Отсутствие информации о зависимости файлов. Если работа драйвера зависит от другого драйвера, то первый драйвер должен выбираться лишь после того, как будет выбран второй. В некоторых случаях сценарий, посредством которого выполняется конфигурирование системы, работает некорректно. При компиляции ядра это проявляется следующим образом: каждый файл по отдельности компилируется нормально, но собрать файл ядра не удается. Если драйвер компилируется как отдельный модуль, то при попытке загрузить отображается сообщение об ошибке. Иногда в сообщении об ошибке содержится информация о том, какие действия надо предпринять, чтобы избавиться от нее. В некоторых случаях решить проблему удается, вызвав команду
• Устаревшие объектные файлы. Если вы компилируете ядро, а затем изменяете конфигурацию и компилируете его повторно, утилита
• Ошибка компилятора. GNU С Compiler (GCC) считается надежным компилятором, но бывают случаи, когда он становится источником проблем. Версия GCC, которая входит в состав Red Hat 7.0, не может скомпилировать ядро 2.2.x, но эта проблема устранена в версии ядра 2.4.x. (С Red Hat 7.0 поставляются две версии GCC; для того чтобы компиляция ядра была выполнена успешно, надо вместо
• Проблемы с использованием аппаратных средств. GCC более интенсивно использует ресурсы компьютера по сравнению с другими программами, поэтому сбои аппаратных средств чаще проявляются в процессе компиляции ядра системы. Такие ошибки называются ошибками signal 11, так как GCC возвращает именно такое сообщение. Причиной подобных ошибок, как правило, являются неисправности в процессоре и оперативной памяти. Дополнительную информацию об этих проблемах и способах их устранения можно найти по адресу
Если вы не можете самостоятельно разрешить проблемы, возникающие при компиляции ядра, отправьте сообщение в одну из групп новостей, посвященных системе Linux, например в
Инсталляция нового ядра и его использование
Чтобы готовое ядро можно было использовать, его необходимо инсталлировать. Как было сказано ранее, скомпилированное ядро помещается в каталог