Руководство пользователя Orange Pi Zero 3

  Обзор   |  Запуск   |    Linux     |  Сборка Linux   |  Android   |  Сборка Android   |

  RU            EN  

Глава 3. Использование Linux: системы Debian/Ubuntu Server и настольная Xfce
Страница:   25    26    27    28    29    30    31    32    33    34    35    36    37    38    39    40    41    42    43    44    45    46    47    48    49    50    51    52    53    54    55    56    57    58    59    60    61    62    63    64    65    66    67    68    69    70    71    72    73    74    75    76    77    78    79    80    81    82    83    84    85    86    87    88    89    90    91    92    93    94    95    96    97    98    99    100    101    102    103    104    105    106    107    108    109    110    111    112    113    114    115    116    117    118    119    120    121    122  


3.32. Как установить заголовочный файл ядра
Система Debian 11 с ядром Linux6.1 сообщит об ошибке GCC при компиляции модуля ядра. Поэтому, если вы хотите скомпилировать модуль ядра, используйте Debian12 или Ubuntu22.04.

  • 1) Образ Linux, выпущенный OPi, по умолчанию поставляется с пакетом deb файла заголовка ядра, а место хранения — /opt/
    orangepi@orangepi:~$ ls /opt/linux-headers*
    /opt/linux-headers-xxx-sun50iw9_x.x.x_arm64.deb

  • 2) Используйте следующую команду для установки пакета deb заголовочного файла ядра.
    orangepi@orangepi:~$ sudo dpkg -i /opt/linux-headers*.deb

  • 3) После установки вы можете увидеть папку с заголовочными файлами ядра в /usr/src
    orangepi@orangepi:~$ ls /usr/src
    linux-headers-x.x.x

  • 4) Затем вы можете скомпилировать исходный код модуля ядра hello, который поставляется с образом Linux. Исходный код модуля hello находится в /usr/src/hello. После входа в этот каталог используйте команду make для компиляции
    orangepi@orangepi:~$ cd /usr/src/hello/
    orangepi@orangepi:/usr/src/hello$ sudo make
    make -C /lib/modules/5.4.125/build M=/usr/src/hello modules
    make[ 1]: Entering directory '/usr/src/linux-headers-5.4.125'
    CC [M] /usr/src/hello/hello.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC [M] /usr/src/hello/hello.mod.o
    LD [M] /usr/src/hello/hello.ko
    make[ 1]: Leaving directory '/usr/src/linux-headers-5.4.125'

  • 5) После компиляции будет сгенерирован модуль ядра hello.ko
    orangepi@orangepi:/usr/src/hello$ ls *.ko
    hello.ko

  • 6) С помощью команды insmod можно вставить в ядро модуль ядра hello.ko
    orangepi@orangepi:/usr/src/hello$ sudo insmod hello.ko

  • 7) Затем используйте команду demsg для просмотра вывода модуля ядра hello.ko. Если вы видите приведенные ниже инструкции по выводу, модуль ядра hello.ko загружен правильно.
    orangepi@orangepi:/usr/src/hello$ dmesg | grep "Hello"
    [ 2871.893988] Hello Orange Pi -- init

  • 8) Используйте команду rmmod для удаления модуля ядра hello.ko.
    orangepi@orangepi:/usr/src/hello$ sudo rmmod hello
    orangepi@orangepi:/usr/src/hello$ dmesg | grep "Hello"
    [ 2871.893988] Hello Orange Pi -- init
    [ 3173.800892] Hello Orange Pi -- exit

     <         > 


  • Страница:   25    26    27    28    29    30    31    32    33    34    35    36    37    38    39    40    41    42    43    44    45    46    47    48    49    50    51    52    53    54    55    56    57    58    59    60    61    62    63    64    65    66    67    68    69    70    71    72    73    74    75    76    77    78    79    80    81    82    83    84    85    86    87    88    89    90    91    92    93    94    95    96    97    98    99    100    101    102    103    104    105    106    107    108    109    110    111    112    113    114    115    116    117    118    119    120    121    122