Как стать автором
Обновить

Комментарии 17

Просто огромнейшее спасибо за проделанную работу! Понятно, что GPIO были задействованы только для демонстрации работы с ними, по этому интересно, этот проект задумывался для саморазвития, в рамках разработки материалов курсов, или портфолио?
всё, кроме курсов, хотя, они имели бы некоторый успех, думаю
Очень классный проект. Но прям по каждому пункту можно было написать отдельную, а то и не одну статью.
Статья хорошая, но неужели все еще есть люди, которые в 21 веке используют make menuconfig вместо make nconfig? С линуксами дружу более 20 лет, и как-то давно уже не использовал menuconfig, как по мне nconfig приятнее на вид)
Его на кривых терминалах частенько так выворачивает, что вообще невозможно использовать, тогда как menuconfig просто вызывает рвотные порывы, но работает.
JerleShannara честно говоря, сборку ядра уже давно делаю на нормальном многоядерном компе с десктопом, там нет таких проблем, да и ядра примерно за 2-3 минуты собираются и удобно конфигурировать, есть автосборочные скрипты, в любой момент могу обновить компилятор на новую версию, собрать из исходников и т.д., чтобы собрать ядро под ARM не обязательно собирать ядро на ARM системе с непонятным терминалом… Если терминал нормальный, то в nconfig все же приятнее работать. Удаленные сервера отдельная история, ошибка при сборке ядра может не вернуть сервер из ребута, по хорошему тоже надо делать сборку где-то у себя, дальше на тестовой системе с таким же оборудованием протестировать ядро, и уже залить на сервер.
А вот к этому билдсерверу и прокинута дрянная консоль, ибо удалёнка(работа не с ядром сервера!). Поэтому менюконфиг, он и в переломаном VT100 работает нормально.
конкретно это ядро собиралось на не игровом ноуте 2019 года, ввиду отсутствия десктопа, по времени 20 минут где-то
забавно, что впервые слышу про make nconfig. Только менюконфиг, только харкор
dlinyj наверное потому, что не читаете официальную документацию к ядру, а там много интересного, а главное полезного, притом не только программистам, но так же администраторам и обычным пользователям))) Вот вам на закусочку www.kernel.org/doc/html/latest/kbuild/kconfig.html Может еще как минимум узнаете, что у menuconfig есть цветовые схемы, которые задаются MENUCONFIG_COLOR )))
Не читал, каюсь.

хардкор — это make config. ну или vim .config.
а что make menuconfig, что make nconfig — это для неженок )))

vim .config знаем, плавали. Но ручками самое сложное помнить все зависимости.
так, nconfig, да, menuconfig только для статьи, классика и retrowave

с бизибоксом, например, make nconfig не работает. год или два назад глянул на потроха: у ядра свой kconfig, у билдрута — свой форк, изредка синхронизирующийся, у бизибокса свой форк.
причесать можно, но свободного времени не сказать, что много, так что подумал «как-нибудь в следующий раз» )))

На мой взгляд неплохая статья для новичков получилсась, очкеь сжато описывает основные процессы, так что возникает желание повторить. По драйверу есть ряд замечаний и предложений как сделать лучше.
1. Свести все что относится к устройству в один узел Device Tree.
2. Переделать драйвер чтобы он поддерживал несколько экземпляров устройства которые могут работать независимо.
3. Прикрутить FIFO буфер нажатий, и в функции read сделать возможность чтения в неблокриуюшем режиме.
4. Сделать очистку буфера через запись в файл.
5. Сделать управление светодиодом через sysfs или procfs.
Переделать драйвер чтобы он поддерживал несколько экземпляров устройства которые могут работать независимо.

я бы вообще не стал тащить всё это в ядро, такие вещи отлично работают и из userspace.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.