Intenté portar pigpio a Debian arm64, al final mi intento falló porque descubrí que el kernel Debian arm64 no es compatible con la interfaz de buzón de espacio de usuario en la que se basa pigpio, pero al hacerlo investigué un poco sobre cómo detectar Pis mientras ejecutando Debian arm64 kernels. Sospecho que esto también funcionará para ubuntu arm64.
Como ha descubierto, / proc / cpuinfo solo tiene información central de la CPU en estos núcleos. Afortunadamente, la información se puede encontrar en otro lugar en / proc
En primer lugar, para verificar si el dispositivo es Pi o no, verifiqué / proc / device-tree / model, esto tiene una cadena de texto que describe el dispositivo, por lo que es poco probable que haya falsos positivos.
Para obtener el código de revisión utilicé / proc / device-tree / system / linux, revision, que contiene el código de revisión como un entero binario big-endian. Por lo tanto, debe leerse del archivo como un entero binario y luego convertirse a little-endian (usé ntohl para esto).
Puedes ver mi código en https://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26
cat /proc/cpuinfo
debería producir un número de Revisión que corresponda al tablero. Ver: raspberrypi.org/documentation/hardware/raspberrypi/…