Câu trả lời:
Sự thay đổi của việc triển khai ARM là quá cao để được bao phủ bởi các công cụ tiêu chuẩn.
Đi sâu xuống /sys/class
bạn sẽ tìm thấy tất cả các thành phần của mình, nhưng thật khó để làm điều đó. Bạn không thể sử dụng find /sys/class -name name
để tìm tất cả các thành phần vì các liên kết tượng trưng. Bạn không thể sử dụng find -L
vì các liên kết vòng tròn.
cat /sys/class/*/*/device/*/{,*/,*/*/}name */*/device/*/name|sort -u
cung cấp cho bạn một số ấn tượng về các thiết bị, nhưng nếu bạn thực sự muốn biết các thiết bị có trình điều khiển được tải thực sự, bạn sẽ phải đọc thủ công thông qua dmesg
.
Đối với phần cứng niêm yết trong các thiết bị IOT, thường là các lệnh hữu ích nhất sau dmesg
là cat /proc/cpuinfo
và lsusb
.
Trong hầu hết các thương hiệu IoT, lsusb
cho thấy bản thân nó hữu ích, ví dụ sinovoip (chuối) có xu hướng kết nối rất nhiều phần cứng với (các) bộ điều khiển USB (s).
Đối với việc liệt kê TẤT CẢ các thành phần; điều đó sẽ không thể Không có phương pháp đáng tin cậy để liệt kê các thành phần được kết nối thông qua các tiêu chuẩn GPIO hoặc i2c.
Xem ví dụ cho quả mâm xôi:
cat /proc/cpuinfo
, bên cạnh việc liệt kê tất cả các lõi / luồng (4 trong số chúng ở đây), liệt kê ở cuối mô hình chipset, sửa đổi và trong một số bảng , số sê-ri. (bạn phải trượt cho đến khi kết thúc để xem nó)
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
Và 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.
Kiến trúc ARM không có bất kỳ bus PCI nào. Họ sử dụng xe buýt AMBA.
Dmesg sẽ cung cấp cho bạn hầu hết các thông tin bạn cần.
lspci
. Vì vậy, trong khi phần đầu tiên của câu trả lời của bạn là sai, thì phần thứ hai là chính xác: dmesg
là cách để đi.
Các lshw
lệnh đưa ra một danh sách khá đầy đủ về các thành phần của máy tính.
Bạn có thể tải nó trên Ubuntu với apt-get install lshw
.
lshw
trên một hộp cánh tay, phải không? Tôi chưa bao giờ thấy lshw
cung cấp thậm chí một phần ba các thành phần được biết đến với hệ thống thông qua cây thiết bị.
Để liệt kê tất cả các thành phần trên hệ thống Linux, bạn có thể sử dụng:
inxi
lệnh với -option
seeinxi -h
hwinfo
lệnh tương tự lshw
và nhiều hơn nữa./proc
thư mục chứa tất cả các thông tin về hệ thống, bộ nhớ, thiết bị, phần cứng ....dmidecode
công việc ngay cả trên ARM? Nó không dựa trên các tiêu chuẩn BIOS PC của IBM sao?