А в плате есть какая-нибудь возможность реализовать управление питанием? Ну как минимум реакцию операционной системы на вход от кнопки завершения работы и выход "работа системы завершена", по которому можно было-бы отключить питание от платы?
надо чтобы по кнопке операционка завершала работу а не только приложение (хотя это из пользовательской программы сделать вполне возможно, но это будет негарантировано, если возникнут проблемы с пользовательсим ПО). А вот подать сигнал что ОС завершила работу может только ОС. Нужно чтобы можно было щелкнуть ключиком обрывающим питание.
Дык какая разница (для GPIO)?
Не желаете "тушить свет" из приложения (своего или специального) - пишите свой драйвер опрашивающий кнопку в ядре и генерирующий соответствующий сигнал.
Device Drivers --->
[*] Power supply class support --->
[*] Board level reset or power off --->
[*] GPIO power-off driver
можно еще посмотреть - как сделано на референсах фрискейла с PMIC, например софтовая перезагрузка сделана на ватчдоге и при его срабатывании есть возможность управлять внешней схемой (PMIC в данном случае - но не принципиально, хоть мосфет, хоть драйвер питания любой) через специальный пин, думаю что для выключения системы тоже есть подобная возможность
тогда я вам не туда ссылку дал - по ссылкам выше как рубить питание аппаратно - отключать внешнюю схему, а вам надо от кнопки просто shutdown скомандовать - надо порыться в доках, был какой-то демон простейший и на него можно было навесить любое событие. Вспомню - отпишу.
Посмотрел acpid - для i.mx6 нет эмуляции ACPI так что включать его нет смысла. Чтобы не использовать systemd достаточно взять любой GPIO без настройки его на кнопку и ловить от него прерывания. Например - готовое решение