Это не полный ответ, но он может помочь вам достичь вашей цели.
arch не работает в HP-UX Itanium и не имеет файловой системы / proc, как вы упомянули.
Это объясняет, как определить порядок байтов (порядок байтов), который O / S использует просто с командами оболочки. Он работает как минимум на 4 основных Unix (Linux x86_64, Solaris Sparc, AIX / Power, HP-UX Itanium). Если вы знаете порядок байтов, вы можете многое определить, с каким ЦП вы имеете дело, основываясь на этом источнике.
Например, если Solaris не скажет вам правильную архитектуру, но вы увидите, что она с прямым порядком байтов, вы, по крайней мере, знаете, что вы используете не x86_64, а, вероятно, Sparc.
Наконец, для Sparc вы можете сделать это, чтобы определить, работает ли ОС в 32- или 64-битном режиме:
# isalist -v
sparcv9+vis2 sparcv9+vis sparcv9 sparcv8plus+vis2 sparcv8plus+vis sparcv8plus sparcv8 sparcv8-fsmuld sparcv7 sparc
Если он говорит «sparcv9», что он 64-битный, то sparcv8 равен 32