Arm с внешней шиной данных?

Тема в разделе "Флудилка", создана пользователем Igor68, 15 апр 2021.

  1. Unixon

    Unixon Оракул Модератор

  2. Igor68

    Igor68 Гуру

  3. Un_ka

    Un_ka Гуру

  4. Igor68

    Igor68 Гуру

    ...курю!!!!!!!!!
     
  5. Igor68

    Igor68 Гуру

    вот фрагмент выхлопа консоли 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
    Сам себе говорю: "С почином!"
    Жарко блин!
     
  6. Un_ka

    Un_ka Гуру

    А вы резервный образ где-нибудь сохраните.
     
  7. Igor68

    Igor68 Гуру

    Я же пояснил, что при включении сначала монтируется в /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)
     
  8. Igor68

    Igor68 Гуру

    Простите, может я не понял. Резервный образ - вы имели ввиду что он Вам нужен? Как такового у меня его не было на носителе. Всё, что есть прибыло на плате из Китая прямо на впаянной флеш памяти. Как говорил с помощью JTAG у меня пока не вышло иметь доступ к адресному пространству самого контроллера. Надо либо SEGGER софт сконфигурировать, либо OpenOCD настроить и применить для чтения. Возможно есть вариант с помощью загрузчика зашитого в контроллер выгрузить образ... он активен 3 секунды при запуске (если в это время нажать клавишу, то будет вход в его меню команд).
     
  9. Un_ka

    Un_ka Гуру

    Linux MOXA?
     
  10. Igor68

    Igor68 Гуру

    Нет, какая-то сборка. Я по uname всё ранее выложил.
     
  11. Un_ka

    Un_ka Гуру

    Проприетарная?
     
  12. Igor68

    Igor68 Гуру

    В приложенных ссылках на товар есть некоторые описания, но продавец ничего другого не поставил. Только плата с залитым в неё содержимым. На ветке есть ссылки по сборке.
     
  13. Igor68

    Igor68 Гуру

    Вот доступ к 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 настроил.
     
  14. Igor68

    Igor68 Гуру

    Доброго времени суток!
    Из описанного на плате есть 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. Тут всё нормально сработало и флешу можно примонтировать и т.п. всё работает - испытано. Модули никакие не подгружал - всё это в ядре.

    далее...
     
    Последнее редактирование: 8 июл 2021
  15. Igor68

    Igor68 Гуру

    ....продолжение....
    Но вот втыкаю блютуз адаптер(тип не помню, но 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
    далее...
     
    Последнее редактирование: 8 июл 2021
  16. Igor68

    Igor68 Гуру

    тут начало:
    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

    ...если не сложно ткните носом... я конечно гуглил, но то ли не осведомлён, то ли не понял. В этом я практически ноль, хоть и "курю" упорно. Эта тема важна!

    Заранее спасибо!
     
    Последнее редактирование: 8 июл 2021
  17. Igor68

    Igor68 Гуру

    Вот:
    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-карте и примонтированиы вместо тех, что на ПЗУ.

    Курю.....ууууууууууууу...
     
    Последнее редактирование: 22 июл 2021
  18. Igor68

    Igor68 Гуру

    Доброго времени суток!
    Пытаюсь научиться собирать подгружаемые модули ядра (пои познания в этом нулевые)... Читал, курил, ну и пробовал:
    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 '
     
    Тут я два раза загружал непригодный модуль.

    Спрашиваете: "А почему не пересобрать ядро и включить в него все, что надо?"
    Отвечаю: "Подгружаемые модули можно как загрузить, так и выгрузить! А необходимость в их наличии может быть разной."

    Может кто-то имеет опыт сборки модулей для устройств?
    Может надо и ядро исходно собрать, а на применять только исходники? Иди ещё как?
    Спасибо!
     
    Последнее редактирование: 1 авг 2021
  19. Igor68

    Igor68 Гуру

    Вот очередная попытка
    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
     
    Выхлоп урезал - не влезает.
     
  20. Un_ka

    Un_ka Гуру

    Вроде @parovoZZ чем-то подобным занимался.