Мне нужна помощь, чтобы выяснить, как компиляция ядра Linux приводит к зависанию Ubuntu.
Я пытаюсь кросс-компилировать ядро Linux для ZedBoard. Это архитектура ARM Zynq-7000. Когда я компилирую, все сводится к файлу journal.o
, и вся система зависает, и мне приходится перезагружаться. Xilinx / ZedBoard понятия не имеет, так что, может быть, кто-то еще. Дайте мне знать, какая другая информация вам нужна.
У меня та же проблема при компиляции ядра для zynq. Это то, что я использовал: make -j ARCH = arm UIMAGE_LOADADDR = 0x8000 uImage
Теперь я изменил его на: make ARCH = arm
, и он компилирует и создает Image и zImage в \ arch \ arm \ boot \
Гудлак
Если вы посмотрите на страницу руководства для make с $ man make
, это объясняет немного больше. Флаг -j
, за которым следует число, ограничивает количество процессов, запущенных одновременно, тем, что вы положили. Однако, если за -j
не следует число, число потоков не ограничено. Я думаю, так как он выполнял так много потоков за один раз, он все запутал. Как только я использовал make ARCH=arm UIMAGE_LOADADDR=0x8000 CROSS_COMPILE=arm-xilinx-linux-gnueabi- uImage
, все работало; Конечно, это было медленно, но это работало. Возможно, вы могли бы добавить -j 10
или что-то еще, чтобы заставить вещи работать немного быстрее без перегрузки ОС.