Некоторое время назад я заметил, что компиляция ядра с параметром -j, равным 1 или более, не производит bzImage. Вместо этого он заканчивается преждевременно без какого-либо совета. Я воспроизвел одинаковое поведение как на моем нетбуке, так и на домашнем сервере.

Насколько я знаю, точка, в которой компиляция останавливается, является случайной: компиляция дважды с одинаковыми параметрами, вероятно, приведет к остановке в разных файлах. Однако, когда я запускаю make без параметра -j *, компиляция просто завершается и выдает работающий bzImage.

Обе машины работают на Intel Atom (N270 на нетбуке и 330 на сервере), и я скомпилировал для этих процессоров. Если я правильно помню, я попытался скомпилировать как с Atom, так и с общими параметрами x86_64.

Я собираю версию ядра 2.6.34.1

Я всегда нормально компилировал эти опции на моих машинах Core2Duo и Pentium Dual Core.

Кто-нибудь сталкивался с этой проблемой? Есть идеи, почему это происходит? Есть ли исправление или обходной путь?

1 ответ1

0

Преждевременное завершение распараллеленного создания почти всегда вызвано недостаточной спецификацией зависимостей. К сожалению, единственные способы исправить это - либо проанализировать все зависимости, перечисленные в Makefile, либо проанализировать вывод make в поисках причин завершения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .