Доброго всем времени суток!
Описание
Недавно обзавёлся «Малиной» (Raspberry Pi 4 с 8Гб) и установил на неё ОС Fedora Linux (aarch64) 37 Workstation Edition. Точнее, установил ОС на MicroSD (32 Гб), которую затем вставил в плату Малины.
Отмечу, что плата Raspberry имеет интерфейс ввода/вывода GPIO, которым мне бы и хотелось воспользоваться. Скопипастив пример кода получения/отправки данных по пинам GPIO, я заметил, что работа с этими пинами осуществляется через взаимодействиями с файлами в «/sys/class/gpio/» (Вот ссылка на описание работы с файлами)
Но, я обнаружил, что у меня в «/sys/class/» нет папки «gpio» (что логично для не «родная» ОС). Погуглив «linux no gpio folder», обнаружил следующие советы по данной ситуации:
The sysfs interface (/sys/class/gpio/…) is optional. Make sure your kernel configuration has the CONFIG_GPIO_SYSFS option enabled and rebuild. (Ссылка)
Собственно, ещё и в первой ссылке, как раз, и рекомендуют установить следующие переменные конфигурации:
- CONFIG_GPIOLIB=y
- CONFIG_GPIO_SYSFS=y
На вопрос «А как на Федоре установить переменные конфигурации??» мне помогла эта статья (там предлагают воспользоваться grubby)
Я выполнил следующие команды в терминале:
sudo grubby --update-kernel=ALL --args="CONFIG_GPIOLIB=y"
sudo grubby --update-kernel=ALL --args="CONFIG_GPIO_SYSFS=y"
Затем, перезапустил ОС. Но, после перезапуска ОС, по пути «/sys/class/», всё также нет папки «gpio».
Конкретный вопрос
Как на Федоре, установленной на Raspberry Pi 4, добиться появления папки «gpio» с последующей корректной работе с её пинами GPIO?