Intereting Posts
Нумерация результатов grep критический раздел для Linux Как установить драйверы winio-win для установки Windows на KVM Что значит иметь в скрипте строку $ msign-prefixed? Как проверить синтаксис в задании cron Печатать строки, в которых первое поле имеет только четыре символа, используя регулярное выражение в awk? Обновление кучи компьютеров Mac через SSH. Может помочь Переменная не расширяется внутри другой переменной bash Автозапуск виртуальной машины VBoxHeadless при загрузке с помощью Upstart – init и Graceful exit Конкирование инфобара влево и вправо что означает пунктирная линия на `экране` мультиплексированного терминала? Как вы выбираете дистрибутив? SSH: предоставить дополнительные «труба» fds в дополнение к stdin, stdout, stderr Как заключить в кавычки, если как одиночные, так и двойные кавычки уже используются? Как совместить имя именно с встроенным «Помощью» Bash?

ошибка построения цикла ядра

Я пытался скомпилировать последнее ядро ​​с некоторыми изменениями.

при выполнении sudo make modules_install

  INSTALL virt/lib/irqbypass.ko DEPMOD 4.4.0-rc1+ depmod: WARNING: found 2 modules in dependency cycles! depmod: WARNING: /lib/modules/4.4.0-rc1+/kernel/drivers/staging/lustre/lnet/lnet/lnet.ko in dependency cycle! depmod: WARNING: /lib/modules/4.4.0-rc1+/kernel/drivers/staging/lustre/lustre/libcfs/libcfs.ko in dependency cycle! ./scripts/depmod.sh: line 57: 1471 Killed "$DEPMOD" "$@" "$KERNELRELEASE" $SYMBOL_PREFIX make: *** [_modinst_post] Error 137 

Что является причиной этого? Как это исправить?

Редактировать:

Я внес следующие изменения в ядро, чтобы добавить новый syscall для цели обучения

Makefile

 core-y += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/ block/ hello/ 

добавлено hello / folder

syscall_64.tbl

 546 x32 hello sys_hello 

syscall.h

 asmlinkage long sys_hello(void); 

Makefile

 obj-y:= hello.o 

Привет

 #include <linux/kernel.h> asmlinkage long sys_hello(void) { printk("Hello world\n"); return 0; } 

Я столкнулся с этой проблемой на сегодняшний день, пытаясь скомпилировать net-next kernel.

Мой поиск дал ответ отсюда: http://comments.gmane.org/gmane.comp.file-systems.lustre.devel/4032

Модуль Luster вызывает проблему зависимостей, и разработчик, стоящий за ней, должен был создать и наложить патч к настоящему моменту, но, похоже, что патч не попал в себ-деревья следующего поколения (или основного ядра).

Для этого есть два возможных способа обхода, если вам не нужен Luster:

  1. Согласно сообщению, указанному выше, и, по моему собственному опыту, удаление кода нарушения является опцией. Если вы отредактируете драйверы / staging / lust / luster / libcfs / module.c (из каталога, в котором находится исходный код ядра) и IOC_LIBCFS_PING_TEST поиск IOC_LIBCFS_PING_TEST , вы можете удалить весь блок дела. (Если вы не знакомы с C-кодом, удалите весь путь до строки со следующим входом return 0; )

    Это то, что я сделал, и я смог установить модули после перекомпиляции.

  2. Отредактируйте файл .config. Вероятно, ваш .config указывает, что различные компоненты Luster должны быть скомпилированы как модули. Отредактируйте .config в корне каталога ядра и найдите строку

    CONFIG_LUSTRE_FS=m

Измените «m» на «n», и это должно препятствовать компиляции модуля. Я не тестировал это как исправление.

Вы также можете дождаться, пока этот патч не попадет в исходный код ядра, но это уже около месяца.