在没有lhal和dmidecode命令的情况下,如何获取Linux序列号?

在没有lhal和dmidecode命令的情况下,如何获取Linux序列号?,linux,linux-kernel,Linux,Linux Kernel,我试图访问的硬件序列号没有接口,这使得安装新库相当困难。而且,内存是有限的 感谢您提供有关如何提取序列号的任何帮助。这看起来像是从BIOS查询的。BIOS将包含有关硬件、序列号等的信息表。。这可以根据SMBIOS标准进行查询。dmidecode使用此标准从表中读取此信息 因此,或者,您可能希望查看标准并编写代码以读取所需信息或序列号等,或者询问您的硬件/固件供应商是否有可用于此目的的库或挂钩。好的,时间已晚,但此信息有助于某人: 1-如果董事会支持DMI: 因此,您可以检查/sys/class/

我试图访问的硬件序列号没有接口,这使得安装新库相当困难。而且,内存是有限的


感谢您提供有关如何提取序列号的任何帮助。

这看起来像是从BIOS查询的。BIOS将包含有关硬件、序列号等的信息表。。这可以根据SMBIOS标准进行查询。dmidecode使用此标准从表中读取此信息


因此,或者,您可能希望查看标准并编写代码以读取所需信息或序列号等,或者询问您的硬件/固件供应商是否有可用于此目的的库或挂钩。

好的,时间已晚,但此信息有助于某人:

1-如果董事会支持DMI: 因此,您可以检查/sys/class/dmi目录: 内核3.16上的示例(输出值已修改)

这允许您绕过dmidecode程序,编写与语言无关的程序(无en/de/fr/…输出解析)

2-如果董事会文件提供了如何直接读取序列号的信息: 例如,您可以读取保存序列号的车载eeprom的内容。 这也可以通过/sys文件系统实现。 要了解,什么是可能的-HP笔记本电脑的一个示例:

cat  /sys/bus/i2c/devices/*/name
Radeon i2c bit bus 0x90
card0-DP-3
Radeon i2c bit bus 0x91
Radeon i2c bit bus 0x92
Radeon i2c bit bus 0x93
Radeon i2c bit bus 0x94
Radeon i2c bit bus 0x95
Radeon i2c bit bus 0x96
Radeon i2c bit bus 0x97
card0-DP-1
card0-DP-2

很抱歉,此设备的i2c上没有eeprom…

您没有提到您正在阅读的硬件?如果是,BIOS将包含有关硬件、序列号等的信息表。。这可以根据SMBIOS标准进行查询
dmidecode
使用此标准从表中读取此信息。因此,或者,您可能希望查看标准并编写代码以读取所需信息或序列号等,或者询问您的硬件/固件供应商是否有可用于此目的的库或挂钩。我正在使用TS-4200:我明白了,这对其他人很有用,因此感谢分享!!
cat  /sys/bus/i2c/devices/*/name
Radeon i2c bit bus 0x90
card0-DP-3
Radeon i2c bit bus 0x91
Radeon i2c bit bus 0x92
Radeon i2c bit bus 0x93
Radeon i2c bit bus 0x94
Radeon i2c bit bus 0x95
Radeon i2c bit bus 0x96
Radeon i2c bit bus 0x97
card0-DP-1
card0-DP-2