¿Es posible instalar un programa de 64 bits en un sistema operativo de 32 bits con un procesador de 64 bits?
En principio sí, pero el procesador y el sistema operativo deben admitirlo.
En ARMv8, un kernel de 32 bits (Aarch32) no puede ejecutar procesos de 64 bits (Aarch64). Esta es una limitación del procesador.
Hay otros procesadores que no tienen esta limitación, por ejemplo, es posible ejecutar procesos x86_64 sobre un núcleo x86_32 en un procesador x86_64, pero pocos núcleos lo admiten, presumiblemente porque es de utilidad limitada (principalmente, guarda un bit de RAM en el kernel haciéndolo de 32 bits). Linux no lo admite, pero Solaris sí.
Puede mantener su sistema operativo de 32 bits existente si ejecuta un núcleo de 64 bits . Un kernel de Linux Aarch64 puede ejecutar procesos Aarch32. Raspbian no admite esto de forma inmediata, por lo que necesitaría mantener un SO de 32 bits y un SO de 64 bits. Puede usar uno como el sistema operativo principal (es decir, el que ejecuta init y los servicios del sistema) y el otro para ejecutar un programa específico usando chroot. Consulte ¿Cómo ejecuto programas de 32 bits en un Debian / Ubuntu de 64 bits? para un enfoque práctico.
Tenga en cuenta que deberá instalar todas las bibliotecas que requiere el programa de 64 bits. Cualquier proceso debe ser de 32 bits o de 64 bits, por lo que no puede utilizar una biblioteca de 32 bits en un ejecutable de 64 bits.
A menos que tenga buenas razones para mantener un sistema de 32 bits, si necesita ejecutar un archivo ejecutable de 64 bits, sería más fácil instalar un sistema de 64 bits.
Tenga en cuenta que lo único que pueden hacer los programas de 64 bits, pero los programas de 32 bits no pueden abordar más de aproximadamente 3 GB de memoria virtual, que es de utilidad limitada en un sistema con 1 GB de RAM. Puede obtener beneficios de rendimiento de los registros adicionales más grandes, pero también perderá el rendimiento de los accesos de memoria adicionales.