Pracuję nad zmodyfikowaną wersją jądra 2.6.35 dla Olinuxino, platformy opartej na ARM9. Próbuję zmodyfikować sterownik zarządzania energią (część specyficzna dla architektury).Linuks z zamykaniem (osadzonym) z przestrzeni
Procesor to Freescale i.MX23. Ten procesor ma "specjalny" pin, zwany PSWITCH, który wyzwala przerwanie, które jest obsługiwane przez sterownik zarządzania energią. Po naciśnięciu przełącznika system przechodzi w tryb czuwania. Odbywa się to w sterowniku, dzwoniąc pod numer pm_suspend(PM_SUSPEND_STANDBY)
.
Biorąc pod uwagę moją konfigurację sprzętu, chciałbym zamiast tego zamknąć system. Więc moje pytanie brzmi:
Jaki jest preferowany sposób procesu jądra do uruchomienia czystego zatrzymania/wyłączenia systemu?
Przypuszczam, że jest tam fajna funkcja, ale nie mogłem jej znaleźć.
Mój kod jądra (plik, nad którym pracuję to arch/arm/mach-mx23/pm.c) można znaleźć tutaj: github.com/spairal/linux-for-lobster, chociaż moje pytanie wymaga ogólnego podejścia do jądra systemu Linux.
Możesz zrobić 'strace' na' init 0' i zobaczyć, które serwery są wykonywane. –