Описание тега kbuild

NoneKbuild - это система сборки, используемая ядром Linux.
0 ответов

Переопределение макро-предупреждений в коде модуля ядра

Я делаю упражнения для начинающих. В нескольких источниках они определяют следующие макросы: #define MODULE #define LINUX #define __KERNEL__ Но kbuild предупреждает: warning: "MODULE" redefined [enabled by default] ... warning: "__KERNEL__" redefine…
16 май '14 в 05:24
1 ответ

Как загрузить модифицированный модуль ядра, который уже существует в скомпилированном ядре

Одним из способов является создание исходных текстов ядра с загрузкой исходного модуля, который необходимо изменить. Таким образом, оригинальный модуль может быть удален, а модифицированный модуль может быть вставлен. но это трудоемкий процесс.Мне и…
0 ответов

Ошибки в источниках Linux?

Я пытаюсь написать модуль ядра для внешней системы. Для этого я использовал файл.config для этого ядра и перестроил исходные коды на своем компьютере для разработки. Затем я написал make-файл, который использует следующие строки: CC=arm-xilinx-linux…
01 авг '16 в 21:02
3 ответа

Связывание модуля ядра со статической библиотекой

Я пытаюсь связать мой модуль ядра с внешней статической библиотекой, например так: obj-m += my_prog.o my_prog-objs := some/path/lib.a # all the standard targets... По некоторым причинам вышеупомянутый Makefile вообще не компилирует my_prog.c, и полу…
03 мар '14 в 15:34
1 ответ

Как добавить аргументы ядра при компиляции ядра Linux?

Я следовал за инструкциями в этом проекте, но я не мог понять, как добавить "console=ttyAMA0,115200 panic=5" в ядро ​​args. Кто-нибудь знает, как добавить это ядро ​​args?
18 июл '15 в 05:58
1 ответ

Kconfig и C enum

У меня есть меню с множественным выбором, определенное так: menu "Audio" choice prompt "Select Audio Output" default I2S help This option selects the audio output. config AUDIO_OUTPUT_MODE_I2S bool "Generic I2S" config AUDIO_OUTPUT_MODE_I2S_MERUS bo…
17 апр '17 в 15:44
1 ответ

Как добавить файл платы в ядро ​​Linux и где его найти в "make menu config"?

Мне нужно добавить какой-то специфичный для платы код в ядро ​​Linux, которое я создаю. (Я знаю, что уже должен использовать дерево устройств, но драйвер, которым я вдохновляюсь, этого не делает, и я уже изучаю дюжину новых вещей перед завтраком. До…
24 окт '16 в 09:45
2 ответа

Как правильно сделать чистку в ядре Makefile

Я портирую драйвер на ядро ​​3.4, и когда я делаю make clean, он не очищает некоторые файлы.o, так что теперь я задаюсь вопросом, каков правильный способ сделать это. У меня есть следующий Makefile (примечание: в отдельном каталоге от ядра): obj-y +…
17 ноя '12 в 22:58
1 ответ

Избегайте создания отладочной информации в LKM с помощью kbuild

Я строю модуль ядра Linux (LKM) из больших файлов C (>50 000 LOC). Это некоторый сгенерированный код расчета RAID. Когда я пытаюсь собрать его из kbuild, gcc съедает всю память и вылетает, а вызов gcc вручную работает нормально. После проверки объек…
20 ноя '13 в 08:02
0 ответов

Сборка модуля ядра из дерева с отдельным каталогом исходного кода и сборки через autoconf

Имеется пакет, который использует autoconf (скрипт configure) для предоставления приложения пользовательского режима и драйвера ядра со структурой каталогов, подобной этой: configure.ac configure Makefile.am user Makefile.am user.c driver Makefile.a…
27 апр '17 в 04:28
0 ответов

cmake: указать выходной каталог сборки модуля ядра Linux

Вот мой cmake для сборки модуля linux kernle hello world. if ( UNIX ) # Version number set ( DRV_MAJOR 1 ) set ( DRV_MINOR 0 ) set ( DRV_PATCH 0 ) set ( DRV_VERSION ${DRV_MAJOR}.${DRV_MINOR}.${DRV_PATCH} ) configure_file( drv_config.h.cmake ${CMAKE_…
15 июн '18 в 14:00
1 ответ

Проблемы с использованием подстановочного знака в Makefile при сборке.ko из объектов в каталоге

Я организовал модули ядра как разные подкомпоненты, так что я могу легко вставить / удалить существующий подмодуль, чтобы попробовать или интегрировать вещи. Структура каталога показана ниже: foo --+-- Makefile | +-- main.c | +-- include --+-- foo1.…
12 янв '18 в 09:37
0 ответов

Сборка внешнего модуля linux завершается успешно только со второй последовательной попытки

Я пытаюсь собрать внешний модуль ядра Linux qca_cld-2.0. Проблема в том, что сборка удалась только после второй попытки. Более конкретно Очистить выходной каталог При первой попытке сборки модуля возникает ошибка. Команда: $ make -C /lineage/kernel/…
15 ноя '18 в 14:09
3 ответа

Какие коды, такие как CC, LD и CC[M], выводятся при компиляции ядра Linux?

При компиляции Linux с нуля я понимаю, что при компиляции появляются коды компиляции. Например, имя файла CC, имя файла LD, имя файла CC[M]. Что означают эти коды?
28 июл '12 в 02:37
1 ответ

Как файл.ko построен

Я пытаюсь перенести свой драйвер на плату Beagle xm arm-cortex-A8. Во время портирования я пытаюсь выяснить, как .ko файл на самом деле строит. В нашем Makefile у нас есть только команда для создания.o файл. Как это .ko файл построен? Используя ядро…
3 ответа

Сбой SystemTap с ошибкой "ПРЕДУПРЕЖДЕНИЕ: kbuild завершен со статусом: 2"

Я собрал собственное ядро ​​3.2-41, необходимые пакеты kernel-debuginfo-common и kernel-debuginfo. Я установил эти пакеты в CentOS System с ядром 2.6.32-358. Система отлично загрузилась с новым ядром. Я запустил stap, чтобы вывести системные вызовы …
07 июн '13 в 17:59
3 ответа

Как использовать make и скомпилировать как C99?

Я пытаюсь скомпилировать модуль ядра Linux, используя Makefile: obj-m += main.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean Что дает мне: main.c:54: warning: I…
29 май '10 в 12:38
0 ответов

Как определить запись.config или menuconfig для данного файла исходного кода ядра

Во время компиляции драйвера вне дерева для устройства PCIe (avc8000nano) под Linux Yocto (fsl-community-image, imx6qsabresd, core-image-kernel-dev) я получаю следующие предупреждающие сообщения, которые позже запрещают загружать драйвер: WARNING: "…
12 окт '15 в 12:13
2 ответа

Как определить элемент Kconfig ядра Linux, который должен по крайней мере выбрать один из его подопций, чтобы он работал?

Я пишу модуль ядра, который может использовать две опции низкого уровня. Оба эти 2 варианта можно выбрать как M/Y/N, но должен быть выбран хотя бы один из них, иначе модуль не будет работать. Как показано ниже: [*] Enable FOO support <M> Back-…
15 янв '17 в 07:59
1 ответ

Pass Makefile определить во время компиляции?

Я пытаюсь передать "определить переменную с именем DEBUG" во время компиляции для модуля ядра. то есть обеспечивают ту же функциональность, что и DEBUG ниже, но в Makefile для модуля ядра. gcc -o foo -DDEBUG=1 foo.c Кто-нибудь может дать мне подсказ…