Я пытаюсь загрузить образ Debian для процессора ARM Cortex-A7, но не могу понять, какой образ загрузить. Я посмотрел навеб-сайт Debian, и вижу три разных загрузки для процессора ARM. В чем разница между ними и какую из них мне следует загрузить?
решение1
Статья в Википедииговорится, что этот процессор реализует архитектуру «ARMv7-A».
Этоти названиеэтотпредложить вам нужно armhf
.
Также, похоже, что Banana Pi использует Cortex-A7 и явно поддерживается Debian — некоторые даже предоставляютоптимизированная перестройка Джесси.
решение2
Порт ARM EABI (armel) предназначен для ряда старых 32-разрядных устройств ARM, в частности тех, которые используются в оборудовании NAS и различных компьютерах с *plug.
Новый порт ARM hard-float (armhf) поддерживает более новые и мощные 32-разрядные устройства, использующие версию 7 спецификации архитектуры ARM.
64-битный порт ARM (arm64) поддерживает новейшие 64-битные устройства на базе ARM.
Хотя этот вопрос задан еще в конце 2015 года, он все равно может быть полезен.
решение3
Итак... для объяснения предложения Debian требуется немного предыстории.
То, о чем вы говорите, это имена его официальных лиц.ARM-порты. Как вы можете видеть, они соответствуют определенному триплету ISA, OS иАБИoptions. Они, в свою очередь, являются наименьшим общим кратным, которое может гарантировать совместимость программного обеспечения скомпилированных пакетов.
Оставив в стороне очевидную сборку Arm64 (использующую64-битный режимнекоторых процессоров ARMv8), я думаю, что большая часть путаницы возникает из-за других, все они начинаются сarm-linux-.
Один разКогда-то давно была только одна цель — «рука», но по ряду причин, начиная отпорядок байтовкподдержка плавающей точкиипроизводительностьон устарел.ВстроенныйABI(довольно пустое название, если вы меня спросите с технической точки зрения, но ARM таковназывает это) спецификация с тех пор безупречно ее вытеснила.
Армельесть не что иное, как новое название, чтобы отличать старую версию от arm big-endian (тогда неофициальной, теперь полностью заброшенной). Ее следует рассматриватьtheсамый простой, и он должен работать практически на любом оборудовании, существующем на свете.
С другой стороны, если у вашего процессора есть FPU, который не будет использоваться. Учитывая, что до ARMv8 не было гарантии, что он будет поддерживаться (большинствоядра v7-Aсделал, но ситуация тем хуже, чем дальше вы отстаете со временем), "максимальная совместимость" подразумевает, что любая соответствующая инструкция относится к библиотеке glibc soft-fp (не путать сsoftfp float-abiфлаг), а не VFP.
И вот почему, в конечном счете, был создан Armhf. Пользовательское пространство снова несовместимо с ссылками, но вы получаете максимально возможную скорость. Хотя ничто не мешало им использовать вышеупомянутый softfp вместо этого (как это делает Android, например), что позволяет и совместимость, ипочтибеспрепятственный доступ к оборудованию с плавающей точкой.