А это разве не оно? https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain
Пока не понятно... читаю. Почему-то они на кросскомпиляцию намекают... для windows в частности... курю!
вот фрагмент выхлопа консоли TTY платы: Код (Text): [root@My_AT91SAM9263_board: bin]# netstat -nltpa Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 432/telnetd tcp 0 0 192.168.7.51:23 192.168.7.201:34294 ESTABLISHED 432/telnetd tcp 0 0 192.168.7.51:23 192.168.7.201:34292 ESTABLISHED 432/telnetd netstat: /proc/net/tcp6: No such file or directory telnet поднаял, хоть и криво... ведь курю только. Пришлось подсмотреть на MOXA UC-7112-Lx-plus и некоторые файлы срисовть на плату через ftpget. Сразу оговорюсь, файлы что на впаянной флешке не трогал... да и ничего не трогал практически и после пробы сразу восстановил. Примонтировал SD карту, на нее скопировал ряд директорий и их примонтровал, не все правда пока: Код (Text): [root@My_AT91SAM9263_board: bin]# mount rootfs on / type rootfs (rw) /dev/root on / type jffs2 (rw) /proc on /proc type proc (rw) tmpfs on /tmp type tmpfs (rw) sysfs on /sys type sysfs (rw) mdev on /dev type tmpfs (rw) devpts on /dev/pts type devpts (rw,mode=600) /dev/sda2 on /mnt/part2 type ext2 (rw,errors=continue) /dev/sda2 on /bin type ext2 (rw,errors=continue) /dev/sda2 on /lib type ext2 (rw,errors=continue) /dev/sda2 on /etc type ext2 (rw,errors=continue) [root@My_AT91SAM9263_board: bin]# Сначала SD вставлял в плату(там есть), но заметил что с ней очень греется. Взял карт-ридер и впихнул в USB платы... работает так же но не греется. Вроде задел есть, в целях отладки родные файлы не меняю, а только те что на SD Сам себе говорю: "С почином!" Жарко блин!
Я же пояснил, что при включении сначала монтируется в /mnt/part2 раздел /dev/sda1(ext2), а уж потом из /mnt/part2/bin в /bin, .... и так далее - одним словом все. Только в /etc/init.d/rcS добавлены строчки, одна для монтирования "mount /dev/sda2 /mnt/part1" и другая которая запускает файл /mnt/part2/debug/startdb.sh, который монтирует /bin, /lib и прочее в корень и запускает уже стандартно все из примонтироапнного /etc поднимает telnet и всё, что получилось. Вот только прошивку из AT91SAM9260 с помощью JTAG (в SEGGER) пока не сохранил - этот самый начальный загрузчик. Сейчас поднимаются: - telnetd, - ftpd (правда через /etc/init.d/inetd) - httpd (но пока в ручную и без php - хочу apache, что на UC7112LX-plus) на выходные думаю перетащить из MOXA (мною положено): https://moxa.ru/forum/index.php?/topic/69085-apachephp-bashcurl-и-доступ-к-серверу-mysql-костыли/ а именно клиента mysql, который там Потом надо будет что-то с SSH сделать, имею ввиду сервер sshd... потому как клиент SSH нормально работает. Ещё с SU надо решить проблему - из созданного пользователя по telnet не могу по SU войти в root, хотя как root спокойно вхожу по telnet. Вообще-то без SSH очень грустно. Буду курить и брать что-то из UC7112LX-plus, которая под рукой. Пока про компилятор на устройстве придётся забыть. В дальнейшем надо будет подумать про IO, I2C, SPI и прочее которые имеются на AT91SAM9260... но модули пока делать не умею (загружаемые модули по insmod)
Простите, может я не понял. Резервный образ - вы имели ввиду что он Вам нужен? Как такового у меня его не было на носителе. Всё, что есть прибыло на плате из Китая прямо на впаянной флеш памяти. Как говорил с помощью JTAG у меня пока не вышло иметь доступ к адресному пространству самого контроллера. Надо либо SEGGER софт сконфигурировать, либо OpenOCD настроить и применить для чтения. Возможно есть вариант с помощью загрузчика зашитого в контроллер выгрузить образ... он активен 3 секунды при запуске (если в это время нажать клавишу, то будет вход в его меню команд).
В приложенных ссылках на товар есть некоторые описания, но продавец ничего другого не поставил. Только плата с залитым в неё содержимым. На ветке есть ссылки по сборке.
Вот доступ к mysql серверу получил прямо с этой платы. Пользовался упомянутой ссылкой. Вот только в инсталяцию "setup.sh" и соответственно в папку bin не указал libssl.so.1.0.0; libcrypto.so.1.0.0; libstdc++.so.5. Эти файлы копировал прямо из устройства и вот проверка на рабочей базе: Код (Text): # mysql -u abp -pabp -h 192.168.0.234 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 87381 to server version: 5.5.5-10.1.48-MariaDB-0+deb 9u2 No entry for terminal type "vt102"; using dumb terminal settings. Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show databases; +--------------------+ | Database | +--------------------+ | abp_db | | catserver_db | | information_schema | | mychat | +--------------------+ 4 rows in set (0.00 sec) mysql> Пути так же не исправил, потому и клиенты НЕ РУТ не могут это запустить. Зато SU настроил.
Доброго времени суток! Из описанного на плате есть USB... и возникает вопрос (ну конечно по ходу описания). Вот ls /dev: Код (Text): audio mmcblk0p1 ptyp1 ram13 tty1 tty28 tty46 tty7 ttypa console mmcblk0p2 ptyp2 ram14 tty10 tty29 tty47 tty8 ttypb controlC0 mmcblk0p3 ptyp3 ram15 tty11 tty3 tty48 tty9 ttypc cpu_dma_latency mmcblk0p4 ptyp4 ram2 tty12 tty30 tty49 ttyS0 ttypd dsp mtd0 ptyp5 ram3 tty13 tty31 tty5 ttyS1 ttype full mtd0ro ptyp6 ram4 tty14 tty32 tty50 ttyS2 ttypf kmem mtd1 ptyp7 ram5 tty15 tty33 tty51 ttyS3 urandom kmsg mtd1ro ptyp8 ram6 tty16 tty34 tty52 ttyS4 usbdev1.1_ep00 loop0 mtd2 ptyp9 ram7 tty17 tty35 tty53 ttyS5 usbdev1.1_ep81 loop1 mtd2ro ptypa ram8 tty18 tty36 tty54 ttyS6 vcs loop2 mtdblock0 ptypb ram9 tty19 tty37 tty55 ttyp0 vcsa loop3 mtdblock1 ptypc random tty2 tty38 tty56 ttyp1 zero loop4 mtdblock2 ptypd root tty20 tty39 tty57 ttyp2 loop5 network_latency ptype rtc0 tty21 tty4 tty58 ttyp3 loop6 network_throughput ptypf seq tty22 tty40 tty59 ttyp4 loop7 null ram0 sequencer tty23 tty41 tty6 ttyp5 mem pcmC0D0p ram1 sequencer2 tty24 tty42 tty60 ttyp6 mice ptmx ram10 timer tty25 tty43 tty61 ttyp7 mixer pts ram11 tty tty26 tty44 tty62 ttyp8 mmcblk0 ptyp0 ram12 tty0 tty27 tty45 tty63 ttyp9 Пока что ничего не подключено к USB и: Код (Text): crw-rw---- 1 root root 253, 1 Jan 1 00:00 usbdev1.1_ep00 crw-rw---- 1 root root 253, 0 Jan 1 00:00 usbdev1.1_ep81 Понятно что это конечные точки самой платы (девайса на ней). А вот воткнули флешку: Код (Text): 1-1 mmcblk0 ptyp0 ram12 sequencer2 tty24 tty42 tty60 ttyp6 audio mmcblk0p1 ptyp1 ram13 timer tty25 tty43 tty61 ttyp7 console mmcblk0p2 ptyp2 ram14 tty tty26 tty44 tty62 ttyp8 controlC0 mmcblk0p3 ptyp3 ram15 tty0 tty27 tty45 tty63 ttyp9 cpu_dma_latency mmcblk0p4 ptyp4 ram2 tty1 tty28 tty46 tty7 ttypa dsp mtd0 ptyp5 ram3 tty10 tty29 tty47 tty8 ttypb full mtd0ro ptyp6 ram4 tty11 tty3 tty48 tty9 ttypc kmem mtd1 ptyp7 ram5 tty12 tty30 tty49 ttyS0 ttypd kmsg mtd1ro ptyp8 ram6 tty13 tty31 tty5 ttyS1 ttype loop0 mtd2 ptyp9 ram7 tty14 tty32 tty50 ttyS2 ttypf loop1 mtd2ro ptypa ram8 tty15 tty33 tty51 ttyS3 urandom loop2 mtdblock0 ptypb ram9 tty16 tty34 tty52 ttyS4 usbdev1.1_ep00 loop3 mtdblock1 ptypc random tty17 tty35 tty53 ttyS5 usbdev1.1_ep81 loop4 mtdblock2 ptypd root tty18 tty36 tty54 ttyS6 usbdev1.2_ep00 loop5 network_latency ptype rtc0 tty19 tty37 tty55 ttyp0 usbdev1.2_ep02 loop6 network_throughput ptypf sda tty2 tty38 tty56 ttyp1 usbdev1.2_ep81 loop7 null ram0 sda1 tty20 tty39 tty57 ttyp2 vcs mem pcmC0D0p ram1 sda2 tty21 tty4 tty58 ttyp3 vcsa mice ptmx ram10 seq tty22 tty40 tty59 ttyp4 zero mixer pts ram11 sequencer tty23 tty41 tty6 ttyp5 появились: Код (Text): crw-rw---- 1 root root 189, 1 Jan 1 00:18 1-1 brw-rw---- 1 root root 8, 0 Jan 1 00:19 sda brw-rw---- 1 root root 8, 1 Jan 1 00:19 sda1 brw-rw---- 1 root root 8, 2 Jan 1 00:19 sda2 crw-rw---- 1 root root 253, 4 Jan 1 00:18 usbdev1.2_ep00 crw-rw---- 1 root root 253, 3 Jan 1 00:18 usbdev1.2_ep02 crw-rw---- 1 root root 253, 2 Jan 1 00:18 usbdev1.2_ep81 устройство 1-1, флешка вместе с разделами sda, sda1, sda2 и три конечные токи USB. Тут всё нормально сработало и флешу можно примонтировать и т.п. всё работает - испытано. Модули никакие не подгружал - всё это в ядре. далее...
....продолжение.... Но вот втыкаю блютуз адаптер(тип не помню, но Debian подхватывает): Код (Text): 1-1 mmcblk0p1 ptyp2 ram15 tty12 tty31 tty50 ttyS3 usbdev1.1_ep00 audio mmcblk0p2 ptyp3 ram2 tty13 tty32 tty51 ttyS4 usbdev1.1_ep81 console mmcblk0p3 ptyp4 ram3 tty14 tty33 tty52 ttyS5 usbdev1.3_ep00 controlC0 mmcblk0p4 ptyp5 ram4 tty15 tty34 tty53 ttyS6 usbdev1.3_ep02 cpu_dma_latency mtd0 ptyp6 ram5 tty16 tty35 tty54 ttyp0 usbdev1.3_ep03 dsp mtd0ro ptyp7 ram6 tty17 tty36 tty55 ttyp1 usbdev1.3_ep04 full mtd1 ptyp8 ram7 tty18 tty37 tty56 ttyp2 usbdev1.3_ep81 kmem mtd1ro ptyp9 ram8 tty19 tty38 tty57 ttyp3 usbdev1.3_ep82 kmsg mtd2 ptypa ram9 tty2 tty39 tty58 ttyp4 usbdev1.3_ep83 loop0 mtd2ro ptypb random tty20 tty4 tty59 ttyp5 usbdev1.3_ep84 loop1 mtdblock0 ptypc root tty21 tty40 tty6 ttyp6 vcs loop2 mtdblock1 ptypd rtc0 tty22 tty41 tty60 ttyp7 vcsa loop3 mtdblock2 ptype seq tty23 tty42 tty61 ttyp8 zero loop4 network_latency ptypf sequencer tty24 tty43 tty62 ttyp9 loop5 network_throughput ram0 sequencer2 tty25 tty44 tty63 ttypa loop6 null ram1 timer tty26 tty45 tty7 ttypb loop7 pcmC0D0p ram10 tty tty27 tty46 tty8 ttypc mem ptmx ram11 tty0 tty28 tty47 tty9 ttypd mice pts ram12 tty1 tty29 tty48 ttyS0 ttype mixer ptyp0 ram13 tty10 tty3 tty49 ttyS1 ttypf mmcblk0 ptyp1 ram14 tty11 tty30 tty5 ttyS2 urandom далее...
тут начало: http://forum.amperka.ru/threads/arm-с-внешней-шиной-данных.22085/page-3#post-288127 ...окончание И сразу: Код (Text): crw-rw---- 1 root root 189, 2 Jan 1 00:27 1-1 crw-rw---- 1 root root 253, 9 Jan 1 00:27 usbdev1.3_ep00 crw-rw---- 1 root root 253, 4 Jan 1 00:27 usbdev1.3_ep02 crw-rw---- 1 root root 253, 6 Jan 1 00:27 usbdev1.3_ep03 crw-rw---- 1 root root 253, 8 Jan 1 00:27 usbdev1.3_ep04 crw-rw---- 1 root root 253, 2 Jan 1 00:27 usbdev1.3_ep81 crw-rw---- 1 root root 253, 3 Jan 1 00:27 usbdev1.3_ep82 crw-rw---- 1 root root 253, 5 Jan 1 00:27 usbdev1.3_ep83 crw-rw---- 1 root root 253, 7 Jan 1 00:27 usbdev1.3_ep84 кстати не сказал что устройство 1-1 читается редактором (поставил mc с каким-то редактором от MOXA) - вывод в HEX: Код (Text): 00000 12 01 00 02 │ E0 01 01 40 │ 12 0A 01 00 │ 00 01 01 02 │ 00 01 09 02 │ D8 00 04 01 │ 00 A0 32 09 │ 04 00 00 03 │ E0 01 01 00 │ 07 05 81 03 ....�..@............�....�2.....�.....�. 00028 10 00 01 07 │ 05 82 02 40 │ 00 01 07 05 │ 02 02 40 00 │ 01 09 04 01 │ 00 02 E0 01 │ 01 00 07 05 │ 83 01 00 00 │ 01 07 05 03 │ 01 00 00 01 .....�.@......@.......�.....�........... 00050 09 04 01 01 │ 02 E0 01 01 │ 00 07 05 83 │ 01 09 00 01 │ 07 05 03 01 │ 09 00 01 09 │ 04 01 02 02 │ E0 01 01 00 │ 07 05 83 01 │ 11 00 01 07 .....�.....�................�.....�..... 00078 05 03 01 11 │ 00 01 09 04 │ 01 03 02 E0 │ 01 01 00 07 │ 05 83 01 19 │ 00 01 07 05 │ 03 01 19 00 │ 01 09 04 01 │ 04 02 E0 01 │ 01 00 07 05 ...........�.....�................�..... 000A0 83 01 21 00 │ 01 07 05 03 │ 01 21 00 01 │ 09 04 01 05 │ 02 E0 01 01 │ 00 07 05 83 │ 01 31 00 01 │ 07 05 03 01 │ 31 00 01 09 │ 04 02 00 02 �.!......!.......�.....�.1......1....... 000C8 FF FF FF 00 │ 07 05 84 02 │ 20 00 01 07 │ 05 04 02 20 │ 00 01 09 04 │ 03 00 00 FE │ 01 00 00 07 │ 21 07 88 13 │ 40 00 ���...�. ...... .......�....!.�.@. Это устройство (/dev/1-1) читается что бы я не воткнул, понятное дело содержимое разное. Это не структура описания устройства USB (у меня не на слуху)? Есть ли возможность при наличии такого попробовать сделать модуль... загружаемый модуль по insmod? ... Я это к тому, что можно не применять ESP, а использовать стандартные устройства USB-BLUETOOTH и USB-WIFI ...если не сложно ткните носом... я конечно гуглил, но то ли не осведомлён, то ли не понял. В этом я практически ноль, хоть и "курю" упорно. Эта тема важна! Заранее спасибо!
Вот: https://uclibc.org/downloads/binaries/0.9.30.1/ наткнулся и сейчас курю. Испытал запуск: Код (Text): -bash-3.2$ make gcc -lpthread main.o -o test rawgcc: /bin/../gcc/lib/crtbegin.o: No such file or directory rawgcc: /bin/../gcc/lib/crtend.o: No such file or directory make: *** [test] Error 1 -bash-3.2$ Испытал прямо на самой плате. кроме GCC есть и MAKE. Не настроил ни систему, да и ничего вовсе. Одно радует - есть запускаемые на устройстве бинутилиты. Для платы выбрал: https://uclibc.org/downloads/binaries/0.9.30.1/mini-native-armv5l.tar.bz2 Как раз для этого процессора (at91sam9260). бинутилиты запускаются на плате У меня все основные директории (/bin, /sbin, /lib, /usr и др) находятся на SD-карте и примонтированиы вместо тех, что на ПЗУ. Курю.....ууууууууууууу...
Доброго времени суток! Пытаюсь научиться собирать подгружаемые модули ядра (пои познания в этом нулевые)... Читал, курил, ну и пробовал: https://habr.com/ru/post/343828/ тут вроде по инструкции и понятно - но это для сборки на машине и для самой машины (я делал на виртуальной машине Debian). Мне надо кросс-компиляторорм для платы... собрать хотя бы такой же пробный модуль. Исходники linux 2.6.27 в наличии на той виртуальной машине (именно для той сборки на плате). Курил это: http://rus-linux.net/MyLDP/BOOKS/drivers/linux-device-drivers-11.html http://www.opennet.ru/docs/RUS/lkmpg/ https://ru.stackoverflow.com/questions/782636/Кросскомпиляция-модуля-helloworld http://dmilvdv.narod.ru/AT91SAM9260/linux.html Но что-то не понятно с кросскомпиляцией. Может что не так делаю. Вот шаблон: Код (C++): #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> MODULE_LICENSE("GPL"); MODULE_AUTHOR("Robert W. Oliver II"); MODULE_DESCRIPTION("A simple example Linux module."); MODULE_VERSION("0.01"); static int __init lkm_example_init(void) { printk(KERN_INFO "Hello, World!\n"); return 0; } static void __exit lkm_example_exit(void) { printk(KERN_INFO "Goodbye, World!\n"); } module_init(lkm_example_init); module_exit(lkm_example_exit); Но это просто шаблон на Си. Но вот набросок Makefile (не работает конечно): Код (Bash): ###### #obj-m += lkm_example.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 obj-m += lkm_example.o all: make ARCH=arm CROSS_COMPILE=arm-linux- -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make ARCH=arm CROSS_COMPILE=arm-linux- -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean Это конечно набросок... и он не первый конечно. Вот пробуем загрузить посторонний(чужой модуль... а умеет ли ядро вообще загружать модули?): Код (Bash): bash-3.2# insmod /lib/modules/2.6.27/kernel/tun.ko insmod: can't insert '/lib/modules/2.6.27/kernel/tun.ko': invalid module format bash-3.2# Выходит, что умеет. Вот выхлоп dmesg: Код (Bash): tun: version magic '2.6.9-uc0 ARMv4 gcc-3.3' should be '2.6.27 mod_unload ARMv5 ' tun: version magic '2.6.9-uc0 ARMv4 gcc-3.3' should be '2.6.27 mod_unload ARMv5 ' Тут я два раза загружал непригодный модуль. Спрашиваете: "А почему не пересобрать ядро и включить в него все, что надо?" Отвечаю: "Подгружаемые модули можно как загрузить, так и выгрузить! А необходимость в их наличии может быть разной." Может кто-то имеет опыт сборки модулей для устройств? Может надо и ядро исходно собрать, а на применять только исходники? Иди ещё как? Спасибо!
Вот очередная попытка Makefile: Код (Bash): CC := arm-linux-gcc MODCFLAGS := -Wall -DMODULE -D__KERNEL__ -DLINUX -v INC := -I/usr/src/linux-2.6.27.10/include/ lkm_example.o: lkm_example.c #/usr/src/linux-2.6.27.10/include/version.h $(CC) $(MODCFLAGS) $(INC) -c lkm_example.c и выхлоп копиляции: Код (Bash): igor@DebTool:~/coding/My_AT91SAM9260_board/testmod$ make arm-linux-gcc -Wall -DMODULE -D__KERNEL__ -DLINUX -v -I/usr/src/linux-2.6.27.10/include/ -c lkm_example.c Reading specs from /usr/local/arm-linux/bin/../lib/gcc-lib/arm-linux/3.3.2/specs Configured with: ../configure --target=arm-linux --disable-shared --with-headers=/home/gerg/new-wave.xscale/linux-2.4.x/include --with-gnu-as --with-gnu-ld --enable-multilib Thread model: posix gcc version 3.3.2 /usr/local/arm-linux/bin/../lib/gcc-lib/arm-linux/3.3.2/cc1 -quiet -v -I/usr/src/linux-2.6.27.10/include/ -iprefix /usr/local/arm-linux/bin/../lib/gcc-lib/arm-linux/3.3.2/ -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=2 -D__ARM_ARCH_4T__ -DMODULE -D__KERNEL__ -DLINUX lkm_example.c -quiet -dumpbase lkm_example.c -auxbase lkm_example -Wall -version -o /tmp/ccgQSs2C.s GNU C version 3.3.2 (arm-linux) compiled by GNU C version 3.2.2 20030222 (Red Hat Linux 3.2.2-5). GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128621 ignoring nonexistent directory "NONE/include" ignoring nonexistent directory "/usr/local/lib/gcc-lib/arm-linux/3.3.2/include" ignoring nonexistent directory "/usr/local/arm-linux/sys-include" ignoring duplicate directory "/usr/local/arm-linux/include" #include "..." search starts here: #include <...> search starts here: /usr/src/linux-2.6.27.10/include /usr/local/arm-linux/lib/gcc-lib/arm-linux/3.3.2/include /usr/local/arm-linux/arm-linux/sys-include /usr/local/arm-linux/arm-linux/include End of search list. In file included from /usr/src/linux-2.6.27.10/include/linux/prefetch.h:13, from /usr/src/linux-2.6.27.10/include/linux/list.h:6, from /usr/src/linux-2.6.27.10/include/linux/module.h:9, from lkm_example.c:4: /usr/src/linux-2.6.27.10/include/linux/types.h:16: error: conflicting types for `__kernel_dev_t' /usr/local/arm-linux/arm-linux/sys-include/asm/posix_types.h:22: error: previous declaration of `__kernel_dev_t' /usr/src/linux-2.6.27.10/include/linux/types.h:28: error: parse error before "timer_t" .... /usr/src/linux-2.6.27.10/include/linux/seqlock.h:76: error: invalid type argument of `->' In file included from /usr/src/linux-2.6.27.10/include/linux/mmzone.h:16, from /usr/src/linux-2.6.27.10/include/linux/gfp.h:4, from /usr/src/linux-2.6.27.10/include/linux/kmod.h:22, from /usr/src/linux-2.6.27.10/include/linux/module.h:13, from lkm_example.c:4: /usr/src/linux-2.6.27.10/include/linux/nodemask.h: In function `__first_node': /usr/src/linux-2.6.27.10/include/linux/nodemask.h:233: warning: implicit declaration of function `find_first_bit' .... /usr/src/linux-2.6.27.10/include/linux/nodemask.h:257: warning: passing arg 1 of `_find_first_zero_bit_le' discards qualifiers from pointer target type In file included from /usr/src/linux-2.6.27.10/include/linux/gfp.h:4, from /usr/src/linux-2.6.27.10/include/linux/kmod.h:22, from /usr/src/linux-2.6.27.10/include/linux/module.h:13, from lkm_example.c:4: /usr/src/linux-2.6.27.10/include/linux/mmzone.h:18:26: linux/bounds.h: Нет такого файла или каталога In file included from /usr/src/linux-2.6.27.10/include/linux/gfp.h:4, from /usr/src/linux-2.6.27.10/include/linux/kmod.h:22, from /usr/src/linux-2.6.27.10/include/linux/module.h:13, from lkm_example.c:4: /usr/src/linux-2.6.27.10/include/linux/mmzone.h: At top level: /usr/src/linux-2.6.27.10/include/linux/mmzone.h:218: error: `MAX_NR_ZONES' undeclared here (not in a function) /usr/src/linux-2.6.27.10/include/linux/mmzone.h:262: error: parse error before "atomic_long_t" /usr/src/linux-2.6.27.10/include/linux/mmzone.h:262: warning: no semicolon at end of struct or union /usr/src/linux-2.6.27.10/include/linux/mmzone.h:335: error: parse error before '}' token .... /usr/src/linux-2.6.27.10/include/linux/mmzone.h: In function `zone_is_oom_locked': /usr/src/linux-2.6.27.10/include/linux/mmzone.h:370: error: dereferencing pointer to incomplete type /usr/src/linux-2.6.27.10/include/linux/mmzone.h: At top level: /usr/src/linux-2.6.27.10/include/linux/mmzone.h:492: error: `MAX_NR_ZONES' undeclared here (not in a function) /usr/src/linux-2.6.27.10/include/linux/mmzone.h:524: error: `MAX_NR_ZONES' undeclared here (not in a function) In file ..... from lkm_example.c:4: /usr/src/linux-2.6.27.10/include/linux/gfp.h: In function `allocflags_to_migratetype': /usr/src/linux-2.6.27.10/include/linux/gfp.h:110: warning: implicit declaration of function `WARN_ON' /usr/src/linux-2.6.27.10/include/linux/gfp.h: In function `alloc_pages_node': /usr/src/linux-2.6.27.10/include/linux/gfp.h:203: warning: implicit declaration of function `cpu_to_node' In file included from lkm_example.c:4: /usr/src/linux-2.6.27.10/include/linux/module.h:19:23: asm/local.h: Нет такого файла или каталога In file included from lkm_example.c:4: /usr/src/linux-2.6.27.10/include/linux/module.h: At top level: .... /usr/src/linux-2.6.27.10/include/linux/module.h:401: error: invalid type argument of `->' /usr/src/linux-2.6.27.10/include/linux/module.h:406: error: invalid type argument of `->' /usr/src/linux-2.6.27.10/include/linux/module.h:406: error: `TIF_NEED_RESCHED' undeclared (first use in this function) /usr/src/linux-2.6.27.10/include/linux/module.h:406: warning: passing arg 1 of `test_ti_thread_flag' makes pointer from integer without a cast Makefile:14: ошибка выполнения рецепта для цели «lkm_example.o» make: *** [lkm_example.o] Ошибка 1 Выхлоп урезал - не влезает.