Ну да) Только вот на arm никакой ubuntu нет) чистое ядро (2.6 вроде), да окружение. FriendlyARM :)Olej писал(а):Вообще довольно странно... сборкой вы занимаетесь в Ubuntu... Ubuntu под ARM?xaker1 писал(а):Использован первый пример из книгиРазработка модулей ядра Linux: Часть 1. Первые шаги.Код: Выделить всё
$ uname -a Linux ubuntu 3.2.0-41-generic-pae #66-Ubuntu SMP Thu Apr 25 03:50:20 UTC 2013 i686 athlon i386 GNU/Linux
Сборка модуля ядра (Ubuntu/Debian)
Модератор: Olej
Re: Сборка модуля ядра
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Сборка модуля ядра
Проверяем...xaker1 писал(а): - ничего не удается.
Система Ubuntu 10.04 (почти то )
Код: Выделить всё
olej@atom:~$ cat /etc/debian_version
squeeze/sid
Код: Выделить всё
olej@atom:~$ u_n_a_m_e -r
2.6.32-45-generic
Код: Выделить всё
olej@atom:~/2013-WORK/tools/export-data$ make
make -C /lib/modules/2.6.32-45-generic/build M=/home/olej/2013-WORK/tools/export-data modules
make[1]: Вход в каталог `/usr/src/linux-headers-2.6.32-45-generic'
CC [M] /home/olej/2013-WORK/tools/export-data/md1.o
/home/olej/2013-WORK/tools/export-data/md1.c:14: warning: ‘md1_local’ defined but not used
CC [M] /home/olej/2013-WORK/tools/export-data/md2.o
CC [M] /home/olej/2013-WORK/tools/export-data/md3.o
Building modules, stage 2.
MODPOST 3 modules
CC /home/olej/2013-WORK/tools/export-data/md1.mod.o
LD [M] /home/olej/2013-WORK/tools/export-data/md1.ko
CC /home/olej/2013-WORK/tools/export-data/md2.mod.o
LD [M] /home/olej/2013-WORK/tools/export-data/md2.ko
CC /home/olej/2013-WORK/tools/export-data/md3.mod.o
LD [M] /home/olej/2013-WORK/tools/export-data/md3.ko
make[1]: Выход из каталога `/usr/src/linux-headers-2.6.32-45-generic'
Код: Выделить всё
olej@atom:~/2013-WORK/tools/export-data$ ls -l *.ko
-rw-r--r-- 1 olej olej 3753 2013-06-29 16:30 md1.ko
-rw-r--r-- 1 olej olej 3060 2013-06-29 16:30 md2.ko
-rw-r--r-- 1 olej olej 2714 2013-06-29 16:30 md3.ko
Код: Выделить всё
olej@atom:~$ ls /lib/modules
2.6.32-33-generic 2.6.32-35-generic 2.6.32-37-generic 2.6.32-41-generic 2.6.32-45-generic
2.6.32-34-generic 2.6.32-36-generic 2.6.32-39-generic 2.6.32-42-generic
Код: Выделить всё
olej@atom:~$ dpkg -l | grep linux-headers | wc -l
19
Так что ищите что у вас не доустановлено из пакетов.
Re: Сборка модуля ядра
Установлено все, обновления практически не накатывались.Olej писал(а):Так что ищите что у вас не доустановлено из пакетов.
Модуль удалось собрать, после изменения Makefile, вручную прописали obj-m.
Да и с CURRENT был косяк, в KDIR попадал лишний проблел, перед /build, поэтому тоже прописано вручную
Код: Выделить всё
xaker1@ubuntu:~/pulse_counter/module$ cat Makefile
#CURRENT = $(shell uname -r)
CURRENT = 3.2.0-41-generic-pae
KDIR = /lib/modules/$(CURRENT)/build
PWD = $(shell pwd)
#TARGET1 = md1
#TARGET2 = md2
#TARGET3 = md3
obj-m := md1.o md2.o
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules
clean:
@rm -f *.o .*.cmd .*.flags *.mod.c *.order
@rm -f .*.*.cmd *~ *.*~ TODO.*
@rm -fR .tmp*
@rm -rf .tmp_versions
disclean: clean
@rm *.ko *.symvers
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Сборка модуля ядра
Покажите сюда вывод в терминале команды "uname -r" в вашей системе.xaker1 писал(а): Да и с CURRENT был косяк, ...Код: Выделить всё
#CURRENT = $(shell uname -r) CURRENT = 3.2.0-41-generic-pae
Re: Сборка модуля ядра
Olej писал(а):Покажите сюда вывод в терминале команды "uname -r" в вашей системе.xaker1 писал(а): Да и с CURRENT был косяк, ...Код: Выделить всё
#CURRENT = $(shell uname -r) CURRENT = 3.2.0-41-generic-pae
.xaker1@ubuntu:~$ uname -r
3.2.0-41-generic-pae
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Сборка модуля ядра
Тогда мне совершенно непонятно почему у вас эта команда не срабатывает в Makefilexaker1 писал(а):Olej писал(а):Покажите сюда вывод в терминале команды "uname -r" в вашей системе.xaker1 писал(а): Да и с CURRENT был косяк, ...Код: Выделить всё
#CURRENT = $(shell uname -r) CURRENT = 3.2.0-41-generic-pae
.xaker1@ubuntu:~$ uname -r
3.2.0-41-generic-pae
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Сборка модуля ядра (Ubuntu/Debian)
Сейчас снова на это сам напоролся ... поэтому повторяю (для себя и других непонятливых ):Olej писал(а):Проверяем...xaker1 писал(а): - ничего не удается.
...
Так что ищите что у вас не доустановлено из пакетов.
1. Система Debian ... - Экспериментальная сборка дистрибутива Debian Wheezy + MATE
2. Естественно, при попытке сборки модуля:olej@notebook:/etc$ cat /etc/debian_version
7.2
Код: Выделить всё
olej@notebook:~/2013_WORK/OWN.BOOKS/BOOK.Kernel.org/Kexamples.BOOK/first_hello$ make
make -C /lib/modules/3.2.0-4-486/build M=/home/olej/2013_WORK/OWN.BOOKS/BOOK.Kernel.org/Kexamples.BOOK/first_hello modules
make: *** /lib/modules/3.2.0-4-486/build: Нет такого файла или каталога. Останов.
make: *** [default] Ошибка 2
Код: Выделить всё
olej@notebook:/lib/modules/3.2.0-4-486/kernel$ pwd
/lib/modules/3.2.0-4-486/kernel
olej@notebook:/lib/modules/3.2.0-4-486/kernel$ ls -l
итого 36
drwxr-xr-x 3 root root 4096 Окт 13 19:38 arch
drwxr-xr-x 3 root root 12288 Окт 13 19:50 crypto
drwxr-xr-x 66 root root 4096 Окт 13 19:38 drivers
drwxr-xr-x 58 root root 4096 Окт 13 19:50 fs
drwxr-xr-x 5 root root 4096 Окт 13 19:50 lib
drwxr-xr-x 41 root root 4096 Окт 13 19:38 net
drwxr-xr-x 11 root root 4096 Окт 13 19:50 sound
3.
Код: Выделить всё
olej@notebook:/lib/modules$ aptitude show linux-headers
Нет в наличии или подходящей версии для linux-headers
Пакет: linux-headers
Состояние: не реальный пакет
Предоставляется: linux-headers-3.2.0-4-486, linux-headers-3.2.0-4-686-pae, linux-headers-3.2.0-4-amd64, linux-headers-3.2.0-4-rt-686-pae,
linux-headers-486, linux-headers-686-pae, linux-headers-amd64, linux-headers-rt-686-pae
Код: Выделить всё
olej@notebook:/lib/modules/3.2.0-4-486$ sudo aptitude install linux-headers-3.2.0-4-486
Следующие НОВЫЕ пакеты будут установлены:
linux-headers-3.2.0-4-486 linux-headers-3.2.0-4-common{a} linux-kbuild-3.2{a}
0 пакетов обновлено, 3 установлено новых, 0 пакетов отмечено для удаления, и 5 пакетов не обновлено.
Необходимо получить 4.367 kB архивов. После распаковки 27,4 MB будет занято.
Хотите продолжить? [Y/n/?] y
Получить: 1 http://mirror.yandex.ru/debian/ wheezy/main linux-headers-3.2.0-4-common i386 3.2.51-1 [3.561 kB]
Получить: 2 http://mirror.yandex.ru/debian/ wheezy/main linux-kbuild-3.2 i386 3.2.17-1 [233 kB]
Получить: 3 http://mirror.yandex.ru/debian/ wheezy/main linux-headers-3.2.0-4-486 i386 3.2.51-1 [573 kB]
Получено 4.367 kБ в 9с (467 kБ/с)
Выбор ранее не выбранного пакета linux-headers-3.2.0-4-common.
(Чтение базы данных … на данный момент установлено 209655 файлов и каталогов.)
Распаковывается пакет linux-headers-3.2.0-4-common (из файла …/linux-headers-3.2.0-4-common_3.2.51-1_i386.deb) …
Выбор ранее не выбранного пакета linux-kbuild-3.2.
Распаковывается пакет linux-kbuild-3.2 (из файла …/linux-kbuild-3.2_3.2.17-1_i386.deb) …
Выбор ранее не выбранного пакета linux-headers-3.2.0-4-486.
Распаковывается пакет linux-headers-3.2.0-4-486 (из файла …/linux-headers-3.2.0-4-486_3.2.51-1_i386.deb) …
Настраивается пакет linux-headers-3.2.0-4-common (3.2.51-1) …
Настраивается пакет linux-kbuild-3.2 (3.2.17-1) …
Настраивается пакет linux-headers-3.2.0-4-486 (3.2.51-1) …
Для этих целей этого достаточно ... не нужно никаких, массово описываемых по Интернет, специфических Debian/Ubuntu-задрочек, типа module-assistant, kernel-package и пр.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя