enumera todos los componentes de una computadora ARM en Linux?

Tengo una computadora basada en ARM que parece funcionar bien con Ubuntu Linux (sin GUI). ¿Cómo obtengo una list de todos los componentes que están en esta computadora? como tipo de chip de Ethernet, chip Wifi, Bluetooth, CPU, chip de administración de energía, etc. si es posible.

La variación de las implementaciones de ARM es demasiado alta para ser cubierta con las herramientas estándar.

Desenterrando /sys/class encontrarás todos tus componentes, pero es un dolor hacerlo. No puede usar find /sys/class -name name para encontrar todos los componentes debido a los enlaces simbólicos. Tampoco puedes utilizar find -L debido a los enlaces circulares.

 cat /sys/class/*/*/device/*/{,*/,*/*/}name */*/device/*/name|sort -u 

le da una printing de los dispositivos, pero si realmente desea conocer los dispositivos con controlleres realmente cargados, tendrá que leerlos manualmente a través de su dmesg .

Para enumerar hardware en dispositivos iOT, generalmente los commands más útiles después de dmesg son cat /proc/cpuinfo y lsusb .

En la mayoría de las marcas ioT, lsusb revela útil, como por ejemplo sinovoip (banana) tiende a conectar una gran cantidad de hardware a los controlleres de USB (s).

En cuanto a enumerar TODOS los componentes; eso no será posible. No hay methods confiables para enumerar los componentes conectados a través de los estándares GPIO o i2c.

Vea ejemplos para la raspberry:

cat /proc/cpuinfo además de listdos de todos los núcleos / hilos (4 de ellos aquí), enumera al final el model del chipset, la revisión y, en algunas placas , el número de serie. (tienes que deslizar hasta el final para verlo)

 pi@raspberrypi:~ $ cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 processor : 1 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 processor : 2 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 processor : 3 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 Hardware : BCM2709 Revision : a02082 Serial : 00000000xxxxxxxx 

Y lsusb :

 $ lsusb Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 005: ID 05dc:a781 Lexar Media, Inc. 

La architecture ARM no tiene ningún bus PCI. Usan el autobús de AMBA.

AMBA

Diagrama de bloques ARM

Dmesg le dará la mayoría de la información que necesita.

El command lshw proporciona una list bastante completa de los componentes de tu computadora.

Puede getlo en Ubuntu con apt-get install lshw .

Para enumerar todos los componentes en un sistema Linux, puede usar:

  • El command inxi con inxi -h vea inxi -h
  • El command hwinfo similar a lshw y más detallado.
  • el /proc que contiene toda la información sobre el sistema, la memory, los dispositivos, el hardware …