LINUX.ORG.RU

Проблема в загрузке .ko модуля

 , , ,


0

1

Есть устройство с embedded linux armhf, в нем по умолчанию есть некоторые .ko модули, загружаются в системе они нормально. Создал такую же систему на qemu как и на устройстве, с такой же версией ядра, но при попытке загрузить модуль мне выдает ошибку: «Module PLT section(s) missing». На первом устройстве нормально все загружается, а на втором, который qemu, нет. В чем причина и как это решать?

версия версией, но должен ещё конфиг быть идентичный и тулчейн, но даже и в этом случае, если правильно помню, просто так модуль не получится загрузить и надо в ядре какую-то опцию безопасности отключать при сборке.

anonymous
()
Ответ на: комментарий от Ev1lR03kE02S01

посмотри, есть ли /proc/config.gz, ещё бывает в /boot кладут, но тут раз embedded, то навряд ли есть хоть что-то из этого. мой ответ: я не знаю.

anonymous
()
Ответ на: комментарий от Ev1lR03kE02S01

Ты уверен, что ты понял вопрос? Тебя не про версию спрашивают, одинаковые они или нет.

А про то, что ты скопировал файл с ядром Linux с устройства, его модули и запустил в QEMU.

Это так?

kostik87 ★★★★★
()
Ответ на: комментарий от Ev1lR03kE02S01
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=90400
CONFIG_CLANG_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_HAS_ASM_GOTO=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
# CONFIG_KERNEL_GZIP is not set
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_KERNEL_LZ4=y
CONFIG_DEFAULT_HOSTNAME="(none)"
...

Файл с конфигом ядра может лежать в /boot.

Если ты хочешь собрать ядро, то не всё так просто.

kostik87 ★★★★★
()

.ko модули переносимы только в рамках одного и того же ядра. Не версии, а именно сборки. Точнее не совсем так, но то дебри и тебе не надо.

Возьми не просто той же версии, а именно то же самое ядро и попробуй в qemu запустить, тогда может и получится нормально.

А так .если /proc/config.gz нет, то у тебя проблемы, доставай исходники и конфиг из вендора.

Dark_SavanT ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.