Ошибка при компиляции модуля для ядра Ubuntu

Тема в разделе "WASM.UNIX", создана пользователем isildur1, 17 май 2018.

  1. isildur1

    isildur1 New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2017
    Сообщения:
    4
    Всем привет пытаюсь скомпилировать модуль для ядра Ubuntu, терминал выдает вот такую ошибку
    Код (Text):
    1. root@mao26:/yadro/linux-4.13/project# make
    2. make -C /lib/modules/4.13.0-41-generic/build modules
    3. make[1]: вход в каталог «/usr/src/linux-headers-4.13.0-41-generic»
    4. make[2]: *** Нет правила для сборки цели «arch/x86/entry/syscalls/syscall_32.tbl», требуемой для «arch/x86/include/generated/asm/syscalls_32.h».  Останов.
    5. arch/x86/Makefile:253: ошибка выполнения рецепта для цели «archheaders»
    6. make[1]: *** [archheaders] Ошибка 2
    7. make[1]: выход из каталога «/usr/src/linux-headers-4.13.0-41-generic»
    8. Makefile:4: ошибка выполнения рецепта для цели «all»
    9. make: *** [all] Ошибка 2
    Помогите пожалуйста в чем здесь проблема
    Вот листинг на С и Makefile
    Код (C):
    1. #include <linux/module.h>
    2.  
    3. int init_module(void)
    4.  
    5. {
    6.  printk( KERN_INFO "Hello, Loading" );
    7. }
    8.  
    9. void cleanup_module(void)
    10. {
    11. printk( KERN_INFO "Leaving" );
    12. }
    13. MODULE_LICENSE("GPL");
    ==============================================
    obj-m += my_module.o

    Код (Text):
    1. all:
    2.   make -C /lib/modules/$(shell uname -r)/build modules
    3. clean:
    4.   make -C /lib/modules/$(shell uname -r)/build clean
    5. load: all
    6.   sudo insmod my_module.ko
    7.   sudo dmesg -c
    8. unload:
    9.   sudo rmmod my_module.ko
    10.   sudo dmesg -c
    Буду благодарен за любую помошь
    Спасибо!!!!
     
  2. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.088
    isildur1, а ты исходники ядра установил ?
     
  3. isildur1

    isildur1 New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2017
    Сообщения:
    4
    Да установил вроде бы сначала wget-ом скачал ядро, потом сделал make defconfig, make menuconfig и просто make -j 3
    Потом уже написал эти файлы и добавил в папку с ядром
     
  4. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.088
  5. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.088
    кстати, небольшой советик: установи аглицкий вывод на консоль == тебе легче будет отыскать решение той аль иной проблемы.
     
  6. isildur1

    isildur1 New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2017
    Сообщения:
    4
    Спасибо, буду разбираться
     
  7. isildur1

    isildur1 New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2017
    Сообщения:
    4
    Да уж ребят походу я олень, включил курс от специалиста Администрирование и Безопасность в Линукс первая фраза препода Компиляцию ядра под убунту делать не стоит
     
  8. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.088
    дебя (дебиан) и её форки есмь история грустная == токь у деби и её форков может слететь всё вплоть до консоли.. лучше возьми центик (CentOS) иль сюзю ([open]SuSE).
     
  9. CurryHowardIsomorphism

    CurryHowardIsomorphism Member

    Публикаций:
    0
    Регистрация:
    13 май 2017
    Сообщения:
    97
    Зачем для компиляции модулей исходники ядра? Нужны только заголовочные файлы. Которые ставятся одним пакетом.
     
  10. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.088
    модули разные бывают.. порой и сорцы ядра нужны.
     
  11. CurryHowardIsomorphism

    CurryHowardIsomorphism Member

    Публикаций:
    0
    Регистрация:
    13 май 2017
    Сообщения:
    97
    В ОП-посте приведён код конкретного модуля. Ему нужны?
     
  12. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.088
    для данного модуля вряд ли, но сама задача написания модулей ядра всё же потребует наличия сорцов самого ядра..

    1. более подробная отладочная инфа.
    2. взятое ядро мб без необходимого апи == опять же сорцы лишними не станут.
    +++
    вот акь-то так :)