Как я могу узнать, что я использую hard-float или soft-float версию Debian / Raspbian?

37

Давайте предположим, что я попал в комнату с Raspberry Pi под управлением Debian или Raspbian. Как мне узнать, имеет ли он жесткую поддержку с плавающей точкой или он просто использует программу с плавающей запятой?

fouric
источник

Ответы:

48

Проверьте наличие каталога:

/lib/arm-linux-gnueabihf

версия софт-плавающего не имеет этого каталога, у них есть:

/lib/arm-linux-gnueabi

вместо этого, или вы можете перечислить пакеты, установленные с помощью:

dpkg -l

и увидеть платформу в третьей колонке (все / armhf / armel)

Икку
источник
6
Поскольку кто-то просто неверно истолковал это, чтобы было совершенно ясно: если у вас есть /lib/arm-linux-gnueabihf, ваша система жестко плавающая.
Златовласка
15

Принятый ответ правильный, но очень простой метод:

dpkg --print-architecture

Если ваша система использует архитектуру с плавающей запятой, вы увидите:

armhf

ARM - H ARD F loat. :-)

Крис
источник
2

Выполните команду:

readelf -A $(which dpkg)

В системе с плавающей запятой (hf) вы увидите это как часть вывода:

Tag_ABI_VFP_args: VFP registers

См. Http://www.cnx-software.com/2013/04/22/how-to-detect-if-an-arm-elf-binary-is-hard-float-armhf-or-soft-float-armel /

Будет
источник
Это также работает на пользовательских, не Debian, не Raspberry системах. Мне нравится это.
Йоханнес Оверманн